金彥平
(常州工程職業(yè)技術學院,江蘇 常州213164)
可編程序控制器(PLC)以強大的控制功能,較高的可靠性,使用方便等突出特點,已成為工業(yè)控制領域中常見的控制設備之一。目前許多職業(yè)院校開設了PLC課程。PLC編程雖說易學易懂,入門容易,但是由于編程的靈活多樣性,令許多初學者摸不著頭腦,覺得PLC編程無從下手。確實若不掌握好程序編制的邏輯方法,不熟悉程序結構,一般來說就難梳理好編程的思路,難編出好程序。下面筆者根據(jù)自己的編程經(jīng)驗,總結歸納了四種順序編程的方法和技巧,供學習者參考。
在工業(yè)控制領域中,很大一部分控制是屬于順序控制,一般學習PLC編程也從順序控制開始入手。那對于順序控制流程的對象,如何進行PLC編程,有何方法和技巧呢?一般來說,對于順序控制,首先必須根據(jù)工藝對象的工作流程,分析出順序控制的具體動作流程,畫出PLC控制的順序功能圖,然后再選擇合適的編程方法編制程序。一般順序控制程序有多種編制方法,其各有特點和技巧,現(xiàn)歸納三菱PLC順序程序編制的四種方法。
如圖1所示,是采用了啟保停電路編程的順序功能圖與梯形圖程序。圖中M1、M2和M3代表順序功能圖中順序相連的3步,=1、=2分別是步M1到步M2、步M2到步M3之間的轉換條件。編程時一步的啟保停電路在梯形圖程序一般編制一行。
以步M2程序編制為例,參見梯形圖程序的第一行。由于=1是步M1到步M2的轉換條件,先將M1和=1的常開觸點串聯(lián),作為步M2的啟動電路;然后將M2的常開觸點與M1和=1串聯(lián)電路并聯(lián),作為M2的自保持(自鎖)電路;再將后續(xù)步M3的常閉觸點與M2的線圈串聯(lián),作為M2的停止電路,這樣一行也就完成了步M2啟保停電路的程序編制。與此相仿編寫步M3的啟保停電路,如圖中第二行所示。多步程序可以此類推。
圖1 啟保停電路的編程
當電路工作時,若M1為活動步且轉換條件=1=1時,則步M2=1變?yōu)榛顒硬?,且通過M2常開觸點自保持。電路當轉換條件=2=1時,則步M3=1變?yōu)榛顒硬剑?M2=0變?yōu)椴换顒硬?,這時程序從步M2順序傳遞到步M3,其他順序步以此類推。最終根據(jù)順序功能圖,可以用代表步的輔助繼電器的常開觸點或它們的并聯(lián)電路集中驅動輸出繼電器的線圈。
圖2所示是采用以轉換為中心編程的順序功能圖與梯形圖程序。此方法編程的邏輯思路是在某一轉換的前級步是活動步并且相應的轉換條件滿足時,則電路實現(xiàn)轉換。
如圖2中=1是步M1到步M2的轉換條件,在梯形圖中將前級步M1和=1的常開觸點串聯(lián),即組成步M1轉換到步M2的兩個條件,后面緊跟SET M2指令將M2置位、RST M1指令將M1復位的并聯(lián)電路塊,實現(xiàn)開啟下一步(M2),關閉上一步(M1)承上啟下的作用。故當電路前級步是活動步(M1=1)及轉換條件(=1=1)同時滿足時,則該電路接通,此時后續(xù)步變?yōu)榛顒硬剑∕2=1)、前級步變?yōu)椴换顒硬剑∕1=0),實現(xiàn)動作的順序轉換。任何順序控制電路,代表步的輔助繼電器的控制電路都可以用這一方法來設計,每一個轉換對應一個控制置位和復位的電路塊,有多少個轉換就有多少個這樣的電路塊。最終各步輸出驅動電路仍可以采用輔助繼電器集中輸出的方式解決。
圖2 以轉換為中心的編程
這種設計方法很有規(guī)律,在設計復雜的順序功能圖的梯形圖時不容易出錯。此種編程方法與轉換實現(xiàn)的基本規(guī)則之間有著嚴格的對應關系,用它編制復雜的順序程序時,更能顯示其優(yōu)越性。
圖3所示是采用步進指令編程的順序功能圖與梯形圖程序。使用此方法編程,必須用S狀態(tài)繼電器代表順序功能圖中的各步,每一步都具有三種功能:負載的驅動處理、指定轉換條件和指定轉換目標。
圖3 步進指令的編程
以步S20為例,編寫的格式是將STL觸點(S20)與母線相連,其后設置驅動對象(Y0),然后再設置轉換條件及轉換目標,即并聯(lián)=1常開觸點與SET S21的串聯(lián)電路。當步S20為活動步時,S20的STL觸點接通,Y0置“1”輸出信號。如果轉換條件=1=1時,后續(xù)步S21被置位變成活動步,同時前級步S20自動斷開變成不活動步,Y0置“0”輸出斷開。其他步都可以采用這一設計方法,如圖中步S21。此方法每一步均是相對固定的格式,易學易懂,編制復雜程序時雖步數(shù)多但易檢查易調試,還可與便利指令一起配合使用。
這里主要介紹使用位左移指令(SFTL)編寫順序控制程序的方法。編程中位左移指令的控制條件,是用各順序輔助繼電器串聯(lián)對應步轉換條件再并聯(lián)的方式,在位左移指令執(zhí)行時,使位元件中的狀態(tài)成單地向左移動,從而實現(xiàn)動作的傳遞,達到順序控制的目的。
圖4 移位指令的編程
如圖4所示,是采用位左移指令(SFTL)編程的順序功能圖與梯形圖程序。編程時先設置位左移指令的參數(shù),根據(jù)順序功能圖,以代表3步的M101、M102、M103三個輔助繼電器起始步M101為首地址,設置SFTL指令參數(shù)n1=K3,再選擇1個位寄存器,如圖中選擇了M100輔助繼電器,設置SFTL指令參數(shù)n2=K1。SFTL指令條件的第一行,采用M100的常開觸點與=0的常開觸點串聯(lián),表達在M100=1及初始條件=0=1時,SFTL指令執(zhí)行1次;同樣第二行表達在M101=1及條件=1=1時,SFTL指令執(zhí)行1次;其他各行以此類推。圖中程序的第一行是M100輔助繼電器賦值電路,=4為程序執(zhí)行開關,它與三個輔助繼電器的常閉觸點串聯(lián),在=4=1、SFTL指令未執(zhí)行前時M100=1;而當條件=0=1時,SFTL指令會執(zhí)行一次左移位,結果 M100=0,M101=1,并為下一步動作做好了準備;而當條件=1=1時,SFTL指令再執(zhí)行一次左移位,結果 M101=0,M102=1,為再下一步動作又做好了準備,以此類推。最后一步完成后,各步輔助繼電器為0,又會使M100=1,程序回到初始位,可循環(huán)往復控制。最后程序各步的驅動電路仍可采用輔助繼電器集中輸出的方式解決。
以上總結歸納的順序編程方法,是PLC順序控制常用的四種方法,每種方法都以順序功能圖為基礎,故順序功能圖是進行編程的前提,而后采用的各種方法,每個方法都有自己編寫的模式,每一種模式都有相對固化的、一定邏輯的對應關系,這是我們編程人員必須搞清楚的關鍵點,掌握了這些關鍵因素和要點,就能理好思路,輕松編寫好順序控制程序了。