◆宋國杰
PLC順序控制法編程應用
◆宋國杰
隨著自動控制技術(shù)的發(fā)展,PLC的應用也越來越廣泛,順序控制法是進行PLC編程時最常用、最有效的編程方法。以三菱PLC為模型,通過實例來說明順序控制法的編程思路和操作步驟。
三菱PLC;步;步轉(zhuǎn)移;順序功能圖
10.3969/j.issn.1671-489X.2015.24.042
PLC(可編程控制器)自從1969年誕生以來,經(jīng)過近50年的發(fā)展,以可靠性高、編程方便、控制功能強的特點成為現(xiàn)代工業(yè)技術(shù)不可缺少和替代的部分,是目前最重要的、應用最多的工業(yè)控制微型計算機。其主要編程方法有對照法、經(jīng)驗設(shè)計法、順序控制法。
對照法對于電機控制類程序編寫比較簡單,根據(jù)控制電路的連接關(guān)系,原照原將電氣符合轉(zhuǎn)換為梯形圖對應符合即可,但對于其他的控制過程實現(xiàn)起來就比較困難。
經(jīng)驗設(shè)計法是在一些典型梯形圖的基礎(chǔ)上,通過增加或減少一些元件,反復修改和調(diào)試,最終實現(xiàn)控制功能要求,對于簡單的控制功能可以用此方法實現(xiàn),但一旦控制功能復雜,實現(xiàn)起來就比較麻煩,隨機性太強。對于沒有經(jīng)驗或經(jīng)驗較少的初學者,尤其是學情比較復雜的高職院校的在校學生來說,這種方法是很難掌握的。
順序控制法,也稱為功能表圖設(shè)計法,是用比較直觀的圖形直接反映控制功能關(guān)系。該方法編程簡單、容易理解,是目前在教學過程中最常用的方法。
本文以液體混合控制和十字路口交通燈控制為例,采用三菱FX3U系列PLC作為控制單元,以順序控制法編寫功能表圖、梯形圖,來說明此種方法的特點和優(yōu)勢。
順序控制法,就是按照生產(chǎn)工藝規(guī)定順序,根據(jù)控制要求發(fā)生的順序,把一個生產(chǎn)周期分為若干個順序相連的階段,每一階段稱為一步,相鄰各步的狀態(tài)不同,步與步之間通過條件相連接,再將各步及其條件用內(nèi)部編程元件代替,最終形成SFC圖(順序功能圖或狀態(tài)轉(zhuǎn)移圖)和梯形圖,通過輸出控制各執(zhí)行機構(gòu)工作。
順序控制法的基本步驟是“一劃步、二轉(zhuǎn)換、三動作、四結(jié)束、五分配”。
“一劃步”就是按項目控制功能要求,將整個項目分為幾步,通過這幾步完成一個完整的控制周期。也就是完成控制功能需要做幾個動作。
“二轉(zhuǎn)換”就是根據(jù)控制功能要求,找出已劃好的步與步之間的轉(zhuǎn)換條件。也就是前一步需要什么條件才能夠轉(zhuǎn)到下一步,執(zhí)行下一步的操作。
“三動作”就是根據(jù)控制功能要求,寫出每步要完成的動作。也就是PLC中各個繼電器的狀態(tài)。
“四結(jié)束”就是根據(jù)控制功能要求,設(shè)計一個周期的結(jié)束步,這一步驟直接決定了所做的SFC圖能否正常結(jié)束或循環(huán)執(zhí)行。
“五分配”就是為所劃步的動作分配一個PLC中的對應的內(nèi)部元件編號,也就是常說的I/O分配。這五步做完后,將對應的操作填寫到SFC圖中對應的位置,就可以繪制出控制功能對應的SFC圖了。
SFC圖主要由步、步轉(zhuǎn)移、動作三部分組成,如圖1所示。在執(zhí)行過程中從初始步開始,初始步由雙框線的方框組成,代表系統(tǒng)啟動的初始狀態(tài),這一步的內(nèi)容都是固定的,用M8002來進行控制。其他步由單線方框表示,代表要完成一個具體的動作,對應是步驟三中的內(nèi)容。步間的有向線段表示整個圖執(zhí)行順序,也由它來決定圖的走向。有向線段上的短線是步的轉(zhuǎn)換條件,當步的轉(zhuǎn)換條件成立時,由當前步轉(zhuǎn)移到下一步,執(zhí)行下一步的動作,同時將當前步所有操作復位。這也就是第二個步驟完成的操作,只要將第二個步驟中內(nèi)容填寫到短線旁即可。在遇到END時結(jié)束所有步操作,對應第四步驟中的操作。

圖1 SFC圖基本組成

