FIFO 加载 (FFL)

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