交通灯控制系统的控制要求如下:
1 信号灯受一个起动开关(SB1)控制,当起动开关接通时,信号系统开始工作,且先南北红灯亮,东西红灯亮。
2 交通灯按如下顺序循环点亮:红红(2s)-->红绿(3s)-->红黄(1s)-->红红(2s)-->绿红(3s)-->黄红(1s)-->红红(2s)。
3 周而复始。
1.2系统设计方案分析
按照交通灯系统控制要求下,结合西门子S7-200系列可编程控制器的特性,选择适合的型号。设计思想分析如下:给一个启动的输入信号,要配合一个SB1的按钮,当SB1启动按钮动作,系统工作。
按照控制要求,将控制过程分为六步,分别是红红、红绿、红黄、红红、绿红、黄红,程序控制继电器按时序一步步的跳转。可采用多种方案实现跳转,在此,我们采用传送指令与时间继电器结合来控制程序的运转。
首先,上电后,按下启动按钮SB1,I0.0动作,为MB10送入数据1,中间继电器M10.0动作,启动通电延时时间继电器T37,延时2s后,其常开触点闭合,启动数据转送,为MB10送入数据2。中间继电器M10.1动作,启动时间继电器T38,延时3s后,其常开触点闭合,启动下一次数据传送,为MB10送入数据4。中间继电器M10.2动作,启动时间继电器T39,延时1s后,其常开触点闭合,启动第四次数据传送,为MB10送入数据8。中间继电器M10.3动作,启动时间继电器T40,延时2s后,其常开触点闭合,启动下一次数据传送吗,为MB10送入数据16。中间继电器M10.4动作,启动时间继电器T41,延时3s后,其常开触点闭合,启动第六次数据传输,为MB10送入数据32。中间继电器T42动作,延时1s后,其常开触点闭合。启动下一次数据传送之后,程序进入第二个循环,从而实现红绿灯的循环控制。
因此,需要一个信号输入,六个信号输出,十字路口有十二个交通信号灯,南北、东西两个为一组用一个输出信号控制。通过如下的十字路口交通灯状态分析表、主流程图、十字路口交通灯时序图一一展开,十字路口交通灯控制系统设计思路逐渐脉络清晰。
表1 十字路口交通灯状态分析表
南北方向
交通灯状态 | 红灯亮8s | 绿灯亮3S | 黄灯亮1S | |||
东西方向 交通灯状态 | 红灯亮2S | 绿灯亮3S | 黄灯亮1S | 红灯亮6S |
交通灯状态 | 红灯亮30s | 绿灯亮20S | 黄灯亮5S | |||
东西方向 交通灯状态 | 红灯亮2S | 绿灯亮20S | 黄灯亮5S | 红灯亮28S |
交通灯状态 | 红灯40s | 绿灯15s | 黄灯5s | |||||
东西方向 交通灯状态 | 红灯10s | 绿灯15s | 黄灯5 | 红灯30 | ||||
东到西左转 | 绿灯8s | 黄灯2s | 红灯50s | |||||
西到东左转 | 红灯30s | 绿灯8s | 黄灯2s | 红灯20s |
十字路口交通灯如下图1所示,将12个交通灯进行编号
图1 十字路口交通灯状态图
这12个交通灯共有四个状态:
状态1:南北红灯(1、7)亮,东西红灯(4、10)亮;
状态2:南北红灯(1、7)继续亮,东西绿灯(6、12)亮;
状态3:南北红灯(1、7)继续亮,东西黄灯(5、11)亮;
状态4:南北红灯(1、7)继续亮,东西红灯(4、10)亮;
状态5:南北绿灯(3、9)亮,东西红灯(4、10)继续亮;
状态6:南北黄灯(2、8)亮,东西红灯(4、10)继续亮;
主程序流程图:(如图3-2所示)
图3-2 主程序流程图
图2 十字路口交通灯时序图
1.3.1 PLC的选型
从上面的分析可以知道,系统共有开关量输入点1个,开关量输出点6个,参照西门子S7-200系列特性,选用主机为CPU222。
输入电路采用了双向光电耦合器,24V DC极性可任意选择, 1M、2M为输入端子的公共端。1L、2L为输出公共端。
CPU222另有24V、280mA电源供PLC输入点使用。
1.3.2 PLC的地址分配
列出交通信号灯PLC的输入/输出点分配表,见表3-2。
定时器 T=PT×S; 定时实际时间=设定值×精度
1ms: T32,T96
10ms: T33~T36, T97~T100
100ms: T37~T63, T101~T255
表3-2 交通信号灯PLC的输入/输出点分配表
输入信号 | 定时元件 | 输出信号 | ||||
名称 | 代号 | 输入点编号 | 名称 | 代号 | 输出点编号 | |
工作按钮 | SB1 | I0.0 | T37:状态一2S | 南北红灯 | L0 | Q0.0 |
T38:状态二3S | 南北绿灯 | L1 | Q0.1 | |||
T39:状态三1S | 南北黄灯 | L2 | Q0.2 | |||
T40状态四2S | 东西红灯 | L3 | Q0.3 | |||
T41:状态五3S | 东西绿灯 | L4 | Q0.4 | |||
T42:状态六1S | 东西黄灯 | L5 | Q0.5 |
如图3-5所示
端口I0.0为接入系统开关的传送信号,端口Q0.0接南北红灯,端口Q0.1接南北绿灯,端口Q0.2接南北黄灯,端口Q0.3接东西红灯,端口Q0.4接东西绿灯,端口Q0.5接东西黄灯。
1.4 系统程序设计
1.4.1系统的梯形图
1.4.2语句表
Network 1 // //程序采用传送指令与时间继电器控制交通灯各状态的循环
LD SM0.1 MOVB 0, MB10
Network 2 // //为MB10送1,南北方向为红灯,东西方向为红灯
LD I0.0 MOVB 1, MB10
O T42
Network 3 // //为MB10送2,南北方向为红灯,东西方向为绿灯
LD T37 MOVB 2, MB10
Network 4 // //为MB10送4,南北方向为红灯,东西方向为黄灯
LD T38 MOVB 4, MB10
Network 5 // //为MB10送8,南北方向为红灯,东西方向为红灯
LD T39 MOVB 8, MB10
Network 6 // //为MB10送16,南北方向为绿灯,东西方向为红灯
LD T40 MOVB 16, MB10
Network 7 // //为MB10送32,南北方向为黄灯,东西方向为红灯
LD T41 MOVB 32, MB10
Network 8 // 状态1:2s
LD M10.0 TON T37, +20
Network 9 // 状态1:3s
LD M10.1 TON T38, +30
Network 10 // 状态1:1s
LD M10.2 TON T39, +10
Network 11 // 状态1:2s
LD M10.3 TON T40, +20
Network 12 // 状态1:3s
LD M10.4 TON T41, +30
Network 13 // 状态1:1s
LD M10.5 TON T42, +10
Network 14 // 南北方向红灯亮
LD M10.0 O M10.3
O M10.1 = Q0.0
O M10.2
Network 15 // 南北方向绿灯亮
LD M10.4 = Q0.1
Network 16 // 南北方向黄灯亮
LD M10.5 = Q0.2
Network 17 // 东西方向红灯亮
LD M10.0 O M10.5
O M10.3 = Q0.3
O M10.4
Network 18 // 东西方向绿灯亮
LD M10.1 = Q0.4
Network 19 // 东西方向黄灯亮
LD M10.2 = Q0.5
1.5 系统检测与调试
连接好实验箱上电路,输入口I0.0接按钮开关K1.,输出口接实验箱上交通灯实验区。打开STEP7 Micro/WIN32 编程软件,将写好的程序输入程序框,编译、下载并运行程序,观察实验结果。并开启程序监控,可得结果如下:
上电后,按下启动按钮SB1,I0.0动作,为MB10送入数据1,中间继电器M10.0动作,启动通电延时时间继电器T37,延时2s后,其常开触点闭合,启动数据转送,为MB10送入数据2。中间继电器M10.1动作,启动时间继电器T38,延时3s后,其常开触点闭合,启动下一次数据传送,为MB10送入数据4。中间继电器M10.2动作,启动时间继电器T39,延时1s后,其常开触点闭合,启动第四次数据传送,为MB10送入数据8。中间继电器M10.3动作,启动时间继电器T40,延时2s后,其常开触点闭合,启动下一次数据传送吗,为MB10送入数据16。中间继电器M10.4动作,启动时间继电器T41,延时3s后,其常开触点闭合,启动第六次数据传输,为MB10送入数据32。中间继电器T42动作,延时1s后,其常开触点闭合。启动下一次数据传送之后,程序进入第二个循环,从而实现红绿灯的循环控制。
经验证,程序在实验箱上运行正常。
1.6 总结
经过五天的课程设计,我初步掌握了PLC程序设计的基本方法,了解到顺序控制的方法,理解了时序对交通灯设计的重要性。整个课程设计最大的难点在于确定交通灯的控制逻辑和时序分析,在程序设计的最初阶段,我们没有深刻理解交通灯状态变化的时序关系,无法找到状态转换的起始点,所以始终写不出合理的程序。后来,我们采用传送指令来控制时间继电器的启动,也解决了这个问题。总的感觉是,这次课程设计的收获很大,我学到了一些实用的PLC知识,这些知识也将为我以后的学习和工作所用。
1.7 参考文献
1张万忠 刘明芹. 电器与PLC控制技术. 化学工业出版社, 2008
2 吴志刚 . 应用技术实验教程. 西南交通大学出版社, 2010