PLC編程再思考(5) – 高級語言編程
在PLC的編程語言中,梯形圖最常用,同時也會結合STL、SCL等語言使用。
梯形圖LAD語言,由於其簡單、直觀、方便邏輯表達,使用最為廣泛,但也有一定的限制。
比如在AVI和防錯系統中,需要在PLC中存儲車輛的實時隊列,通常以數組的形式保存在數據塊中。當車輛移動時,我們可以使用SCL語言,通過FOR循環對數組進行移動操作,非常方便。此時用LAD會讓人抓狂。
此外,由於SCL語言是純文本格式,因此我們可以非常方便地利用SVN工具進行版本控制。
因此,在AVI、ANDON、EPS等IT高度參與的系統中,會在PLC中交叉使用LAD、SCL語言。
我們可以針對不同的語言分別編寫FC,然後在程序段中進行調用。
但有時我們希望用同一個FC完成所有相關的邏輯,這時我們可以適當地將LAD轉換成SCL格式,以方便理解和調試。
本文舉幾個常見例子予以說明。
1. 直接賦值
LAD格式:
SCL格式:
需要說明的是,SCL只能通過變數的符號名進行運算。
2. 上升沿處理
LAD格式:
SCL格式:
我們可以看出,上升沿的處理原理是:通過兩個地址,分別存儲信號在上一個掃描周期值、當前掃描周期值;當上一次值為0且當前值為1時,則定義為上升沿觸發。
用SCL表達略顯繁瑣,但是也很好理解。
3. 串並聯邏輯判斷
LAD格式:
SCL格式:
我們可以看出,當有多個條件需要進行組合邏輯判斷時,用LAD表達非常簡潔直觀,SCL需要將串、並聯轉換成AND/OR條件,而電路的閉/合也要轉換成1/0值,因此不夠直觀。但是對於寫慣了VB等高級語言的工程師,SCL格式上手還是相當簡單的。
推薦閱讀:
※全國MES廠商供應商(部分)
※上MES系統前需要做哪些工作?
※MES風箏
※淺談MES的通用設計之一:數據傳輸
TAG:MES |