
No.1155 基于S7-300 PLC和Wincc的十字路交通灯控制系统:包含梯形图程序、接线
图原理图、IO分配及组态画面
十字路口的红绿灯控制看起来简单,实际调试起来能让人把咖啡喝成凉白开。今天咱们用S7-300 P
LC和WinCC来整这个活,我敢打赌你会遇到至少三次"这灯咋不同步"的抓狂时刻。
先看硬件接线(图1),四个方向的信号灯接在Q区输出模块SM322上,这里有个坑:千万别把绿灯的公
共端接到24V+,有兄弟烧过三个继电器才明白交流型信号灯要接零线。IO分配表重点记两组:东西方向Q4.
0-Q4.2(红黄绿),南北Q4.3-Q4.5,急停按钮接在I0.6,手动切换用I0.7。
梯形图的核心是时间控制(图2),上电先用S_ODT定时器搭个环形链路:
```ladder
T0
+-|/|-----------------(TON T1, PT#30S)
T1
+-|/|-----------------(TON T2, PT#3S)
T2
+-|/|-----------------(TON T3, PT#30S)
T3
+-|/|-----------------(TON T4, PT#3S)
```
这里藏着个魔鬼细节:绿灯最后3秒必须闪起来。用T2的常闭触点控制Q4.2的脉冲输出,配合秒脉冲
发生器M1.0:
```ladder
T2 M1.0
-| |-----|/|------------(Q4.2)
```
当黄灯计时开始,绿灯自动切换为闪烁模式,这比用单独定时器省了三个网络段。
WinCC画面组态要玩点小花样(图3)。在灯组动画属性里绑定PLC变量,重点设置颜色切换条件。比如
红灯属性填:
```javascript
if (GetTagBit("RedLight_EastWest") == 1)
return "红色";