Skip to content

Commit c1e76d2

Browse files
committed
feat: 增加modbusTCP直连接入说明文档
1 parent d9b0ccf commit c1e76d2

3 files changed

Lines changed: 168 additions & 0 deletions

File tree

Lines changed: 168 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,168 @@
1+
---
2+
sidebar_position: 4
3+
---
4+
5+
# ModbusTCP直连接入
6+
7+
## 1. 功能概述
8+
9+
ThingsPanel的Modbus TCP接入服务支持直接连接工业设备,自动采集数据并上报平台。主要特性:
10+
11+
- **可视化配置**:Web界面配置设备参数和数据地址表
12+
- **智能轮询**:灵活的数据采集策略和周期配置
13+
- **设备控制**:支持线圈和寄存器的写入控制
14+
- **连接管理**:自动重连、连接池管理、状态监控
15+
16+
## 2. 快速开始
17+
18+
前提:已部署ModbusTCP直连接入服务并注册到平台
19+
20+
### 2.1 准备设备信息
21+
22+
配置前需要收集以下设备信息:
23+
24+
| 参数 | 说明 | 示例 |
25+
|------|------|------|
26+
| IP地址 | 设备IP地址 | 192.168.1.100 |
27+
| 端口 | Modbus TCP端口 | 502 |
28+
| 从站ID | 设备SlaveID | 1 |
29+
| 数据地址 | 寄存器地址范围 | 40001-40010 |
30+
31+
### 2.2 创建设备模板
32+
33+
![创建设备模板](modbus_image/modbus-tcp-01.png)
34+
35+
1. 进入 设备接入-设备模板
36+
2. 选择设备接入类型:直连设备
37+
3. 选择Modbus TCP(直连),认证类型选择无认证
38+
4. 填写采集周期、是否启用地址合并优化
39+
5. 配置采集参数,参数说明如下
40+
41+
| 配置项 | 说明 | 示例 |
42+
|--------|------|------|
43+
| 数据点名称 | 唯一标识 | temperature |
44+
| 功能码 | Modbus功能码 | 03(读保持寄存器) |
45+
| 起始地址 | 寄存器地址 | 40001 |
46+
| 数据类型 | 数据解析类型 | Float32 |
47+
| 字节序 | 大小端 | 大端 |
48+
| 缩放系数 | 可选,数值缩放 | 0.1 |
49+
| 单位 | 可选 | °C |
50+
51+
52+
53+
### 2.3 创建设备
54+
55+
![创建设备](modbus_image/modbus-tcp-02.png)
56+
57+
1. 进入 设备接入 -**设备管理** → **添加设备**
58+
2. 填写设备名称,选择设备类型:上一步创建的设备模板
59+
3. 进入设备详情,选择接入页签,填写设备IP地址、设备端口、从设备ID 保存
60+
61+
62+
```
63+
设备IP:192.168.1.100
64+
端口:502
65+
从站ID:1
66+
```
67+
68+
## 3. 数据地址表配置
69+
70+
### 3.1 添加数据点
71+
72+
点击 **数据地址表** → **添加数据点**,配置采集参数:
73+
74+
| 配置项 | 说明 | 示例 |
75+
|--------|------|------|
76+
| 数据点名称 | 唯一标识 | temperature |
77+
| 功能码 | Modbus功能码 | 03(读保持寄存器) |
78+
| 起始地址 | 寄存器地址 | 40001 |
79+
| 数据长度 | 寄存器数量 | 2 |
80+
| 数据类型 | 数据解析类型 | Float32 |
81+
| 字节序 | 大小端 | 大端 |
82+
| 缩放系数 | 数值缩放 | 0.1 |
83+
84+
### 3.2 支持的功能码
85+
86+
| 功能码 | 说明 | 地址范围 |
87+
|--------|------|----------|
88+
| 01/05 | 读/写线圈状态 | 00001-09999 |
89+
| 02 | 读写离散输入 | 10001-19999 |
90+
| 03/06 | 读/写保持寄存器 | 40001-49999 |
91+
| 04 | 读输入寄存器 | 30001-39999 |
92+
93+
### 3.3 数据类型
94+
95+
| 类型 | 占用寄存器 | 说明 |
96+
|------|------------|------|
97+
| Bool | 1 | 布尔值 |
98+
| Int16 | 1 | 16位有符号整数 |
99+
| UInt16 | 1 | 16位无符号整数 |
100+
| Int32 | 2 | 32位有符号整数 |
101+
| UInt32 | 2 | 32位无符号整数 |
102+
| Float32 | 2 | 32位浮点数 |
103+
| Float64 | 4 | 64位浮点数 |
104+
105+
## 4. 设备控制
106+
107+
### 4.1 支持的控制类型
108+
109+
- **线圈控制**:功能码05(单个线圈)
110+
- **寄存器控制**:功能码06(单个寄存器)、16(多个寄存器)
111+
112+
113+
114+
### 4.2 控制操作
115+
116+
从平台可以对设备进行实时控制,按照配置的数据点名称下发控制指令:
117+
118+
```json
119+
{
120+
"temperature": 15.2,
121+
"switch": 1,
122+
"speed": 1200
123+
}
124+
```
125+
126+
说明:
127+
- `temperature`:设置目标温度值
128+
- `switch`:控制开关状态(0=关,1=开)
129+
130+
## 5. 故障排除
131+
132+
### 5.1 常见问题
133+
134+
| 问题 | 可能原因 | 解决方案 |
135+
|------|----------|----------|
136+
| 设备无法连接 | 网络不通、IP地址错误 | 检查网络连接,确认设备IP |
137+
| 数据读取失败 | 地址配置错误、功能码不支持 | 检查寄存器地址和功能码 |
138+
| 数据异常 | 数据类型错误、字节序设置错误 | 确认数据类型和字节序设置 |
139+
| 控制失败 | 设备不支持写操作、权限不足 | 检查设备写权限和功能码支持 |
140+
141+
### 5.2 调试建议
142+
143+
1. **逐步配置**:先配置少量数据点,确认正常后再增加
144+
2. **使用工具**:可使用Modbus调试工具验证设备通信
145+
3. **查看日志**:检查系统日志获取详细错误信息
146+
4. **网络测试**:使用ping命令测试网络连通性
147+
148+
## 6. 性能优化
149+
150+
### 6.1 地址合并优化
151+
152+
启用地址合并优化可以提高采集效率:
153+
154+
- **连续地址**:系统会自动合并连续的寄存器地址
155+
- **减少请求**:减少Modbus请求次数,提高响应速度
156+
- **建议**:将相关数据点配置在连续的地址范围内
157+
158+
### 6.2 采集周期设置
159+
160+
根据实际需求设置合适的采集周期:
161+
162+
- **高频数据**:重要参数可设置较短周期(1-5秒)
163+
- **普通数据**:一般参数设置中等周期(10-30秒)
164+
- **状态数据**:变化较少的参数可设置较长周期(60秒以上)
165+
166+
## 参考实例
167+
168+
[ThingsPanel物联网平台直连ModbusTCP设备【视频】](https://www.bilibili.com/video/BV1gJnAzfEk2/?spm_id_from=333.1387.homepage.video_card.click)
101 KB
Loading
75.2 KB
Loading

0 commit comments

Comments
 (0)