圖2 SFC圖結(jié)構(gòu)
SFC圖主要有順序分支、并行分支、選擇分支三個結(jié)構(gòu),如圖2所示。順序分支是最簡單的一種分支結(jié)構(gòu),每步后只有一個轉(zhuǎn)換條件,條件滿足繼續(xù)向下執(zhí)行,只有一個分支,沒有其他支路,主要完成順序系統(tǒng)的控制。并行分支結(jié)構(gòu)是在同一狀態(tài)下的同一個轉(zhuǎn)換條件下,同時啟動若干個順序分支狀態(tài)。完成各自相應的動作后,轉(zhuǎn)移到結(jié)束匯合的狀態(tài),繼續(xù)執(zhí)行后續(xù)的操作步的動作。選擇分支結(jié)構(gòu)是在同一狀態(tài)下有兩個或多個轉(zhuǎn)換條件,當哪個轉(zhuǎn)換條件滿足要求,就執(zhí)行其對應的順序分支結(jié)構(gòu)的程序,完成相應動作后,再根據(jù)轉(zhuǎn)換條件匯合執(zhí)行后續(xù)操作。在控制系統(tǒng)比較復雜,同時有多個選擇狀態(tài)時,分支結(jié)構(gòu)使用比較多。但無論是哪種結(jié)構(gòu),無論是多么復雜的控制任務(wù),只要按上面提到的五大步驟進行操作,都可以完成其程序編寫,通過硬件連接完成控制任務(wù)要求。
在編程過程中使用SFC圖,其優(yōu)勢就是在程序中可以直觀地看到整個系統(tǒng)的動作順序,程序的規(guī)律性強,容易讀懂,具有可視性。一旦發(fā)生故障,能通過軟件的監(jiān)視功能比較容易地找出故障所在位置,及時修改。同時在程序設(shè)計中不需要復雜的互鎖電路,對學習者來說,越簡單的程序結(jié)構(gòu)越容易理解、修改、實現(xiàn)功能,繼電器只在執(zhí)行當前步時接通,需要通時就在步中加入該繼電器即可。
順序分支結(jié)構(gòu) 以液體混合控制為例,說明順序分支結(jié)構(gòu)的操作。某瓶裝飲料生產(chǎn)線中混合液體功能控制,需要完成兩種液體的進料、混合、卸料的功能,控制要求如下:

圖3 液體混合裝置
如圖3所示,按動啟動按鈕SB1后,電磁閥YV1通電打開,液體A流入容器;當液位高度達到M時,液位傳感器1接通,此時電磁閥YV1斷電關(guān)閉,而電磁閥YV2通電接通,液體B流入容器;液位達到H時液位傳感器2接通,這時電磁閥YV2斷電關(guān)閉,同時啟動電機M攪拌;1分鐘后電動機M停止攪拌,這時電磁閥YV3通電打開,放出混合液體去下道工序;當液位下降到L后,再延時2秒使電磁閥YV3斷電關(guān)閉,并自動開始新的周期。
1)SFC圖繪制。按照順序控制法的步驟,首先對整個控制過程進行劃步。通過控制功能要求,可以看出這里整個過程中一共要進行五個操作:打開YV1注入A→打開YV2注入B→攪拌→打開YV3放出混合液體→關(guān)閉YV3重新打開YV1,以此循環(huán)。
第二就是找出各步間的轉(zhuǎn)換條件,初始狀態(tài)由M8002控制,其他各步的轉(zhuǎn)換條件分別為液位高度達到M、液位達到H、1分鐘時間到、液位下降到L后再延時2秒。
第三是找出各步動作,這里的五步完成的功能依次為打開YV1、打開YV2、電機攪拌、打開YV3、關(guān)閉YV3并打開YV1。
第四是找出結(jié)束步,本控制功能要求一個周期后自動開始新周期,所以結(jié)束步的動作就是返回第一步。
第五是對各動作和步進行I/O分配,本例中一共有三個電磁閥、一個電機、三個液位高度傳感器和一個啟動按鈕。需要對些元件進行地址分配,如表1所示。
將這五步按照SFC圖順序分支結(jié)構(gòu),填入對應的位置,得到初始圖,如圖4所示。再將圖中的操作,按照I/O分配的結(jié)果,將所用步、動作、轉(zhuǎn)換條件用PLC中的內(nèi)部繼電器代替,就得到液體混合控制的SFC圖,如圖5所示。需要注意的是在這里由于傳感器M和H是在液位上漲過程中接通的傳感器,因此這兩個轉(zhuǎn)換條件一定是X2和X3的上升沿;同樣傳感器L是在液位下降過程中才需要用到的,因此這個轉(zhuǎn)換條件一定是用X1的下降沿。

