結構化語言ST是作用於功能塊編程中。
這門語言對於梯形圖中不善於處理的數值運算等邏輯算法,採用類似於高級語言的語法,使其變得簡單。
下面先從功能塊的相關知識說起:
CP1H的功能塊規格:
功能塊定義數:128
實例數:256
實例嵌套級數:cx-programmer6.0及以後,支持8級嵌套
IO變量數:最多64個變量
變量類型:
注意:TIMER和COUNTER數據類型不能用於結構化文本功能塊。
在內部變量中,其中一個變量定義為數組,CX-Programmer 只支持一維數組。
變量可以設置初始值,並且如果勾選了
選擇Retain Option 時,變量分配於存儲區內。當斷電和PLC 操作開始時保持該存儲
常數直接輸入指令操作數。
• 梯級程式語言。在# 後面輸入十六進位數值;在 & 後面輸入十進位數。
• 結構化文本(ST 語言):在16# 後面輸入十六進位數值;十進位數照原樣不動。
ST 編程限制
只支持以下的語句和運算符。
• 賦值語句
• 選擇語句(CASE 和IF 語句)
• 迭代語句(FOR、WHILE、REPEAT 和 EXIT 語句)
• RETURN 語句
• 功能塊調用語句
• 算術運算符
• 邏輯運算符
• 比較運算符
• 數函詞
• 算術函數
• 注釋
• 不能使用TIMER 和 COUNTER 數據類型。
程序結構注意事項
實例左面無分支
每級只有一個實例
無功能塊連接
變量類型(輸入、輸出、外部和內部)
輸入變量:用來修改已傳遞的值
輸出變量:傳遞數值或監視輸出變量
外部變量:程序中的條件標記、時鐘脈衝、輔助區域位
用於程序中的條件標記(例如, Always ON 標記和Equals 標記)、時鐘脈衝
(例如, 1.0 秒時鐘脈衝位)、預先註冊的輔助區域位(例全局符號如,首次循
環標記)和全局符號全部是由系統定義的外部變量。
內部變量:內部分配的變量和需要AT 設置的變量
未規定位輸入、輸出或外部的變量均為內部變量。內部變量包括內部分配地址
的變量、要求有AT 設置地址的變量(例如,I/O 分配地址、特殊分配於特殊I/
O 單元的地址)或需要數組設置的變量。
計算餘數:
當採用ST 語言時,無需使用數組來接收除法運算結果。此外,不能在ST 語言
中直接計算餘數。必須按如下方法計算餘數
餘數 = 被除數. (除數×商數)
使用變址寄存器
變址寄存器IR0 到 IR15 用作規定I/O 存儲器地址的指示器。這些變址寄存器可
以在功能塊中使用從而可以直接通過IR0 到 IR15 來指定地址而不是變量名(變
址寄存器直接規格:IR0 到IR15 ;變址寄存器間接規格:,IR0 到 ,IR15)
注在使用MOVR (560)指令將實際的I/O 存儲器地址存儲於變址寄存器後,可
採用通用指令來間接指定變址寄存器。這樣,就可動態地規定所有I/O 存儲器
區域。
有關變址寄存器的知識參見下面貼子:
歐姆龍CJ1系列PLC存儲區的變址寄存器(IR)結構化文本範例
大寫和小寫
• 保留字和變量名不分大小寫(兩者均可使用)。
輸入常數(數值)
• 如下例所示,數值可以通過十進位、十六進位、八進位或二進位來表示。
表示方法 範例(用於十進位值12)
十進位:僅數值12
十六進位:16# 後面跟數值 16#C
八進位:8# 後面跟數值 8#14
二進位:2# 後面跟數值 2#1100
語句
運算符
注根據數據類型運算。
因此, INT 數據加法結果必須是使用INT 數據類型的變量。當整數型變量運算
時出現進位或借位,需特別小心。例如,使用整數型變量 A=3 和 B= 2 時,如
果執行運算(A/B)*2,則A/B 結果為1(1.5 –小數點後面的數值忽略不計),
因此(A/B) *2 = 2。
函數
數據類型轉換函數
以下數據類型轉換函數可以用於結構化文本中。
語法
源數據類型_TO_ 新數據類型 ( 變量名)
例子:REAL_TO_INT (C)
在本例中,變量C 的數據類型可以從REAL 修改為INT。
數據類型組合
下表給出了可以轉換的數據類型組合。
(是 = 可以轉換;否 = 不能轉)
STL實例1:計算平均值
效果如下:
平均為20,結果正確。
-
作者:hackpig
來源:www.skcircle.com
版權聲明:本文為博主原創文章,轉載請附上博文連結!
其它相關文章:
歐姆龍cp1h常用指令學習(十五)多重互鎖指令MILH,MILC
歐姆龍cp1h常用指令學習(十四)練習篇一:紅外線遙控點歌
歐姆龍cp1h常用指令學習(十三)數據移位指令
歐姆龍cp1h常用指令學習(十二)塊程序
歐姆龍cp1h常用指令學習(十一)中斷程序
歐姆龍cp1h常用指令學習(十)脈衝輸出指令,電機運動控制
歐姆龍cp1h常用指令學習(九)結構化語言ST
歐姆龍cp1h常用指令學習(八)字符串處理指令
歐姆龍cp1h常用指令學習(七)棧處理指令
歐姆龍cp1h常用指令學習(六)功能塊、子程序
歐姆龍cp1h常用指令學習(五)時序輸出指令
歐姆龍cp1h常用指令學習(四)串口無協議讀寫指令TXD,RXD
歐姆龍cp1h常用指令學習(三)增量與減量、四則運算指令
歐姆龍cp1h常用指令學習(二)計數器、數據比較指令
歐姆龍cp1h常用指令學習(一)常用存儲器功能區、訂時器
標籤:OMRON歐姆龍PLC PLC技術