文件填充 (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 型,而源值为不同类型,则源值将在存储前转换为目标类型。较小的整型类型将通过符号扩展方式转换为较大的整型类型。
如果目标数组是一个结构,源值将直接写入而不进行转换。
可用语言
梯形图

功能块
此指令不可用于功能块中。
结构化文本
此指令不可用于结构化文本中。
操作数
重要提示:
以下情况下会导致运行出现意外:
- 输出标签操作数被覆盖。
- 结构操作数的成员被覆盖。
- 除非另外指定,否则结构操作数由多条指令共用。
指令中混用数据类型时,需遵从相关的数据转换规则。请参见“数据转换”部分。
梯形图
操作数 | 数据类型 | 格式 | 说明 |
|---|---|---|---|
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 类型的目标操作数中。
梯形图

提供反馈