宋秀玲 (晉城職業(yè)技術(shù)學(xué)院機械與電子工程系,山西晉城048000))
三菱FX2N系列可編程控制器的PLC功能指令較多[1],可通過其編程實現(xiàn)對交通信號燈的控制。為此,筆者分別應(yīng)用基本指令、步進指令、傳送指令、比較指令、區(qū)間比較指令和觸點比較指令編寫程序,同時編制出對應(yīng)的梯形圖,從而實現(xiàn)對交通信號燈的自動控制。
現(xiàn)有一個位于十字路口的交通信號燈控制系統(tǒng),其對交通信號燈的控制要求如下:交通信號燈一個周期為76s,南北向信號燈和東西向信號燈同時工作。0~30s期間,南北向信號燈綠燈亮,東西向信號燈紅燈亮;30~33s期間,南北向信號燈黃燈亮,東西向信號燈仍是紅燈亮;33~73s期間,南北向信號燈紅燈亮,東西向信號燈綠燈亮;73~76s期間,南北向信號燈仍是紅燈亮,東西向信號燈黃燈亮。I/O分配表如表1所示。
表1 I/O分配表
在進行編程時,僅使用與觸點和線圈有關(guān)的基本邏輯指令進行編寫。為了滿足不同時間段各個線圈通電、斷電狀態(tài) (不同方向紅綠燈的發(fā)光時間),使用4個定時器進行定時,常開觸點用來控制輸出線圈通電,常閉觸點用來控制輸出線圈斷電?;局噶羁刂频奶菪螆D如圖1所示。按下起按鈕使X0接通后,輔助繼電器M0線圈通電并進行自鎖,M0的常開觸點作為條件,使線圈Y0和Y5通電 (南北方向綠燈和東西向紅燈發(fā)光),同時定時器T0、T1、T2和T3開始定時。30s后,定時器T0的常開觸點接通,線圈Y1通電 (南北向黃燈發(fā)光),與此同時,T0常閉觸點斷開,線圈Y0斷電 (南北向綠燈熄滅)。33s后,定時器T1的常閉觸點斷開,常開觸點接通,線圈Y1和Y5斷電 (南北向黃燈和東西向紅燈熄滅),同一時刻,線圈Y2和Y3通電 (南北向紅燈和東西向綠燈發(fā)光)。73s后,定時器T2的常閉觸點斷開,線圈Y3斷電 (東西向綠燈熄滅),同時定時器T2的常開觸點接通,線圈Y4通電 (東西向黃燈發(fā)光)。76s后,定時器T3的常閉觸點用來瞬間斷開所有定時器,使程序進入下1個循環(huán)周期。系統(tǒng)在定時器常開、常閉觸點控制下正常運行。
步進指令是專門為順序控制設(shè)計提供的指令,該指令必須與狀態(tài)繼電器配合使用[1]。
使用步進指令進行編程時,紅綠燈控制程序不僅要求南北向和東西向同時輸出,而且兩方向紅綠燈的循環(huán)周期必須相同,均為76S,所以采用并行結(jié)構(gòu)流程控制。程序在初始狀態(tài)S0等待,X0接通后,步S20和S30同時變?yōu)榛顒硬?并行結(jié)構(gòu)流程的2個分支同時工作,線圈Y0和Y5同時通電 (南北向綠燈和東西向紅燈同時發(fā)光),定時器T0和T3開始定時。30s后,T0的常開觸點閉合,狀態(tài)S20轉(zhuǎn)移到狀態(tài)S21,使線圈Y1通電 (南北向黃燈發(fā)光),上一狀態(tài)S20控制的線圈Y0自動斷電 (南北向綠燈自動熄滅)。再過3s,T1常開觸點閉合,狀態(tài)轉(zhuǎn)移到S22。隨著轉(zhuǎn)移條件的滿足,另一并行分支也在進行狀態(tài)轉(zhuǎn)移。76S后,T2和T5常開觸點同時閉合,狀態(tài)由S22和S32返回到初始狀態(tài)S0,使程序重復(fù)上述過程。
使用步進指令編程的關(guān)鍵是繪制狀態(tài)流程圖 (見圖2),根據(jù)狀態(tài)流程圖可以編寫出對應(yīng)的梯形圖程序。
圖1 基本指令控制的梯形圖
圖2 步進指令對應(yīng)的狀態(tài)流程圖
傳送指令的功能是將源數(shù)據(jù)傳送到指定的目標(biāo)操作數(shù)中。使用傳送指令進行編程的具體方法如下。通過傳送指令把十進制常數(shù)傳送到目標(biāo)元件K2Y0中,傳入的源數(shù)據(jù)不同,目標(biāo)元件K2Y0中各位元件的狀態(tài)也就不同,通過改變源數(shù)據(jù)從而對各輸出元件的狀態(tài)進行有序控制。使用傳送指令控制的梯形圖如圖3所示。當(dāng)M0為ON時,將源操作數(shù)K33傳送到目標(biāo)操作元件K2Y0中,此時,Y7~Y0的狀態(tài)分別為00100001(線圈Y0和Y5通電),定時器T0、T1、T2和T3同時開始定時。30s后,T0的常開觸點閉合,執(zhí)行下1條傳送指令,將源操作數(shù)K34傳送到目標(biāo)操作元件K2Y0中,Y7~Y0的狀態(tài)變?yōu)?0100010(線圈Y1和Y5通電)。33s后,T1的常開觸點接通,傳送指令將源操作數(shù)K12傳送到目標(biāo)操作元件K2Y0中,Y7~Y0的狀態(tài)為00001100(線圈Y2和Y3通電)。73s后,定時器T2的常開觸點接通,把十進制常數(shù)K20傳送到目標(biāo)元件K2Y0中,使得Y7~Y0的狀態(tài)變?yōu)?0010100(線圈Y2和Y4通電)。76s后,T3的常閉觸點斷開使所有定時器復(fù)位,同時重新執(zhí)行第1條傳送指令,使程序循環(huán)執(zhí)行。
比較指令有3個操作數(shù),其中2個源操作數(shù)和1個目標(biāo)操作數(shù),該指令是將2個源操作數(shù)的代數(shù)值進行比較,把比較結(jié)果送到目標(biāo)操作數(shù)中[1]。使用比較指令進行編程的具體方法如下。為了讓程序運行周期為76S的循環(huán)過程,利用輔助繼電器M8013和計數(shù)器C0相結(jié)合產(chǎn)生76s的時鐘脈沖。把C0當(dāng)前值和十進制常數(shù)作為2個源操作數(shù)進行比較,根據(jù)比較結(jié)果進行不同的輸出控制。使用比較指令控制的梯形圖如圖4所示。當(dāng)M0的常開觸點接通時,計數(shù)器C0的當(dāng)前值從0開始增加,當(dāng)C0當(dāng)前值未達到30時,M1為ON,線圈Y0通電 (南北向綠燈發(fā)光),置位線圈Y5(東西向紅燈發(fā)光)。當(dāng)C0當(dāng)前值等于30時,M2為ON,驅(qū)動線圈Y1(南北向黃燈發(fā)光)。當(dāng)C0當(dāng)前值大于30時,M3為ON,線圈Y1仍然通電 (南北向黃燈保持發(fā)光)。因為M1、M2和M3不能同時為ON狀態(tài),所以線圈Y1通電時,Y0斷電。在第2條比較指令中,當(dāng)C0當(dāng)前值等于33時,M5被接通,線圈Y3通電 (東西向綠燈發(fā)光),線圈Y2被置位 (南北向紅燈發(fā)光),同時復(fù)位Y5(東西向紅燈熄滅)。C0當(dāng)前值大于33時,M6被接通,與M5被接通一樣,可使東西向綠燈和南北向紅燈持續(xù)發(fā)光。同樣道理,在第3條比較指令中,C0當(dāng)前值等于大于73時,輔助繼電器M8和M9分別為ON狀態(tài),驅(qū)動線圈Y4輸出 (東西向黃燈發(fā)光)。76S后計數(shù)器C0的常開觸點接通,復(fù)位C0當(dāng)前值和線圈Y2,使計數(shù)器C0重新開始計數(shù),程序進入下1個循環(huán)過程。
圖3 使用傳送指令控制的梯形圖
圖4 使用比較指令控制的梯形圖
觸點比較指令相當(dāng)于一個觸點,執(zhí)行觸點比較指令時,對2個源數(shù)據(jù)進行比較,滿足比較條件則該觸點接通,其邏輯結(jié)果為1;如果不滿足比較條件則該觸點斷開,邏輯結(jié)果為0[2]。
使用觸點比較指令進行編程時,首先利用輔助繼電器M8013與計數(shù)器C0相結(jié)合產(chǎn)生76s的周期脈沖,再利用觸點比較指令對不同時段進行控制。使用觸點比較指令控制的梯形圖如圖5所示。Y0(南北向綠燈)要求在0s至30s時間段內(nèi)通電,可通過使用觸點比較指令 “LD<C0 K30”來實現(xiàn)。當(dāng)C0當(dāng)前值小于30時該觸點接通,從而使線圈Y0通電 (南北向綠燈發(fā)光),同時置位Y5(東西向紅燈發(fā)光)。同理,當(dāng)C0當(dāng)前值大于或等于30且小于33時,接通線圈Y1(南北向黃燈發(fā)光);當(dāng)C0的值大于或等于33時,線圈 Y2置位 (南北向紅燈發(fā)光),Y5復(fù)位 (東西向紅燈熄滅),同時線圈 Y3通電(東西向綠燈發(fā)光),持續(xù)到C0當(dāng)前值等于73;當(dāng)C0大于或等于73時,線圈Y4通電 (東西向黃燈發(fā)光)。計數(shù)器C0當(dāng)前值增大到76時,通過C0常開觸點復(fù)位,使程序進入下1個循環(huán)周期。
區(qū)間比較指令有4個操作數(shù),可將1個源操作數(shù)中的數(shù)據(jù)與另外2個源操作數(shù)間的數(shù)據(jù)進行代數(shù)比較,比較結(jié)果存放在目標(biāo)操作數(shù)中[3]。該編程方法與使用比較指令編程的方法相似,其不同之處是使用區(qū)間比較指令編程比較的不是某個值而是幾個區(qū)間。使用區(qū)間比較指令控制的梯形圖如圖6所示。在圖6中,2條區(qū)間比較指令可產(chǎn)生與圖4中3條比較指令同樣的效果。如執(zhí)行第1條區(qū)間比較指令時,當(dāng)C0當(dāng)前值小于30時,M1接通,線圈Y0通電,同時置位線圈Y5。C0當(dāng)前值大于等于30小于等于33時,M2為ON,線圈Y1通電。C0當(dāng)前值大于33時,M3被驅(qū)動,線圈Y3通電,同時置位Y2,復(fù)位Y5。當(dāng)C0當(dāng)前值介于73和76之間時,M5被接通,線圈Y4通電,并產(chǎn)生與圖4同樣的效果。
圖5 使用觸點比較指令控制的梯形圖
圖6 使用區(qū)間比較指令控制的梯形圖
通過交通信號燈控制程序的編寫,介紹了6種不同指令的編程方法?;局噶罹幊痰奶攸c是要使用較多的定時器,而步進指令編程思路簡單明了,但其梯形圖比較復(fù)雜。由于每種指令都有其對應(yīng)的應(yīng)用規(guī)則,因而在實際應(yīng)用中應(yīng)根據(jù)系統(tǒng)控制要求選擇合適指令進行編程。
[1]瞿彩萍,張偉林.PLC應(yīng)用技術(shù)[M].北京:人民郵電出版社,2007.
[2]隋振有,隋風(fēng)香.可編程控制器應(yīng)用解析 [M].北京:中國電力出版社,2006.
[3]肖明耀.PLC原理與應(yīng)用[M].北京:中國勞動社會保障出版社,2007.