楊 斌,黃永程
(廣東理工學(xué)院,廣東肇慶 526100)
PLC是在電器控制技術(shù)和計算機技術(shù)的基礎(chǔ)上開發(fā)出來的新型工業(yè)控制裝置,并逐漸發(fā)展成為以微處理器為核心,將自動化技術(shù)、計算機技術(shù)、通信技術(shù)融為一體[1]。PLC控制系統(tǒng)設(shè)計以PLC為程控中心,實現(xiàn)對生產(chǎn)設(shè)備或過程的控制。PLC控制系統(tǒng)是以程序形式來體現(xiàn)其控制功能,大量的工作時間將用在軟件設(shè)計,也就是程序設(shè)計上,即編程語言。PLC編程語言主要采用梯形圖、指令表和狀態(tài)轉(zhuǎn)移圖,目前PLC普遍采用梯形圖編程語言,以其直觀、形象、簡單等特點為廣大用戶所熟悉和接受。但對于一些復(fù)雜的控制系統(tǒng),尤其是順序控制系統(tǒng),由于其內(nèi)部的聯(lián)鎖、互動關(guān)系極其復(fù)雜,在程序的編制、修改和可讀等方面都存在許多缺陷。狀態(tài)轉(zhuǎn)移圖(SFC)是描述控制系統(tǒng)的控制過程、功能和特性的一種圖形語言,專門用于編制順序控制程序。近年來,隨著PLC功能的不斷增強,梯形圖一統(tǒng)天下的局面將被打破,多種語言并存互補不足將是今后PLC編程語言的發(fā)展趨勢,對于PLC初學(xué)者的學(xué)習(xí)應(yīng)該多種編程方法相結(jié)合[2]。本文以自動交通燈為例,分別采用梯形圖和狀態(tài)轉(zhuǎn)移圖兩種不同的設(shè)計方法進行設(shè)計。
自動交通燈原理圖如圖1所示,每個方向均按照紅、綠、黃或綠、黃、紅燈順序循環(huán)點亮[3]。自動交通信號燈設(shè)計要求的時序圖如圖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)南北黃燈熄滅后,南北紅燈亮,同時東西紅燈熄滅,東西綠燈亮,開始下一個周期的動作,之后周而復(fù)始地循環(huán)。綠燈亮滅的周期為1 s(即亮0.5 s,滅0.5 s)。按一下停止按鈕,所有信號燈均熄滅。
自動交通燈I/O接線圖如圖3所示,I/O分配表如表1所示。
圖3 I/O接線圖
表1 自動交通燈控制信號I/O分配表
采用通用型輔助繼電器M0,中間繼電器輔助控制。綠燈閃爍采用輔助繼電器M8013,每1s產(chǎn)生1個脈沖。根據(jù)圖2自動交通燈控制時序圖,以定時器為主線進行編寫程序,其梯形圖程序如圖4所示。
圖4 梯形程序圖
對應(yīng)的語句表如表2所示。
在三菱PLC指令系統(tǒng)中,對有順序控制采用步進控制程序圖來編寫,即狀態(tài)轉(zhuǎn)移圖SFC。采用狀態(tài)轉(zhuǎn)移圖設(shè)計順序控制簡單直觀,使程序變得容易;同時大大地縮短了設(shè)計者的時間。狀態(tài)轉(zhuǎn)移圖中的每一步表示運行的每一個工序,程序按照順序控制要求一步步地執(zhí)行。狀態(tài)轉(zhuǎn)移圖有步進開始指令STL和步進結(jié)束指令RET兩條指令。狀態(tài)編程的基本原則是:激活狀態(tài),先進行負(fù)載驅(qū)動,再進行狀態(tài)轉(zhuǎn)移,順序不能顛倒[4]。當(dāng)使用STL指令將某個狀態(tài)激活,該狀態(tài)下的負(fù)載驅(qū)動和轉(zhuǎn)移才有可能。若對應(yīng)狀態(tài)是關(guān)閉的,則負(fù)載驅(qū)動和狀態(tài)轉(zhuǎn)移不可能發(fā)生。同時一旦下一個狀態(tài)被激活,上一個狀態(tài)自動關(guān)閉。因此,同一時間,只有一個狀態(tài)是處于激活狀態(tài)[5-8]。根據(jù)控制要求可知,自動交通燈控制程序是一個多分支并行分支狀態(tài)轉(zhuǎn)移圖控制程序,自動交通燈狀態(tài)轉(zhuǎn)移圖如圖5所示,對應(yīng)指令表如表3所示。
表2 梯形圖指令表
圖5 狀態(tài)轉(zhuǎn)移圖
在GX Developer軟件里把設(shè)計好的交通燈控制程序分別下載到實驗臺的CPU內(nèi),通過實驗臺SX-805-3交通燈模塊對兩種程序分別進行程序調(diào)試,最終實驗驗證自動交通的燈梯形圖和狀態(tài)轉(zhuǎn)移圖程序均可以按照設(shè)計要求實現(xiàn)其功能,設(shè)計程序均合理,某一時刻的調(diào)試圖如圖6所示。
綜上所述,通過自動交通燈的PLC控制程序設(shè)計,掌握了交通燈的自動控制原理,為設(shè)計更加復(fù)雜的交通控制系統(tǒng)奠定了基礎(chǔ)。本文采用兩種不同的編程方法,最終均能實現(xiàn)該設(shè)計要求。對于順序控制要求來說采用狀態(tài)轉(zhuǎn)移圖要比梯形圖更直觀、更易理解、更適合初學(xué)者、更簡單、更一目了然。總之,在三菱PLC指令系統(tǒng)中,對順序控制要求設(shè)計而言,更適合采用狀態(tài)轉(zhuǎn)移圖編寫程序,狀態(tài)轉(zhuǎn)移圖中的每一步表示設(shè)備運行的每一個工序,程序按順序控制要求一步步地執(zhí)行,使設(shè)備按工序順序一個個地完成,這種編程方法使程序控制邏輯簡化、直觀、易懂、設(shè)計簡單方便。
表3 SFC指令表
圖6 調(diào)試結(jié)果圖