定序程序输出 (SQO)

此信息适用于
CompactLogix
5370、
ControlLogix
5570、
Compact GuardLogix
5370、
GuardLogix
5570、
Compact GuardLogix
5380、
CompactLogix
5380、
ControlLogix
5580、
GuardLogix
5580 和 ControlLogix 5590 控制器。
SQO 指令为 SQO/SQI 指令顺序对中的下一步设置输出条件。
当 .EN 由假跳变为真时,.POS 递增。当 .POS 变为大于等于 .LEN 时,.POS 将重置为 1
当 .EN 为 true 时,SQO 指令移动 .POS 处的数组数据使其经由 Mask 屏蔽码处理,然后移动当前 Destination 值使其经由 Mask 补码处理。对这两个运算的结果执行 OR 运算,结果存储在 Destination 中。
通常,应使用与 SQISQL 指令相同的 CONTROL 结构。
可用语言
梯形图
操作数
有关指令中混用数据类型时所采用的数据转换规则,请参见“数据转换”数据转换
操作数
类型
格式
说明
Array
DINT
数组标签
定序程序数组
指定定序程序数组的第一个元素
不要在下标中使用 CONTROL.POS
Mask
SINT
INT
DINT
标签
立即数
用于确定要屏蔽 (0) 或传递 (1) 的位,应用于输出屏蔽操作过程。
Destination
DINT
标签
定序程序数组的输出数据。该值用于输出屏蔽操作。
Control
CONTROL
标签
运算的控制结构
应使用与 SQI 和 SQL 指令中相同的控制标签
Length
DINT
立即数
数组(定序程序表)中要输出的元素数
Position
DINT
立即数
数组中的当前位置
初始值通常为 0。
CONTROL 结构
助记符
数据类型
说明
.EN (Enable)
BOOL
使能位,指示 SQO 指令是否使能。
.DN (Done)
BOOL
完成位,当 .POS = .LEN 时置位
.ER (Error)
BOOL
指示指令遇到错误。
.LEN (Length)
DINT
长度,指定定序程序数组中的定序程序步数。
.POS (Position)
DINT
位置,指定指令当前用来输出屏蔽操作的数组元素。
影响数学状态标志
严重/轻微故障
没有特定于此指令的故障。有关操作数相关的故障,请参阅 常用属性
执行
梯形图
条件/状态
执行的操作
预扫描
.EN 设置为真。
梯级输入条件为假
.EN 设置为假。
梯级输入条件为真
请参见下文流程图(真)
后扫描
不适用
流程图(真)
示例
Mask 值与数组值(如 Array[SqoControl.POS])进行 AND 运算。Mask 值的补码与当前 Dest 值进行 AND 运算。然后对这两个运算的结果执行 OR 运算,结果存储在 Dest 中。
要将 .POS 重置为初始值 (.POS = 0),请使用 RES 指令来清除控制结构。下面的示例使用首次扫描位的状态来清零 .POS 值。
梯形图
提供反馈
对本文档有问题或反馈吗? 请在这里提交您的反馈
Normal