PLC编程中避免双线圈的方法探究
2021-07-30刘松涛
刘松涛
(郑州技师学院,河南 郑州 450006)
初学者在PLC编程时经常会遇到双线圈的问题,所谓双线圈,就是在编程时同一个元件的线圈使用了两次或者多次。
1 无跳转、无子程序避免双线圈输出的方法
PLC的工作方式是采用“循环扫描”方式进行工作的。如无跳转指令,则从第一条指令开始逐条顺序执行用户程序,直至程序结束。然后重新返回第一条指令,开始下一轮新的扫描。PLC在程序执行阶段:按用户程序指令存放的先后顺序扫描执行每条指令,通过逻辑运算,将执行的结果写入输出状态寄存器中,输出状态寄存器中所有的内容随着程序的执行而改变。
1.1 使用辅助继电器来避免双线圈输出
在双线圈的次数不多,或程序中双线圈的元件不多的时候,最常使用的一种方法。举例说明“当X0闭合时,Y0点动运行;当X1闭合时,Y0、Y1点动运行”。
在程序中,第1步和第3步都驱动Y0线圈,这样Y0就驱动了两次,属于双线圈,使用辅助继电器来解决的方法是:
程序中使用了两个辅助继电器M0、M1,即将第1步和第3步驱动的Y0线圈,分别换成了M0和M1。这样,当X0=1时,M0线圈得电;当X1=1时,M1线圈和Y1线圈得电。而M0和M1是有触点的,当M0线圈得电时,M0常开触点闭合,Y0线圈得电;当M1线圈得电时,M1常开闭合,Y0线圈得电。这样就成功避免了双线圈。
1.2 真值表法
使用1.1中的例子,通过分析可以得到输出的条件有两个:X0和X1;输出的结果有两个:Y0和Y1。将输入条件按照二进制的编码列出,其输出真值表,见表1。
表1 输入/输出真值表
根据真值表:Y1=1的条件是X1=1;Y0=1的条件是X0=1或X1=1,所以将程序设计为:
1.3 位元件组合+触点比较法
由位元件也可构成字元件进行数据处理,位元件组合由Kn加首元件号来表示。三菱FX3U系列PLC中,4个位元件为一组,并组合成单元。16位数操作时为K1~K4,32位数操作时为K1~K8。K1M0表示由M0~M4组成的4位数据;以K2M0为例,K2M0表示M0~M7组成的8位数据,只有M0线圈得电时,K2M0=1;只有当M1线圈得电时,K2M0=2。所以M0~M7中任何一个位或几个位元件等于1时,K2M0一定大于零,再通过触点比较指令来避免双线圈。
当M0=1时,K2M0=1,1>0,所以Y0=1;当M1=1时,K2M0=2,2>0,所以Y0=1;……
1.4 位元件组合+传送指令
例如:使用三菱变频器外部端子来实现7段速。
表2 变频器七段速真值表
PLC的控制变频器七段速的输出Y0~Y3,正好是4个位元件组成一组,即:K1Y0;第1速:K1Y0=K12(2进制:1100);第2速:K1Y0=K10(2进制:1010);……第7速:K1Y0=K15(2进制:1111)。
1.5 顺序控制设计法
顺序控制设计法的基本思想是将系统的一个工作周期划分为若干个顺序相连的阶段,这些阶段称为状态步。状态步是根据输出量的状态变化来划分的,在任何一步内,各个输出量的状态和相邻步的输出量的状态是不同的。另外,系统当前工作步称作活动步;非系统当前工作步称作不活动步。对于单流程结构顺序控制来说,除了当前工作步为活动步以外,其余的都为不活动步。根据这个概念,即使其他步中出现有双线圈的元件,因其为不活动步,可视作不为双线圈。
2 通过跳转或子程序避免双线圈输出的方法
2.1 通过跳转指令
由于跳转指令具有选择执行程序段的功能。如果同一线圈因跳转而不会被同时执行,不被视为双线圈。
2.2 通过调用子程序指令
由于子程序调用指令具有选择执行程序段的功能。如果同一线圈因跳转而不会被同时执行,不被视为双线圈。
3 结语
以上是作者总结的7种避免双线圈的方法,每种方法有各自的使用场合,某一线圈出现双线圈的的次数多了,建议使用“位元件组合+触点比较法”;如果是单流程和分支流程建议选择“顺序控制设计法”;如果多次调用某段程序建议使用“子程序调用法”。随着生产技术的发展,自动化程度的不断提高,PLC在生产中应用的日趋广泛。在编程中解决好双线圈的问题,对于初学者进一步学习PLC具有重要的实际意义。