|
| 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 | + |
| 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 | + |
| 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) |
0 commit comments