ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
# Modbus连接示例 * * * 本文会给你好好介绍如何快速连接Modbus RTU设备 。 假定你已经了解Modbus协议并且你的将要连接的设备也支持Modbus通讯 ,那么请继续,否则请先阅读[Modbus连接说明](Modbus连接说明) ## 一、使用产品 1. 操作系统: windows 7、windows 10 (32/64位) 2. 开发平台:海创-IIoT ![](https://box.kancloud.cn/d5cc6587d35b8a69e03a941e22b4d022_62x76.png) 3. Modbus Slave调试工具(模拟Modbus通讯协议) ![](https://box.kancloud.cn/589a465dca9c985fd3cba7f1229b6792_71x84.png) ## 二、搭建Modbus 服务器 1. 打开Modbus Slave软件,配置设备ID为1,功能码03,寄存器地址0值预设为1,寄存器地址1值预设为2。 ![](https://box.kancloud.cn/1a9657f74238e2897060e099e9624339_630x556.png) 2. 打开Modbus Slave软件,Connection->Connect..., Connection选项卡中选择TCP/IP,TCP/IP使用502端口,点击OK启动站点监听。 ![](https://box.kancloud.cn/23365853e5790c416534ab41e7fd5384_618x548.png) ## 三、平台采集配置 1. **inject**周期性触发输入时间戳或者相应的字符 ![](https://box.kancloud.cn/7e74ac7b273a6862cb72e1b2a8953873_71x67.png) 2. **Modbus**用于读取Modbus通信协议设备的数据 ![](https://box.kancloud.cn/4dbd10b9ba405b31e61dafec89ba79f0_76x72.png) 3. **debug**用于调试节点输出 ![](https://box.kancloud.cn/9827bdf1fb29e4b1dd47893670b6cbd0_72x72.png) 1. **打开海创-IIoT可视化平台** 在桌面打开**海创Box智能采集网关**可视化开发平台进入可视化编辑器。本次教程需要用到如下节点,在左侧**节点栏**中拖拽出使用,如下图所示: ![](https://box.kancloud.cn/2d8150445577dd4e30b9c82100292432_447x131.png) 然后画上连接线如下图所示: ![](https://box.kancloud.cn/b7db59360ad1352de7b9050bc0ad1eeb_395x106.png) * **inject**主要当触发流程使用,无需配置 * **debug**在右侧调试窗口输出调试结果,无需配置 * **Modbus**Modbus通讯协议:通讯设备指令,配置请看下文 2. 配置**Modbus 节点** 双击**Modbus 节点**,看到节点属性: ![](https://box.kancloud.cn/5ac8e1bf47e754c1e535dd2da618af5f_801x678.png) 节点名称:(可选); FC: 埴写 “Modbus Slave软件”设置的 FC 3 ; 然后点击进入“笔状按键”进入连接详细页面,填写如下信息,注:地址为你的 “Modbus Slave软件”安装电脑所用的IP地址 ![](https://box.kancloud.cn/7b8e06bbfe487628889439d1886ee921_503x570.png) 埴写**数据字典**,数据字典是对应该设备的寄存器地址,点击右下“方+添加”各项参数: 单元ID: 每次采集对应Modbus的设备ID,上面的属性配置中已全局设置,这里可以不填 地址:对应Modbus寄存器地址 长度:数据返回长度 数据类型:数据返回类型 算法:对返回值进值运算,如%s/10 ![](https://box.kancloud.cn/164e34285c552f6300b3cdfcb397428b_1266x576.png) ## 四、完成部署 按照以上教程配置好流程后,点击**部署**,部署成功后程序开始运行,就会在调试窗口输出相应的结果,调试结果如下 ![](https://box.kancloud.cn/936aaeb415f7a6c54651a9c0f240b39a_1386x853.png) ## 五、示例 以上教程可以通过拷贝下面代码实现快速复用,在新建的流程中点击界面右侧**菜单栏**\-**导入**\-**剪贴板**,在文本框中粘贴下面代码后点击确定,即可快速复用 ~~~ [ { "id": "b3bb7e2.e68d28", "type": "iot-modbus", "z": "2d09479e.50f728", "name": "", "server": "4f40e51a.38713c", "fc": "HoldingRegister", "columns": [ { "Key": "地址1", "Label": "addr1", "UnitId": "", "Address": "0", "Quantity": "1", "ValueType": "Int16BE", "Arithmetic": "" }, { "Key": "地址2", "Label": "addr2", "UnitId": "", "Address": "1", "Quantity": "1", "ValueType": "Int16BE", "Arithmetic": "" } ], "x": 335, "y": 220, "wires": [ [ "824a1771.8c3ce8" ] ] }, { "id": "c03ac5cb.fda5d8", "type": "inject", "z": "2d09479e.50f728", "name": "", "topic": "", "payload": "", "payloadType": "date", "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "x": 195, "y": 220, "wires": [ [ "b3bb7e2.e68d28" ] ] }, { "id": "824a1771.8c3ce8", "type": "debug", "z": "2d09479e.50f728", "name": "调试", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "x": 535, "y": 220, "wires": [] }, { "id": "4f40e51a.38713c", "type": "iot-modbus-client", "z": "", "name": "", "clienttype": "Modbus-TCP", "host": "192.168.7.162", "post": "502", "tcptype": "Defautl", "serialport": "COM1", "serialtype": "RTU-Buffered", "baudrate": "9600", "databits": "8", "stopbits": "1", "parity": "None", "unitid": "1", "timeout": "2000", "connectiondelay": "100" } ] ~~~