一、簡介和背景
PLC一般使用梯形圖開發,但是梯形圖適合電工使用而不是程序員使用,對我們來說開發困難,門檻高,幸好PLC的開發標准還帶了類pascal的高級語言,在西門子這里叫SCL語言,這對於我們程序員來說門檻就很低了。
要開發好復雜PLC邏輯,梯形圖困難重重,市場上要價頗高,而使用SCL語言則非常合適處理復雜邏輯以及運算。
二、新建SCL程序塊
在博圖軟件的項目視圖中,便有添加新快,雙擊
推薦使用FB模塊,便於存放變量,語言選擇SCL
三、變量的創建和訪問
在打開FB模塊后,上方就是變量定義區
Input則是輸入參數,Output是返回值或者理解為C# out關鍵字的輸出變量,InOut則是類似Ref的既輸入又輸出的,Static變量才是我們可以保留的變量,Temp 相當於方法內的局部變量,這次執行過后會被重設
我們的代碼會被放在一個方法塊內
不用擔心用Static后每次調用使用這個變量會沖突,每個使用它的地方都會新建一套數據塊副本,相當於實例化一個類,調用實例方法,並非完全靜態的變量。
要寫代碼當然要會訪問各個能訪問的變量,
FB里面定義的變量用#開頭來訪問
訪問地址用%開頭,
變量表里的變量相當於全局靜態變量
我們給一些地址起了名字,既可以用 %I0.0 也可以用Btn1,最終都會變成”Btn1”。
訪問別的實例的DB塊中的變量則使用DB快的名字在用 . 進行訪問,比如第一張圖中塊的 "塊_2_DB_1".BtnPress
四、變量類型
大部分的變量類型大家基本都認識了,比較搞得是時間類型,簡單說下
Time 相當於TimeSpan,表示一段時間 比如 T#5s表示5秒,再比如 T#10h2m
LTime 長的Time,表達的時間更長
Date 日期
Date And Time DT類型,也就是datetime
Time Of Day TOD 就是時間部分了
博圖的幫助中也提供了詳細的解釋,幫助文檔也是比較全面的
結束:
下期講解在梯形圖中重要且復雜難用又難以組合的,定時器,在SCL中如何處理