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