一、問題的提出
大家肯定都通過過十字路口,均經歷過交通燈的控制。那么控制系統是如何實現紅、綠、黃三種顏色信號燈有條不紊工作的呢?通過本模塊的學習,大家就可掌握應用可編程控制的基本指令來實現交通信號燈的基本功能。
圖 1 是十字路口交通信號燈示意圖。信號燈的動作受開關總體控制,按一下起動按鈕,信號燈系統開始工作,并周而復始地循環(huán)動作;按一下停止按鈕,所有信號燈都熄滅。信號燈控制的具體要求如表 1 所示。
圖 1 交通燈示意圖
表 1 交通燈控制要求
東西
信號
綠燈亮
綠燈閃
黃燈亮
紅燈亮
時間
25s
3s
2s
30s
南北
信號
紅燈亮
綠燈亮
綠燈閃
黃燈亮
時間
30s
25s
3s
2s
二、硬件及外圍元器件
根據信號燈的控制要求,本模塊所用的器件有:起動按鈕 sb 1 ,停止按鈕 sb 2 ,紅黃綠色信號燈各四只,輸入 / 輸出端口接線如圖 2 所示。
由圖可見:起動按鈕 sb 1 接于輸入繼電器 x0 端,停止按鈕 sb 2 接于輸入繼電器 x1 端,東西方向的綠燈接于輸出繼電器 y0 端,東西方向黃燈接于輸入繼電器 y1 端,東西方向的紅燈接于輸出繼電器 y2 端,南北方向綠燈接于輸出繼電器 y4 端,南北方向的黃燈接于輸出繼電器 y5 ,南北方向紅接于輸出繼電器 y6 。將輸出端的 com1 及 com2 用導線相連,輸出端的電源為交流 220v 。如果信號燈的功率較大,一個輸出繼電器不能帶動兩只信號燈,可以采用一個輸出點驅動一只信號燈,也可以采用輸出繼電器先帶動中間繼電器,再由中間繼電器驅動信號燈。
圖 2 輸入 / 輸出接線圖
三、軟件設計
根據十字路口交通信號燈的控制要求,可作出信號燈的控制時序圖如圖 3所示。
圖 3 交通信號燈控制的時序圖
本模塊我們采用基本邏輯的編程實現信號燈的控制。燈亮采用編程軟件定時器實現,燈閃采用由定時器組成的脈沖發(fā)生器實現。現在我們來分析一下由 t 10 及 t 11 組成脈沖發(fā)生器的梯形圖。
圖 4 周期為 1 秒的脈沖發(fā)生器
圖 5 t10 觸點的脈沖波形
由圖 4 可知,當 m100 閉合時, t 10 得電,延時 0.5 秒后, t 10 觸點閉合,定時器 t 11 得電,延時 0.5 秒后,其常閉觸點 t 11 斷開, t 10 線圈失電,其觸點 t 10 斷開,而定時器 t 10 再次得電, 0.5 秒后, t 10 再次閉合……,如此周而復始,即可得到 t 10 觸發(fā)的工作波形如圖 5 所示。
圖 6 為用基本邏輯指令編制的梯形圖,其對應的指令表于表 2 中。
圖 6 交通信號燈控制的梯形圖
工作時,可編程控制器處于運行狀態(tài),按動起動按鈕 sb 1 ,則輔助繼電器 m10 得電并自鎖,由梯形圖可知,首先接通輸出繼電器 y6 ,及 y0 ,使得南北方向的紅燈亮、東西方向的綠燈亮。大家根據梯形圖的文字說明及圖 3 的時序圖,不難分析交通信號燈的整個周期工作過程。
按停止按鈕 sb 2 ,則輔助繼電器 m100 斷電并解除自鎖,整個系統停止運行,所有信號燈熄滅。
表 2 交通信號燈控制梯形圖對應的指令表
指令程序
指令程序
指令程序
指令程序
0 ld x0
19 out t3
40 out y6
56 ani t6
1 or m100
k 30
41 ld t0
57 and t10
2 ani x1
22 ld t3
42 out y2
58 orb
3 out m100
23 out t4
43 ld y6
59 out y4
4 ld m100
k 20
44 ani t2
60 ld t6
5 ani t1
26 ld t0
45 ld t2
61 ani t7
6 out t0
27 out t5
46 ani t3
62 out y5
k 300
k 250
47 and t10
63 ld m100
9 ld t0
30 ld t5
48 orb
64 ani t11
10 out t1
31 out t6
49 out y0
65 out t10
k 300
k 30
50 ld y3
k 5
13 ld m100
34 ld t6
51 ani t4
68 ld t10
14 ani t0
35 out t7
52 out y1
69 out t11
15 out t2
k 20
53 ld y2
k 5
k 250
38 ld m100
54 ani t5
72 end
18 ld t2
39 ani t0
55 ld t5
四、知識點的擴展
1 、定時器的延時擴展
定時器的記時時間都有一個最大值,如 100ms 的定時器最大記時時間為 32767.7s 。如工程中所需的延時時間大于這個數值怎么辦,一個最簡單的方法是采用定時器接力方式,即先啟動一個定時器記時,記時時間到時,用第一只定時器的常開觸點啟動第二只定時器,再使用第二只定時器啟動第三只,如此等等。記住使用最后一個定時器的觸點去控制最終的控制對象就可以了。圖 4-5 中的梯形圖既是一個這樣的例子。
圖 5 定時器接力獲得長延時
圖 6 定時器配合記數器獲得長延時
上述利用多定時器的記時時間相加獲得長延時。此外還可以利用記時器配合記數器獲得長延時,如圖 6 所示。圖中常開觸點 x1 是這個電路的工作條件,當 x1 保持接通時電路工作。
在定時器 t1 的線圈回路中接有定時器 t1 的常閉觸點,它使得定時器 t1 每隔 10s 接通一次,接通時間為一個掃描周期。定時器 t1 的每一次接通都使記數器 c1 記一個數。而當記到記數器的設定值并使其工作對象 y0 接通,從 x1 接通為始點的延時時間為定時器的設定值乘上記數器的設定值。 x2 為記數器 c1 的復位條件。
2 、分頻器
用 plc 可以實現對輸入信號的任意分頻,圖 7 所示是一個分頻電路。
圖 7分頻電路
待分頻的脈沖信號加在 x0 端,在第一個脈沖信號到來時, m100 產生一個掃描周期的脈沖,使 m100 的常開觸點逼和、閉合一個掃描周期。這時確定 y0 狀態(tài)的前提是 y0 置 0 , m100 置 1 。圖中 y0 工作條件的兩個支路中 1 號支路接通, 2 號支路斷開, y0 置 1 。第一個脈沖到來一個掃描周期后, m100 置 0 , y0 置 1 ,在這樣的條件下分析 y0 的狀態(tài),第二個支路使 y0 保持置 1 。當第二個脈沖到來時, m100 在產生一個掃描周期的單脈沖,這時 y0 置 1 , m100 也置 1 ,這使得 y0 的狀態(tài)由置 1 變?yōu)橹?0 。第二個脈沖到來一個掃描周期后, y0 置 0 且 m100 也置 0 直到第三個掃描到來時 y0 及 m100 的狀態(tài)和第一個脈沖到來時完全相同, y0 的狀態(tài)變化將重復前邊討論過的過程。通過以上的分析可知, x0 每送兩個脈沖, y0 產生一個脈沖,完成了對輸入信號的分頻。
3 、微分脈沖電路
微分電路分上升沿微分和下降沿微分脈沖電路,下面分別討論。
上升沿微分脈沖電路, plc 是以循環(huán)掃描方式工作的,在 plc 第一次掃描時,輸入 x0 由 off 變?yōu)?on 時, m100 、 m101 線圈接通,但處在第一行的 m101 的常開觸點仍接通,因為該行已經掃描過了,等到 plc 第二次掃描時, m101 的觸點才斷開, y0 線圈斷開。 y0 的接通時間為一個掃描周期,如圖 8 所示。
圖 8 上升沿微分脈沖電路
下面再介紹一下下降沿微分脈沖電路,如圖 9 所示,當 x0 由 on 變?yōu)?off 時 m100 接通一個掃描周期,則 y0 輸出一個掃描脈沖,具體工作原理,請同學們自己分析。
圖 9 下降沿微分脈沖電路