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