天天看點

單相智能電表(Modbus協定)

在我們日常生活中絕大數用到的電表都是單相的,三相電表主要用于工業用途。今天我們将介紹單相智能電表(Modbus協定)的連結案例

一、使用産品

海創Box智能采集網關

序列槽伺服器 (上海卓岚 4口 ZLAN5443A)

modbus智能電表 (XT 微型RS485單相導軌電表220V DDS5188)

單相智能電表(Modbus協定)

二、産品連接配接方式

單相智能電表(Modbus協定)

三、産品配置

海創Box智能采集網關

序列槽伺服器(上海卓岚 4口 ZLAN5443A) 請參考裝置廠家提供的說明書以及測試工具

極簡版測試用使用手冊

modbus智能電表(XT 微型RS485單相導軌電表220V DDS5188) 請參考裝置廠家提供的說明書

1P485單相多功能(MODBUS-RTU多功能)

四、裝置寄存器位址

單相智能電表(Modbus協定)

詳情請見裝置說明書1P485單相多功能(MODBUS-RTU多功能).docx

五、項目部署調試

在桌面打開海創Box智能采集網關可視化開發平台進入可視化編輯器。本次教程需要用到如下節點,在左側節點欄中拖拽出使用

inject周期性觸發輸入時間戳或者相應的字元

單相智能電表(Modbus協定)

Modbus用于讀取Modbus通信協定裝置的資料

單相智能電表(Modbus協定)

debug用于調試節點輸出

單相智能電表(Modbus協定)

配置相應節點後配置界面如下:

單相智能電表(Modbus協定)

節點配置:

inject設定成周期性觸發,主要當觸發流程使用,具體配置如下圖

單相智能電表(Modbus協定)

Modbus需要設定序列槽伺服器對應裝置設定的相應端口以及ip,協定選擇Modbus-TCP,通訊模式選擇Telnet(透傳模式),該裝置值為寄存器,使用功能碼FC4讀取資料,配置相應的寄存器位址和标簽以及資料處理規則即可,配置詳情如下圖

單相智能電表(Modbus協定)
單相智能電表(Modbus協定)

debug在右側調試視窗輸出調試結果,無需配置

部署調試:

按照以上教程配置好流程後,點選部署,部署成功後程式開始運作,就會在調試視窗輸出相應的結果,調試結果如下

單相智能電表(Modbus協定)

五、示例

以上教程可以通過拷貝下面代碼實作快速複用,在建立的流程中點選界面右側菜單欄-導入-剪貼闆,在文本框中粘貼下面代碼後點選确定,即可快速複用

[

{

“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”

}

]

繼續閱讀