PLC的SFC程序設(shè)計方法
PLC的SFC程序設(shè)計方法
PLC最初的出現(xiàn)是為了取代繼電器控制系統(tǒng),用軟元件的邏輯運算來代替硬接線邏輯,以滿足工業(yè)產(chǎn)品型號規(guī)格的不斷變化及批量小、交貨期短的市場需求。因此旱期PLC的軟件功能比較簡單,主要進行“與"、“或"等基本的邏輯運算。但隨著微電子技術(shù)和計算機技術(shù)的發(fā)展,現(xiàn)在市場上出售的PLC除保留基本邏輯 運算。但隨著微電子技術(shù)和計算機技術(shù)的發(fā)展,現(xiàn)在市場上出售的PLC除保留基本邏輯指令以外,還有大量的用于數(shù)據(jù)處理等的功能指令;除了可以用基本的梯形圖編程以外,還可以用順序功能圖(SFC)和步進梯形圖進行編程;除了進行順序邏輯控制以外,還可以進行模擬量的運算與控制。
一、基本邏輯指令編程的困難
用PLC的基本邏輯指令進行編程,其基本的設(shè)計方法同繼電器-接觸器控制系統(tǒng)的設(shè)計方法是相似的,通常有經(jīng)驗設(shè)計法和邏輯設(shè)計法兩種。經(jīng)驗設(shè)計法自然與設(shè)計者的經(jīng)驗有關(guān),要求設(shè)計者有豐富的設(shè)計經(jīng)驗、熟悉比較多的控制線路等,盡管這樣,在聯(lián)鎖比較復(fù)雜的情況下,也難免出現(xiàn)設(shè)計漏洞,理論上不能保證設(shè)計的完備性。邏輯設(shè)計法比較復(fù)雜,一般設(shè)計人員難以掌握,雖然從理論上講是完備的,但實際在設(shè)計過程中同樣要滲進不少經(jīng)驗和人為的因素,尤其在工序步進動作比較復(fù)雜的情況下更是如此。
二、用步進順控指令編程
步進順控指令的出現(xiàn)解決了以上困難,可以用符合IEC標準的SFC(Sequential Function Chart,順序功能圖,或狀態(tài)轉(zhuǎn)移圖)對問題進行描述和編程。用SFC進行編程,不需對時刻變化的工序步進動作進行設(shè)計,工序之間的聯(lián)鎖或雙重輸出的處理SFC均能自動進行,只要對各個工序進行簡單的順序設(shè)計就能保證機械正確動作;使用者也可容易理解全部動作過程,能自動執(zhí)行對各個工序的監(jiān)視,試運行調(diào)整以及故障檢查非常方便,維修保養(yǎng)也容易。
PLC的SFC程序設(shè)計方法:
(1)用SFC進行順序動作的編程是SFC最基本的用途, 也是相對簡單的,只需寫出機械動作的工序圖,進行狀態(tài)分配,然后根據(jù)轉(zhuǎn)移條件的順序、并行或選擇畫SFC圖,再將SFC改畫成梯形圖就可以了。
(2)SFC不只是可以用于對順序的機械動作進行編程,也可以用于一般的邏輯編程,尤其是在分支判斷比較復(fù)雜的情況下,采用SFC編程可使問題大大減化。例如在電梯控制中,假如電梯正在上行,要判斷下一層是否要停的流程,如圖1示,其中的邏輯判斷是比較復(fù)雜的,若采用基本邏輯 指令進行編程,則程序很復(fù)雜,包含很多跳轉(zhuǎn),程序的閱讀、檢查都很費勁,但若采用SFC編程則輕松多了,根據(jù)流程圖可直接 寫出圖2所示的具有選擇性分支的SFC流程。
在圖2中,在狀態(tài)S33中判斷下一站廂內(nèi)有無下梯的, 在狀態(tài)S22判斷下一站廂外有無呼上,S24判斷下一站廂外有無呼下,S26判斷以下各站有無呼梯,根據(jù)具體情況轉(zhuǎn)入相應(yīng)處理,可以進一步很容易地寫出步進梯形圖,很方便進行調(diào)試與檢查。
(3)在控制邏輯比較復(fù)雜的情況下,有時用一個SFC流程很難進行編程,這時可以在一個程序中使用多個獨立的SFC流程,還可進行子程序調(diào)用等。例如圖3給電梯控制的梯形圖程序結(jié)構(gòu),圖中子程序P0完成信號的采集與顯示 :以S0為起始狀態(tài)的SFC流程進行上下行判斷,判斷的結(jié)果存放在M500和M502中,上行M500接通,下行M502接通;S1開始的SFC流程進行上 行處理;S2開始的SFC流程進行下行處理。
(4)在具有多個獨立的SFC流程的程序中,一個SFC結(jié)束后可能返回本SFC的初始狀態(tài),也可能退出該SFC進入別的流程。對于要返回本SFC初始狀態(tài)的情況則比較簡單,當最后一個狀 態(tài)結(jié)束后置位(輸出)其初始狀態(tài)即可;對于要退出該SFC的情況,只須在最后一個狀態(tài)結(jié)束后,清除該狀態(tài)。以電梯控制系統(tǒng)的上行處理為例,在上行過程中,若下一站需要停,且停后上行過程結(jié)束,則退出該SFC流程;若下一站需要停,但停后上行過程并未結(jié)束,則返回S1;若下一站不需要停,則電梯繼續(xù)上。SFC流程結(jié)束必須用RET指令返回主母線。