文件填充 (FLL)

此信息适用于
CompactLogix
5370、
ControlLogix
5570、
Compact GuardLogix
5370、
GuardLogix
5570、
Compact GuardLogix
5380、
CompactLogix
5380、
ControlLogix
5580、
GuardLogix
5580 和 ControlLogix 5590 控制器。在适用的情况下会注明控制器的差异。
FLL 指令将提供的源值填入内存块。Source 保持不变。
如果目标数组为 SINT、INT、DINT 或 REAL 型,而源值为不同类型,则源值将在存储前转换为目标类型。较小的整型类型将通过符号扩展方式转换为较大的整型类型。
如果目标数组是一个结构,源值将直接写入而不进行转换。
可用语言
梯形图
RSL5K_FLL Ladder Diagram_v31
功能块
此指令不可用于功能块中。
结构化文本
此指令不可用于结构化文本中。
操作数
重要提示: 以下情况下会导致运行出现意外:
  • 输出标签操作数被覆盖。
  • 结构操作数的成员被覆盖。
  • 除非另外指定,否则结构操作数由多条指令共用。
指令中混用数据类型时,需遵从相关的数据转换规则。请参见“数据转换”部分。
梯形图
操作数
数据类型
格式
说明
Source
SINT
INT
DINT
REAL
立即数
标签
要复制的元素
Destination
SINT
INT
DINT
REAL
structure
标签
将被源覆盖的初始元素。
Length
DINT
INT
SINT
立即数
标签
要填充的目标元素数目。
填充的字节数以下面两者中的较小值为准:
  • 请求的数量 = 长度 x(目标元素中的字节数)
  • 目标标签中的字节数
    小贴士: 基本标签的最后一个字节即为目标标签尾。如果标签是一个结构,则标签的末尾为该结构最后一个元素的最后一个字节。这表示 FLL 指令可能会超过成员数组的末尾执行写操作,但决不会超过基本标签的末尾执行写操作。需进行测试并确认 FLL 指令不会更改不应更改的数据。
为获得最佳结果,Source 和 Destination 应为相同类型。可通过 FLL 指令在某个结构中填充常量,例如 0。
如果要初始化结构,应确保有一个包含初始值的实例,并使用 COP 进行复制。例如,可使用 FLL 指令将整个结构清零。
如果 Source 为:
并且 Destination 为:
Source 转换为:
SINT、INT、DINT 或 REAL
SINT
SINT
SINT、INT、DINT 或 REAL
INT
INT
SINT、INT、DINT 或 REAL
DINT
DINT
SINT、INT、DINT 或 REAL
REAL
REAL
将较大整型类型转换为较小整型类型时,将导致数据截断(丢弃高位)。源数据转换完毕后,被写入目标 N 次,其中 N = 字节计数。将较小整型类型转换为较大整型类型时,将进行符号扩展。REAL 型数值转换为整型值时,将进行舍入处理。
影响数学状态标志
严重/轻微故障
没有特定于此指令的故障。对于数组索引故障,请参阅 通过数组建立索引
执行
梯形图
条件/状态
执行的操作
预扫描
不适用
梯级输入条件为假
不适用
梯级输入条件为真
指令将填充内存。
后扫描
不适用
示例
FLL 指令将 Length 所指定数目的目标元素从 DINT_src 类型的源操作数复制到 REAL_dest 类型的目标操作数中。
梯形图
RSL5K_FFL_Ladder Diagram Example_v31
提供反馈
对本文档有问题或反馈吗? 请在这里提交您的反馈
Normal