FIFO 卸载 (FFU)

下表列出了支持此指令的控制器和应用程序。
架构
标准应用程序
安全应用程序
CompactLogix 5370、ControlLogix 5570、Compact GuardLogix 5370 和 GuardLogix 5570 控制器
CompactLogix 5380、ControlLogix 5580、Compact GuardLogix 5380、GuardLogix 5580 和 ControlLogix 5590 控制器
FFU 指令用于将 FIFO 中位置 0(第一个位置)的值卸载,并将该值存储于 Destination 中。FIFO 中其余的数据下移一个位置。
FFU 指令可与 FFL 指令配合使用,以先进先出的顺序存储和检索数据。
使能后,FFU 指令会卸载 FIFO 中第一个元素的数据,并将该值放入 Destination。每次指令使能后,该指令都将卸载一个值,直到 FIFO 为空。如果 FIFO 为空,FFU 会将 0 返回到 Destination。
通常,目标标签和 FIFO 采用相同的数据类型。如果类型不同,则指令会将卸载的值转换为目标标签的类型。
较小的整型类型可通过符号扩展转换为较大的整型类型。
可用语言
梯形图
操作数
指令中混用数据类型时,需遵从相关的数据转换规则。
梯形图
操作数
类型
格式
说明
FIFO
SINT
INT
DINT
REAL
字符串类型
结构
数组标签
要修改的 FIFO
指定 FIFO 的第一个元素
不要在下标中使用 CONTROL.POS
Destination
SINT
INT
DINT
REAL
字符串类型
结构
标签
从 FIFO 中卸载的值。
Control
CONTROL
标签
运算的控制结构
通常使用与关联 FFL 相同的 CONTROL 结构
Length
DINT
立即数
FIFO 可同时存储的最大元素数目
Position
DINT
立即数
FIFO 中指令加载数据的下一个位置
初始值通常为 0
CONTROL 结构
助记符
数据类型
说明
.EU
BOOL
使能卸载位,指示 FFU 指令是否使能。将 .EU 位置位,可防止在预扫描开始时发生错误卸载。
.DN
BOOL
完成位,置位时指示 FIFO 已满 (.POS = .LEN)。
.EM
BOOL
空位,指示 FIFO 为空。如果 .LEN是,或 = 0 或 .POS < 0,则 .EM 位和 .DN 位置位。
.LEN
DINT
长度,指定 FIFO 的最大元素数。
.POS
DINT
位置,用于标识已加载到 FIFO 中的数据的末尾。
影响数学状态标志
严重/轻微故障
在以下情况下会发生严重故障:
故障类型
故障代码
指定的 Length 超过 FIFO 数组的末尾
4
20
有关操作数相关的故障,请参阅 常用属性
执行
梯形图
条件/状态
执行的操作
预扫描
请参见 FFU 流程图(预扫描)。
梯级输入条件为假
请参见“FFL 流程图(假)”。
梯级输入条件为真
请参见“FFU 流程图(真)”
后扫描
不适用
FFU 流程图(预扫描)
FFL 流程图(假)
FFU 流程图(真)
示例
示例 1
梯形图
示例 2
目标数组是 STRING 类型数组或 Structure 类型数组
梯形图
示例 3
FIFO 源数组的数据类型与目标数组的数据类型不匹配
梯形图
提供反馈
对本文档有问题或反馈吗? 请在这里提交您的反馈
Normal