杨镇彬
摘 要:在生产和实验室中,我们发现PLC会出现同时重复异步执行同一个循环的现象,为了解决这个问题,以三菱PLC为例,我们主要从程序上进行了多方面的改进,一方面是增加空的状态器,使启动按钮在程序启动后无法被激活,另一方面使用功能指令计算按钮被按的次数,并用比较指令控制启动按钮的有效性,多方面解决了这一问题。
关键词:PLC;异步;多重;执行
在现代自动化工业中,PLC自动循环生产控制功能的应用无处不在,然而我们在实验过程中遇到了一个问题:当我们写入一个自动循环彩灯程序以后,我们按一下启动按钮,过一段时间再按一下启动按钮,我们发现会有两个相同的程序同时运行,这种现象是为违背我们自动化生产的控制理念的,我们以三菱PLC为例对这个问题进行了深入的研究。
一、三菱PLC同一程序异步多重执行的现象
当我们按一下启动按钮后,彩灯Y0亮2s,然后Y1亮、Y2亮、Y3亮、Y4亮完跳回Y0重新开始亮,不断自动循环。
在程序运行过程中,当我们第二次按下启动按钮时,我们发现在Y2亮的同时Y0也在亮,Y3和Y1同时亮,Y4和Y2同时亮,这就是两个相同的循环,前后差两步同时在运行。这种现象我们可以称之为异步多重执行。
二、原因探讨
造成这种异步多重执行现象的原因是多方面的,第一是PLC控制器智能化识别能力不够强,第二是程序设计本身不够完善,第三是硬件启动按钮被误操作。
在工业化自动生产控制之中,同一个输入继电器和输出继电器会被重复使用很多次,而且自動循环程序也会重复执行,所以控制器无法识别到底有几个循环程序正在运行。而每一个继电器元件都可能在不同状态器S里面被重复使用,所以也无法识别启动元件的位置。
所以程序需要设计得更加完善来去避免这种现象发现,而我们通常都不会重复去按启动按钮,所以往往容易忽略这种漏洞的存在。但是在实际生产之中,操作员不可避免会出现违规操作,所以我们需要在设计上避免这种事情的发生。解决办法有以下几种:
三、解决方案1
我们主要从程序设计上解决这个问题,第一种方法是增加初始状态器,让启动按钮包含在初始状态器S0中,并使用特殊辅助继电器M8002作为激活初始状态器S0的激活开关。后面的状态器编号整天往后推移一位。并把自动循环往回跳转点设置在S0之后,这样的程序中,只有当初始化开机的时候启动按钮才有效,当程序启动以后,初始状态器S0始终没有被激活,所以状态器S0里面存放的梯形图均失效,修改以后的程序如下表:
四、解决方案2
我们也可以利用功能指令计算启动按钮被按的次数,来去控制启动按钮信号是否有效。
1.利用特殊功能辅助继电器M8002激活数据传送指令MOV,对存储器D10赋予初始值1,表示启动按钮最多只能按一次。
2.利用启动按钮的上升沿检测激活比较功能指令CMP D10 K1 M10,将储存器D10里面的数据和常数1进行比较:如果D10大于1,则M10等于1;如果D10等于1,则M11等于1;如果D10小于1,则M12等于1。
3.并利用启动按钮下降沿激活减法功能指令SUB,使每次按启动按钮时,D10的数据就减少1个。
4.在启动按钮中加下降沿错开程序计算时间点,并与比较指令结果的M11常闭开关串联,达到计算启动按钮被按次数的计算控制。
五、结语
除了在程序上进行完善外,我们也可以把启动按钮设计成非点动按钮,并使用下降沿触发。以上两种方法成功解决了三菱PLC同一程序异步多重执行的问题,在实际生产中也是通过程序的完善去避免这些事故的发生。
参考文献:
[1]钟肇新、范建东、冯太合;可编程控制器原理及应用;华南理工大学出版社;2008.2.4.