PLC順控指令SFC的編程方法
順序功能圖(Sequeential Function Chart)是一種新穎的、按照工藝流程圖進(jìn)行編程的圖形編程語(yǔ)言。這是一種IEC標(biāo)準(zhǔn)推薦的首選編程語(yǔ)言,近年來(lái)在PLC編程中已經(jīng)得到了普及和推廣,
SFC編程的優(yōu)點(diǎn):
1、在程序中可以很直觀地看到設(shè)備的動(dòng)作順序。比較容易讀懂程序,因?yàn)槌绦虬凑赵O(shè)備的動(dòng)作順序進(jìn)行編寫(xiě),規(guī)律性較強(qiáng)。
2、在設(shè)備故障時(shí)能夠很容易的查找出故障所處在的位置。
3、不需要復(fù)雜的互鎖電路,更容易設(shè)計(jì)和維護(hù)系統(tǒng)。
SFC的結(jié)構(gòu):
步+轉(zhuǎn)換條件+有向連接+機(jī)器工序的各個(gè)運(yùn)行動(dòng)作=SFC。
SFC程序的運(yùn)行從初始步開(kāi)始,每次轉(zhuǎn)換條件成立時(shí)執(zhí)行下一步、在遇到END步時(shí)結(jié)束向下運(yùn)行。
第一章 單流程結(jié)構(gòu)的編程方法
本教程主要介紹在三菱PLC編程軟件GX Developer中怎編制SFC順序功能圖。下面以例題1介紹SFC程序的編制法。
例題1:自動(dòng)閃爍信號(hào)生成,PLC上電后Y0、Y1以一秒鐘為周期交替閃爍。本例的梯形圖和指令表(如圖1-1)。
(A) (B)
(C)
圖1-1 閃爍信號(hào)(A梯形圖 B指令表 C SFC程序)
下面我們開(kāi)始對(duì)圖1-1(c)所示的SFC程序進(jìn)行一下總體認(rèn)識(shí)一個(gè)完整的SFC程序包括初始狀態(tài)、方向線、轉(zhuǎn)移條件和轉(zhuǎn)移方向組成(如圖1-1(c))。在SFC程序中初始狀態(tài)必須是有效的,所以要有啟動(dòng)初始狀態(tài)的條件,本例中梯形圖的第一行表示啟動(dòng)初始步,在SFC程序中啟動(dòng)初始步要用梯形圖,現(xiàn)在開(kāi)始具體的程序輸入。
啟動(dòng)GX Develop編程軟件,單擊“工程”菜單,點(diǎn)擊創(chuàng)建新工程菜單項(xiàng)或點(diǎn)擊新建工程按鈕 (如圖1-2)。
圖1-2 GX Develop編程軟件窗口
彈出創(chuàng)建新工程對(duì)話(huà)框(如圖1-3)。我們主要是講述三菱系列PLC,所以在PLC系列下拉列表框中選擇FXCPU,PLC類(lèi)型下拉列表框中選擇FX2N(C),在程序類(lèi)型項(xiàng)中選擇SFC,在工程設(shè)置項(xiàng)中設(shè)置好工程名和保存路徑之后點(diǎn)擊確定按鈕。
圖1-3 新工程創(chuàng)建
彈出塊列表窗口(圖1-4)。
圖1-4 塊列表窗口
雙擊第零塊或其它塊,彈出塊信息設(shè)置對(duì)話(huà)框(如圖1-5)。
圖1-5 塊信息設(shè)置對(duì)話(huà)框
在塊標(biāo)題文本框中可以填入相應(yīng)的塊標(biāo)題(也可以不填),在塊類(lèi)型中選擇梯形圖塊,為什么選擇梯形圖塊,我們不是在編輯SFC程序嗎?原因是在SFC程序中初始狀態(tài)必須是激活的,而我們激活的方法是利用一段梯形圖程序,而且這一段梯形圖程序必須是放在SFC程序的開(kāi)頭部分,在以后的SFC編程中,初始狀態(tài)的激活都是利用一段梯形圖程序,放在SFC程序的第一部分(也即第一塊),點(diǎn)擊執(zhí)行按鈕彈出梯形圖編輯窗口(如圖1-6),在右邊梯形圖編輯窗口中輸入啟動(dòng)初始狀態(tài)的梯形圖,本例中我們利用PLC的一個(gè)輔助繼電器M8002的上電脈沖使初始狀態(tài)生效。在梯形圖編輯窗口中單擊第零行輸入初始化梯形圖如(圖1-6)所示,輸入完成單擊“變換”菜單選擇“變換”項(xiàng)或按F4快捷鍵,完成梯形圖的變換。
A
B
圖1-6 梯形圖編輯窗口
圖1-6 梯形圖輸入完畢窗口
注意:如果想使用其他方式啟動(dòng)初始狀態(tài),只需要改動(dòng)上圖中的啟動(dòng)脈沖M8002即可,如果有多種方式啟動(dòng)初始化進(jìn)行觸點(diǎn)的并聯(lián)即可。需要說(shuō)明的是在每一個(gè)SFC程序中至少有一個(gè)初始狀態(tài),且初始狀態(tài)必須在SFC程序的最前面。在SFC程序的編制過(guò)程中每一個(gè)狀態(tài)中的梯形圖編制完成后必須進(jìn)行變換,才能進(jìn)行下一步工作,否則彈出出錯(cuò)信息。
以上完成了程序的第一塊(梯形圖塊),雙擊工程數(shù)據(jù)列表窗口中的“程序”\“MAIN”返回塊列表窗口(圖1-4)。雙擊第一塊,在彈出的塊信息設(shè)置對(duì)話(huà)框中塊類(lèi)型選擇SFC(如圖1-7),在塊標(biāo)題中可以填入相應(yīng)的標(biāo)題或什么也不填,點(diǎn)擊執(zhí)行按鈕,彈出SFC程序編輯窗口(如圖1-8)。在SFC程序編輯窗口中光標(biāo)變成空心矩形。
圖1-7 塊信息設(shè)置
圖1-8 SFC程序編輯窗口
說(shuō)明:在SFC程序中每一個(gè)狀態(tài)或轉(zhuǎn)移條件都是以SFC符號(hào)的形式出現(xiàn)在程序中,每一種SFC符號(hào)都對(duì)應(yīng)有圖標(biāo)和圖標(biāo)號(hào)。下面我們輸入使?fàn)顟B(tài)發(fā)生轉(zhuǎn)移的條件,在SFC程序編輯窗口將光標(biāo)移到第一個(gè)轉(zhuǎn)移條件符號(hào)處(如上圖標(biāo)注)。在右側(cè)梯形圖編輯窗口輸入使?fàn)顟B(tài)轉(zhuǎn)移的梯形圖。細(xì)心的讀者從圖中可以看出,T0觸點(diǎn)驅(qū)動(dòng)的不是線圈,而是TRAN符號(hào),意思是表示轉(zhuǎn)移(Transfer),在SFC程序中所有的轉(zhuǎn)移用TRAN表示,不可以用SET + S□ 語(yǔ)句表示, 這一點(diǎn)請(qǐng)注意。在這里梯形圖的編輯不再贅述,編輯完一個(gè)條件后按F4快捷鍵轉(zhuǎn)換,轉(zhuǎn)換后梯形圖由原來(lái)的灰色變成亮白色,再看SFC程序編輯窗口中1前面的問(wèn)號(hào)(?)不見(jiàn)了。下面我們輸入下一個(gè)工步,在左側(cè)的SFC程序編輯窗口中把光標(biāo)下移到方向線底端,按工具欄中的工具按鈕 或單擊F5快捷鍵彈出步輸入設(shè)置對(duì)話(huà)框(如圖1-9)。
圖1-9 SFC符號(hào)輸入
輸入圖標(biāo)號(hào)后點(diǎn)擊確定,這時(shí)光標(biāo)將自動(dòng)向下移動(dòng),此時(shí)我們看到步圖標(biāo)號(hào)前面有一個(gè)問(wèn)號(hào)(?),這表示對(duì)此步我們還沒(méi)有進(jìn)行梯形圖編輯同樣右邊的梯形圖編輯窗口是灰色的不可編輯狀態(tài)(如圖1-10)。
圖1-10 沒(méi)編輯的步
下面我們對(duì)工步進(jìn)行梯形圖編程,將光標(biāo)移到步符號(hào)處(在步符號(hào)處單擊),此時(shí)再看右邊的窗口邊場(chǎng)合可編輯狀態(tài),在右側(cè)的梯形圖編輯窗口中輸入梯形圖,此處的梯形圖是指程序運(yùn)行到此工步時(shí)要驅(qū)動(dòng)哪些輸出線圈,本例中我們要求工步20驅(qū)動(dòng)輸出線圈Y0以及T0線圈,程序(如圖1-11)。用相同的方法把控制系統(tǒng)的一個(gè)周期編輯完后,最后要求系統(tǒng)能周期性的工作,所以在SFC程序中要有返回原點(diǎn)的符號(hào)。在SFC程序中用 (JUMP)加目標(biāo)號(hào)進(jìn)行返回操作(如圖1-11所示)。輸入方法是把光標(biāo)移到方向線的最下端按F8快捷鍵或者點(diǎn)擊 按鈕,在彈出的對(duì)話(huà)框中填入跳轉(zhuǎn)的目的步號(hào)單擊確定按鈕(如圖1-11)。
圖1-11 跳轉(zhuǎn)符號(hào)輸入
如果在程序中有選擇分支也要用JUMP+“標(biāo)號(hào)”來(lái)表示,此用法在后續(xù)的課程中有介紹,在此我們只是編寫(xiě)了單序列的SFC功能圖(如圖1-12)。
當(dāng)輸入完跳轉(zhuǎn)符號(hào)后,在SFC編輯窗口中中我們可以看到有跳轉(zhuǎn)返回的步符號(hào)的方框中多了一個(gè)小黑點(diǎn)兒,這說(shuō)明此工步是跳轉(zhuǎn)返回的目標(biāo)步,這為我們閱讀SFC程序也提供了方便。
所有的SFC程序編輯完后,我們點(diǎn)擊變換按鈕 進(jìn)行SFC程序的變換(編譯)如果在變換時(shí)彈出塊信息設(shè)置對(duì)話(huà)框不用理會(huì)點(diǎn)擊執(zhí)行按鈕即可,變換后的程序我們就可以進(jìn)行仿真實(shí)驗(yàn)或?qū)懭隤LC進(jìn)行調(diào)試了。如果想觀看SFC程序?qū)?yīng)的順序控制梯形圖我們可以這樣做:點(diǎn)擊工程\編輯數(shù)據(jù)\改變程序類(lèi)型,進(jìn)行數(shù)據(jù)改變(如圖1-13)。
圖1-12 完整的SFC程序
圖1-13 數(shù)據(jù)變換
改變后我們可以看到由SFC程序變換成的梯形圖程序(如圖1-14)。
圖1-14 轉(zhuǎn)化后的梯形圖
小結(jié):以上介紹了單序列的SFC程序的編制方法,通過(guò)學(xué)習(xí)我們基本了解了SFC程序中狀態(tài)符號(hào)的輸入方法。在SFC程序中仍然需要進(jìn)行梯形圖的設(shè)計(jì),SFC程序中所有的狀態(tài)轉(zhuǎn)移用TRAN表示。這一點(diǎn)一定要注意區(qū)別,當(dāng)你明白了TRAN的用法后,你就會(huì)覺(jué)得SFC程序的設(shè)計(jì)是如此的簡(jiǎn)單。
[ 此帖被青爭(zhēng)在2008-11-05 23:36重新編輯 ]