摘要:本文主要針對(duì)三菱FX2N系列PLC,通過(guò)具體的實(shí)例對(duì)幾種基于順序功能圖(SFC)的編程方法進(jìn)行比較,并做分析總結(jié)。
關(guān)鍵詞:三菱 順序功能圖 PLC SFC
0 引言
PLC以其抗干擾能力強(qiáng),編程較為容易在工控領(lǐng)域獲得廣泛應(yīng)用。但對(duì)于毫無(wú)工控經(jīng)驗(yàn)的PLC初學(xué)者來(lái)說(shuō)上手還是有一定的困難。本文介紹的幾種基于順序功能圖(SFC)編程思路的編程方法,對(duì)于缺乏繼電器控制線路設(shè)計(jì)基礎(chǔ)的PLC初學(xué)者來(lái)說(shuō)更容易上手,能大大提高編程效率及正確率。
1 順序功能圖法
1.1 順序功能圖
順序功能圖(Sequential Function Chart,SFC)是分析和設(shè)計(jì)電氣控制系統(tǒng)順控程序的重要工具,同時(shí)又是一種PLC編程語(yǔ)言。它主要由步、動(dòng)作和轉(zhuǎn)換組成。通過(guò)將一個(gè)復(fù)雜的順控過(guò)程分解為一些小的工作步序,對(duì)每個(gè)工步的功能分別處理后再將它們依順序連接,組合成整體的控制程序。它提供了一種組織程序的圖形方法,體現(xiàn)了一種編程思路。主要表述為是由一個(gè)狀態(tài)在滿足一定的轉(zhuǎn)換條件時(shí)轉(zhuǎn)移到另一個(gè)狀態(tài)。狀態(tài)即為“步”。所以,順序功能圖也稱為狀態(tài)轉(zhuǎn)移圖。如圖1-1所示。
1.1.1 步:步(Step),在順序功能圖中用矩形方框表示,并用軟元件(例如輔助繼電器M 或狀態(tài)寄存器S)來(lái)代表。與系統(tǒng)初始狀態(tài)相對(duì)應(yīng)的步稱為“初始步”(用雙線方框表示),系統(tǒng)正處于某一步的狀態(tài)時(shí),該步即為“活動(dòng)步”。
1.1.2 動(dòng)作:動(dòng)作(Action),指PLC輸出的狀態(tài)或內(nèi)部軟元件的狀態(tài),每一步對(duì)應(yīng)一個(gè)動(dòng)作,或若干個(gè)動(dòng)作的組合。相鄰兩步的動(dòng)作一般不同。
1.1.3 轉(zhuǎn)換:轉(zhuǎn)換用于將相鄰兩步分隔開(kāi)。當(dāng)某步處于活動(dòng)步且當(dāng)前的轉(zhuǎn)換條件滿足時(shí),轉(zhuǎn)換發(fā)生效果,把當(dāng)前步復(fù)位,并激活下一步為活動(dòng)步。即使程序從一步走到另一步。
順序功能圖法編程就是用轉(zhuǎn)換條件控制代表各步的軟元件,讓它們的狀態(tài)按一定的順序變化,然后用代表各步的軟元件去控制PLC的各輸出繼電器。
1.2 順序功能圖編程的注意事項(xiàng)
①兩個(gè)步絕對(duì)不能直接相連,必須用一個(gè)轉(zhuǎn)換隔開(kāi)。
②兩個(gè)轉(zhuǎn)換不能直接相連,必須用一個(gè)步將它們隔開(kāi)。
③初始步是必不可少的,無(wú)初始步,系統(tǒng)無(wú)法進(jìn)入步狀態(tài)。
④只有當(dāng)某步的所有前級(jí)步都是活動(dòng)步時(shí),該步才有可能變成活動(dòng)步。
⑤只有當(dāng)前級(jí)步是活動(dòng)步時(shí),當(dāng)前的轉(zhuǎn)換才能起作用。
2 基于順序功能圖編程思路的幾種編程方法
2.1 基于SFC的梯形圖編程
順序功能圖法主要體現(xiàn)了一種編程思路,而這種編程思路可以通過(guò)使用不同的PLC指令來(lái)實(shí)現(xiàn)。以下是幾種常見(jiàn)的編程方法:
2.1.1 “SET、RST”法:通過(guò)使用轉(zhuǎn)換條件不斷地將前狀態(tài)復(fù)位,同時(shí)將當(dāng)前狀態(tài)置位的方法實(shí)現(xiàn)。如圖2-1所示。
在M0狀態(tài)時(shí),滿足轉(zhuǎn)換條件X1,將M1狀態(tài)置位,同時(shí)將M0狀態(tài)復(fù)位。在M1狀態(tài)時(shí),滿足轉(zhuǎn)換條件X2,將M2狀態(tài)置位,同時(shí)將M1狀態(tài)復(fù)位。
2.1.2 “起、保、?!狈ǎ簩⒒顒?dòng)步與轉(zhuǎn)換條件作為下一個(gè)狀態(tài)的啟動(dòng)信號(hào),同時(shí)作為上一個(gè)狀態(tài)的停止信號(hào)。與“SET RST”法類(lèi)似,只是使用類(lèi)似繼電器的“起、保、停”線路完成狀態(tài)切換。如圖3-3所示。
2.1.3 移位指令法:使用移位指令,實(shí)現(xiàn)狀態(tài)轉(zhuǎn)移。如圖3-4。使用若干個(gè)連續(xù)的軟元件作為步代號(hào),將活動(dòng)步與轉(zhuǎn)換條件作為移位指令的使能信號(hào),當(dāng)處在某活動(dòng)步且當(dāng)前轉(zhuǎn)換條件滿足,移位指令有效,ON狀態(tài)由當(dāng)前軟元件移位到下一軟元件,即進(jìn)入下一狀態(tài)。
2.2 SFC法
很多PLC編程軟件都有特定的SFC編程模式,日系的如三菱、歐姆龍,國(guó)產(chǎn)的臺(tái)達(dá)等。而這種編程模式更接近于直接繪制SFC圖??梢酝ㄟ^(guò)選擇方法繪制“步”“轉(zhuǎn)換”“動(dòng)作”“跳轉(zhuǎn)”等部件組合成一套SFC程序。以三菱編程軟件為例。其編制成的程序即如圖2-4所示。其中“TRAN”為SFC編程特殊用指令,表示當(dāng)左側(cè)條件滿足時(shí)執(zhí)行轉(zhuǎn)移,由當(dāng)前“活動(dòng)步”轉(zhuǎn)換到下一“步”。但使用此種方法,必須使用特殊的狀態(tài)軟元件S,初始步的選擇必須在S0~S9范圍內(nèi)。且必須設(shè)置一個(gè)LD(梯形圖)塊,用作SFC初始狀態(tài)的啟動(dòng)。
3 幾種方法的特點(diǎn)及比較
3.1 “SET RST”法和“起、保、?!狈ū容^類(lèi)似,是編程語(yǔ)言規(guī)律性比較強(qiáng),它較好提現(xiàn)了SFC轉(zhuǎn)換原則,由于涉及的指令較少,且所有PLC都有置復(fù)位指令以及編制起保停電路,所以此種方法具有一定的通用性。且由于涉及指令較少,編程簡(jiǎn)單,思路清晰,便于閱讀。但用這種方法編程會(huì)使得梯形圖中的程序比較長(zhǎng),從而造成較長(zhǎng)的執(zhí)行時(shí)間以及間接造成程序閱讀修改的不方便。所以此種編程方法僅推薦用于小程序的編制。
3.2 移位指令法使用到特殊的移位指令,這就需要使用者對(duì)該條指令的應(yīng)用較為熟悉。同時(shí)由于其移位的特性,造成單次只能編制單流程的順序控制。如需要設(shè)計(jì)條件分支、匯合等需要分別使用多段分支的移位分別來(lái)完成,對(duì)于編程人員有相對(duì)較高的要求。所以此種方法僅推薦單流程小程序的編制,或具備一定編程基礎(chǔ)人員來(lái)使用。
3.3 SFC法相對(duì)于前3種編程方式較為特殊,使用者無(wú)需掌握太多編程技巧就可以直接用“繪制”的方法來(lái)完成編程。甚至有的軟件在程序主體界面都可以做成中文,幾乎可以實(shí)現(xiàn)中文方式編程,這樣對(duì)于使用者有較容易上手的優(yōu)點(diǎn),且很容易完成條件分支、跳轉(zhuǎn)等功能。但此種方法受限于編程軟件以及PLC品牌規(guī)格。會(huì)有部分軟件及部分型號(hào)的PLC不支持SFC編程方式。所以此種編程方法應(yīng)用于可以支持SFC語(yǔ)言的任意一款PLC,且對(duì)于編程人員基礎(chǔ)要求較低,適合初學(xué)者。
4 總結(jié)
實(shí)際工作中遇到的編程自然會(huì)比本文所寫(xiě)的要復(fù)雜,而PLC的程序也有著許多巧妙的實(shí)現(xiàn)方法,本文所介紹的SFC法也并不是孤立的,SFC也可以與LD相結(jié)合進(jìn)行使用。但順序功能圖作為一種編程思路,對(duì)動(dòng)作流程較為復(fù)雜的順控系統(tǒng)的程序編制,具有一定的普遍意義,可作為借鑒。
參考文獻(xiàn):
[1]王兆義.可編程控制器教程.北京.機(jī)械工業(yè)出版社.2006.
[2]FX2N編程手冊(cè).三菱自動(dòng)化(中國(guó))有限公司.2000.
[3]王照清.維修電工.北京.中國(guó)勞動(dòng)社會(huì)保障出版社.2008.
[4]岳慶來(lái).變頻器、可編程序控制器及觸摸屏綜合應(yīng)用技術(shù).北京.機(jī)械工業(yè)出版社.2006.
作者簡(jiǎn)介:徐黎(1980-),男,江蘇蘇州人,實(shí)驗(yàn)師,蘇州工業(yè)職業(yè)技術(shù)學(xué)院任教師,從事電氣方面的研究。