RuleGo RuleGo
🏠首页
  • 快速入门
  • 规则链
  • 标准组件
  • 扩展组件
  • 自定义组件
  • 可视化
  • RuleGo-Server
  • AOP
  • 触发器
  • 高级主题
  • 性能
  • 标准组件
  • 扩展组件
  • 自定义组件
  • 流式计算
  • 组件市场
  • 概述
  • 快速入门
  • 路由
  • DSL
  • API
  • Options
  • 组件
🔥编辑器 (opens new window)
  • 可视化编辑器 (opens new window)
  • RuleGo-Server (opens new window)
  • 🌊StreamSQL
  • 🤖智能体框架
  • 🦀TPCLAW 智能体平台 (opens new window)
  • ❓问答

    • FAQ
💖支持
👥加入社区
  • Github (opens new window)
  • Gitee (opens new window)
  • GitCode (opens new window)
  • 更新日志 (opens new window)
  • English
  • 简体中文
🏠首页
  • 快速入门
  • 规则链
  • 标准组件
  • 扩展组件
  • 自定义组件
  • 可视化
  • RuleGo-Server
  • AOP
  • 触发器
  • 高级主题
  • 性能
  • 标准组件
  • 扩展组件
  • 自定义组件
  • 流式计算
  • 组件市场
  • 概述
  • 快速入门
  • 路由
  • DSL
  • API
  • Options
  • 组件
🔥编辑器 (opens new window)
  • 可视化编辑器 (opens new window)
  • RuleGo-Server (opens new window)
  • 🌊StreamSQL
  • 🤖智能体框架
  • 🦀TPCLAW 智能体平台 (opens new window)
  • ❓问答

    • FAQ
💖支持
👥加入社区
  • Github (opens new window)
  • Gitee (opens new window)
  • GitCode (opens new window)
  • 更新日志 (opens new window)
  • English
  • 简体中文

广告采用随机轮播方式显示 ❤️成为赞助商
  • 快速入门

  • 规则链

  • 标准组件

  • 扩展组件

    • 扩展组件概述
    • 过滤器

    • 动作

    • 转换器

    • 外部的

    • ai

    • CI

    • IoT

      • IoT 组件概览
      • 输入端点

      • 协议采集

        • OPC_UA Read
        • OPC_UA Write
        • Modbus Node
        • 串口通信
        • S7 读
        • S7 写
        • EtherNet/IP 读
        • EtherNet/IP 写
        • SNMP 读
        • SNMP 写
        • Modbus 点位读
        • Modbus 点位写
        • 通用采集读
        • IoT 写
        • IEC 104 读
        • IEC 104 写
        • BACnet 读
          • 配置
            • 点位表字段
          • 采集模型
          • 输入/输出
          • 示例
          • 关联组件
        • FINS 读
        • FINS 写
        • MC Node
        • MC 读
        • MC 写
        • DL/T 645 Node
        • DL/T 645 读
        • DL/T 645 写
      • 时序数据库

      • 控制

      • IoT 场景示例
    • 流式计算

    • 服务发现

    • 文件

  • 自定义组件

  • 组件市场

  • 可视化

  • AOP

  • 触发器

  • 高级主题

  • 智能体框架

  • RuleGo-Server

  • 问题

目录

BACnet 读

x/bacnetRead组件:v0.37.0+ BACnet/IP 楼宇自控协议客户端,读取对象属性(analog/binary/multi-state 的 present-value 等),结果以统一契约 iot_points.Data 列表写回 msg.Data,成功走 Success 链、失败走 Failure 链。

需要额外引入扩展库: rulego-components-iot (opens new window)

# 配置

字段 类型 说明 默认值
server string 设备地址 host:port,BACnet/IP 默认端口 47808 127.0.0.1:47808
timeout int 请求超时(秒) 5
points array 默认点位表(addr=对象地址)。若 msg.Data 带点位列表则优先使用(按需读) 见下方

# 点位表字段

字段 说明 示例
name 点位名称 送风温度
addr 对象地址:对象类型:实例[:属性],属性缺省 present-value analog-input:0、ai:1、device💯object-name
type 数据类型(可选,读取时类型由响应自带) FLOAT32
scale 工程量缩放系数,工程量 = raw × scale + offset 0.1
offset 工程量偏移量 0

对象类型支持全名(analog-input)、缩写(ai/ao/av/bi/bo/bv/msi/mso/msv)或数字;属性同理(present-value/pv/description/object-name/units 或数字)。

各字段支持 ${msg.xx} / ${metadata.xx} 模板。

# 采集模型

多点采集时按对象分组,发起一次 ReadPropertyMultiple 请求批量读取(N 个点位 1 次往返,BACnet 高效采集的标准方式);单点读取或设备不支持 RPM 时自动回退到逐点 ReadProperty。支持应用数据类型:布尔(binary 对象)、枚举(multi-state)、无符号/有符号整数、浮点 real/double、字符串等。单点失败标 error 继续,连接级失败自动重连重试。

# 输入/输出

  • 输入(可选):msg.Data 带点位列表 JSON 则优先使用(动态采集)
  • 输出:[{"name","value","timestamp","error"}](timestamp 为纳秒;error 仅单点失败时存在)
[
  {"name": "送风温度", "value": 21.5, "timestamp": 1789999999000000000},
  {"name": "风机", "value": true, "timestamp": 1789999999000000000}
]
1
2
3
4

# 示例

定时采集(前置 schedule 端点):

{
  "id": "bacnet_read",
  "type": "x/bacnetRead",
  "configuration": {
    "server": "192.168.1.10:47808",
    "timeout": 5,
    "points": [
      {"name": "送风温度", "addr": "analog-input:0", "scale": 0.1},
      {"name": "风机", "addr": "bi:1"},
      {"name": "模式", "addr": "multistate-value:2"}
    ]
  }
}
1
2
3
4
5
6
7
8
9
10
11
12
13

按需读(msg.Data 带点位列表,优先于配置):

[{"name": "设备名", "addr": "device:100:object-name"}]
1

# 关联组件

  • 写入:x/bacnetWrite
  • 统一采集入口:x/iotRead(driver=bacnet)
  • 转时序点落盘:x/tsdbWrite(配置 measurement)
在 GitHub 上编辑此页 (opens new window)
上次更新: 2026/08/05, 01:52:29
IEC 104 写
FINS 读

← IEC 104 写 FINS 读→

Theme by Vdoing | Copyright © 2023-2026 RuleGo Team | Apache 2.0 License

  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式