位域分配 (BTD)
此信息适用于 CompactLogix 5370、ControlLogix 5570、Compact GuardLogix 5370、GuardLogix 5570、Compact GuardLogix 5380、CompactLogix 5380、ControlLogix 5580、GuardLogix 5580 和 ControlLogix 5590 控制器。
BTD 指令从 Source 复制指定位,将这些位进行相应移位,再将这些位写入 Destination 中。
可用语言
梯形图

功能块
此指令不可用于功能块中。
结构化文本
此指令不可用于结构化文本中。
操作数
指令中混用数据类型时,需遵从相关的数据转换规则。请参见“数据转换”数据转换。
梯形图
操作数 | 类型 | 格式 | 说明 |
|---|---|---|---|
Source | SINT INT DINT | 立即数 标签 | 包含要移动的位的标签 |
Source bit | DINT | 立即数 (0-31) | 移动起始位的编号(最低位编号) 必须在 Source 数据类型的有效范围内 |
Destination | SINT INT DINT | 标签 | 要将位移动到的标签 |
Destination bit | DINT | 立即数 (0-31) | 数据要移动到的位编号,必须在 Destination 数据类型的有效范围内。 |
Length | DINT | 立即数 (1-32) | 要移动的位数 |
说明
使能后,BTD 指令可将一组位从 Source 复制到 Destination。这组位由 Source bit(Source 的最低位编号)和 Length(要复制的位数)确定。Destination bit 用于确定 Destination 中的最低起始位号。Source 保持不变。
如果位域的长度超出 Destination 的范围,则该指令不会保存多余的位。任何多余位都不会回绕到下一个字。
若为 SINT 或 INT 标签,会通过填零转换为 DINT 值。
影响数学状态标志
否
严重/轻微故障
没有特定于此指令的故障。有关操作数相关的故障,请参见通用属性部分。
执行
梯形图
条件/状态 | 执行的操作 |
|---|---|
预扫描 | 不适用 |
梯级输入条件为假。 | 不适用 |
梯级输入条件为真。 | 该指令读取 Source 位,并在移位后复制到 Destination 中。 |
后扫描 | 不适用 |
示例
示例 1
梯形图

使能后,BTD 指令将对 value_1 中的位进行移位。

示例 2

使能后,BTD 指令将 value_1 中的 10 个位进行移位并保存到 value_2 中。

提供反馈