張媛媛,黨麗峰
(江蘇聯(lián)合職業(yè)技術學院鎮(zhèn)江分院 機電工程系,江蘇 鎮(zhèn)江 212016)
可編程控制器(PLC)是中控系統(tǒng)常用的控制器之一,已成為現(xiàn)代工業(yè)自動化控制的三大支柱之一[1]。很多職業(yè)院校開設了“PLC應用技術”課程。對PLC編程而言,可以使用多種方法實現(xiàn)同一種控制功能,每種方法各有優(yōu)缺點。學生從簡單的基本指令入手,進而學習步進指令、功能指令,循序漸進[2]。分析控制流程,使用程序?qū)崿F(xiàn)控制功能,達到最優(yōu)設計,是一個長期積累的過程。
搶答器要求實時、準確、快速、公正[3]。搶答器系統(tǒng)是“PLC應用技術”課程中的典型案例。以知識競賽現(xiàn)場用4組搶答器控制系統(tǒng)為例,使用三菱FX2N系列PLC設計控制系統(tǒng),使用3種方法編程,研究使用不同指令實現(xiàn)同一控制要求的設計思路。
知識競賽現(xiàn)場4組搶答器系統(tǒng)控制要求:按下“啟動”鍵,系統(tǒng)啟動,主持人發(fā)出搶答信號,任意一組搶先按下按鍵后,顯示器及時顯示該組編號,同時蜂鳴器鳴叫提示該組搶答成功,此時其他組按鍵無效,主持人按下“復位”按鈕后可再次搶答,按下“停止”按鈕,系統(tǒng)停止工作。
使用PLC控制程序時,需要將所有的輸入(輸出)器件連接到PLC的輸入(輸出)端口,并對端口進行說明。該系統(tǒng)的I/O地址分配表如表1所示,PLC控制電路端口接線如圖1所示。
表1 I/O地址分配表
使用基本邏輯指令編寫PLC程序時,只使用基本的軟元件,需注意軟元件的關聯(lián)性和邏輯性。圖2為系統(tǒng)的啟動和搶答程序。使用典型的起保停電路實現(xiàn)系統(tǒng)啟動。搶答器系統(tǒng)存在2組或多組同時搶答成功的問題,需要使用互鎖解決,即利用一組的運行信號進行其他組的運行信號控制[4]??刂瞥绦驗橄韧V购筠D(zhuǎn)換的梯形圖程序,從輸出M1到輸出M2運行,先按下復位按鈕“X0”,停止M1的輸出,再按下啟動按鈕“X2”,轉(zhuǎn)換到M2運行?;ユi各方只要有一方為“ON”,其他組均被鎖,具有“先到先得,后到不得”的功能。
圖2 搶答器系統(tǒng)的啟動和搶答程序
組號顯示使用七段數(shù)碼管實現(xiàn)。七段數(shù)碼管由7個條形發(fā)光二極管組成,通過各段的亮滅實現(xiàn)數(shù)字顯示[5]。在程序中,M1,M2,M3,M4分別對應4個組搶答成功信號,LED顯示數(shù)字字符需要把每個組的狀態(tài)轉(zhuǎn)換成LED對應的輸出,如表2所示。
數(shù)碼管顯示程序中需要處理雙線圈輸出問題,如第2組搶答成功和第3組搶答成功均要求數(shù)碼管顯示A段,按順序編寫程序時用OUT指令驅(qū)動兩次Y1輸出。由PLC運行的工作原理可知,輸出繼電器Y的狀態(tài)是最后檢測到的狀態(tài)刷新結果輸送到相應的輸出端子的。雙線圈處理后的數(shù)碼管顯示程序如圖3所示。值得注意的是,在程序中加了定時器T0,用來實現(xiàn)搶答成功時蜂鳴器鳴叫1s提示。
表2 七段數(shù)碼管字符顯示
工業(yè)控制中大多是順序控制,大多使用步進指令。搶答器控制系統(tǒng)是選擇最先搶答的一組執(zhí)行,是典型的選擇分支,可以使用步進程序的選擇分支編寫程序,程序結構如圖4所示。M8002上電后“S0”狀態(tài)激活,若第2組搶先按下,X2得電,程序進入第2個分支,其他分支不得電,按下復位按鈕“X0”后,程序跳轉(zhuǎn)到“S0”重新進行搶答。使用步進指令編程,無需考慮互鎖及雙線圈問題,可讀性較強。
圖4 狀態(tài)轉(zhuǎn)移圖
使用步進指令編寫PLC程序,運行步驟一目了然,但輸出元件Y多次重復使用,效率低。在PLC中,功能指令主要用于模擬量控制、運動控制、通訊控制等[6]。功能指令數(shù)量多、門類廣,而且有些功能指令涉及專業(yè)知識和PLC擴展領域。但功能指令可以實現(xiàn)PLC的很多擴展功能,大大提高了編程效率及PLC的使用價值。七段數(shù)碼管可通過SEGD七段解碼功能指令實現(xiàn)數(shù)字顯示,程序如圖5所示。按下復位按鈕“X0”時,通過區(qū)間復位指令“ZRST”將七段數(shù)碼管清零。
圖5 七段解碼指令實現(xiàn)數(shù)字顯示程序
可通過數(shù)據(jù)傳送指令MOV和位組合元件實現(xiàn)數(shù)字顯示,程序如圖6所示。
用數(shù)據(jù)傳送指令設計程序時,用位元件的組合K2Y001控制七段數(shù)碼管的輸出,當數(shù)碼管顯示數(shù)字“1”時,Y7—Y1顯示的二進制信息為“0000110”,轉(zhuǎn)化為十進制信息為“K6”,然后,將數(shù)據(jù)通過MOV指令傳送到數(shù)碼管進行顯示。
使用基本邏輯指令編寫程序,強調(diào)軟元件之間的邏輯關系,初學者易上手,但對于復雜的控制系統(tǒng),存在邏輯關系復雜、程序可讀性差的缺點。使用步進指令編寫PLC程序,結構清楚,只需考慮轉(zhuǎn)移條件和每步需完成的動作即可,但軟元件多次重復使用,編寫效率低。使用功能指令時,程序可擴展性強,步驟少,適合模擬控制、過程控制、通訊控制。但PLC功能指令數(shù)量多、門類廣,很難快速掌握。PLC的編程必須與實踐相結合,“做中學,學中做”。