LIFO 加载 (LFL)
下表列出了支持此指令的控制器和应用程序。
架构 | 标准应用程序 | 安全应用程序 |
|---|---|---|
CompactLogix 5370、ControlLogix 5570、Compact GuardLogix 5370 和 GuardLogix 5570 控制器 | 是 | 否 |
CompactLogix 5380、ControlLogix 5580、Compact GuardLogix 5380、GuardLogix 5580 和 ControlLogix 5590 控制器 | 是 | 是 |
LFL 指令用于将 Source 值复制到 LIFO。
LFL 指令可与 LFU 指令配合使用,以后进先出的顺序存储和检索数据。成对使用时,LFL 和 LFU 指令建立异步移位寄存器。
通常,Source 和 LIFO 使用相同的数据类型。
使能后,LFL 指令将 Source 值加载到 LIFO 中由 .POS 值标识的位置。每次指令使能后,指令都将加载一个值,直到 LIFO 已满。
重要提示:
必须进行测试并确认指令不会更改用户不希望更改的数据。
LFL 指令对连续数据内存进行操作。
可用语言
梯形图

操作数
指令中混用数据类型时,需遵从相关的数据转换规则。
梯形图
操作数 | 类型 | 格式 | 说明 |
|---|---|---|---|
Source | SINT INT DINT REAL 字符串类型 结构 | 立即数 标签 | 要存储在 LIFO 中的数据。 |
LIFO | SINT INT DINT REAL 字符串类型 结构 | 数组标签 | 要修改的 LIFO 指定 LIFO 的第一个元素 |
Control | CONTROL | 标签 | 运算的控制结构 通常使用与关联 LFU 相同的 CONTROL 结构 |
Length | DINT | 立即数 | LIFO 可同时存储的最大元素数目 |
Position | DINT | 立即数 | LIFO 中指令加载数据的下一个位置 初始值通常为 0 |
CONTROL 结构
助记符 | 数据类型 | 说明 |
|---|---|---|
.EN | BOOL | 使能位,指示 LFL 指令是否使能。 |
.DN | BOOL | 完成位,置位时指示 LIFO 已满 (.POS = .LEN)。.DN 位会禁用 LIFO 的加载,直到 .POS < .LEN。 |
.EM | BOOL | 空位,指示 LIFO 为空。如果 .LEN < 或 = 0 或 .POS < 0,则 .EM 位和 .DN 位置位。 |
.LEN | DINT | 长度,指定 LIFO 可同时存储的最大元素数目。 |
.POS | DINT | 位置,标识 LIFO 中指令加载下一个值的位置。 |
影响数学状态标志
否
严重/轻微故障
在以下情况下会发生严重故障: | 故障类型 | 故障代码 |
|---|---|---|
如果(起始元素 + .POS)超过 LIFO 数组的末尾 | 4 | 20 |
有关操作数相关的故障,请参阅 常用属性。
执行
梯形图
条件/状态 | 执行的操作 |
|---|---|
预扫描 | 请参见 LFL 流程图(预扫描) |
梯级输入条件为假 | 请参见“LFL 流程图(假)” |
梯级输入条件为真 | 请参见“LFL 流程图(真)” |
后扫描 | 不适用。 |
LFL 流程图(预扫描)

LFL 流程图(假)

LFL 流程图(真)

示例
示例 1
梯形图


示例 2
Source 数组为 STRING 类型数组或 Structure 类型数组。
梯形图

示例 3
源数组的数据类型与 LIFO 数组的数据类型不匹配。
梯形图

提供反馈