在我們日常生活中絕大數用到的電表都是單相的,三相電表主要用于工業用途。今天我們将介紹單相智能電表(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”
}
]