應用三菱GX Developer編程軟件編寫SFC順序功能圖的方法


本文轉載

作者:孫友

順序功能圖(Sequeential Function Chart)是一種新穎的、按工藝流程圖進行編程的圖形化編程語言,也是一種符合國際電工委員會(IEC)標准,被首選推薦地用於可編程控制器的通用編程語言,現在,在PLC的應用領域中得到廣泛的推廣和應用。

采用SFC進行PLC應用編程的優點是:

1、在程序中可以直觀地看到設備的動作順序。因為SFC程序是按照設備(或工藝)的動作順序編寫的,所以程序的規律性較強,容易讀懂,具有一定的可視性。

2、在設備發生故障時能很容易的找出故障所在位置。

3、不需要復雜的互鎖電路,更容易設計和維護系統。

根據國際電工委員會(IEC)標准,SFC的標准結構是:

步+該步工序中的動作或命令+有向連接+轉換和轉換條件=SFC,參見圖1:

clip_image002

圖1

SFC程序的運行規則是:從初始步開始執行,當每步的轉換條件成立時,就由當前步轉為執行下一步,在遇到END時結束所有步的運行。

現在大多PLC制造公司,都為自己的工控產品提供了相關的編程軟件,以便利用計算機實現在線編程。三菱公司提供的編程軟件GX Developer(版本號8.34)中,就提供了SFC編程方法,但由於相關書籍和學習資料跟不上,致使很多初學者不知道如果用該軟件來進行SFC編程,這給廣大的初學者學習PLC應用編程帶來了不便。這里,我們根據自己學習和掌握的知識,依據三菱公司提供的編程手冊,講解如何利用GX Developer軟件來進行SFC的編程,為初學者掌握SFC編程方法,提供一個入門的機會。

一、單流程結構編程方法

單流程結構是順序控制中最常見的一種流程結構,其結構特點是程序順着工序步,步步為序的向后執行,中間沒有任何的分支。掌握了單流程的SFC編程方法,也就是邁進了SFC的大門。這里,我們以“雙燈自動閃爍信號生成”為例,講解SFC編程的入門。

例題:雙燈自動閃爍信號生成。要求:在PLC上電后,其輸出Y0和Y1各以一秒鍾的時間間隔,周期交替閃爍。clip_image003本例梯形圖和指令表見圖2。

在GX Developer中,一個完整的SFC程序是由初始狀態、有向線段、轉移條件和轉移方向等內容組成(見圖3)的,所以,我們的編程就是完整的獲得這幾個組成部分。

根據PLC的教程規定,SFC程序主要由初始狀態、通用狀態、返回狀態等幾種狀態來構成,但在編程中,這幾個狀態的編寫方式是不一樣的,這需要注意。SFC程序從初始狀態開始,所以,編程的第一步是給初始狀態設置合適的啟動條件。本例中,梯形圖的第一行表示的是如何啟動初始步,在SFC程序中,初始步的啟動采用梯形圖方式。

下面開始軟件中的程序輸入。

clip_image005

圖2閃爍信號梯形圖和指令表

clip_image007

圖3閃爍信號SFC程序

1、啟動GX Develop編程軟件,單擊“工程”菜單,點擊創建新工程菜單項或點擊新建工程按鈕clip_image009見圖4。

clip_image011

圖4 GX Develop編程軟件窗口

2、彈出的創建新工程對話框見圖5中,要對三菱系列的CPU和PLC進行選擇,以符合對應系列的編程代碼,否則容易出錯。這里講述的主要是三菱FX2N系列的PLC,所以,需做如下幾個項目的選擇和輸入:

a.在PLC系列下拉列表框中選擇FXCPU;

b.在PLC類型下拉列表框中選擇FX2N(C);

c.在程序類型項中選擇SFC;

d.在工程設置項中設置好工程名和保存路徑

完成上述項目后之后點擊確定。

clip_image013

圖5新工程創建

3、完成上述工作后會彈出如圖6所示的塊列表窗口。

clip_image015

圖6塊列表窗口

按圖中所示,雙擊第零塊。

4、雙擊第零塊或其它塊后,會彈出塊信息設置對話框見圖7。

clip_image017

圖7塊信息設置對話框

這里,是對塊編輯進行類型進行選擇的進入窗口,有兩個選擇:SFC塊和梯形圖塊。

在編程理論中我們學到,SFC程序由初始狀態開始,故初始狀態必須激活,而激活的通用方法是利用一段梯形圖程序,且這一段梯形圖程序必須放在SFC程序的開頭部分。同理,在以后的SFC編程中,初始狀態的激活都需由放在SFC程序的第一部分(即第一塊)的一段梯形圖程序來執行,這是需要注意的一點。所以,在這里應點擊梯形圖塊,在塊標題欄中,填寫該塊的說明標題,也可以不填。

5、點擊執行按鈕彈出梯形圖編輯窗口見圖8,在右邊梯形圖編輯窗口中輸入啟動初始狀態的梯形圖。

在編程理論中曾學到,初始狀態的激活一般采用輔助繼電器M8002來完成,也可以采用其它觸點方式來完成,這只需要在它們之間建立一個並聯電路就可以實現。本例中我們利用PLC的輔助繼電器M8002的上電脈沖使初始狀態生效。

在梯形圖編輯窗口中單擊第零行輸入初始化梯形圖如圖9所示,輸入完成單擊“變換”菜單選擇“變換”項或按F4快捷鍵,完成梯形圖的變換。

