加入收藏 在线留言 联系我们
关注微信
手机扫一扫 立刻联系商家
全国服务热线15915421161
公司新闻
SCL的算数表达式——博途重器
发布时间: 2024-03-15 11:20 更新时间: 2024-11-26 07:00

算数表达式

说明:算术表达式既可以是一个数字值,也可以是由带有算术运算符的两个值或表达式组合而成。

算术运算符可以处理当前 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;


联系方式

  • 电  话:15903418770
  • 联系人:张经理
  • 手  机:15915421161
  • 微  信:15915421161