算術(shù)表達(dá)式
說(shuō)明 算術(shù)表達(dá)式既可以是一個(gè)數(shù)字值,也可以是由帶有算術(shù)運(yùn)算符的兩個(gè)值或表達(dá)式組合而成。 算術(shù)運(yùn)算符可以處理當(dāng)前 CPU 所支持的各種數(shù)據(jù)類(lèi)型。如果在該運(yùn)算中有 2 個(gè)操作數(shù),那么可根據(jù)以下條件來(lái)確定結(jié)果的數(shù)據(jù)類(lèi)型:
如果這 2 個(gè)操作數(shù)均為有符號(hào)的整數(shù),但長(zhǎng)度不同,那么結(jié)果將采用長(zhǎng)度較長(zhǎng)的那個(gè)整數(shù)數(shù)據(jù)類(lèi)型(例如,INT + DINT = DINT)。
如果這 2 個(gè)操作數(shù)均為無(wú)符號(hào)整數(shù),但長(zhǎng)度不同,那么結(jié)果將采用長(zhǎng)度較長(zhǎng)的那個(gè)整數(shù)數(shù)據(jù)類(lèi)型(例如,USINT + UDINT = UDINT)。
如果一個(gè)操作數(shù)為有符號(hào)整數(shù),另一個(gè)為無(wú)符號(hào)整數(shù),那么結(jié)果將采用另一個(gè)長(zhǎng)度較大的有符號(hào)數(shù)據(jù)類(lèi)型(其包含此無(wú)符號(hào)整數(shù))(例如,SINT + USINT = INT) 只有在未設(shè)置 IEC 檢查時(shí),才能執(zhí)行具有此類(lèi)操作數(shù)的運(yùn)算。
如果一個(gè)操作數(shù)為整數(shù),另一個(gè)為浮點(diǎn)數(shù),那么結(jié)果將采用浮點(diǎn)數(shù)的數(shù)據(jù)類(lèi)型(例如,INT + REAL = REAL)。
如果 2 個(gè)操作數(shù)均為浮點(diǎn)數(shù),但長(zhǎng)度不同,結(jié)果將采用長(zhǎng)度較長(zhǎng)的那個(gè)浮點(diǎn)數(shù)的數(shù)據(jù)類(lèi)型(例如,REAL + LREAL = LREAL)。
對(duì)于操作數(shù)為“時(shí)間”和“日期和時(shí)間”數(shù)據(jù)類(lèi)型組,運(yùn)算結(jié)果的數(shù)據(jù)類(lèi)型請(qǐng)參見(jiàn)“算術(shù)表達(dá)式的數(shù)據(jù)類(lèi)型”部分的表格。 設(shè)置了 IEC 檢查時(shí),不能使用數(shù)據(jù)類(lèi)型組“時(shí)間”和“日期和時(shí)間”的數(shù)據(jù)類(lèi)型。
算術(shù)表達(dá)式的數(shù)據(jù)類(lèi)型
下表列出了在算術(shù)表達(dá)式中可使用的數(shù)據(jù)類(lèi)型:
運(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ù)類(lèi)型的更多信息,請(qǐng)參見(jiàn)“另請(qǐng)參見(jiàn)”。
示例
以下為一個(gè)算術(shù)表達(dá)式的示例:
SCL
“MyTag1”:= “MyTag2” * “MyTag3”;
審核編輯:黃飛
-
cpu
+關(guān)注
關(guān)注
68文章
11053瀏覽量
216252 -
西門(mén)子
+關(guān)注
關(guān)注
98文章
3142瀏覽量
117888 -
數(shù)據(jù)類(lèi)型
+關(guān)注
關(guān)注
0文章
237瀏覽量
13843
原文標(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)先 登錄
Linux內(nèi)核中C語(yǔ)法擴(kuò)展-語(yǔ)句表達(dá)式
什么是正則表達(dá)式?正則表達(dá)式如何工作?哪些語(yǔ)法規(guī)則適用正則表達(dá)式?

數(shù)據(jù)類(lèi)型、運(yùn)算符與表達(dá)式
防范表達(dá)式的失控
C++程序設(shè)計(jì)教程之?dāng)?shù)據(jù)類(lèi)型與表達(dá)式的詳細(xì)資料說(shuō)明

Python正則表達(dá)式指南

西門(mén)子PLC編程軟件博途下載
Lambda表達(dá)式詳解
表達(dá)式與邏輯門(mén)之間的關(guān)系

C語(yǔ)言的表達(dá)式

C語(yǔ)言基本的算術(shù)運(yùn)算符及表達(dá)式
西門(mén)子博途SCL:WHILE:滿(mǎn)足條件時(shí)執(zhí)行
zabbix觸發(fā)器表達(dá)式 基本RS觸發(fā)器表達(dá)式 rs觸發(fā)器的邏輯表達(dá)式
西門(mén)子plc單按鈕啟停的十種方法(博途1200/1500PLC)

評(píng)論