交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。为了实现交通道路的管理,力求交通管理先进性、科学化。用可编程控制器实现交通灯管制的控制系统,以及该系统软、硬件设计方法,实验证明该系统实现简单、经济,能够有效地疏导交通,提高交通路口的通行能力。分析了现代城市交通控制与管理问题的现状,结合交通的实际情况阐述了交通灯控制系统的工作原理,给出了一种简单实用的城市交通灯控制系统的PLC设计方案。可编程序控制器在工业自动化中的地位极为重要,广泛的应用于各个行业。随着科技的发展,可编程控制器的功能日益完善,加上小型化、价格低、可靠性高,在现代工业中的作用更加突出。
交通信号控制系统
1十字路口交通灯控制实际情况
南北主干道直行绿27S直行绿闪3S左转绿10S左转绿闪3S黄2S红45S
东西人行道红45S绿27S绿闪3S红60S
东西主干道红45S直行绿27S直行绿闪3S左转绿10S左转绿闪3S黄2S
南北人行道绿27S绿闪3S红60S
循环控制方式
交通灯变化顺序表(单循环周期90秒)
1.1南北向(列)和东西向(行)主干道均设有直行绿灯27S,直行绿灯闪亮3S,左行绿灯10S,左转绿闪3S,黄灯2S和红灯45S。当南北主干道红灯点亮时,东西主干道应依次点亮直行绿灯,直行绿灯闪,左转绿灯,左转绿灯闪亮和黄灯;反之,当东西主干道红灯点亮时,南北主干道依次点亮直行绿灯,直行绿灯闪,左转绿灯,左转绿灯闪亮和黄灯。
1.2南北向和东西向人行道均设有通行绿灯和禁行红灯。南北人行道通行绿灯应在南北主干道直行绿灯点亮时点亮,当南北主干道直行绿灯闪亮时南北行人道绿灯也要对应闪亮,其它时间为红灯。东西人行道通行绿灯于东西主干道直行绿灯点亮时点亮,当东西主干道直行绿灯闪亮是东西行人道绿灯也要对应闪亮,其它时间为红灯。
2结合十字路口交通灯的路况模拟控制实验
在PLC交通灯模拟模块中,主干道东西南北每面都有3个控制灯,分别为:
●禁止通行灯(亮时为红色)
●准备禁止通行灯(亮时为黄色)
●直通灯(亮时为绿色)
另外行人道东西南北每面都有2个控制灯,分别为:
●禁止通行灯(亮时为红色)
●直通灯(亮时为绿色)
结合十字路口交通灯实际情况设计交通灯模拟控制系统如下:
当交通灯系统启动开关接通时,
2.1南北向(列)和东西向(行)主干道均设有绿灯10S,绿灯闪亮2S(亮0.1灭0.1),黄灯2S和红灯14S。当南北主干道红灯点亮时,东西住干道应依次点亮绿灯,绿灯闪亮,黄灯,反之,当东西主干道红灯点亮时,南北主干道依次点亮绿灯,绿灯闪,黄灯。
2.2南北向和东西向行人道均设为通行绿灯和禁行红灯。南北人行道通行绿灯应在南北主干道绿灯点亮时点亮,当南北主干道绿灯闪亮和黄灯点亮时南北行人道绿灯也要对应闪亮,其它时间为红灯。东西行人道通行绿灯于东西主干道绿灯点亮是点亮,当东西主干道绿灯闪亮和黄灯点亮时东西行人道绿灯也要对应闪亮,其它时间为红灯。
2.3除此之外另设两个功能,使用10个脉冲开关。实现让盲人可以方便通过十字路口和手动控制车流量。其中8个安装在人行道的两边当东西方向行走的盲人要过马路的时候,按下脉冲开关东西向行人道绿灯亮起,南北向主干道红灯闪亮,延迟10秒恢复原来的控制系统。南北向脉冲开关对应东西向功能相同,另外两个脉冲开可以控制车流量,当东西向主干道等待车量较多的时候,按下东西向控制脉冲开关,东西向主干道延长绿灯点亮时间到15秒。东西向行人道绿灯也要对应延长。南北向脉冲开关对应东西向功能相同。
3、可编程控制器程序设计
1可编程控制器选择
本次交通灯设计用的是来自OMRON的CPM1A-30CDR-A可编程控制器
产品规格:CPM1ACPU单元CPM1A在编程环境等方面,它不仅具备了以往的小型PLC所具有的功能,尽可能使安装空间最小化,并实现了具有10点-100点输入输出点数的弹性构成。而且还可连接可编程控制终端,创造了尚无前例的灵活运用。它不仅可以替代继电器控制柜,就是作为小型控制器或在传感器应用中,亦能适应生产现场不同的需求
AC电源输入,继电器输出,能加扩展单元
2十字路口交通灯模拟控制时序图
和此行人道相交叉的主干道红灯
启动
行人道绿灯
[pagebreak]
3 可编程控制器I/O端口分配
启动开关
|
0000
|
停止开关
|
0001
|
东西主干道绿灯
|
1000
|
东西主干道黄灯
|
1001
|
东西主干道红灯
|
1002
|
南北主干道绿灯
|
1003
|
南北主干道黄灯
|
1004
|
南北主干道红灯
|
1005
|
东西行人道绿灯
|
1100
|
东西行人道红灯
|
1101
|
南北行人道绿灯
|
1102
|
南北行人道红灯
|
1103
|
东西向绿灯延迟控制按钮
|
0004
|
南北向绿灯延迟控制按钮
|
0005
|
东西盲人脉冲按钮
|
0003
|
南北盲人脉冲按钮
|
0002
|
0
|
LD 0000
|
1
|
OR 20300
|
2
|
AND-NOT 0001
|
3
|
AND-NOT 20000
|
4
|
OUT 20300
|
5
|
LD 20300
|
6
|
AND-NOT 20001
|
7
|
AND-NOT 20203
|
8
|
OUT 20301
|
9
|
LD 20301
|
10
|
OR TIM 005
|
11
|
OR TIM 027
|
12
|
OR 20000
|
13
|
AND-NOT TIM 002
|
14
|
AND-NOT 20103
|
15
|
AND-NOT 0001
|
16
|
OUT 20000
|
17
|
TIM 000 #100
|
18
|
TIM 001 #120
|
19
|
TIM 002 #140
|
20
|
LD TIM 002
|
21
|
OR 20001
|
22
|
OR TIM 018
|
23
|
AND-NOT TIM 005
|
24
|
AND-NOT 0001
|
25
|
AND-NOT 20203
|
26
|
OUT 2001
|
27
|
TIM 003 #100
|
28
|
TIM 004 #120
|
29
|
TIM 005 #140
|
30
|
LD 0004
|
31
|
OR 20100
|
32
|
AND-NOT 0000
|
33
|
AND-NOT 0005
|
34
|
AND-NOT 0001
|
35
|
OUT 20100
|
36
|
LD 20100
|
37
|
AND 20105
|
38
|
OUT 20102
|
39
|
LD TIM 005
|
40
|
OR TIM 027
|
41
|
OUT 20105
|
42
|
LD 20102
|
43
|
OR 20103
|
44
|
AND-NOT 0001
|
45
|
AND-NOT TIM 018
|
46
|
OUT 20103
|
47
|
TIM 016 #150
|
48
|
TIM 017 #170
|
49
|
TIM 018 #190
|
50
|
LD 0005
|
51
|
OR 20200
|
52
|
AND-NOT 0001
|
53
|
AND-NOT 0000
|
54
|
AND-NOT 0004
|
55
|
OUT 20200
|
56
|
LD TIM 002
|
57
|
LD TIM 018
|
58
|
OUT 20205
|
59
|
LD TIM 20200
|
60
|
AND 20205
|
61
|
OUT 20202
|
62
|
LD 20202
|
63
|
OR 20203
|
64
|
AND-NOT 0001
|
65
|
AND-NOT 027
|
66
|
OUT 20203
|
67
|
TIM 025 #150
|
68
|
TIM 026 #170
|
69
|
TIM 027 #190
|
70
|
LD 20000
|
71
|
AND-NOT TIM 000
|
72
|
LD 20103
|
73
|
AND-NOT TIM 016
|
74
|
OR LD
|
75
|
AND-NOT 0001
|
76
|
OUT 20002
|
77
|
LD TIM 000
|
78
|
AND-NOT TIM 001
|
79
|
LD TIM 016
|
80
|
AND-NOT TIM 017
|
81
|
OR LD
|
82
|
AND-NOT 20004
|
83
|
AND-NOT 0001
|
84
|
OUT 20003
|
85
|
TIM 006 #002
|
86
|
LD TIM 006
|
87
|
OR TIM 008
|
88
|
OR TIM 010
|
89
|
OR TIM 009
|
90
|
OR 20004
|
91
|
AND-NOT TIM 007
|
92
|
AND-NOT 0001
|
93
|
OUT 20004
|
94
|
TIM 007 #002
|
95
|
LD 20002
|
96
|
OR 20003
|
97
|
AND-NOT 0001
|
98
|
AND-NOT 20009
|
99
|
OUT 1000
|
100
|
LD TIM 001
|
101
|
AND-NOT TIM 002
|
102
|
LD TIM 017
|
103
|
AND-NOT TIM 018
|
104
|
OR LD
|
105
|
AND-NOT 20009
|
106
|
AND-NOT 0001
|
107
|
OUT 1001
|
108
|
LD 20000
|
109
|
AND-NOT TIM 002
|
110
|
LD 20103
|
111
|
AND-NOT TIM 018
|
112
|
OR LD
|
113
|
AND-NOT 20009
|
114
|
AND-NOT 0001
|
115
|
OUT 1103
|
116
|
LD20000
|
117
|
AND-NOT TIM 002
|
118
|
LD 20103
|
119
|
AND-NOT TIM 018
|
120
|
OR LD
|
121
|
AND-NOT 20103
|
122
|
AND-NOT 0001
|
123
|
OUT 20015
|
124
|
LD 20015
|
125
|
OR 20014
|
126
|
AND-NOT 0001
|
127
|
OUT 1005
|
128
|
LD 20001
|
129
|
AND-NOT TIM 003
|
130
|
LD 20203
|
131
|
AND-NOT TIM 025
|
132
|
OR LD
|
133
|
AND-NOT 0001
|
134
|
OUT 20005
|
135
|
LD TIM 003
|
136
|
AND-NOT TIM 004
|
137
|
LD TIM025
|
138
|
AND-NOT TIM 026
|
139
|
OR LD
|
140
|
AND-NOT 20004
|
141
|
AND-NOT 0001
|
142
|
OUT 20006
|
143
|
TIM 008 #002
|
144
|
LD 20005
|
145
|
OR 20006
|
146
|
AND-NOT 20013
|
147
|
AND-NOT 0001
|
148
|
OUT 1003
|
149
|
LD TIM 004
|
150
|
AND-NOT TIM 005
|
151
|
LD TIM 026
|
152
|
AND-NOT TIM 027
|
153
|
OR LD
|
154
|
AND-NOT 0001
|
155
|
AND-NOT 20013
|
156
|
OUT 1101
|
157
|
LD 20001
|
158
|
AND-NOT TIM 005
|
159
|
LD 20203
|
160
|
AND-NOT TIM 027
|
161
|
OR LD
|
162
|
AND-NOT 20013
|
163
|
AND-NOT 0001
|
164
|
OUT 1101
|
165
|
LD 20001
|
166
|
AND-NOT TIM 005
|
167
|
LD 20203
|
168
|
AND-NOT TIM 027
|
169
|
OR LD
|
170
|
AND-NOT 0001
|
171
|
AND-NOT 20009
|
172
|
OUT21000
|
173
|
LD 21000
|
174
|
OR 20011
|
175
|
AND-NOT 0001
|
176
|
OUT 1002
|
177
|
LD TIM 001
|
178
|
AND-NOT TIM 002
|
179
|
LD TIM 017
|
180
|
AND-NOT TIM 018
|
181
|
OR LD
|
182
|
AND-NOT 20004
|
183
|
AND-NOT 0001
|
184
|
OUT 20007
|
185
|
TIM 009 #002
|
186
|
LD TIM 004
|
187
|
AND-NOT TIM 005
|
188
|
LD TIM 026
|
189
|
AND-NOT TIM 027
|
190
|
OR LD
|
191
|
AND-NOT 20004
|
192
|
AND-NOT 0001
|
193
|
OUT 20008
|
194
|
TIM 010 #2
|
195
|
LD 20007
|
196
|
OR 20003
|
197
|
OR 20002
|
198
|
OR 20013
|
199
|
AND-NOT 0001
|
200
|
OUT 1100
|
201
|
LD 20008
|
202
|
OR 20005
|
203
|
OR 20006
|
204
|
OR 20009
|
205
|
AND-NOT 0001
|
206
|
OUT 1102
|
207
|
LD 0002
|
208
|
OR 20009
|
209
|
AND-NOT TIM 011
|
210
|
OUT 20009
|
211
|
TIM 011 #100
|
212
|
LD 20009
|
213
|
AND-NOT 20010
|
214
|
OUT 20011
|
215
|
TIM 012 #010
|
216
|
LD TIM 012
|
217
|
OR TIM 015
|
218
|
OR 20010
|
219
|
AND-NOT TIM 013
|
220
|
OUT 20010
|
221
|
TIM 013 #010
|
222
|
LD 0003
|
223
|
OR 20013
|
224
|
AND-NOT TIM 014
|
225
|
OUT 20013
|
226
|
TIM 014 #100
|
227
|
LD 20013
|
228
|
AND-NOT 20010
|
229
|
OUT 20014
|
230
|
TIM 015 #010
|
231
|
END
|
215
|
|
216
|
|
217
|
|
218
|
|
219
|
|
220
|
|
221
|
|
222
|
|
223
|
|
224
|
|
225
|
|
1难点分析
本程序在设计过程遇到了一些难点我把它整理了一下发现有以下几个问题。
1.1行人道红绿灯和主干道红绿灯的对应关系
因为实际的红绿灯控制中行人道的红绿灯和主干道的红绿灯是有这一定的对应关系的,所以在编程前一定要理清它们,这样有利于在编程时简化程序、减少PLC不必要的运算。
1.2盲人脉冲按键按下时要实现功能的同时不影响和它没关系的主干道
盲人在东西南北的行人道同时通过十字路口的情况不会经常出现,可以说是非少的,如果我们要把盲人脉冲分开东西控制和南北控制使他不影响和它没关系的主干道就可以使车辆行走更加通顺减少车辆堵塞的情况。要实现这样的功能就要在脉冲按键按下时不影响他们的计时程序只在对应的主干道红绿灯输出程序上进行插入常闭继电器以此把输出程序断开
1.3手动车流控制按键的控制方式
手动车流控制按键是对相应的主干道绿灯延长的进行控制,但不能使它在按下时使改变当时的红绿灯显示情况,如现在是南北红灯东西绿灯时按下南北绿灯延长按键就不能使它变成南北绿灯东西红灯。这就涉及到了一个请求和响应的关系。
1.4交通灯的闪亮
交通灯绿灯在实际运行中是要经过闪烁的,所以在设计程序中也要加入这个功能,参考了一些PLC的交通灯程序介绍时发现PLC中有一些继电器可以实现闪烁这些继电器也就是PLC内部的功能继电器,这是一种硬件实现功能的方法,虽然程序可以减少但比较死板闪烁频率不能控制。由于对PLC内部的功能继电器不太熟悉(不同型号的PLC内部功能继电器编号也不一样)我想了一个用程序实现的方法(程序段在第86条~第94条指令之间),此方法可以说是软件实现功能的方法,虽然程序加长了但闪烁频率可以控制比较灵活。
2调试错误与修改方法
经过设计,想一次性把程序完成是非常难的,在调试中就出现了不少的错误。
刚开始的时候把程序写进去然后运行却发现有些灯亮不起来而且在完成了一个周期后就循环不起来了。那时真的不知道从哪里入手,只好一条一条地检查才发现了一条指令把常闭写成了输出真正的输出口就没有收到信号了。灯虽然是亮了但仍然循环不起来。从梯形图又仔细的看了一次却看不出什么问题出来。突然想起来编程器还可以进行监控于是再在运行的同时进行监控,于是发现了在程序的第一周期一切都运行正常但再运行下去的时候第二周期就再没有反应了,包括里面的辅助继电器,最后发现原来是程序前面没有并上完成这个循环的继电器号。后来就这样把加上其他功能出现的错误也找出来了。虽然找错误是一个枯燥无味的工作,但只要你耐心的去做的话,你肯定能学到有用的动西。
3PLC智能化控制交通灯的方法
传统的十字路口交通控制灯,通常是事先经过交通流量的调查,运用统计的方法将两个方向红绿灯的延时预先设置好。然而实际上交通流量的变化往往是不确定的,有的路口在不同的时段甚至可能产生很大的差异。即使是经过长期运行、适用的方案,仍然会发生这样的现象:绿灯方向几乎没有什么车辆,而红灯方向却排着长队等候通过。这种流量变化的偶然性是无法建立准确模型的,统计的方法已不能适应迅猛发展的交通现状,需要有一种能够根据流量变化情况自适应控制的交通灯。而模糊控制恰恰具有这方面的优势。此系统就是应用可编程序控制器(PLC)对十字路口交通控制灯实现模糊控制传统的十字路口交通控制灯,通常是事先经过交通流量的调查,运用统计的方法将两个方向红绿灯的延时预先设置好。然而实际上交通流量的变化往往是不确定的,有的路口在不同的时段甚至可能产生很大的差异。即使是经过长期运行、适用的方案,仍然会发生这样的现象:绿灯方向几乎没有什么车辆,而红灯方向却排着长队等候通过。这种流量变化的偶然性是无法建立准确模型的,统计的方法已不能适应迅猛发展的交通现状,需要有一种能够根据流量变化情况自适应控制的交通灯。而模糊控制恰恰具有这方面的优势。
此系统就是应用可编程序控制器(PLC)对十字路口交通控制灯实现模糊控制此控制系统的输入量是指十字路口各方向上车辆数的动态变化量。具体由传感器采集后送入可编程序控制器。在十字路口的四个方向(E、S、W、N)的近端J(斑马线附近)和远端Y(距斑马线约100米处)各设置一个传感器,分别统计通过该处的车辆数。为了实现模糊控制,需要将绿灯时间分为两部分:其一是固定的10秒作为路口车辆状态参数的采集时间t1;其二是根据两个方向车辆流量变化进行模糊决策的延时t2。然后通过传感器采集后的排队等候的车辆数送往PLC进行模糊推理运算得出延迟时t2,最后由t1和t2来实现对十字路口车流量的灵活控制。
4收获与体会
经过一个多月的艰苦奋斗,设计成果终于要出来了,我才松了一口气,俗话说:“万事开头难。”这话一点也不假,回想当初确定这个,还是挺茫然的。不知怎下手。最后采用了先采集资料、进行实际考察后设计的方法。
查找资料也是一件繁琐的事情,虽说网上有资料但要找到一些真正有用的资料也不是一件容易的事,需要耐心查找。
好了终于到了设计的时候了,花了整整十几天,终于完成了设计,不过调试的时候却发现结果和想的有所不同,通过监控和修改才得出了需要的设计。这次的设计让我们增长了实践技能,还增加了有关交通知识,这些对于我们真是受益匪浅。最后,我们觉得,不见风雨,怎么能见彩虹呢?我把体会用十个字概括:天下无难事,只怕有心人
一次又一次的学习,探索又,我们慢慢地在体会,研究和感悟,终于开始领会到将近成功的那一份喜悦,从撰写开报告,查找资料,程序设计,到整理每一个次的调试,我们学会了细心和耐心,也品尝到了酸、甜、苦、辣,无数的成功与失败更加肯定了我们的研究成果。兴趣是自发形成的,而默契是慢慢培养出来的。当前的社会,科技迅速发展,知识更新速度大大加快,只有我们共同去探索,用自己的双手去征服每一片天空,用我们新的力量去打造一片创新的领域。