文件位比较 (FBC)
此信息适用于
CompactLogix
5370、ControlLogix
5570、Compact GuardLogix
5370、GuardLogix
5570、Compact GuardLogix
5380、CompactLogix
5380、ControlLogix
5580、GuardLogix
5580 和 ControlLogix 5590 控制器。FBC 指令将 Source 数组中的位与 Reference 数组中的位进行比较。
使能后,FBC 指令将 Source 数组中的位与 Reference 数组中的位进行比较,并将每个不匹配项的位号记录在 Result 数组中。
重要提示:
FBC 指令对连续内存进行操作。必须进行测试并确认指令不会更改用户不希望更改的数据。
DDT 与 FBC 指令的区别是:DDT 指令每次发现不匹配项时,会根据源位的值更改参考位的值。而 FBC 指令不更改参考位。
如果指令尝试超出数组的末尾执行读操作,则指令会将 .ER 位置位并生成严重故障。
可用语言
梯形图

操作数
指令中混用数据类型时,需遵从相关的数据转换规则。请参见“数据转换”数据转换。
梯形图
操作数 | 类型 | 格式 | 说明 |
|---|---|---|---|
Source | DINT | 数组标签 | 要与参考数组进行比较的数组 不要 在下标中使用 CONTROL.POS |
Reference | DINT | 数组标签 | 要与源数组进行比较的数组 不要 在下标中使用 CONTROL.POS |
Result | DINT | 数组标签 | 用于存储结果的数组 不要 在下标中使用 CONTROL.POS |
Cmp. Control | CONTROL | 结构 | 比较的控制结构 |
Length | DINT | 立即数 | 要比较的位数 |
Position | DINT | 立即数 | 源数组中的当前位置 初始值通常为 0 |
Result control | CONTROL | 结构 | 结果的控制结构 |
Length | DINT | 立即数 | 结果数组中的存储位置数 |
Position | DINT | 立即数 | 结果数组中的当前位置 初始值通常为 0 |
长度和位置(对应于关联控制标签中的 .LEN 和 .POS)是伪操作数。请参见 伪操作数初始化。
CAUTION:
对于比较控制结构和结果控制结构,应使用不同的标签。这两个结构使用相同标签可能会引发不可预知的操作,从而可能引起设备损坏和人身伤害。
COMPARE 结构
助记符 | 数据类型 | 说明 |
|---|---|---|
.EN | BOOL | 使能位,指示 FBC 指令是否使能。 |
.DN | BOOL | 完成位,当 FBC 指令比较 Source 和 Reference 数组中的最后一位后置位。 |
.FD | BOOL | 发现位,FBC 指令每次记录不匹配项(每次记录一个)或记录所有不匹配项(每次扫描记录全部)后置位。 |
.IN | BOOL | 禁用位,指示 FBC 搜索模式。 0 = “所有”模式 1 =“每次一个不匹配项”模式 |
.ER | BOOL | 错误位,POS 或 LEN 无效时置位。 |
.LEN | DINT | 长度值,指示要比较的位数。 |
.POS | DINT | 位置值,指示当前位。 |
RESULT 结构
助记符 | 数据类型 | 说明 |
|---|---|---|
.DN | BOOL | 完成位,Result 数组已满时置位。 |
.LEN | DINT | 长度值,指示 Result 数组中的存储位置数。 |
.POS | DINT | 位置值,指示 Result 数组中的当前位置。 |
选择搜索模式
如果要: | 选择此模式: |
|---|---|
每次检测一个不匹配项 | 将比较 CONTROL 结构中的 .IN 位置位。 每次 EnableIn 由假转换为真时,FBC 指令会搜索 Source 数组和 Reference 数组之间的下一个不匹配项。找到不匹配项后,该指令将 .FD 位置位,记录该不匹配项的位置,并停止执行。 |
检测所有不匹配项 | 将比较 CONTROL 结构中的 .IN 位清零。 每次 EnableIn 由假跳变为真时,FBC 指令会搜索 Source 数组和 Reference 数组之间的所有不匹配项。 |
影响数学状态标志
否
严重/轻微故障
在以下情况下会发生严重故障: | 故障类型 | 故障代码 |
|---|---|---|
result.POS > 结果数组大小 | 4 | 20 |
有关操作数相关的故障,请参阅 常用属性。
执行
梯形图
条件/状态 | 执行的操作 | 边界检查操作数 |
|---|---|---|
预扫描 | 请参见“FBC 流程图(预扫描)” | 比较控制、结果控制 |
梯级输入条件为假 | 请参见“FBC 流程图(假)” | 不适用 |
梯级输入条件为真 | 请参见“FBC 流程图(真)” | 比较控制、结果控制 |
后扫描 | 不适用 | 所有操作数 |
FBC 流程图(预扫描)

FBC 流程图(假)

FBC 流程图(真)

FBC 流程图(真)- 续

示例
梯形图


提供反馈