楊 斌,黃永程
(廣東理工學院,廣東肇慶 526100)
PLC是在電器控制技術和計算機技術的基礎上開發出來的新型工業控制裝置,并逐漸發展成為以微處理器為核心,將自動化技術、計算機技術、通信技術融為一體[1]。PLC控制系統設計以PLC為程控中心,實現對生產設備或過程的控制。PLC控制系統是以程序形式來體現其控制功能,大量的工作時間將用在軟件設計,也就是程序設計上,即編程語言。PLC編程語言主要采用梯形圖、指令表和狀態轉移圖,目前PLC普遍采用梯形圖編程語言,以其直觀、形象、簡單等特點為廣大用戶所熟悉和接受。但對于一些復雜的控制系統,尤其是順序控制系統,由于其內部的聯鎖、互動關系極其復雜,在程序的編制、修改和可讀等方面都存在許多缺陷。狀態轉移圖(SFC)是描述控制系統的控制過程、功能和特性的一種圖形語言,專門用于編制順序控制程序。近年來,隨著PLC功能的不斷增強,梯形圖一統天下的局面將被打破,多種語言并存互補不足將是今后PLC編程語言的發展趨勢,對于PLC初學者的學習應該多種編程方法相結合[2]。本文以自動交通燈為例,分別采用梯形圖和狀態轉移圖兩種不同的設計方法進行設計。
自動交通燈原理圖如圖1所示,每個方向均按照紅、綠、黃或綠、黃、紅燈順序循環點亮[3]。自動交通信號燈設計要求的時序圖如圖2所示,其控制要求如下:
(1)按下啟動按鈕時,南北紅燈亮并維持25 s,在南北紅燈亮的同時,東西綠燈也亮,但只維持20 s。20 s到時,東西綠燈閃亮3 s后熄滅,東西黃燈再亮2 s。

圖1 自動交通燈原理圖

圖2 自動交通燈控制時序圖
(2)東西黃燈熄滅后,東西紅燈亮,同時南北紅燈熄滅,南北綠燈亮。東西紅燈亮并維持30 s,南北綠燈亮并維持25 s。25 s到時,南北綠燈閃亮3 s后熄滅,南北黃燈再亮2 s。
(3)南北黃燈熄滅后,南北紅燈亮,同時東西紅燈熄滅,東西綠燈亮,開始下一個周期的動作,之后周而復始地循環。綠燈亮滅的周期為1 s(即亮0.5 s,滅0.5 s)。按一下停止按鈕,所有信號燈均熄滅。
自動交通燈I/O接線圖如圖3所示,I/O分配表如表1所示。

圖3 I/O接線圖

表1 自動交通燈控制信號I/O分配表
采用通用型輔助繼電器M0,中間繼電器輔助控制。綠燈閃爍采用輔助繼電器M8013,每1s產生1個脈沖。根據圖2自動交通燈控制時序圖,以定時器為主線進行編寫程序,其梯形圖程序如圖4所示。

圖4 梯形程序圖
對應的語句表如表2所示。
在三菱PLC指令系統中,對有順序控制采用步進控制程序圖來編寫,即狀態轉移圖SFC。采用狀態轉移圖設計順序控制簡單直觀,使程序變得容易;同時大大地縮短了設計者的時間。狀態轉移圖中的每一步表示運行的每一個工序,程序按照順序控制要求一步步地執行。狀態轉移圖有步進開始指令STL和步進結束指令RET兩條指令。狀態編程的基本原則是:激活狀態,先進行負載驅動,再進行狀態轉移,順序不能顛倒[4]。當使用STL指令將某個狀態激活,該狀態下的負載驅動和轉移才有可能。若對應狀態是關閉的,則負載驅動和狀態轉移不可能發生。同時一旦下一個狀態被激活,上一個狀態自動關閉。因此,同一時間,只有一個狀態是處于激活狀態[5-8]。根據控制要求可知,自動交通燈控制程序是一個多分支并行分支狀態轉移圖控制程序,自動交通燈狀態轉移圖如圖5所示,對應指令表如表3所示。

表2 梯形圖指令表

圖5 狀態轉移圖
在GX Developer軟件里把設計好的交通燈控制程序分別下載到實驗臺的CPU內,通過實驗臺SX-805-3交通燈模塊對兩種程序分別進行程序調試,最終實驗驗證自動交通的燈梯形圖和狀態轉移圖程序均可以按照設計要求實現其功能,設計程序均合理,某一時刻的調試圖如圖6所示。
綜上所述,通過自動交通燈的PLC控制程序設計,掌握了交通燈的自動控制原理,為設計更加復雜的交通控制系統奠定了基礎。本文采用兩種不同的編程方法,最終均能實現該設計要求。對于順序控制要求來說采用狀態轉移圖要比梯形圖更直觀、更易理解、更適合初學者、更簡單、更一目了然。總之,在三菱PLC指令系統中,對順序控制要求設計而言,更適合采用狀態轉移圖編寫程序,狀態轉移圖中的每一步表示設備運行的每一個工序,程序按順序控制要求一步步地執行,使設備按工序順序一個個地完成,這種編程方法使程序控制邏輯簡化、直觀、易懂、設計簡單方便。

表3 SFC指令表

圖6 調試結果圖