这几天修了西门子的PLC,搞了下程序,问了别人都不说,自己搞了大半天,总算搞出来一点结果,写出来让刚学的人看看,高手就没什么好看了,都是很简单的操作。
1.程序的快捷图标说明
2 软件功能的使用
2.1 软件监控 PLC面板上的RUN开关要拨到RUN态下,在STEP 7-MicroWIN软件上单击"程序状态监控",这时可以在电脑上看输入输出状态了。
2.2 强制功能 在监控下可以对元件进行"强制"控制了.强制这是不管输入条件,可以改变输出条件.在这个"程序状态监控"选中元件,在元件的如:I0.1=OFF这字右单击,在出来来的菜单中选择"强制"命令就可以了.
3.下载与上传
3.1 单击快捷图标的下载与上传就可以实现。
3.2 如单击出现错误提示,连机不上,可以单击通信设置通信,设置看"通信设置"6.通信设置
6.1查看-组件-通信(也可以单击左边的查看工具栏中的通信)
6.2在跳出的对话框单击“设置PG/PC接口”设置通信,如下图
3.3 如设置没有问题,那只有硬件上有问题了,这问题我也遇到过。
4.清空PLC程序
4.1 连机,单击PLC-清除-在出现的对话框中按要求清除你想清除的内容,注意,如程序没有备份,操作要小心,清除可以把写入的所有程序清空,不管设不设有密码都会清空。
5.查看连接状态
5.1 PLC-信息 可以看到连机的PLC的信息,包括扩展模块的信息也能看的到,如看不到,检查扩展模块电源与连接
浮点数运算指令包括浮点数的比较、四则运算、开方运算和三角函数等功能。它们分布在指令编号为FNC110~FNC119、FNC120~FNC129、FNC130~FNC139之中。
(1)二进制浮点数比较指令ECMP(FNC110) DECMP(P)指令的使用如图3-83所示,将两个源操作数进行比较,比较结果反映在目标操作数中。如果操作数为常数则自动转换成二进制浮点值处理。该指令源操作数可取K、H和D,目标操作数可用Y、M和S。为32位运算指令,占17个程序步。
图3-83 二进制浮点数比较指令的使用
(2)二进制浮点数区间比较指令EZCP(FNC111) EZCP(P)指令的功能是将源操作数的内容与用二进制浮点值指定的上下二点的范围比较,对应的结果用ON/OFF反映在目标操作数上,如图3-84所示。该指令为32位运算指令,占17个程序步。源操作数可以是K,H和D;目标操作数为Y、M和S。[S1.]应小于[S2.],操作数为常数时将被自动转换成二进制浮点值处理。
图3-84 二进制浮点数区间比较指令的使用
(3)二进制浮点数的四则运算指令 浮点数的四则运算指令有加法指令EADD (FNC120)、减法指令ESUB(FNC121)、乘法指令EMVL(FNC122)和除法指令EDIV(FNC123)四条指令。四则运算指令的使用说明如图3-85所示,它们都是将两个源操作数中的浮点数进行运算后送入目标操作数。当除数为0时出现运算错误,不执行指令。此类指令只有32位运算,占13个程序步。运算结果影响标志位M8020(零标志)、M8021(借位标志)、M8022(进位标志)。源操作数可取K、H和D,目标操作数为D。如有常数参与运算则自动转化为浮点数。
图3-85 二进制浮点数四则运算指令的使用
二进制的浮点运算还有开平方、三角函数运算等指令,在此不一一说明。
梯形图的编程方式是指根据功能表图设计出梯形图的方法。为了适应各厂家的PLC在编程元件、指令功能和表示方法上的差异,下面主要介绍使用通用指令的编程方式、以转换为中心的编程方式、使用STL指令的编程方式和仿STL指令的编程方式。
为了便于分析,我们假设刚开始执行用户程序时,系统已处于初始步(用初始化脉冲M8002将初始步置位),代表其余各步的编程元件均为OFF,为转换的实现做好了准备。
1.使用通用指令的编程方式
编程时用辅助继电器来代表步。某一步为活动步时,对应的辅助继电器为“1”状态,转换实现时,该转换的后续步变为活动步。由于转换条件大都是短信号,即它存在的时间比它激活的后续步为活动步的时间短,因此应使用有记忆(保持)功能的电路来控制代表步的辅助继电器。属于这类的电路有“起保停电路”和具有相同功能的使用SET、RST指令的电路。
如图5-27a所示Mi-1、Mi和Mi+l是功能表图中顺序相连的3步,Xi是步Mi之前的转换条件。
图5-27 使用通用指令的编程方式示意图
编程的关键是找出它的起动条件和停止条件。根据转换实现的基本规则,转换实现的条件是它的前级步为活动步,并且满足相应的转换条件,所以步Mi变为活动步的条件是Mi-1为活动步,并且转换条件Xi=1,在梯形图中则应将Mi-1和Xi的常开触点串联后作为控制Mi的起动电路,如图5-27b所示。当Mi和Xi+1均为“l”状态时,步Mi+1变为活动步,这时步Mi应变为不活动步,因此可以将Mi+1=1作为使Mi变为“0”状态的条件,即将Mi+1的常闭触点与Mi的线圈串联。也可用SET、RST指令来代替“起保停电路”,如图5-27c所示。
这种编程方式仅仅使用与触点和线圈有关的指令,任何一种PLC的指令系统都有这一类指令,所以称为使用通用指令的编程方式,可以适用于任意型号的PLC。
如图5-28所示是根据液压滑台系统的功能表图(见图5-26b)使用通用指令编写的梯形图。开始运行时应将M300置为“1”状态,否则系统无法工作,故将M8002的常开触点作为M300置为“1”条件。M300的前级步为M303,后续步为M301。由于步是根据输出状态的变化来划分的,所以梯形图中输出部分的编程极为简单,可以分为两种情况来处理:
1)某一输出继电器仅在某一步中为“1”状态,如Y1和Y2就属于这种情况,可以将Y1线圈与M303线圈并联,Y2线圈与M302线圈并联。看起来用这些输出继电器来代表该步(如用Y1代替M303),可以节省一些编程元件,但PLC的辅助继电器数量是充足、够用的,且多用编程元件并不增加硬件费用,所以一般情况下全部用辅助继电器来代表各步,具有概念清楚、编程规范、梯形图易于阅读和容易查错的优点。
2)某一输出继电器在几步中都为“1”状态,应将代表各有关步的辅助继电器的常开触点并联后,驱动该输出继电器的线圈。如Y0在快进、工进步均为“1”状态,所以将M301和M302的常开触点并联后控制Y0的线圈。注意,为了避免出现双线圈现象,不能将Y0线圈分别与M301和M302的线圈并联。
图5-28 使用通用指令编程的液压滑台系统梯形图。
STEP 7 的标准指令库中常常会出现同名却不同功能的功能块,比如本文的主角“FC105”,在“S5-S7 Converting Blocks”处是用来读取模拟量数值,而在“TI-S7 Converting Blocks”处是用来实现模拟量量程转换。
客户咨询FC105的引脚“KNKD”代表什么含义。沟通后发现其调用了“S5-S7 Converting Blocks”处的FC105,要实现的功能却是模拟量量程转换,于是告知客户将之前的删除并重新调用“TI-S7 Converting Blocks” 处的 FC105。
本以为这个问题就这样轻松搞定,谁知客户的问题仍未解决,其强调已经将之前的FC105删除,但再次调用后显示的仍然是之前的功能块,如图1所示。
思前想后都未发现问题所在,俗话说心动不如行动,于是在组织块中调用“S5-S7 Converting Blocks”处的FC105,删除后重新调用“TI-S7 Converting Blocks”处的 FC105,结果一切正常。那么用户所反映的现象究竟是什么原因造成的呢?
进一步和客户确认是如何删除之前调用的 FC105 的,客户说直接选中 Blocks 中的 FC105 块右键点击删除,并且将弹出窗口中默认的勾选项取消后进行删除的。删除窗口如图2所示,此处勾选的内容指的是变量表的符号名称总是同时被删除,不删除非唯一的块名称。如果不勾选的话,FC105 虽然删除,但“符号表”中被删除块所遗留的信息依旧存在,再次调用的话将出现客户所述的现象。
待客户将“符号表”中被删除块所遗留的信息删除之后,问题迎刃而解。俗话说“失之毫厘,谬之千里”,细节决定成败,STEP 7 编程更不例外,千万要多几个“小”眼。
1 引言
电动机的应用几乎涵盖了工农业生产和人类生活的各个领域,在这些应用领域中,电动机常常运行在恶劣的环境下,导致产生过流、短路、断相、绝缘老化等事故。对于应用于大型工业设备重要场合的高压电动机、大功率电动机来说,一旦发生故障所造成的损失无法估量。
电动机常见的故障可分为对称故障和不对称故障两大类。对称故障包括:过载、堵转和三相短路等,这类故障对电动机的损害主要是热效应,使绕组发热甚至损坏,其主要特征是电流幅值发生显著变化;不对称故障包括:断相、逆相、相间短路、匝间短路等,这类故障是电动机运行中常见的一类故障。不对称故障对电动机的损害不仅仅是引发发热,更重要的是不对称引起的负序效应能造成电动机的严重损坏。因而,对大型电动机进行综合保护非常重要。
2 基于PLC的电动机综合保护
对电动机的保护可以分为以下几类:
在电动机发生故障时,为了保护电动机,减轻故障的损坏程度,继电保护装置的快速性和可靠性十分重要。在单机容量日益增大的情况下,电机的额定电流可达数千甚至几万安,这就给电动机的继电保护提出了更高的要求。传统的继电保护装置已经无法满足要求,因此微机保护应运而生。
PLC是用来取代传统的继电器控制的,与之相比,PLC在性能上比继电器控制逻辑优异,特别是可靠性高、设计施工周期短、调试修改方便、而且体积小、功耗低、使用维护方便。因此,本文研究了基于可编程控制器(PLC)的电动机综合监控和保护系统的方法。
3 系统硬件设计
3.1 系统的总体结构
基于可编程控制器(PLC)的电动机综合监控和保护系统的总体结构如图1所示。
3.2 PLC机型选择及扩展
选择PLC机型应考虑两个问题:
(1) PLC的容量应为多大?
(2) 选择什么公司的PLC及外设。在本系统中,包含以下输入输出点,见附表,本系统共包括12路开关量,7路模拟量。
SIMATIC S7-200系列PLC是由西门子公司生产的小型PLC,其特点是:SIMATIC S7-200系列西门子plc适用于各行各业,各种场合中的检测,监测及控制的自动化,S7-200系列的强大功能使得其无论在独立运行中,或相连成网络皆能实现复杂控制功能,因此S7-200系列具有极高的性能/价格比。
S7-200 CPU 224集成14输入/10输出共24个数字量I/O点,可连接7个扩展模块,大扩展至168路数字量I/O点或35路模拟量I/O点;13K字节程序和数据存储空间;6个独立的30KHz高速计数器,2路独立的20KHz高速脉冲输出,具有PID控制器;1个RS485通讯/编程口,具有PPI通讯协议、MPI通讯协议和自由方式通讯能力;I/O端子排可以很容易地整体拆卸,是具有较强控制能力的控制器。根据系统的实际情况,结合以上特点,SIMATIC S7-200 CPU 224完全可以作为本系统的主机。
CPU224可扩展7个模块,而其本身具有14输入/10输出共24点数字量,因此已无须数字量扩展模块。但由于有7路模拟量输入,故需选择模拟量输入模块。S7-200系列提供了EM231,EM232,EM235等模拟量扩展模块。根据以上技术数据,选择两个EM231作为模拟量输入模块,这样共可以扩展4×2=8路模拟量输入。
4 系统软件设计
4.1 主程序
程序开始,从输入单元检测输入量,首先判断KM是否闭合,如果闭合,说明电动机已经处于运行状态,此时应无法按下启动按钮,若KM未曾闭合,则说明电动机处于停机状态,可以按启动按钮。接着判断启动按钮是否按下,若是,则继续下面的程序,若否,则重新检测。如果按钮已经按下,则检测电动机是否启动,若是,则继续下面的程序,若否,则转入欠压保护子程序,若是电动机已经启动,则判断起动是否成功,若是,则继续下面的程序,若否,则转入起动保护。如果电动机已经正常起动,则绿灯亮。接着判断停止按钮是否按下,若否,则继续下面的程序,若是,则程序直接结束,开始下一次扫描。
如果停止按钮并未按下,即电动机仍然在运行中,则进行运行过程中的故障判断,首先检测是否发生短路故障,方法是:检测三相电流,再判断Imax是否大于整定值,若是则跳转至保护动作子程序段,电动机起动短路保护,警报响,并且短路故障指示灯亮。若否,则继续下面的程序。接着判断是否发生断相故障,方法是:检测三相电流,判断是否有某相电流为零,或者检测Umn,判断是否不为零,如果其中之一满足,则跳转至保护动作子程序段,电动机起动断相保护,警报响,并且断相故障指示灯亮。若否,则继续下面的程序。接着判断是否发生欠压故障,方法参见欠压保护子程序说明。接着判断是否发生接地故障,方法是:检测 I0,若大于整定值则跳转至保护动作子程序段,电动机起动接地保护,警报响,并且接地故障指示灯亮。接着判断是否发生过负荷故障,方法是:检测三相电流,若到达整定时限后,电流仍大于整定值,则跳转至保护动作子程序段,电动机起动过负荷保护,警报响,并且过负荷故障指示灯亮。若判断未发生过负荷故障,则程序完成一次扫描,再次从条开始,进行第二次扫描,所以结束是指一个循环的结束,并不是整个程序的结束。
4.2 欠压保护子程序
在该程序段中,采集A相和C相的电压量,求出其平均值,再与整定值相比较,若小于整定值,则跳转至保护动作子程序段,电动机起动欠压保护,警报响,并且欠压故障指示灯亮。若未发生欠压故障,则直接结束本次循环。
4.3 起动时间过长保护子程序
在该程序段中,采集三相电流量,若发现在起动过程中,电流大于整定值,或在整定时间到达后,电流仍大于另一整定值,则跳转至保护动作子程序段,起动时间过长保护动作,警报响,并且起动故障指示灯亮。
5 结束语
通过本系统设计、试验与运行,得到如下结论:
(1) 利用PLC进行电动机综合保护硬件简单可靠。
(2) 可以采用梯形图语言进行编程,简单易行。
(3) 系统运行可靠,便于检修维护。
(4) 由于采用集成综合设计,系统体积小、功耗低、使用操作方便