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 点位写
          • 配置
            • 点位表 points
          • 写入规则
          • 输入/输出
          • 示例
          • 关联组件
        • 通用采集读
        • IoT 写
        • IEC 104 读
        • IEC 104 写
        • FINS 读
        • FINS 写
        • MC Node
        • MC 读
        • MC 写
        • DL/T 645 Node
        • DL/T 645 读
        • DL/T 645 写
      • 时序数据库

      • 控制

      • IoT 场景示例
    • 流式计算

    • 服务发现

    • 文件

  • 自定义组件

  • 组件市场

  • 可视化

  • AOP

  • 触发器

  • 高级主题

  • 智能体框架

  • RuleGo-Server

  • 问题

目录

Modbus 点位写

x/modbusWrite组件:v0.37.0+ 通过 Modbus 协议(TCP/RTU)批量写入点位,地址用工业主流的 Modicon 传统地址,成功走 Success 链、失败走 Failure 链。

与命令式 x/modbus(单点 Cmd/Address/Quantity)不同,本组件面向点位表写入,与 x/modbusRead 共享同一套点位结构与连接配置。

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

# 配置

字段 类型 说明 默认值
server string Modbus 服务器地址(tcp://host:port 或 rtu:///dev/ttyUSB0) tcp://127.0.0.1:502
unitId uint8 从机编号 1
points array 默认写入点位表(见下)。若 msg.Data 带点位列表则优先使用 无
tcpConfig object TCP 配置(timeout/certFile/certKeyFile/caFile) 无
rtuConfig object RTU 串口配置(speed/dataBits/parity/stopBits) 无
encodingConfig object 编码配置(endianness/wordOrder,多寄存器字节序) 大端高字

# 点位表 points

字段 说明
name 点位名称
addr Modicon 地址(1-based):00001=线圈(Coil)、10001=离散输入(Discrete Input)、30001=输入寄存器(Input Register)、40001=保持寄存器(Holding Register);扩展 6 位 400001+ 为保持寄存器
type 数据类型:BOOL/UINT16/INT16/UINT32/INT32/UINT64/INT64/FLOAT32/FLOAT64
value 写入值(字符串形式,如 "23.5"、"true"、"0x1F"),支持 ${msg.xx} 模板
endian 多寄存器字节序:ABCD/CDAB/BADC/DCBA

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

# 写入规则

  • 只读区拒写:10001(离散输入) / 30001(输入寄存器) 为只读,写入直接失败
  • BOOL 写仅限线圈区:BOOL 类型只能写 00001(线圈);寄存器区无原子位写能力
  • 多寄存器类型:UINT32/INT32/FLOAT32/UINT64/INT64/FLOAT64 跨多个寄存器,按 endian 编码写入

# 输入/输出

  • 输入:msg.Data 带点位列表 [{"name","addr","type","value"}](优先于配置 points)
  • 输出:成功走 Success 链,失败走 Failure 链(任一点位失败即失败)

# 示例

配置默认写入点位:

{
  "id": "modbus_write",
  "type": "x/modbusWrite",
  "configuration": {
    "server": "tcp://192.168.1.100:502",
    "unitId": 1,
    "points": [
      {"name": "setpoint", "addr": "40010", "type": "FLOAT32", "value": "${msg.targetTemp}"},
      {"name": "motor", "addr": "00001", "type": "BOOL", "value": "true"}
    ]
  }
}
1
2
3
4
5
6
7
8
9
10
11
12

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

[{"name": "setpoint", "addr": "40010", "type": "FLOAT32", "value": "50.5"}]
1

# 关联组件

  • 读取:x/modbusRead
  • 统一写入入口:x/iotWrite(driver=modbus)
  • 命令式(旧):x/modbus(保留)
在 GitHub 上编辑此页 (opens new window)
上次更新: 2026/07/31, 09:31:44
Modbus 点位读
通用采集读

← Modbus 点位读 通用采集读→

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

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