西门子博途的算术表达式

描述

  算术表达式

说明 算术表达式既可以是一个数字值,也可以是由带有算术运算符的两个值或表达式组合而成。 算术运算符可以处理当前 CPU 所支持的各种数据类型。如果在该运算中有 2 个操作数,那么可根据以下条件来确定结果的数据类型:

如果这 2 个操作数均为有符号的整数,但长度不同,那么结果将采用长度较长的那个整数数据类型(例如,INT + DINT = DINT)。

如果这 2 个操作数均为无符号整数,但长度不同,那么结果将采用长度较长的那个整数数据类型(例如,USINT + UDINT = UDINT)。

如果一个操作数为有符号整数,另一个为无符号整数,那么结果将采用另一个长度较大的有符号数据类型(其包含此无符号整数)(例如,SINT + USINT = INT) 只有在未设置 IEC 检查时,才能执行具有此类操作数的运算。

如果一个操作数为整数,另一个为浮点数,那么结果将采用浮点数的数据类型(例如,INT + REAL = REAL)。

如果 2 个操作数均为浮点数,但长度不同,结果将采用长度较长的那个浮点数的数据类型(例如,REAL + LREAL = LREAL)。

对于操作数为“时间”和“日期和时间”数据类型组,运算结果的数据类型请参见“算术表达式的数据类型”部分的表格。 设置了 IEC 检查时,不能使用数据类型组“时间”和“日期和时间”的数据类型。

算术表达式的数据类型

下表列出了在算术表达式中可使用的数据类型:

 

运算 运算符 第一个操作数 第二个操作数 结果
幂运算 ** 整数/浮点数 整数/浮点数 浮点数
一元加 + 整数/浮点数
TIME, LTIME
- 整数/浮点数
TIME, LTIME
一元减 - 整数/浮点数
TIME, LTIME
- 整数/浮点数
TIME, LTIME
乘法 * 整数/浮点数 整数/浮点数 整数/浮点数
TIME, LTIME 整数 TIME, LTIME
除法 / 整数/浮点数 整数/浮点数(不等于 0) 整数/浮点数
TIME, LTIME 整数 TIME, LTIME
模运算 MOD 整数 整数 整数
加法 + 整数/浮点数 整数/浮点数 整数/浮点数
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
减法 - 整数/浮点数 整数/浮点数 整数/浮点数
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) 表达式中不允许同时使用纳秒和毫秒。

有关有效数据类型的更多信息,请参见“另请参见”。

示例

以下为一个算术表达式的示例:

  SCL

  “MyTag1”:= “MyTag2” * “MyTag3”;

审核编辑:黄飞

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分