標簽: modbus
作者:xjme
前言:
modbus 設備接入樂聯(lián)網(wǎng)大概經(jīng)歷了三個過程:
第一個階段:
提供了pc 測試軟件耍属,如下圖所示懒震。
下載地址http://www.lewei50.com/dev/content/downloads?sk=74驯耻,當時的想法就是可以通過pc 軟件直接把modbus設備接入樂聯(lián)網(wǎng)卒稳。
優(yōu)點:通過PC直接接入樂聯(lián)網(wǎng)兢榨,簡單快捷
缺點:只能用PC作為網(wǎng)關猎醇。
第二個階段:
提供了類似wifi master 之類的標準化設備如下圖:
具體內(nèi)容鏈接:http://www.lewei50.com/dev/doc/201
優(yōu)點:接入網(wǎng)關成本低键菱。
缺點:接入網(wǎng)關屬于定制設備谬墙,只能向樂為購買。
第三個階段:
直接用標準DTU設備將modbus 設備接入
優(yōu)點:完全變成了標準設備接入樂聯(lián)網(wǎng)经备,不需要鎖定網(wǎng)關廠家拭抬,TB直接采購就可以了(采購DTU的時候需要注意要有注冊包發(fā)送功能的DTU就可以)。
本篇文章主要就是來說怎么用標準dtu 來把modbus設備接入樂聯(lián)網(wǎng)的侵蒙。
如果手里有modbus設備想接入一起玩的造虎,可以嘗試加QQ群626047753(請注明你手里的modbus設備是啥,樂聯(lián)網(wǎng)賬號是啥蘑志,否則不會通過
目的:
用標準設備(淘寶買的DTU累奈,不區(qū)分廠家贬派,不區(qū)分GPRS,wifi 以太網(wǎng))把modbus標準設備直接接入樂聯(lián)網(wǎng)澎媒。
下面的三相電表 兩個DTU (一個以太網(wǎng)的搞乏,一個gprs的)都是TB 直接買的:
樂聯(lián)網(wǎng)web配置
建立一個modbus 設備,注意紅框內(nèi)容
標識:與后面DTU 注冊包內(nèi)容對應戒努,不是必須要01
類型:只能選擇 lw-modbus
Slave id:Modbus device NO.
Func:Modbus 操作碼请敦,這里選擇03。
是否可控:選擇“是”储玫,點擊“使用樂聯(lián)網(wǎng)modbus設備”以后API 地址和公網(wǎng)IP 自動出現(xiàn)內(nèi)容侍筛。
建立一個傳感器,S是必須的前綴撒穷,72 是因為要訪問寄存器地址0x0048匣椰,注意根據(jù)modbus協(xié)議內(nèi)容進行數(shù)值轉換。
實驗用設備
Modbus 設備
實驗設備為JSY-301 三相電表端礼,相關寄存器如下禽笑,0x0048 為測試寄存器。
|序號|定義 |寄存器地址 | 讀/寫 | 數(shù)據(jù)類型與計算 說明 |
| -------- | :----- : | :----: |
| 1 | A相電壓 | 0048H |讀| 無符號數(shù)蛤奥,值=DATA/100,單位V |
| 2 | A相電流 | 0049H|讀| 無符號數(shù)佳镜,值=DATA/1000,單位A |
| 3 | A相有功功率 | 004AH |讀| 無符號數(shù),值=DATA,單位為W |
| 4 | A相有功總電能 | 004BH 004CH |讀| 無符號數(shù)凡桥,值=DATA/800蟀伸,單位為kWh,數(shù)值與000CH缅刽,000DH寄存器相同 |
| 5 | A相功率因數(shù) | 004DH |讀| 無符號數(shù)啊掏,值=DATA/1000 |
| 6 | A相二氧化碳排量 | 004EH 004FH |讀| 無符號數(shù),值=DATA/1000,單位為Kg|
| 7 | A相報警及繼電器狀態(tài)| 0050H |讀| 高字節(jié)未用拷恨,低字節(jié)為報警及繼電器狀態(tài)指示脖律,具體意義見報警及繼電器狀態(tài)指示字意義表|
| 8 | B相電壓 | 0051H |讀| 無符號數(shù),值=DATA/100,單位V |
| 9 | B相電流 | 0052H |讀| 無符號數(shù)腕侄,值=DATA/1000,單位A |
|10 | B相有功功率 | 0053H |讀| 無符號數(shù)小泉,值=DATA,單位為W |
|11 | B相有功總電能 | 0054H 0055H|讀| 無符號數(shù),值=DATA/800冕杠,單位為kWh微姊,數(shù)值與000EH,000FH寄存器相同 |
| 12 | B相功率因數(shù) | 0056H |讀| 無符號數(shù)分预,值=DATA/1000|
| 13 | B相二氧化碳排量| 0057H 0058H|讀| 無符號數(shù)兢交,值=DATA/1000,單位為Kg |
| 14 | B相報警及繼電器狀態(tài) | 0059H |讀| 高字節(jié)未用笼痹,低字節(jié)為報警及繼電器狀態(tài)指示配喳,具體意義見報警及繼電器狀態(tài)指示字意義表|
| 15 | C相電壓 | 005AH |讀| 無符號數(shù)酪穿,值=DATA/100,單位V |
| 16 | C相電流 | 005BH |讀| 無符號數(shù),值=DATA/1000,單位A |
| 17 | C相有功功率 | 005CH |讀| 無符號數(shù)晴裹,值=DATA,單位為W |
| 18 | C相有功總電能 | 005DH 005EH |讀| 無符號數(shù)被济,值=DATA/800,單位為kWh涧团,數(shù)值與0010H只磷,0011H寄存器相同 |
| 19 | C相功率因數(shù) | 005FH |讀| 無符號數(shù),值=DATA/1000 |
| 20 |C相二氧化碳排量| 0060H 0061H|讀| 無符號數(shù)泌绣,值=DATA/1000钮追,單位為Kg |
| 21 | C相報警及繼電器狀態(tài) | 0062H |讀| 高字節(jié)未用,低字節(jié)為報警及繼電器狀態(tài)指示阿迈,具體意義見報警及繼電器狀態(tài)指示字意義表 |
| 22 | 三相有功總電能 | 0063H 0064H|讀| 無符號數(shù)元媚,值=DATA/800,單位為kWh苗沧,數(shù)值與0012H惠毁,0013H寄存器相同 |
| 23 | 頻率 | 0065H |讀| 無符號數(shù),值= DATA/100崎页,單位為Hz |
讀數(shù)據(jù)寄存器(功能碼03H):讀A相的3個寄存器值,結果為:電壓231.5V腰埂,電流10.123A飒焦,功率2343W,儀表地址為1屿笼。
主機讀數(shù)據(jù)幀:
|地址|命令 |起始地址(高位在前) | 寄存器數(shù)(高位在前) | 校驗碼(低位在前) |
| -------- |:----- :| :----: | :----: |:----: |
| 01H | 03H | 00H,48H | 00H,03H |85H,DDH |
儀表回應數(shù)據(jù)幀:
|地址|命令 |數(shù)據(jù)長度| 數(shù)據(jù)段(6字節(jié)) | 校驗碼 |
| -------- |:----- :| :----: | :----: |:----: |
| 01H | 03H | 06H | 5AH,6EH,27H,8BH,09H,27H|F8H,92H |
寫數(shù)據(jù)寄存器(功能碼10H):設置A相電壓上限為260V牺荠,A相電流上限為50A,儀表地址為1驴一。
主機寫數(shù)據(jù)幀:
|地址|命令 |起始地址| 寄存器數(shù)| 字節(jié)數(shù) | 數(shù)據(jù)段 | 校驗碼 |
| -------- |:----- :| :----: | :----: |:----: |
| 01H | 10H | 00H,20H | 00H,02H |04H |01H,04H,01H,F4H|B1H,9DH|
儀表回應數(shù)據(jù)幀:
|地址|命令 |起始地址| 寄存器數(shù)| 校驗碼 |
| -------- |:----- :| :----: | :----: |:----: |
| 01H | 10H | 00H,20H | 00H,02H |40H,02H |
DTU設備
實驗采用有人410S休雌,只要是可以在TCP鏈接以后第一時間發(fā)送注冊包的設備都可以。注冊包內(nèi)容為樂聯(lián)網(wǎng)USRKEY_網(wǎng)關號肝断,連接到modbus.lewei50.com杈曲,端口號為9970。具體內(nèi)容見下面有人配置頁面截圖紅框“注冊包內(nèi)容”胸懈。
最終測試效果
Modbus 控制臺效果担扑,起始位置為10進制(72=0x48)
直接測試發(fā)送原始數(shù)據(jù),對比該電表協(xié)議內(nèi)容更容易理解趣钱。
最終數(shù)據(jù)結果如下:
感興趣可以加群:
樂聯(lián)網(wǎng) modbus dtu 群號 626047753 (申請時候注明樂聯(lián)網(wǎng)ID 和 modbus 設備名稱)