算術(shù)表達(dá)式
說明 算術(shù)表達(dá)式既可以是一個數(shù)字值,也可以是由帶有算術(shù)運算符的兩個值或表達(dá)式組合而成。 算術(shù)運算符可以處理當(dāng)前 CPU 所支持的各種數(shù)據(jù)類型。如果在該運算中有 2 個操作數(shù),那么可根據(jù)以下條件來確定結(jié)果的數(shù)據(jù)類型:
如果這 2 個操作數(shù)均為有符號的整數(shù),但長度不同,那么結(jié)果將采用長度較長的那個整數(shù)數(shù)據(jù)類型(例如,INT + DINT = DINT)。
如果這 2 個操作數(shù)均為無符號整數(shù),但長度不同,那么結(jié)果將采用長度較長的那個整數(shù)數(shù)據(jù)類型(例如,USINT + UDINT = UDINT)。
如果一個操作數(shù)為有符號整數(shù),另一個為無符號整數(shù),那么結(jié)果將采用另一個長度較大的有符號數(shù)據(jù)類型(其包含此無符號整數(shù))(例如,SINT + USINT = INT) 只有在未設(shè)置 IEC 檢查時,才能執(zhí)行具有此類操作數(shù)的運算。
如果一個操作數(shù)為整數(shù),另一個為浮點數(shù),那么結(jié)果將采用浮點數(shù)的數(shù)據(jù)類型(例如,INT + REAL = REAL)。
如果 2 個操作數(shù)均為浮點數(shù),但長度不同,結(jié)果將采用長度較長的那個浮點數(shù)的數(shù)據(jù)類型(例如,REAL + LREAL = LREAL)。
對于操作數(shù)為“時間”和“日期和時間”數(shù)據(jù)類型組,運算結(jié)果的數(shù)據(jù)類型請參見“算術(shù)表達(dá)式的數(shù)據(jù)類型”部分的表格。 設(shè)置了 IEC 檢查時,不能使用數(shù)據(jù)類型組“時間”和“日期和時間”的數(shù)據(jù)類型。
算術(shù)表達(dá)式的數(shù)據(jù)類型
下表列出了在算術(shù)表達(dá)式中可使用的數(shù)據(jù)類型:
運算 | 運算符 | 第一個操作數(shù) | 第二個操作數(shù) | 結(jié)果 |
---|---|---|---|---|
冪運算 | ** | 整數(shù)/浮點數(shù) | 整數(shù)/浮點數(shù) | 浮點數(shù) |
一元加 | + |
整數(shù)/浮點數(shù) TIME, LTIME |
- |
整數(shù)/浮點數(shù) TIME, LTIME |
一元減 | - |
整數(shù)/浮點數(shù) TIME, LTIME |
- |
整數(shù)/浮點數(shù) TIME, LTIME |
乘法 | * | 整數(shù)/浮點數(shù) | 整數(shù)/浮點數(shù) | 整數(shù)/浮點數(shù) |
TIME, LTIME | 整數(shù) | TIME, LTIME | ||
除法 | / | 整數(shù)/浮點數(shù) | 整數(shù)/浮點數(shù)(不等于 0) | 整數(shù)/浮點數(shù) |
TIME, LTIME | 整數(shù) | TIME, LTIME | ||
模運算 | MOD | 整數(shù) | 整數(shù) | 整數(shù) |
加法 | + | 整數(shù)/浮點數(shù) | 整數(shù)/浮點數(shù) | 整數(shù)/浮點數(shù) |
TIME | TIME | TIME | ||
TIME | DINT | TIME | ||
LTIME | TIME, LTIME | LTIME | ||
LTIME | LINT | LTIME | ||
TOD | TIME | TOD | ||
TOD | DINT | TOD | ||
LTOD | TIME, LTIME | LTOD | ||
LTOD | LINT | LTOD | ||
DATE | LTOD | DTL | ||
DATE | TOD |
S7-300/400:DT S7-1200/1500:DTL |
||
DT | TIME | DT | ||
LDT | TIME, LTIME | LDT | ||
DTL | TIME, LTIME | DTL | ||
減法 | - | 整數(shù)/浮點數(shù) | 整數(shù)/浮點數(shù) | 整數(shù)/浮點數(shù) |
TIME | TIME | TIME | ||
TIME | DINT | TIME | ||
LTIME 1) | TIME、LTIME | LTIME | ||
LTIME | LINT | LTIME | ||
TOD | TIME | TOD | ||
TOD | DINT | TOD | ||
TOD | TOD | TIME | ||
LTOD | TIME、LTIME | LTOD | ||
LTOD | LINT | LTOD | ||
LTOD | LTOD | LTIME | ||
DATE | DATE |
S7-300/400/1200:TIME S7-1500:LTIME |
||
DT | TIME | DT | ||
DT | DT | TIME | ||
LDT | TIME, LTIME | LDT | ||
DTL | TIME, LTIME | DTL | ||
DTL | DTL |
S7-1200:TIME S7-1500:LTIME |
||
1) 表達(dá)式中不允許同時使用納秒和毫秒。 |
有關(guān)有效數(shù)據(jù)類型的更多信息,請參見“另請參見”。
示例
以下為一個算術(shù)表達(dá)式的示例:
SCL
“MyTag1”:= “MyTag2” * “MyTag3”;
審核編輯:黃飛
-
cpu
+關(guān)注
關(guān)注
68文章
10702瀏覽量
209356 -
西門子
+關(guān)注
關(guān)注
93文章
2958瀏覽量
114830 -
數(shù)據(jù)類型
+關(guān)注
關(guān)注
0文章
236瀏覽量
13567
原文標(biāo)題:西門子博途:算術(shù)表達(dá)式
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應(yīng)用】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論