
RBitfield — 复位位域
复位位域:从 operand 开始,对 N 个位执行清 0。
在 TIA 里试一下
选一个示例块,通过 TiaLink 导入当前 TIA 项目:预检、默认不覆盖、不自动保存。示例块不会自动运行;导入后请在 OB1 调用并接变量。
一句话
RBitfield 复位位域:从 operand 开始,对 N 个位执行清 0。
符号与引脚
分类:位逻辑
不需要实例
模板值:无
| 引脚 | 方向 | 说明 |
|---|---|---|
en | 流输入 | 使能输入 |
n | 输入 | 位数量(必须是常量 UInt) |
operand | 输入 | 起始位(Bool 数组元素) |
符号见下面的最小示例;引脚名与方向来自 lad-ir 指令目录,说明为本站补充。
最小示例
Enable=1 时,从 Flags[0] 开始把 5 个位清 0:Flags[0..4]。

图中 # 前缀表示块内局部变量;实际工程里也可以是全局标签或 DB 变量。
怎么工作
n是位数量,必须是常量(如5),不能接变量;类型用UInt。operand是起始位,用 Bool 数组元素(如Flags[0]),不要用 Byte 的位切片。- 指令从起始元素开始,连续操作
n个 Bool 元素;要保证数组长度足够。 SBitfield/RBitfield是 terminal:rung 在它这里结束,没有 flow-out。- 没有
ENO;使能由EN控制。
常用场景
常见坑
- n 接变量:TIA 报“只允许常量”;把位数写成常量。
- operand 用位切片:用 Bool 数组元素(
Flags[0]),不要用Flags.x0。 - 数组越界:
n不要超过从起始元素到数组末尾的长度。 - 和 SCoil/RCoil 混淆:位域一次操作多个位;线圈只操作一个位。
- terminal:后面不能再接线圈/盒;需要继续逻辑时另起 rung。
