杜秀芳
山东劳动职业技术学院智能制造系 山东济南 250300
在PLC程序设计中,如果有多个时间段的定时要求,除了可以选择多个定时器实现多种定时之外,还可以选择用比较指令配合一个定时器实现。用比较指令配合定时器实现多种定时,可以使复杂的梯形图程序变得简单易懂,所以在教学过程中,十分有必要带着学生去实验一下比较指令加定时器实现多种定时的设计方案。本文就以PLC控制按指定时间间隔变化的交通灯为例,简单介绍四种不同的程序设计方案,希望能启发学生举一反三,自主学习并完成更复杂的交通灯控制程序的设计。
以PLC控制按指定时间间隔变化的交通灯为例,为了便于学生理解,只分析东西方向的交通灯控制,待学生掌握了程序设计思路后,可以自行去扩展。
某路口东西方向的交通灯,按照如图1所示的时序要求工作。
图1 交通灯控制的时序图
按下启动按钮,绿灯亮3s后熄灭,接着黄灯亮2s后熄灭,接着红灯亮5s后熄灭,然后绿灯亮3s后熄灭,接着黄灯亮2s后熄灭,接着红灯亮5s后熄灭……依次循环。
PLC的I/O(输入/输出)地址分配如表1所示。
表1 PLC的I/O地址分配表
根据交通灯的时序要求可知,定时时间段有三个:3s、2s、5s。如何实现这三个时间段的定时要求呢?本文共讨论了四种不同的程序设计方案:用三个定时器实现;用数据比较指令CMP配合一个定时器实现;用区间较指令ZCP配合一个定时器实现;用触点比较指令配合一个定时器实现。
三个时间段3s、2s、5s的定时可以分别用三个通用定时器T0、T1、T2完成。定时器T0、T1、T2的时钟脉冲是100ms,那么三个定时器的设定值分别为K30、K20、K50。梯形图程序如图2所示。
图2 多个定时器实现的交通灯控制系统梯形图
用三个定时器实现三个时间段的定时,程序虽然简单,但需要的定时器数量较多。
数据比较指令CMP的格式如图3所示。CMP指令是两数比较指令,[S1·]和[S2·]表示源操作数,[D·]表示目标操作数。CMP将两个源操作数进行比较,并将比较结果传送到以目标操作数为首地址的三个位元件中。
图3 CMP的指令格式
采用数据比较指令CMP加一个定时器实现的系统梯形图程序如图4所示。
图4 CMP加一个定时器实现的交通灯控制系统梯形图
CMP是两个数的比较指令,一个CMP指令只能区分两个区间,实现两个时间段的定时,如果要实现三个时间段的定时,需要用两个CMP指令。
第一个CMP指令:
当T0当前值小于30时,M10接通,驱动绿灯亮3s;
当T0当前值等于30时,M11接通,驱动黄灯亮;
当T0当前值大于30时,M12接通,驱动黄灯亮。
第二个CMP指令:
当T0当前值小于50时,M13接通,配合M11、M12驱动黄灯亮2s;
当T0当前值等于50时,M14接通,驱动红灯亮;
当T0当前值大于50时,M15接通,驱动红灯亮;
当T0当前值等于设定值100时,定时器复位,此时红灯亮了5s。
定时器复位后重新开始定时,交通灯按时序要求循环工作。
与用三个定时器实现三个时间段的定时比较,CMP指令的应用没什么优势。
CMP主要用来比较两个数,如果比较一个数和一个区间范围,用区间比较指令ZCP会更容易设计程序。
区间比较指令ZCP的格式如图5所示。ZCP指令是区间比较指令,[S1·]和[S2·]表示比较区间的起点和终点,[S·]表示比较软元件,[D·]表示目标操作数。ZCP将[S·]与比较区间[S1·]和[S2·]的内容进行比较,并将比较结果传送到以目标操作数[D·]为首地址的三个位元件中。
图5 ZCP的指令格式
采用区间比较指令ZCP加一个定时器实现的系统梯形图程序如图6所示。
图6 ZCP加一个定时器实现的交通灯控制系统梯形图
ZCP是区间比较指令,可以区分三个区间,容易实现三个时间段的定时:
当T0当前值小于30时,M10接通,驱动绿灯亮3s。
当T0当前值在30和50之间时,M11接通,驱动黄灯亮2s。
当T0当前值大于50时,M12接通,驱动红灯亮;当定时器T0当前值等于设定值100时,定时器复位,此时红灯亮了5s。
定时器复位后重新开始定时,交通灯按时序要求循环工作。
与前面的两种设计方案相比,用区间比较指令加一个定时器实现,程序看起来比较简洁。
触点比较指令可以分为三类:LD类、AND类、OR类。每类指令以其中一个为例,LD>指令格式如图7所示,当T0的当前值比10小时,Y000置位。AND<指令格式如图8所示,当X000为ON,并且T0的当前值比10大时,Y000置位。OR=指令格式如图9所示,当X000为ON时,或T0的当前值等于10时,Y000置位。
图7 LD>指令格式
图8 AND<指令格式
图9 OR=指令格式
采用触点比较指令加一个定时器实现的系统梯形图程序如图10所示。
图10 触点比较指令加一个定时器实现的交通灯控制系统梯形图
用触点指令可以组合出不同的比较区间,以实现不同时间段的定时,用起来比较灵活。
以上四种梯形图程序,笔者在PLC仿真软件和PLC试验台上试验过了,也带着学生练习过这个内容,学生的完成情况也很不错。
从以上交通灯控制系统的四种不同程序设计方案可以看出,同一个控制系统,它的实现方法不止一种,巧妙运用比较指令,往往可以减少控制系统使用的定时器数量,让程序变得简洁直观。
教师可以打开思路,引导学生、启发学生去尝试各种解决方案,充分发挥学生的主观能动性,激发学生的潜力。