算数表达式
说明:算术表达式既可以是一个数字值,也可以是由带有算术运算符的两个值或表达式组合而成。
算术运算符可以处理当前 CPU 所支持的各种数据类型。如果在该运算中有 2 个操作数,那么可根据以下条件来确定结果的数据类型:
如果这 2 个操作数均为有符号的整数,但长度不同,那么结果将采用长度较长的那个整数数据类型(例如,Int + DInt = DInt)。
如果这 2 个操作数均为无符号整数,但长度不同,那么结果将采用长度较长的那个整数数据类型(例如,USInt + UDInt = UDInt)。
如果一个操作数为有符号整数,另一个为无符号整数,那么结果将采用另一个长度较大的有符号数据类型(其包含此无符号整数)(例如,SInt + USInt = Int)
如果一个操作数为整数,另一个为浮点数,那么结果将采用浮点数的数据类型(例如,Int + Real = Real)。
如果 2 个操作数均为浮点数,但长度不同,结果将采用长度较长的那个浮点数的数据类型(例如,Real + LReal = LReal)。
对于操作数为"Time"和"日期和时间"数据类型组,运算结果的数据类型请参见表1。
算术表达式的数据类型
表1列出了在算术表达式中可使用的数据类型
以下为一些算术表达式的示例:
"MyTag1":= "MyTag2" * "MyTag3";
关系表达式
说明:关系表达式将两个操作数的值或数据类型进行比较,然后得到一个布尔值。如果比较结果为真,则结果为 TRUE,否则为 FALSE。
关系运算符可以处理当前 CPU 所支持的各种数据类型。结果的数据类型始终为 Bool。
编写关系表达式时,请注意以下规则:
以下数据类型组中的所有变量都可以进行比较:
整数/浮点数
位、位序列
字符串
对于以下数据类型,只能比较相同类型的变量:
TIME
日期和时间
UDT
Array
Struct
Variant
String 比较是对以 Windows 字符集编码的字符进行比较;而 WSting比较则是对 UTF-16 编码的字符进行比较。在比较过程中,将比较变量的长度及各字符对应的数值。
Array 比较需要数组维度、数组元素数据类型与数量完全相同
UDT、Array、Struct、Variant等进行的比较只能使用S7-1200 V4.2及其以上的版本。
关系表达式的数据类型
表2列出了在关系表达式中可使用的数据类型/数据类型组
示例
以下举例说明了一个关系表达式:
IF a > b THEN c:= a;
IF A > 20 AND B < 20 THEN C:= TRUE;
IF A<>(B AND C) THEN C:= FALSE;
- 精智面板(Comfort Panels) 2024-11-26
- 如何进行S7-1500H冗余PLC程序下载和监控 2024-11-26
- 如何在S7-1500R/H冗余控制器上操作DP从站? 2024-11-26
- SIMATIC ODK 1500S 实时应用编程使用入门 2024-11-26
- char 和 string 的有什么区别? 2024-11-26
- 存储卡(U盘)为精智面板(Comfort Panels)做 OS 更新 2024-11-26
- S7-1500冗余PLC 如何建立TCP通信 2024-11-26
- 西门子1500软PLC系列简介 2024-11-26
- 西门子S7-200 SMART编程软件如何与电脑连接? 2024-11-26
- 西门子博途 TIA 的 Modbus 主站通讯技术讲解 2024-11-26
- 200smart程序的监控与调试 2024-11-26
- 图解西门子PLC与Wincc间的通讯方式 2024-11-26
- 图文详解200SMART与西门子触摸屏的RS485通信 2024-11-26
- 西门子S7-200/300/400通讯方式汇总,超级全面 2024-11-26
- 一个S7-1500 项目案例 2024-11-26