㈠ 西門子PLC SCL編程指令講解
在SCL程序編寫中,在邏輯控制或者數據處理分析中,有一類指令我們用得最多,就是程序控制指令,常見的入IF ,Case ,For 和While 等。下面我仔細的講解,有疑問可以留言提出:
圖1 程序控制指令
IF .. THEN 指令
IF 指令含有含有三個分支,分別是Then ,Else 和ElsIF。
圖2 IF 語句
圖3 浮點數比較條件
IF語句應該是SCL裡面最常用的語句了,常用於條件判斷。判斷類型可以是BOOL類型,可以是浮點類型等等,基本上所有類型都可以判斷,只要比較的兩個變數類型是一樣。
在圖2中,AByte 是Byte 類型,因為1在0..255之間,所以1會自動轉化為Byte類型。如果比較的是Abyte類型是256,會是什麼樣子呢?讀者可以自己寫的程序,試驗一下,看看結果,會加深你對數據類型的理解。
上面程序中,首先比如AByte是否和1相等,如果相等則Outvalue的值為1,然後和2比較,如果和2相等,那麼OuValue值為2,如果都滿足條件OuValue 的輸出值則為5。
上述的IF條件語句,也可以用CASE語句來進行表示。CASE的比較類型沒有IF 范圍廣,只有整形才能做為比較條件。
CASE指令
圖4 IF語句的CASE表達方式
從CASE語句表述中,我們發現語句相對於IF表達式來說,更加清晰簡單明了,所以如果需要用到整形條件作為判斷,盡量用CASE來實現,會提高效率。
FOR 指令
FOR指令常用來對數組類型數據進行批量處理,在上一期講解中已經舉過一個例子,下面舉個稍微復雜點的例子。
圖5 FOR循環語句
在FOR程序,我們對數組的每一個索引值進行賦值,同時判斷索引值的奇偶性來進行賦值操作。
圖6 FOR循環語句2
在上面的程序裡面,我們發現有一個關鍵字Continue .當FOR循環執行到該語句的時候,Continue下面的程序都不會執行。所以,當iCout小於15的時候,AArray[iCount]:=iCount賦值語句不會執行。
還有一個地方有點區別,就是FOR 語句後面,多了一個關鍵字 BY 。BY的含義是For 執行的間隔按照BY的設定來執行。如果後面設定為1,則0..99全部執行;如果設定為2,則執行順序為0,2,4,6,8的順序來執行。
上述的FOR循環語句,我們同樣可以採用WHILE循環來實現。
WHILE 指令
圖7 WHILE指令
WHILE循環的表達方式和FOR循環基本類型,但是我們注意一點,這裡面對循環變數,手動進行進行遞進。如果沒有這一句,iCount的值一直為0,循環條件iCount<100將一直為True,WHILE循環會一直執行。所以切記一定執行該語句。
我們還注意到一個關鍵字EXIT,當執行到該指令的時候,WHILE循環會停止執行,FOR指令也是一樣。所以上面的程序,運行下來的情況是,數組的賦值只執行到AArray[81]結束。
GOTO指令
goto指令主要用來執行跳轉過程,可以帶來程序操作的便利性,一般不推薦使用。若操作不當,則會打亂整個程序的邏輯性。
在圖7 中,如果iCount 大於90,那麼,程序就會跳出WHILE 循環執行指定標簽lable13地方程序#iCount=0,繼續從頭開始執行WHILE循環。當然這個操作是毫無意義的,這里只是舉個例子而已。
㈡ 大神們指點一下在對PLC編程時有人使用SCL編程,SCL是什麼編程語言屬於C語言范疇嗎
SCL語言是類似於Pascal的語言,西門子上叫做SCL,其他廠牌叫做ST語言,因為西門子指令表編程方式叫做STL語言,因此結構文本編程方式叫做SCL了。
㈢ scl是什麼意思
scl意思如下:
SCL作為英文縮寫,具有多項意義。
如源程序清單、安全檢查表、硬皮病、結構化控制語言、皮膚傳導水平、標准及校正實驗所、森馬船務公司、I2C時鍾信號、軟性接觸鏡等。
補充
概念
SCL是一個以三人為首的游戲製作小組。主要的製作成果有「竟樂賽車島」,但還沒有任何公測的消息,還在內測中。
源程序清單
SCL(Source list),源程序清單。
結構化
SCL(Structured Control Language),結構化控制語言。
結構化控制語言編程結構和C語言和Pascal語言相似,特別適合於習慣於使用高級語言編程的人使用。SCL程序可以在CPU314及其以上的S7(包括400)中運行。
軟性接觸鏡
SCL(軟性角膜接觸鏡的簡稱)。
變電站
變電站配置描述語言
(Substation Configuration Language)
變電站配置語言SCL是IEC61850採用的變電站專用描述語言,基於XML1.0。它採用可擴展的標記語言清楚地描述變電站IED設備、變電站系統和變電站網路通信拓撲結構的配置。
使用SCL能夠方便地收集不同廠家設備的配置信息並對設備進行配置,使系統維護升級、智能電子器件控制變得更為簡單易行。使用SCL形成標準的IED數據傳輸文件,可以避免協議轉換的開銷,同時大大減少數據集成和維護的成本。