在我们日常生活中绝大数用到的电表都是单相的,三相电表主要用于工业用途。今天我们将介绍单相智能电表(Modbus协议)的链接案例
一、使用产品
海创Box智能采集网关
串口服务器 (上海卓岚 4口 ZLAN5443A)
modbus智能电表 (XT 微型RS485单相导轨电表220V DDS5188)
二、产品连接方式
三、产品配置
海创Box智能采集网关
串口服务器(上海卓岚 4口 ZLAN5443A) 请参考设备厂家提供的说明书以及测试工具
极简版测试用使用手册
modbus智能电表(XT 微型RS485单相导轨电表220V DDS5188) 请参考设备厂家提供的说明书
1P485单相多功能(MODBUS-RTU多功能)
四、设备寄存器地址
详情请见设备说明书1P485单相多功能(MODBUS-RTU多功能).docx
五、项目部署调试
在桌面打开海创Box智能采集网关可视化开发平台进入可视化编辑器。本次教程需要用到如下节点,在左侧节点栏中拖拽出使用
inject周期性触发输入时间戳或者相应的字符
Modbus用于读取Modbus通信协议设备的数据
debug用于调试节点输出
配置相应节点后配置界面如下:
节点配置:
inject设置成周期性触发,主要当触发流程使用,具体配置如下图
Modbus需要设置串口服务器对应设备设置的相应端口以及ip,协议选择Modbus-TCP,通讯模式选择Telnet(透传模式),该设备值为寄存器,使用功能码FC4读取数据,配置相应的寄存器地址和标签以及数据处理规则即可,配置详情如下图
debug在右侧调试窗口输出调试结果,无需配置
部署调试:
按照以上教程配置好流程后,点击部署,部署成功后程序开始运行,就会在调试窗口输出相应的结果,调试结果如下
五、示例
以上教程可以通过拷贝下面代码实现快速复用,在新建的流程中点击界面右侧菜单栏-导入-剪贴板,在文本框中粘贴下面代码后点击确定,即可快速复用
[
{
“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”
}
]