PLC編程語言有下述5種,常用的是梯形圖和語句表這兩種。
1.順序功能圖(Sequential Function Chart,簡寫SFC)
這是一種位于其他編程語言之上的圖形語言,用來編制順序控制程序。
SFC提供了一種組織程序的圖形方法,在順序功能圖中可以用別的語言嵌套編程。步、轉換和動作是順序功能圖中的幾種主要元件如圖1所示?梢杂庙樞蚬δ軋D來描述系統的功能,根據它可以很容易地畫出梯形圖程序。


圖1 順序功能圖中的幾種元件
2.梯形圖(Ladder Diagram,簡寫LAD)
LAD由觸點、線圈和用方框表示的功能塊組成。觸點代表邏輯輸入條件,如外部的開關、按鈕和內部條件等,線圈通常代表邏輯輸出結果,用來控制外部的指示燈、交流接觸器和內部的輸出條件等。功能塊用來表示定時器、計數器或者數學運算等附加指令。
在分析梯形圖中的邏輯關系時,為了借用繼電器電路圖的分析方法,可以想象左右兩側垂直母線之間有一個左正右負的直流電源電壓,當圖2的梯形圖中I0.1與I0.2的觸點接通,或M0.3與I0.2的觸點接通時,有一個假想的“能流”(Power Flow)流過Q1.1的線圈。利用能流這一概念,可以幫助我們更好地理解和分析梯形圖,能流只能從左向右流動。


圖2 梯形圖
觸點和線圈等組成的獨立電路稱為網絡(Network),用編程軟件生成的梯形圖和語句表程序中有網絡編號,允許以網絡為單位,給梯形圖加注釋。在網絡中,程序的邏輯運算按從左到右的方向執行,與能流的方向一致。各網絡按從上到下的順序執行,執行完成所有的網絡后,返回最上面的網絡重新執行。使用編程軟件可以直接生成和編輯梯形圖,并將它下載到PLC中。
3.功能塊圖(Function Block Diagram,簡寫FBD)
這是一種類似于數字邏輯門電路的編程語言,有數字電路基礎的人很容易掌握。該編程語言用類似與門、或門的方框來表示邏輯運算關系,方框的左側為邏輯運算的輸入變量,右側為輸出變量,輸入、輸出端的小圓圈表示“非”運算,方框被“導線”連接在一起,信號自左向右流動。圖3所示的功能塊圖的控制邏輯與圖2-12中的相同。國內很少有人使用FBD語言。


圖3 功能塊圖
4.指令表(Instruction List,簡寫STL)
語句表比較適合熟悉PLC和邏輯程序設計的經驗豐富的程序員,語句表可以實現某些不能用LAD或FBD實現的功能。
S7-200 CPU在執行程序時要用到邏輯堆棧,FBD利用FBD編輯器自動地插入處理棧操作所需要的指令。在語句表中,必須由編程人員加入這些堆棧處理指令。
5.結構文本(Structured Text,簡寫ST)
結構文本是為IEC1131-3標準創建的一種專用的高級編程語言,與FBD相比,它能實現復雜的數學運算,編寫的程序非常簡捷和緊湊。
雖然PLC有5種編程語言,但在S7-200的編程軟件中,用戶只可以選用LAD、FBD和STL這三種編程語言,其中FBD不常用。STL程序較難閱讀,其中的邏輯關系很難一眼看出,所以在設計復雜的開關量控制程序時一般使用LAD語言。但STL可以處理某些不能用LAD處理的問題,且STL輸入方便快捷,還可以為每一條語句加上注釋,便于復雜程序的閱讀。在設計通信、數學運算等高級應用程序時建議使用語句表語言。LAD程序中輸入信號與輸出信號之間的邏輯關系一目了然,易于理解,與繼電器電路圖的表達方式極為相似,設計開關量控制程序時建議選用LAD語言。
邊實踐邊學習是最快的方法,我的經驗。
邊實踐邊學習是最快的方法,我的經驗。