西门子博途中的SCL关系表达式

描述

以从指令框的下拉列表中选择该比较指令的数据类型 VARIANT。支持以下数据类型的变量:

PLC 数据类型 (UDT)

STRUCT(STRUCT 数据类型的结构需包含在 PLC 数据类型 (UDT) 中,或者待比较的两个结构需为 ARRAY of STRUCT 的两个元素。不支持背景数据块和匿名结构的变量。)

Any 指向的变量

VARIANT 指向的变量

要比较两个 ARRAY 数据类型的变量,需满足以下要求:

元素的数据类型必须相同。

两个 ARRAY 的维数必须相同。

所有维数的元素数量必须相同,而具体的 ARRAY 限值无需相同。

说明
ARRAY of BOOL
比较数据类型为 ARRAY OF BOOL 的两个操作数时,如果元素的个数不能被 8 整除,则还会对填充位进行比较,从而会影响最终的比较结果。

下表举例说明了“==:等于”的结构比较:

<操作数 1> <操作数 2> 指令的 RLO
数据类型为 A 的变量 变量值 数据类型为 A 的变量 变量值 1
  BOOL FALSE   BOOL FALSE
INT 2 INT 2
<操作数 1> <操作数 2> 指令的 RLO
数据类型为 A 的变量 变量值 数据类型为 B 的变量 变量值 0
  BOOL FALSE   BOOL TRUE
INT 2 INT 3
<操作数 1> <操作数 2> 指令的 RLO
数据类型为 A 的变量 变量值 VARIANT(由数据类型为 A 的变量提供) 变量值 1
  BOOL FALSE   BOOL FALSE
INT 2 INT 2

下表举例说明了“<>:不等于”结构的比较:

<操作数 1> <操作数 2> 指令的 RLO
数据类型为 A 的变量 变量值 数据类型为 A 的变量 变量值 0
  BOOL FALSE   BOOL FALSE
INT 2 INT 2
<操作数 1> <操作数 2> 指令的 RLO
数据类型为 A 的变量 变量值 数据类型为 B 的变量 变量值 1
  BOOL FALSE   BOOL TRUE
INT 2 INT 3
<操作数 1> <操作数 2> 指令的 RLO
数据类型为 A 的变量 变量值 VARIANT(由数据类型为 A 的变量提供) 变量值 0
  BOOL FALSE   BOOL FALSE
INT 2 INT 2

关系表达式的数据类型

下表列出了在关系表达式中可使用的数据类型/数据类型组:

运算 运算符 第一个操作数 第二个操作数 结果
比较:等于、不等于 =、<> 整数/浮点数 整数/浮点数 BOOL
位字符串 位字符串 BOOL
字符串 字符串 BOOL
TIME、LTIME TIME、LTIME BOOL
日期和时间 日期和时间 BOOL
VARIANT/ANY VARIANT/ANY BOOL
任何数据类型(但必须与 VARIANT 的变量数据类型相对应) VARIANT/ANY BOOL
VARIANT/ANY 任何数据类型 BOOL
PLC 数据类型 PLC 数据类型 BOOL
ARRAY of <数据类型>,ARRAY 限值固定/可变 ARRAY of <数据类型>,ARRAY 限值固定/可变 BOOL
STRUCT STRUCT BOOL
比较:小于、小于等于、大于、大于等于 <、<=、>、>= 整数/浮点数 整数/浮点数 BOOL
位字符串
(仅 S7-1200/1500)
位字符串
(仅 S7-1200/1500)
BOOL
字符串 字符串 BOOL
TIME、LTIME TIME、LTIME BOOL
日期和时间 日期和时间 BOOL

示例

以下举例说明了一个关系表达式:

SCL  
IF a > b THEN c:= a;  
IF A > 20 AND B < 20 THEN C:= TRUE;  
IF A<>(B AND C) THEN C:= FALSE;  
说明
在 S7-300/400 内部将通过扩展指令执行 STRING 和 DT 类型的比较。以下操作数不可用于这些函数:
FC 的参数
STRUCT 或 ARRAY 类型的 FB 的输入输出参数
说明
比较硬件数据类型 HW_IO 与 HW_DEVICE
如果要比较这两种数据类型,则需先在块接口的“Temp”区域创建一个 HW_ANY 数据类型的变量,然后将数据类型为 HW_DEVICE 的 LADDR 复制到该变量中。之后,才能比较 HW_ANY 和 HW_IO。

   审核编辑:汤梓红

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

全部0条评论

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

×
20
完善资料,
赚取积分