Modbus C1 主站
插件用途
通过 Modbus C1 扩展协议周期读取线圈、离散输入、输入寄存器和保持寄存器,并按变量权限写入。配置页面中的插件名称为“ModbusC1Master”。
公共通道、设备、变量、数据格式和导入操作见采集配置。本页只说明 C1 协议参数、打包上限、地址规则和调试。
选择入口
进入“开发配置 → 采集配置”,按现场链路创建 TCP 客户端、TCP 服务端、串口或 UDP 通道,再创建设备并选择“ModbusC1Master”。
支持范围
| 项目 | 说明 |
|---|---|
| 通道 | TCP 客户端、TCP 服务端、串口、UDP。通道参数必须与设备一致。 |
| 数据类型 | Boolean、Byte、常用有符号/无符号整数、Float、Double、String、Decimal。 |
插件参数
| 参数 | 默认值 | 取值范围 | 说明 |
|---|---|---|---|
| Modbus类型 | ModbusTcp | ModbusTcp 或 ModbusRtu | C1 当前提供 TCP 和 RTU 适配器;不要选择 ModbusAscii。 |
| 默认站号 | 1 | 1~255 | 变量地址未单独指定站号时使用。 |
| FC1 最大读取线圈位数量 | 1600 | 1~2000 | 单次 FC1 读取上限。 |
| FC2 最大读取离散输入位数量 | 1600 | 1~2000 | 单次 FC2 读取上限。 |
| FC3 最大读取保持寄存器数量 | 100 | 1~125 | 单次 FC3 读取上限。 |
| FC4 最大读取输入寄存器数量 | 100 | 1~125 | 单次 FC4 读取上限。 |
| FC15 最大批量写入线圈位数量 | 1968 | 1~1968 | 单次 FC15 写入上限。 |
| FC16 最大批量写入寄存器数量 | 123 | 1~123 | 单次 FC16 写入上限。 |
| DTU ID | - | - | 通过 DTU 服务接入时填写的设备标识。 |
打包上限通常保持默认。现场设备限制更小时,应按设备手册降低对应上限。
地址规则
| 地址 | 数据区 | 常用读取功能码 |
|---|---|---|
00001 | 线圈 | FC1 |
10001 | 离散输入 | FC2 |
30001 | 输入寄存器 | FC4 |
40001 | 保持寄存器 | FC3 |
40001;s=2;:读取站号 2 的第一个保持寄存器。40001;w=16;:写入时使用 FC16。- 地址按 1 起始填写;变量数据类型占用的寄存器不能与相邻变量重叠。
设备调试
进入“开发配置 → 采集配置”,选择 Modbus C1 设备后点击“更多功能”并打开“调试”。
| 功能 | 作用 |
|---|---|
| 读写 | 按 C1 地址规则执行单点读取或安全写入。 |
| 消息 | 查看收发报文和协议日志,检查站号、功能码与响应。 |


先读取已确认地址。写入前核对变量读写权限、功能码和现场安全。
验证方法
- 读取一个已确认寄存器,核对站号、值、数据类型和字节顺序。
- 查看“消息”中的请求和正常响应。
- 仅对允许测试的变量写入,并按现场要求回读确认。
常见问题
| 现象 | 检查方法 |
|---|---|
| 设备无响应 | 通道、Modbus 类型(仅 TCP/RTU)、站号、地址、功能码、串口参数或网络。 |
| 返回异常码 | 功能码、地址范围、读取数量和设备支持范围。 |
| 数值不正确 | 数据类型、字节顺序、寄存器起始方式和地址重叠。 |
| 写入失败 | 变量权限、写功能码、数据类型和设备写保护。 |