现有个十字路口要求使用交通信号灯,控制要求是:按下启动按钮之后,系统开始工作,南北方向上的红灯亮30秒,转为绿灯亮20秒,然后是3秒闪烁(一秒闪一次),再转为黄灯亮2秒,这时的东西方向上绿灯亮25秒,然后也是3秒闪烁(一秒闪一次),再转为黄灯亮2秒,之后系统按此规律循环工作,直到按下停止按钮才会停止工作。该交通信号灯的示意图如下所示: 
 
 
工作时序图如下:
 
 
三菱PLC的输入和输出信号分配表如下: 
| 
 | I/O口 | 功能 | 
| 输入 | X0 | 启动按钮 | 
| X1 | 停止按钮 | 
| 输出 | Y0 | 南北红灯 | 
| Y1 | 东西绿灯 | 
| Y2 | 东西黄灯 | 
| Y3 | 东西红灯 | 
| Y4 | 南北绿灯 | 
| Y5 | 南北黄灯 | 
编程方法一:根据工作时序图把时间轴划分为六个区段,对应的六个定时器分别是T0~T5。然后先将各个定时器设定定时时间,由于各个定时器都是按顺序接通的,可以把前一个定时器的触点去触发后一个定时器的线圈以达到循环计时的目的。各定时器的定时时间如下表: 
| 定时器 | T0 | T1 | T2 | T3 | T4 | T5 | 
| 定时时间 | 25S | 3S | 2S | 20S | 3S | 2S | 
实例程序如下: 
 
 
编程方法二:根据工作时序图可以得到循环周期是55秒,我们将这时间55秒用T0定时器定时,然后再用比较时间区段编写程序。时间区段比较如下表所示: 
| 输出线圈 | Y0 | Y1 | Y2 | Y3 | Y4 | Y5 | 
| 时间范围(T0/s) | 0<T0≤30 | 0<T0≤25和25<T0≤28 | 28<T0≤30 | 30<T0≤55 | 30<T0≤50和50<T0≤53 | 
实例程序如下: 
 
 
本文如有描述不妥之处请指教,谢谢!