十字交通灯程序;三菱PLC程序。 有说明+程序(三种编程手法:1、步进单列列;2、步进行并列分支;3、基本逻辑指令)+CAD接线图+I/O分配表。 功能:当按下启动开关时,南北绿灯亮15s后以1秒为间隔闪炼5s后 灭,随后黄灯亮5s灭,红灯亮 25s为一个周期循环;与此同时东西的绿灯和黄灯亮时,期间南北红灯亮 25s后,接着南北绿灯亮15s后以1秒为间隔闪炼5s后灭;南北黄灯亮 5s 为一个周期循环。 在程序运行过程中按下停止按钮所有交通灯灭。 //001
先上硬件配置:
【I/O分配表】
X0 - 启动按钮
X1 - 停止按钮
Y0 - 南北绿灯
Y1 - 南北黄灯
Y2 - 南北红灯
Y3 - 东西绿灯
Y4 - 东西黄灯
Y5 - 东西红灯
接线图简单说:所有灯接继电器输出,按钮接常开触点。重点注意输出点Y0-Y5要接反向二极管防浪涌,别让PLC输出点被电冲击搞废了。
----第一种:步进单列式----
LD X0 ANI X1 OUT M0 STL M0 OUT T0 K150 ;南北绿灯15秒 LD T0 OUT T1 K50 ;绿灯闪5秒 ALT Y0 ;1Hz闪烁 LD T1 OUT T2 K50 ;黄灯5秒 LD T2 OUT T3 K250 ;红灯25秒 LD T3 SET S20 ;跳转回初始步这种写法就像搭积木,每个状态排排坐。优点是好调试,新手友好。缺点是时序调整得重新计算定时器参数,改起来麻烦。注意闪烁用ALT指令实现秒脉冲,比用定时器自嗨更省资源。
----第二种:步进并列分支----
STL S0 MOV K0 D0 CALL P0 CALL P1 P0: ;南北方向流程 LD S0 OUT Y0 OUT T4 K150 LD T4 OUT Y0 M8013 ;用时钟脉冲做闪烁 OUT T5 K50 LD T5 OUT Y1 OUT T6 K50 LD T6 OUT Y2 OUT T7 K250 P1: ;东西方向流程 LD Y2 ;南北红灯时 OUT Y3 OUT T8 K250 LD T8 OUT Y4 OUT T9 K50这种写法把南北和东西方向拆成两个并行流程,像两条并排的生产线。优势是逻辑分离清晰,适合复杂系统。但要注意两个流程的互锁关系,别让绿灯同时亮起酿成事故。这里用Y2作为互锁条件确保安全。
----第三种:基本指令硬刚----
LD X0 ANI X1 ANB OUT M0 LD M0 AND T10 OUT Y0 OUT T0 K150 LD T0 AND M0 ANI T11 OUT Y0 M8013 OUT T1 K50 LD T1 AND M0 OUT Y1 OUT T2 K50 LD T2 AND M0 OUT Y2 OUT T3 K250 LD T3 AND M0 RST T0 RST T1 ;循环复位老派电工最爱的写法,全程基本指令操作。优点是运行效率高,适合老型号PLC。但逻辑像意大利面条,加个急车优先功能能要人命。注意用RST指令清零定时器实现循环,比前两种方法多了复位操作。
三种写法实测下来,步进指令系(前两种)更适合交通灯这种明确的状态流程。当需要加行人按钮等新功能时,并列分支的扩展性更好。而基本指令写法适合维护老设备,或者给喜欢原始操作的老司机把玩。
最后来点骚操作:用CMP指令做阶段倒计时显示,或者加个D8020读取实时运行时间,这些升级玩法能让你的交通灯瞬间高大上。不过切记,稳定第一,炫技第二,别让路口司机看灯看到怀疑人生。