LFL(LIFO 加载)

LFL 指令用于将数据(8 位、16 位、32 位和 64 位)加载到调用 LIFO 堆栈的用户创建的一维数组。LFL 和 LFU 指令成对使用。
支持的语言︰功能块图、梯形图和结构化文本。
该指令适用于 L20E、L50E 和 L70E 控制器。
LFL
LFL
LFL 参数
参数
参数类型
数据类型
描述
Execute
输入
BOOL
启用指令块。
  • TRUE: 如果检测到上升沿,则启动 LFL 操作。
  • FALSE:未检测到上升沿。
Src
输入
ANY_ELEMENTARY
Src 操作数是用于填充 LIFO 堆栈中当前可用位置的值的地址。
支持的元素数据类型:
  • DWORD、REAL、TIME、DWORD、REAL、TIME、DATE、LWORD、ULINT、LINT、LREAL、BOOL、SINT、USINT、BYTE、INT、UINT、WORD、DINT、UDINT。
  • 诸如 Array[1] 或 Array[Index] 等变量和一维数组。
  • 不支持字符串。
LIFO
输入
ANY_ELEMENTARY
堆栈的起始地址。必须为 LFL 和 LFU 指令进行相同的 LIFO 配置。
支持的元素数据类型:
  • DWORD、REAL、TIME、DWORD、REAL、TIME、DATE、LWORD、ULINT、LINT、LREAL、BOOL、SINT、USINT、BYTE、INT、UINT、WORD、DINT、UDINT。
  • 仅支持一维。
  • 不支持字符串。
LIFOCon
输入
FF_LF_CON
LIFO 配置和控制。必须为 LFL 和 LFU 指令配置相同的配置。使用 FF_LF_CON 数据类型配置 Position 和 Length。
Full
输出
BOOL
指示 LIFO 堆栈已满的时间。
  • TRUE: 当 Length 等于 Position 时。
  • FALSE:当 Position 大于或等于零且小于 Length 时。
Empty
输出
BOOL
指示 LIFO 堆栈为空的时间。
  • TRUE: 当 Position 等于零时。
  • FALSE:当 Position 不等于零时。
Error
输出
BOOL
表示存在错误条件。
  • TRUE: 操作过程遇到错误。
  • FALSE:操作过程成功完成或指令未执行。
ErrorID
输出
USINT
标识错误的唯一数字。这些错误在 LFL 错误代码中定义。
Done
输出
BOOL
指示操作完成的时间。
  • TRUE: 操作已成功完成。
  • FALSE:操作过程遇到错误条件或 LFL 指令未执行。
LFL 和 LFU 错误代码
错误代码
错误描述
0
无错误。
1
不支持 LFL Src 数据类型。
2
不支持 LFU Dest 数据类型。
3
不支持 LIFO 数据类型。
4
Src 和 Dest 数据类型与 LIFO 数据类型不匹配。
更正措施:
LFL Src 参数和 LFU Dest 参数数据类型应与 LIFO 数组数据类型匹配。
5
LIFO:数组维度不受支持。
更正措施:
LIFO 仅支持一维数组。
6
LIFOCon 控制 Length 超过 LIFO 数组大小。
更正措施:
LIFOCon 控制 Length 不得超过 LIFO 数组大小。
7
LIFOCon Length 超过最大长度。
8
LIFOCon Length 为零。
9
LIFOCon Position 超过 LIFOCon Length。
10
LFL 控制 Length 和 Position 相等。
11
LFU 控制 Position 为零。
12
不支持 LFL 或 LFU 数组维度。
更正措施:
LFL 和 LFU 仅支持一维数组。
13
LFL 或 LFU DestOffset 超过 Dest 数组大小。

LFL 示例

LFL 功能块图示例
LFL 功能块图示例
LFL 梯形图示例
LFL 梯形图示例
LFL 结构化文本示例
LFL 结构化文本示例
提供反馈
对本文档有问题或反馈吗? 请在这里提交您的反馈
Normal