LFU(LIFO 卸载)

LFU 指令从调用 LIFO 堆栈的用户创建的一维数组卸载数据(8 位、16 位、32 位、64 位)。LFU 和 LFL 指令成对使用。
支持的语言︰功能块图、梯形图和结构化文本。
该指令适用于 L20E、L50E 和 L70E 控制器。
LFU
LFU
LFU 参数
参数
参数类型
数据类型
描述
Execute
输入
BOOL
启用指令块。
  • TRUE: 如果检测到上升沿,则启动 LFU 操作。
  • FALSE:未检测到上升沿。
Dest
输入
ANY_ELEMENTARY
保持 LIFO 堆栈中存在的值。
Dest 支持的基本数据类型:
  • DWORD、REAL、TIME、DATE、LWORD、ULINT、LINT、LREAL、BOOL、SINT、USINT、BYTE、INT、UINT、WORD、DINT、UDINT。
  • 不支持字符串。
  • 仅支持诸如 Array[1] 或 Array[Index] 等变量和一维数组。
DestOffset
输入
UINT
目标元素偏移。
如果目标是数组数据类型,则为元素偏移;否则,偏移应设置为 0。
对于数组数据类型,要卸载到第一个元素,应将偏移设置为 0。
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 时。
Error
输出
BOOL
表示存在错误条件。
  • TRUE: 操作过程遇到错误。
  • FALSE:操作过程成功完成或指令未执行。
ErrorID
输出
USINT
标识错误的唯一数字。这些错误在 LFU 错误代码中定义。
Done
输出
BOOL
指示操作完成的时间。
  • TRUE: 操作已成功完成。
  • FALSE:操作过程遇到错误条件或 LFU 指令未执行。
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 数组大小。

LFU 示例

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