表1 I/O分配表

圖4 順序分支初始圖

圖5 液體混合系統(tǒng)SFC圖

圖6 初始步操作

圖7 SFC結(jié)構(gòu)

圖8 仿真時序圖
SFC圖繪制成功后,并沒有完成控制任務(wù),緊接著要做的就是將SFC圖輸入到編程軟件,下載到PLC,軟硬件系統(tǒng)聯(lián)合調(diào)試,通過不斷調(diào)試最終實現(xiàn)控制任務(wù)。
2)SFC圖的輸入。啟動GX Develop三菱PLC編程軟件,新建工程,在彈出的對話框中選擇PLC系列為FX,PLC類型為FX2N,程序類型為SFC,工程設(shè)置中設(shè)置工程名和保存路徑。單擊確定。在彈出的表窗口中,雙擊第0塊,設(shè)置塊名稱和本塊程序類型。第0塊是初始塊,本部分內(nèi)容主要是利用M8002使初始步接通,所以在程序類型一定要選擇梯形圖塊。單擊執(zhí)行。在右側(cè)梯形圖區(qū)輸入初始步置位操作,如圖6所示。按F4進行梯形圖的變換,這樣就完成了第0塊初始步的操作。
雙擊左側(cè)MAIN主程序,雙擊第1塊,開始SFC圖的輸入操作。首先設(shè)置本塊的名稱,程序類型選為SFC圖,單擊確定。此時可以進行SFC圖輸入,系統(tǒng)自動將第0步及其第0個轉(zhuǎn)換條件添加到SFC圖編程區(qū)中,只要將鼠標移動到方向線段下,重復按快捷鍵F5和回車確定,就會不斷增加步和轉(zhuǎn)換條件。當出現(xiàn)如圖5所示的步結(jié)構(gòu)后,在最后一步按下F5后,在圖標號位置選擇JUMP,其右側(cè)的步號轉(zhuǎn)換為10,完成最后一步的轉(zhuǎn)移操作。這樣整個SFC圖結(jié)構(gòu)即完成,如圖7所示。
其余的操作就是在右側(cè)輸入各步對應動作的轉(zhuǎn)換條件,未進行操作時每步和每個轉(zhuǎn)換條件后都有一個“?”,輸入結(jié)束后這個符號就自動消失了。輸入各步動作時,先雙擊步號,這時其右側(cè)輸入變?yōu)榘咨?,可以按圖5中所示進行輸入即可。當輸入轉(zhuǎn)換條件時,雙擊后只要在條件后輸入TRAN即可。無論是步還是轉(zhuǎn)換條件,在輸入結(jié)束后都要進行程序的變換,否則不允許進行下一步操作。
經(jīng)過以上的操作,就完成了液體混合控制系統(tǒng)的SFC圖的輸入操作,將編制成功的SFC圖直接下載,進行仿真調(diào)試,其仿真時序圖如圖8所示。由時序圖可以看出,編寫的SFC圖能夠完全符合液體混合控制要求,下一步只需將液體混合實驗模塊與PLC的輸入輸出連接,利用模塊上的按鈕對程序做進一步的驗證。事實證明在模塊上的執(zhí)行結(jié)果與控制要求完全符合。
并行和選擇分支結(jié)構(gòu) 十字路口交通燈的控制主要有車行道控制和人行道控制,且兩個控制同時動作。主要動作是:車行道綠燈亮35 s——綠燈閃爍5次,每次1 s——黃燈亮3 s——紅燈亮43 s,以此循環(huán)。東西向綠燈和黃燈亮時,南北向的紅燈亮,東西向和南北向的紅綠燈始終是相反的;人行道綠燈亮35 s——綠燈閃爍8次,每次1 s——紅燈亮43 s,以此循環(huán)。人行道也分為東西、南北兩個方向。當按下啟動后系統(tǒng)運行,按下停止后系統(tǒng)停止。
十字路口交通燈的控制是在教學中常常用到的例子,其編程過程中動作變化多,尤其是燈之間的切換,學生用經(jīng)驗法編寫過程中極易出現(xiàn)問題,不是紅燈和綠燈一起亮,就是東西向和南北向同一顏色燈同時亮……如果使用順序控制法,就可以很容易地解決這個問題。人行和車行兩個道是同時動作的,用SFC圖來編程的話,顯然這是一個并行分支和選擇分支都有的結(jié)構(gòu)。按照順序控制法的五步驟法,可以很快得到該控制任務(wù)SFC圖。
首先是對整個控制進行劃步。在整個控制中車行道每個方向都有綠燈亮、綠燈閃爍、黃燈閃爍、紅燈亮四步,兩個方向初看是有八步,但由于東西向和南北向的燈亮是同時進行,將兩個方向的步驟進行合并,車行道一共有六步。同樣的方法,人行道每個方向都有綠燈亮、綠燈閃爍、紅燈亮三步,兩個方向初看有六步,出于和車行道一樣的原因,將六步進行合并,最后人行道一共有四步。
接著要做的就是找到各步之間的轉(zhuǎn)換條件。交通燈車行道的轉(zhuǎn)換由時間決定,分別是35 s、5 s、3 s。人行道的動作轉(zhuǎn)換也是由時間決定,分別是35 s、8 s。這里的43 s是紅燈亮的時間,在紅燈亮時相對方向的綠燈和黃燈是亮的,可以由它們來決定轉(zhuǎn)換,所以轉(zhuǎn)換條件可以把43 s去除。
前兩個步驟做完后,緊接著進行各步動作的劃分,車行道的六步動作是南北紅東西綠——南北紅東西綠閃爍——南北紅東西黃——東西紅南北綠——東西紅南北閃爍——東西紅南北黃。人行道的四步動作是南北紅東西綠——南北紅東西綠閃爍——東西紅南北綠——東西紅南北閃爍。
第四個步驟是結(jié)束步的設(shè)計,在整個控制中除非按下停止按鈕,否則系統(tǒng)一直在循環(huán)動作。因此,結(jié)束動作就是在任何一步按下停止后結(jié)束所有動作,等待再次按下啟動,重新啟動,這恰與初始步的動作一致。結(jié)束動作就是跳轉(zhuǎn)到初始步。
第五步進行I/O分配。根據(jù)控制任務(wù)要求,這里車行道有兩個方向紅、綠、黃六個燈,人行道有兩個方向紅、綠四個燈,一共有10個燈,也就是從Y0到Y(jié)7,再加上Y10、Y11,需要10個輸出繼電器;輸入繼電器主要有啟動X0、停止X1兩個,如表2所示。利用這五個步驟將十字路口交通燈的控制任務(wù)進行分析后,就可得到該控制的SFC圖(如圖9所示)。
在三菱編程軟件GX Develop按上面介紹的步驟,將圖9中所示的SFC圖輸入,編譯下載,與交通燈模塊連線,運行調(diào)試后能夠完全實現(xiàn)控制任務(wù)的要求。
由以上兩個實例可以看出,利用順序控制法完成控制任務(wù)程序的編寫十分簡單,不需要考慮過多的通斷控制,只要按照“一劃步、二轉(zhuǎn)換、三動作、四結(jié)束、五分配”的步驟,將任務(wù)控制過程分析清楚,就可以編寫出需要的控制程序。

