用PLC的基本邏輯指令進行編程,其基本的設計方法同繼電器-接觸器控制系統的設計方法是相似的,通常有經驗設計法和邏輯設計法兩種。經驗設計法自然與設計者的經驗有關,要求設計者有豐富的設計經驗、熟悉比較多的控制線路等,盡管這樣,在聯鎖比較復雜的情況下,也難免出現設計漏洞,理論上不能保證設計的完備性。邏輯設計法比較復雜,一般設計人員難以掌握,雖然從理論上講是完備的,但實際在設計過程中同樣要滲進不少經驗和人為的因素,尤其在工序步進動作比較復雜的情況下更是如此。
步進順控指令的出現解決了以上困難,可以用符合IEC標準的SFC(Sequential Function Chart,順序功能圖,或狀態轉移圖)對問題進行描述和編程。用SFC進行編程,不需對時刻變化的工序步進動作進行設計,工序之間的聯鎖或雙重輸出的處理SFC均能自動進行,只要對各個工序進行簡單的順序設計就能保證機械正確動作;使用者也可容易理解全部動作過程,能自動執行對各個工序的監視,試運行調整以及故障檢查非常方便,維修保養也容易。
PLC的SFC程序設計方法:
(1)用SFC進行順序動作的編程是SFC最基本的用途, 也是相對簡單的,只需寫出機械動作的工序圖,進行狀態分配,然后根據轉移條件的順序、并行或選擇畫SFC圖,再將SFC改畫成梯形圖就可以了。
(2)SFC不只是可以用于對順序的機械動作進行編程,也可以用于一般的邏輯編程,尤其是在分支判斷比較復雜的情況下,采用SFC編程可使問題大大減化。例如在電梯控制中,假如電梯正在上行,要判斷下一層是否要停的流程,其中的邏輯判斷是比較復雜的,若采用基本邏輯 指令進行編程,則程序很復雜,包含很多跳轉,程序的閱讀、檢查都很費勁,但若采用SFC編程則輕松多了。
(3)在控制邏輯比較復雜的情況下,有時用一個SFC流程很難進行編程,這時可以在一個程序中使用多個獨立的SFC流程,還可進行子程序調用等。
(4)在具有多個獨立的SFC流程的程序中,一個SFC結束后可能返回本SFC的初始狀態,也可能退出該SFC進入別的流程。對于要返回本SFC初始狀態的情況則比較簡單,當最后一個狀 態結束后置位(輸出)其初始狀態即可;對于要退出該SFC的情況,只須在最后一個狀態結束后,清除該狀態。以電梯控制系統的上行處理為例,在上行過程中,若下一站需要停,且停后上行過程結束,則退出該SFC流程;若下一站需要停,但停后上行過程并未結束,則返回S1;若下一站不需要停,則電梯繼續上。SFC流程結束必須用RET指令返回主母線。