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