1. 程式人生 > >西門子PLC-1200 SCL語言開發學習筆記 (一)

西門子PLC-1200 SCL語言開發學習筆記 (一)

選擇 創建 date times 重設 全局 實例 變量 訪問

一、簡介和背景

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中如何處理

西門子PLC-1200 SCL語言開發學習筆記 (一)