APP下载

基于比较指令的交通灯PLC控制程序设计

2019-12-17李言武

关键词:黄灯交通灯计数器

李言武

(安徽工贸职业技术学院,安徽 淮南 232007)

目前,采用PLC控制交通灯显示是一种较为稳定可靠的手段,但由于交通灯显示是双向的、同时按照一定的规律变化,在设计控制程序时容易造成逻辑关系不够清晰,可读性差,不易理解掌握。为此,本文根据交通灯显示PLC控制要求,给出交通灯显示控制时序图,利用计数器指令计数秒脉冲实现交通灯显示计时,利用比较指令比较计数器的当前计数值驱动交通灯显示。

图1 交通灯显示示意图

1 交通灯显示PLC控制要求

交通灯显示PLC控制如图1所示,在十字路口,东西方向为R1红、Y1黄、G1绿3组6盏指示灯,南北方向为R2红、Y2黄、G2绿3组6盏指示灯。当某个方向绿灯点亮(另一方向红灯点亮)20s后,黄灯以2s周期闪烁3次,然后红灯点亮(另一方向绿灯点亮、黄灯闪烁),如此循环显示。

2 PLC控制程序设计与解析

2.1 设计思路

根据控制要求,交通灯显示控制时序图如图2所示,其中某个方向红黄绿指示灯显示的一个完整周期为50s。

图2 交通灯显示控制时序图

在图2中,东西方向绿灯点亮20s,黄灯闪烁5s,红灯点亮25秒;对应南北方向红灯点亮25s,绿灯点亮20秒,黄灯闪烁5s。因此,程序设计采用的思路如下:

(1)任务周期设定。利用50s计数器进行计时,即计数器指令的计数脉冲周期为1s,当前值每增1所需时间为1s ,计数器预置值设为50。

(2)指示灯显示控制。通过比较计数器指令比较计数器的当前计数值,在达到设定值时分别驱动绿灯、黄灯、红灯3色交通灯显示。① 东西方向: 0≤“C0”当前值≤19,绿灯显示;“C0”当前值=20、22、24,黄灯显示,达到间隔2s闪烁;25≤“C0”当前值≤50,红灯显示。②南北方向:0≤“C0”当前值≤24,红灯显示;25≤“C0”当前值≤44,绿灯显示;“C0”当前值=45、47、49,黄灯显示,达到间隔2s闪烁。

2.2 主要指令格式及功能

程序设计主要运用整数比较指令和增计数器指令,其格式及功能如表1所列。

表1 主要指令格式及功能

2.3 编程元件分配及功能

编程元件分配及功能如表2所列。

表2 编程元件分配及功能

2.4 程序设计与解析

依据交通灯显示控制时序图,利用整数比较指令和增计数器指令编写控制程序如图3所示。

图3 交通灯显示PLC控制梯形图

在图3中,I0.0为启停开关SB1,控制交通灯显示状态,程序解析如下:(1)网络1程序段,实现50s计时器功能:特殊寄存器SM0.5触点提供周期T为1s、占空比50%的时钟脉冲;增计数器C0实现“1s时钟脉冲”的计数,总数为50个,即50s计数;中间寄存器M0.0触点实现增计数器C0复位(C0当前计数值置0,输出状态位置0)。

(2)网络2程序段,实现循环控制:增计数器C0的触点实现输出线圈M0.0状态为置1,即M0.0=1,使中间寄存器M0.0的触点接通。

(3)网络3~5程序段,实现东西方向交通灯显示控制:增计数器C0当前值为0~19绿灯点亮;增计数器C0当前值为20~24黄灯闪烁3次;增计数器C0当前值为25~50红灯点亮。

(4)网络6~8程序段,实现南北方向交通灯显示控制:增计数器C0当前值为0~24红灯点亮;增计数器C0当前值为25~44绿灯点亮;增计数器C0当前值为45~49黄灯闪烁3次。

2.5 运行调试

连接好 PLC外围接线,确认无误后接通电源,使交通灯显示PLC控制线路处于正常工作状态,程序控制功能的调试步骤如下:①编写梯形图程序,编译后将梯形图程序下载到PLC中。②闭合启停开关SB1,交通灯以设定好的工作方式运行显示。③运行期间,断开启停开关SB1,交通灯立即停止显示。

2.6 拓展应用

对交通灯显示PLC控制程序进行修改,实现黄灯闪烁次数由3次变为5次,红灯和黄灯显示要求不变,则交通灯显示控制时序图如图4所示,其中某个方向红黄绿指示灯显示的一个完整周期为58s。

图4 交通灯显示控制时序图

在图4中,交通灯依据计数器C0当前值的显示状态设定如下:

(1)东西方向。0≤“C0”当前值≤19,绿灯显示;“C0”当前值=20、22、24、26、28,黄灯显示;29≤“C0”当前值≤58,红灯显示。

(2)南北方向。0≤“C0”当前值≤28,红灯显示;29≤“C0”当前值≤48,绿灯显示;“C0”当前值=49、51、53、55、57,黄灯显示。

3 结束语

实践表明,采用此方法设计交通灯PLC控制程序优点如下:

(1)逻辑关系清晰。根据交通灯显示控制要求,给出红黄绿指示灯工作时序图,程序设计逻辑关系清晰。

(2)可读性好。利用计数器指令实现秒计数进行计时,利用比较指令比较计数器当前计数值驱动交通灯显示,显示状态转换关系明确。

(3)便于掌握。程序设计主要使用的计数器指令和比较指令功能简单,易于掌握和灵活应用。

猜你喜欢

黄灯交通灯计数器
采用虚拟计数器的电子式膜式燃气表
关于74LS90计数器的Multisim仿真分析
基于单片机的交通灯模糊控制器研究
为什么交通灯是红黄蓝三种颜色?
一直飘红的交通灯
SR620型与53230A型计数器的性能测试
基于单片机的LED模拟交通灯设计
算盘是个“小气鬼”
无知之幕与博弈:从“黄灯规则”看博弈论的一种实践方案
还有94分