圖9 十字路口交通燈SFC圖

表2 十字路口交通燈I/O分配表
PLC是現(xiàn)代工業(yè)中應用最廣泛的控制器,高職院校的學生在企業(yè)一線都會與之打交道,那么掌握PLC編程、調(diào)試方法就顯得尤為重要。針對高職學校特殊的學情,顯然傳統(tǒng)的經(jīng)驗法不適合,順序控制法正好解決了這一問題?!?/p>
[1]李淑芬.PLC順序控制設(shè)計法及其應用探討[J].數(shù)字技術(shù)與應用,2015(4).
[2]徐建峰.PLC順序控制設(shè)計法編程研究[J].企業(yè)技術(shù)開發(fā),2014(6).
[3]朱學軍.PLC順序控制方法研究[J].組合機床與自動化技術(shù)研究,2003(11).
[4]俞紅珊.PLC順序控制設(shè)計法研究與應用[J].濟南職業(yè)技術(shù)學院學報,2010(1).
[5]羅麥豐,彭鐵牛.Proteus在電子技術(shù)虛擬實驗教學中的應用:基于S7_200系列PLC的順序控制編程方法的研究[J].機床電氣,2006(4).
[6]張文明.可編程控制器及網(wǎng)絡(luò)控制技術(shù)[M].北京:中國鐵道出版社,2011.
[7]鄭鳳翼.PLC程序設(shè)計方法與技巧(三菱系列)[M].北京:機械工業(yè)出版社,2014.
Application of PLC Sequence Control Method
SONG Guojie
With the development of automatic control technology,the application of PLC is becoming more and more widely. The sequential control method is the most common and effective programming method for PLC programming. In this paper, based on MITSUBISHI PLC, through an example to illustrate the programming ideas and operation steps of sequential control method.
MITSUBISHI PLC; step; step transfer; SFC
TP311.11
B
1671-489X(2015)24-0042-04
作者:宋國杰,四平職業(yè)大學副教授,從事PLC、Protel、電路分析、電子技術(shù)基礎(chǔ)等課程的教學與研究(136002)。