clip_image019

圖8梯形圖編輯窗口

clip_image021

圖9梯形圖編輯窗口

clip_image023

圖10梯形圖輸入完畢窗口

需注意,在SFC程序的編制過程中每一個狀態中的梯形圖編制完成后必須進行變換,才能進行下一步工作,否則彈出出錯信息。

clip_image025

圖11出錯信息

6、在完成了程序的第一塊(梯形圖塊)編輯以后,雙擊工程數據列表窗口中的“程序”\“MAIN”見圖10,返回塊列表窗口見圖6。雙擊第一塊,在彈出的塊信息設置對話框中塊類型一欄中選擇SFC見圖12,在塊標題中可以填入相應的標題或什么也不填,點擊執行按鈕,彈出SFC程序編輯窗口見圖13。在SFC程序編輯窗口中光標變成空心矩形。

clip_image026clip_image028

圖12 塊信息設置

clip_image030

圖13 SFC程序編輯窗口

7、轉換條件的編輯。

SFC程序中的每一個狀態或轉移條件都是以SFC符號的形式出現在程序中,每一種SFC符號都對應有圖標和圖標號,現在輸入使狀態發生轉移的條件。

在SFC程序編輯窗口將光標移到第一個轉移條件符號處(如圖13所標注)並單擊,在右側將出現梯形圖編輯窗口,在此中輸入使狀態轉移的梯形圖。讀者從圖13中可以看出,T0觸點驅動的不是線圈,而是TRAN符號,意思是表示轉移(Transfer),這一點提請注意。在SFC程序中,所有的轉移都用TRAN表示,不可以采用SET+S□語句表示,否則將告知出錯。

對轉換條件梯形圖的編輯,可按PLC編程的要求,按上面的敘述可以自己完成,需注意的是,每編輯完一個條件后應按F4快捷鍵轉換,轉換后梯形圖則由原來的灰色變成亮白色,完成轉換后再看SFC程序編輯窗口中1前面的問號(?)會消失。

8、通用狀態的編輯。

在左側的SFC程序編輯窗口中把光標下移到方向線底端,按工具欄中的工具按鈕clip_image032或單擊F5快捷鍵彈出步序輸入設置對話框見圖14。

clip_image034

圖14 SFC符號輸入

輸入步序標號后點擊確定,這時光標將自動向下移動,此時,可看到步序圖標號前面有一個問號(?),這是表明此步現在還沒進行梯形圖編輯,同時右邊的梯形圖編輯窗口呈現為灰色也表明為不可編輯狀態,見圖15。

下面對通用工序步進行梯形圖編程。將光標移到步序號符號處,在步符號上單擊后右邊的窗口將變成可編輯狀態,現在,可在此梯形圖編輯窗口中輸入梯形圖。需注意,此處的梯形圖是指程序運行到此工序步時所要驅動哪些輸出線圈,在本例中,現在所要獲得的通用工

clip_image036

圖15 還沒有編輯的狀態步

序步20是驅動輸出線圈Y0以及T0線圈,參見圖2程序梯形圖和指令表。

用相同的方法把控制系統一個周期內所有的通用狀態編輯完畢。需說明的是,在這個編輯過程中,每編輯完一個通用步后,不需要再操作“程序”\“MAIN”而返回到塊列表窗口(見圖6),再次執行塊列表編輯,而是在一個初始狀態下,直接進行SFC圖形編輯。

9、系統循環或周期性的工作編輯。

SFC程序在執行過程中,無一例外的會出現返回或跳轉的編輯問題,這是執行周期性的循環所必須的。要在SFC程序中出現跳轉符號,需用clip_image038或(JUMP)指令加目標號進行設計。

現在進行返回初始狀態編輯見圖16所示。輸入方法是:把光標移到方向線的最下端,按F8快捷鍵或者點擊clip_image038[1]按鈕,在彈出的對話框中填入要跳轉到的目的地步序號,然后單擊確定按鈕。

clip_image040

圖16 跳轉符號輸入

說明:如果在程序中有選擇分支也要用JUMP+“標號”來表示。

當輸入完跳轉符號后,在SFC編輯窗口中我們將會看到,在有跳轉返回指向的步序符號方框圖中多出一個小黑點兒,這說明此工序步是跳轉返回的目標步,這為我們閱讀SFC程序也提供了方便,參見圖18。

10,程序變換。

clip_image042當所有SFC程序編輯完后,我們可點擊變換按鈕進行SFC程序的變換(編譯),如果在變換時彈出了塊信息設置對話框,可不用理會,直接點擊執行按鈕即可。經過變換后的程序如果成功,就可以進行仿真實驗或寫入PLC進行調試了。

如果想觀看SFC程序所對應的順序控制梯形圖,我們可以這樣操作:點擊工程\編輯數據\改變程序類型,進行數據改變(見圖19)。

clip_image044

圖18 完整的SFC程序

clip_image046

圖19數據變換

執行改變數據類型后,可以看到由SFC程序變換成的梯形圖程序見圖20。

clip_image048

圖20 轉化后的梯形圖

小結:以上介紹了單序列的SFC程序的編制方法,通過學習,我們已經基本了解了SFC程序中狀態符號的輸入方法。需要強調的是兩點:(1)在SFC程序中仍然需要進行梯形圖的設計;(2)SFC程序中所有的狀態轉移需用TRAN表示。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM