RuleGo RuleGo
🏠首页
  • 快速入门
  • 规则链
  • 标准组件
  • 扩展组件
  • 自定义组件
  • 可视化
  • RuleGo-Server
  • RuleGo-MCP-Server
  • AOP
  • 触发器
  • 高级主题
  • 性能
  • 标准组件
  • 扩展组件
  • 自定义组件
  • 组件市场
  • 概述
  • 快速入门
  • 路由
  • DSL
  • API
  • Options
  • 组件
🔥编辑器 (opens new window)
  • 可视化编辑器 (opens new window)
  • RuleGo-Server (opens new window)
  • ❓问答

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

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

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

  • 规则链

  • 标准组件

  • 扩展组件

    • 扩展组件概述
    • 过滤器

    • 转换器

    • 外部的

    • AI

    • CI

    • IoT

      • OPC_UA订阅
      • OPC_UA Read
      • OPC_UA Write
      • Modbus Node
        • 配置
        • 命令说明
        • Relation Type
        • 执行结果
  • 自定义组件

  • 组件市场

  • 可视化

  • AOP

  • 触发器

  • 高级主题

  • RuleGo-Server

  • 问题

目录

Modbus Node

x/modbus组件:v0.29.0+ 用于执行 Modbus 协议的读取或写入操作。支持TCP和RTU两种通信协议。

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

# 配置

