🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# 单相智能电表(Modbus协议) * * * 在我们日常生活中绝大数用到的电表都是单相的,三相电表主要用于工业用途。今天我们将介绍单相智能电表(Modbus协议)的链接案例 ## 一、使用产品 1. 海创Box智能采集网关 2. 串口服务器 (上海卓岚 4口 ZLAN5443A) 3. modbus智能电表 (XT 微型RS485单相导轨电表220V DDS5188) ![](https://box.kancloud.cn/6312f0986109be52f311a23dfcc05551_956x757.png) ## 二、产品连接方式 ![](https://box.kancloud.cn/16f76664a9202e3a62b1e14996e21b63_944x709.png) ## 三、产品配置 1. **海创Box智能采集网关** 2. **串口服务器**(上海卓岚 4口 ZLAN5443A) 请参考设备厂家提供的说明书以及测试工具[极简版测试用使用手册.docx](http://192.168.4.251:2020/img/1545032077720%E6%9E%81%E7%AE%80%E7%89%88%E6%B5%8B%E8%AF%95%E7%94%A8%E4%BD%BF%E7%94%A8%E6%89%8B%E5%86%8C.docx)[ZLVirCom4.96.exe](http://192.168.4.251:2020/img/1545032124552ZLVirCom4.96.exe) 3. **modbus智能电表**(XT 微型RS485单相导轨电表220V DDS5188) 请参考设备厂家提供的说明书[1P485单相多功能(MODBUS-RTU多功能).docx](http://192.168.4.251:2020/img/15450352182001P485%E5%8D%95%E7%9B%B8%E5%A4%9A%E5%8A%9F%E8%83%BD%EF%BC%88MODBUS-RTU%E5%A4%9A%E5%8A%9F%E8%83%BD%EF%BC%89.docx) ## 四、设备寄存器地址 ![](http://192.168.4.251:2020/img/1545103903953image.png) 详情请见设备说明书[1P485单相多功能(MODBUS-RTU多功能).docx](http://192.168.4.251:2020/img/15450352182001P485%E5%8D%95%E7%9B%B8%E5%A4%9A%E5%8A%9F%E8%83%BD%EF%BC%88MODBUS-RTU%E5%A4%9A%E5%8A%9F%E8%83%BD%EF%BC%89.docx) ## 五、项目部署调试 在桌面打开**海创Box智能采集网关**可视化开发平台进入可视化编辑器。本次教程需要用到如下节点,在左侧**节点栏**中拖拽出使用 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) 配置相应节点后配置界面如下: ![](https://box.kancloud.cn/f295eb89e69a877fab067b2dd37bebb7_1920x1017.png) #### 节点配置: * **inject**设置成周期性触发,主要当触发流程使用,具体配置如下图 ![](http://192.168.4.251:2020/img/1545104407057image.png) * **Modbus**需要设置串口服务器对应设备设置的相应端口以及ip,协议选择Modbus-TCP,通讯模式选择Telnet(透传模式),该设备值为寄存器,使用功能码FC4读取数据,配置相应的寄存器地址和标签以及数据处理规则即可,配置详情如下图 ![](http://192.168.4.251:2020/img/1545104788791image.png) ![](http://192.168.4.251:2020/img/1545104812599image.png) * **debug**在右侧调试窗口输出调试结果,无需配置 #### 部署调试: 按照以上教程配置好流程后,点击**部署**,部署成功后程序开始运行,就会在调试窗口输出相应的结果,调试结果如下 ![](https://box.kancloud.cn/4b05652119b238e2a2e5407bd8574c13_1920x1017.png) ## 五、示例 以上教程可以通过拷贝下面代码实现快速复用,在新建的流程中点击界面右侧**菜单栏**\-**导入**\-**剪贴板**,在文本框中粘贴下面代码后点击确定,即可快速复用 ~~~ [ { "id": "f13c5ed7.d04f1", "type": "debug", "z": "7ab58a83.afdcb4", "name": "", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "x": 720, "y": 340, "wires": [] }, { "id": "518a69cb.f1d9e8", "type": "iot-modbus", "z": "7ab58a83.afdcb4", "name": "", "server": "688cd686.999e98", "fc": "InputRegister", "columns": [ { "Key": "dy", "Label": "电压", "Address": "0", "Quantity": "2", "Arithmetic": "%s.toFixed(2)", "ValueType": "FloatBE" }, { "Key": "dl", "Label": "电流", "Address": "8", "Quantity": "2", "Arithmetic": "%s.toFixed(2)", "ValueType": "FloatBE" }, { "Key": "gl", "Label": "有功功率", "Address": "18", "Quantity": "2", "Arithmetic": "%s.toFixed(2)", "ValueType": "FloatBE" }, { "Key": "ys", "Label": "功率因素", "Address": "42", "Quantity": "2", "Arithmetic": "%s.toFixed(2)", "ValueType": "FloatBE" }, { "Key": "pl", "Label": "频率", "Address": "54", "Quantity": "2", "Arithmetic": "%s.toFixed(2)", "ValueType": "FloatBE" }, { "Key": "zdl", "Label": "总有功电量", "Address": "256", "Quantity": "2", "Arithmetic": "%s.toFixed(2)", "ValueType": "FloatBE" } ], "x": 540, "y": 340, "wires": [ [ "f13c5ed7.d04f1" ] ] }, { "id": "93e73185.c6074", "type": "inject", "z": "7ab58a83.afdcb4", "name": "", "topic": "", "payload": "", "payloadType": "date", "repeat": "30", "crontab": "", "once": false, "onceDelay": 0.1, "x": 390, "y": 340, "wires": [ [ "518a69cb.f1d9e8" ] ] }, { "id": "688cd686.999e98", "type": "iot-modbus-client", "z": "", "name": "", "clienttype": "Modbus-TCP", "host": "192.168.7.191", "post": "4196", "tcptype": "Telnet", "serialport": "COM1", "serialtype": "RTU-Buffered", "baudrate": "9600", "databits": "8", "stopbits": "1", "parity": "None", "unitid": "3", "timeout": "2000", "connectiondelay": "100" } ] ~~~