跳到正文
Learn-LAD
梯形图示例库/LAD 指令手册/RBitfield — 复位位域

RBitfield — 复位位域

复位位域:从 operand 开始,对 N 个位执行清 0。

位逻辑 S7-1200/1500 TIA V19 别名:复位位域 / RBitfield / RBITFIELD

在 TIA 里试一下

选一个示例块,通过 TiaLink 导入当前 TIA 项目:预检、默认不覆盖、不自动保存。示例块不会自动运行;导入后请在 OB1 调用并接变量。

TiaLink 设置

默认 http://localhost:8080。也可以在本页地址后加 ?tialink= 临时指定。

TiaLink 启动时若设置了 --api-token,这里要填相同的值;只保存在本机浏览器 localStorage,不会上传。

一句话

RBitfield 复位位域:从 operand 开始,对 N 个位执行清 0。

符号与引脚

分类:位逻辑 不需要实例 模板值:无
引脚方向说明
en流输入使能输入
n输入位数量(必须是常量 UInt)
operand输入起始位(Bool 数组元素)

符号见下面的最小示例;引脚名与方向来自 lad-ir 指令目录,说明为本站补充。

最小示例

Enable=1 时,从 Flags[0] 开始把 5 个位清 0:Flags[0..4]。

RBitfield_Example:Network 1 — RBitfield — 复位位域

图中 # 前缀表示块内局部变量;实际工程里也可以是全局标签或 DB 变量。

怎么工作

  • n 是位数量,必须是常量(如 5),不能接变量;类型用 UInt。
  • operand 是起始位,用 Bool 数组元素(如 Flags[0]),不要用 Byte 的位切片。
  • 指令从起始元素开始,连续操作 n 个 Bool 元素;要保证数组长度足够。
  • SBitfield/RBitfield 是 terminal:rung 在它这里结束,没有 flow-out。
  • 没有 ENO;使能由 EN 控制。

常用场景

1. 基本位域

同上面的最小示例。

2. 复位一组报警位

把 Alarms[0..2] 三个位一起清 0。

RBitfield_Reset-bits:Network 1 — 复位一组报警位

常见坑

  • n 接变量:TIA 报“只允许常量”;把位数写成常量。
  • operand 用位切片:用 Bool 数组元素(Flags[0]),不要用 Flags.x0。
  • 数组越界:n 不要超过从起始元素到数组末尾的长度。
  • 和 SCoil/RCoil 混淆:位域一次操作多个位;线圈只操作一个位。
  • terminal:后面不能再接线圈/盒;需要继续逻辑时另起 rung。

← 返回 LAD 指令手册