字段 类型 说明 默认值
server string Modbus服务器地址(格式:<mode>://<host:port> 或 <mode>://<serial device>) tcp://127.0.0.1:502
cmd string Modbus命令名称,支持的命令包括:
ReadCoils、ReadDiscreteInputs、ReadRegisters、WriteCoil、WriteRegisters 等
ReadCoils
unitId uint8 单元编号(从机编号),格式:uint8,示例:1 1
address string 寄存器地址,允许使用 ${} 占位符变量,格式:uint16,示例:50或者0x32 无
quantity string 寄存器数量,允许使用 ${} 占位符变量,示例:1 无
value string 寄存器值,允许使用 ${} 占位符变量。读则不需要提供,如果写入多个与逗号隔开,例如:0x01,0x01 true 51,52 无
regType uint 寄存器类型,可选值:
0 - 保持寄存器(HOLDING_REGISTER)功能码:0x03
1 - 输入寄存器(INPUT_REGISTER)功能码:0x03
无
TcpConfig TCP 配置参数
timeout int64 请求超时时间,单位为秒 5
certPath string 证书路径(TLS/SSL连接时需要提供) 无
keyPath string 私钥路径(TLS/SSL连接时需要提供) 无
caPath string CA证书路径(TLS/SSL连接时需要提供) 无
RtuConfig RTU 配置参数
speed uint 串行波特率(仅RTU模式) 19200
dataBits uint 数据位数(仅RTU模式) 8
parity uint 校验位(仅RTU模式),可选值:
0 - 无校验(PARITY_NONE)
1 - 偶校验(PARITY_EVEN)
2 - 奇校验(PARITY_ODD)
0
stopBits uint 停止位数(仅RTU模式) 2
EncodingConfig 编码配置参数
endianness uint 寄存器的字节序,可选值:
1 - 大端(BIG_ENDIAN)
2 - 小端(LITTLE_ENDIAN)
1
wordOrder uint 32位寄存器的字序,可选值:
1 - 高字在前(HIGH_WORD_FIRST)
2 - 低字在前(LOW_WORD_FIRST)
1

# 命令说明

命令名 命令说明 参数描述
ReadCoils 读取线圈状态 address:线圈起始地址
quantity:读取数量
ReadCoil 读取单个线圈状态 address:线圈地址
ReadDiscreteInputs 读取离散输入状态 address:离散输入起始地址
quantity:读取数量
ReadDiscreteInput 读取单个离散输入状态 address:离散输入地址
ReadRegisters 读取寄存器 address:寄存器起始地址
quantity:读取数量
regType:寄存器类型(如保持寄存器或输入寄存器)
ReadRegister 读取单个寄存器 address:寄存器地址
regType:寄存器类型
ReadUint32s 读取无符号32位整数 address:寄存器起始地址
quantity:读取数量
regType:寄存器类型
ReadUint32 读取单个无符号32位整数 address:寄存器地址
regType:寄存器类型
ReadFloat32s 读取浮点数32位 address:寄存器起始地址
quantity:读取数量
regType:寄存器类型
ReadFloat32 读取单个浮点数32位 address:寄存器地址
regType:寄存器类型
ReadUint64s 读取无符号64位整数 address:寄存器起始地址
quantity:读取数量
regType:寄存器类型
ReadUint64 读取单个无符号64位整数 address:寄存器地址
regType:寄存器类型
ReadFloat64s 读取浮点数64位 address:寄存器起始地址
quantity:读取数量
regType:寄存器类型
ReadFloat64 读取单个浮点数64位 address:寄存器地址
regType:寄存器类型
ReadBytes 读取字节数据 address:寄存器起始地址
quantity:读取数量
regType:寄存器类型
ReadRawBytes 读取原始字节数据 address:寄存器起始地址
quantity:读取数量
regType:寄存器类型
WriteCoil 写入单个线圈状态 address:线圈地址
value:写入值(布尔值)
WriteCoils 写入多个线圈状态 address:线圈起始地址
value:写入值(布尔数组)
WriteRegister 写入单个寄存器 address:寄存器地址
value:写入值(16位整数)
WriteRegisters 写入多个寄存器 address:寄存器起始地址
value:写入值(16位整数数组)
WriteUint32 写入单个无符号32位整数 address:寄存器地址
value:写入值(32位整数)
WriteUint32s 写入多个无符号32位整数 address:寄存器起始地址
value:写入值(32位整数数组)
WriteFloat32 写入单个浮点数32位 address:寄存器地址
value:写入值(浮点数)
WriteFloat32s 写入多个浮点数32位 address:寄存器起始地址
value:写入值(浮点数数组)
WriteUint64 写入单个无符号64位整数 address:寄存器地址
value:写入值(64位整数)
WriteUint64s 写入多个无符号64位整数 address:寄存器起始地址
value:写入值(64位整数数组)
WriteFloat64 写入单个浮点数64位 address:寄存器地址
value:写入值(浮点数)
WriteFloat64s 写入多个浮点数64位 address:寄存器起始地址
value:写入值(浮点数数组)
WriteBytes 写入字节数据 address:寄存器起始地址
value:写入值(字节数组)
WriteRawBytes 写入原始字节数据 address:寄存器起始地址
value:写入值(字节数组)

# Relation Type

  • Success: 执行成功,把消息发送到Success链。
  • Failure: 执行失败,把消息发送到Failure链。

# 执行结果

写:不改变消息负荷值。

读:返回一个数组,数组中的每个元素是一个对象,包含以下字段:

  • 字段列表
字段名 数据类型 说明
unitId int 单元编号(从机编号)
type string 数据类型,如"uint16"
address int 地址,标识数据存储位置
value int/float/bool 当前值,表示数据内容
  • 示例数据(读取modbus数据格式):
[
  {
    "unitId": 1,
    "type": "uint16",
    "address": 4,
    "value": 0
  },
  {
    "unitId": 1,
    "type": "uint16",
    "address": 5,
    "value": 0
  },
  {
    "unitId": 1,
    "type": "uint16",
    "address": 6,
    "value": 0
  },
  {
    "unitId": 1,
    "type": "uint16",
    "address": 7,
    "value": 0
  },
  {
    "unitId": 1,
    "type": "uint16",
    "address": 8,
    "value": 0
  },
  {
    "unitId": 1,
    "type": "uint16",
    "address": 9,
    "value": 0
  },
  {
    "unitId": 1,
    "type": "uint16",
    "address": 10,
    "value": 0
  },
  {
    "unitId": 1,
    "type": "uint16",
    "address": 11,
    "value": 0
  },
  {
    "unitId": 1,
    "type": "uint16",
    "address": 12,
    "value": 0
  },
  {
    "unitId": 1,
    "type": "uint16",
    "address": 13,
    "value": 0
  }
]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
在 GitHub 上编辑此页 (opens new window)
上次更新: 2025/04/02, 01:29:50
OPC_UA Write
自定义组件概述

← OPC_UA Write 自定义组件概述→

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

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