父亲的东西又长又黑|69xxxxxtube|十八禁网站可进入|八妻子电院影秋霞在线|久久多人视频房间|从小开始欲乱的生活|玩小幼稚视频

健思研

深圳市健思研科技有限公司Shenzhen Jiansiyan Technology Co., Ltd.
咨詢電話400-001-9882

熱門關鍵詞:電測儀表價格充電樁價格汽車充電樁多少錢一個電能計量儀器儀表電能計量儀器儀表價格

當前位置首頁 » 健思研新聞中心 » 新聞資訊 » 企業新聞 » 家庭能源網關開發歷程④:收官!Modbus協議解析,讀取JSY-MK-163T模塊電能數據全流程

家庭能源網關開發歷程④:收官!Modbus協議解析,讀取JSY-MK-163T模塊電能數據全流程

2026-02-05 10:28:08

經過前三期的鋪墊,我們終于來到家庭能源網關開發歷程的核心環節——利用Modbus協議讀取JSY-MK-163T電能計量模塊的實時數據(電壓、電流、功率等),通過上期我們實現的中斷發送和接收,就利用到了本期讀取電能數據啦,本期我們就來實現項目核心JSY-MK-163T單相計量模塊怎么利用MODBUS協議去讀電能數據,并解析出來。首先,我們先看看怎么是MODBUS協議。

一、先搞懂:Modbus協議的定義

 MODBUS 協議在一根通訊線上采用主從應答方式的通訊連接方式。首先,主計算機的信號 尋址到一臺唯一地址的終端設備(從機),然后,終端設備發出的應答信號以相反的方向傳輸 給主機,即:在一根單獨的通訊線上信號沿著相反的兩個方向傳輸所有的通訊數據流(半雙工的工作模式)

MODBUS報文格式

設備地址/從站地址: 1個字節 指定目標設備地址(從站地址)

功能碼:1個字節 功能碼在modbus協議用于表示信息幀的功能,例如讀取線圈狀態、讀取寄存器等。

數據: N個字節 后面數據根據不同功能碼不同。

CRC校驗:循環冗余校驗碼,用于檢測報文完整性和數據錯誤

MODBUS常用功能碼 

圖片1

 

MODBUS讀取數據

MODBUS校驗 

代碼_01

功能碼03發送報文函數 

代碼_02

功能碼06寫單個寄存器 

代碼_03

功能碼10寫多個寄存器 

代碼_04

功能碼發送函數

代碼_05 

功能碼03解析函數 

代碼_06

功能碼06解析函數 

代碼_07

功能碼10解析函數 

代碼_08

清空接受 

代碼_09

中斷接收數據組包 

代碼_10

MODBUS解析

首先我們先通過手冊去看電能數據的起始地址,在結合我們的功能碼讀取相應數據,并通過手冊的解析公式轉換后得到最后的電能。

圖片2

功能碼03讀一個或多個寄存器解析

注意:以產品手冊為例

請求:01 03 00 48 00 0A 45 DB (讀 0048 開始的 10 個寄存器)

1位 01 設備地址

2位 03 功能碼

3,4位00 48起始地址

5,6位 00 0A查詢寄存器長度,查詢10個寄存器

7,8位45 DBCRC校驗碼

響應:01 03 14 5F C0 01 8F 03 D5 00 00 07 C0 03 E8 00 00 01 E6 6E 5E 13 86 F9 F1

2位設備地址和功能碼,同請求發送的報文

3位14是后面數據位的長度,每一個寄存器長度為2個字節,所以總長20(0x14)

4位開始,20位都是數據位

對照我們電能數據表紅色數據

4,5位 5F C0 對應 0048 寄存器,即為電壓:0x5FC0=24512,根據公式除以 100 為 245.12V

6,7位01 8F電流:0x018F:根據公式除以 100 為 3.99A

8,9位03 D5有功功率:0x03D5:根據公式981W

10,11,  12,13位 00 00 07 C0電能:0x000007C0:根據公式除以 3200為 62KWh

14,15位03 E8功率因素:0x018F:根據公式除以 1000 為1

16,17,18,19位00 00 01 E6二氧化氮排放量:0x000001E6:根據公式除以 1000 為 486Kg

17,18位6E 5E溫度:0x018F:根據公式除以 1000 為 28.254度

19,20位13 86頻率:0x1386:根據公式除以 100 為 49.98Hz

如果我們要更改模塊的ID和通信速率,就需要功能碼06和10去更改。如果是想一次一次改就用功能碼06分別去改ID和波特率,功能碼10就可以一次性改。首先我們先根據手冊去看模塊默認的ID和波特率。如下圖:

圖片3

功能碼06寫單個寄存器解析

請求:01 06 00 04 00 37 89 DD

向地址為4的寄存器寫入55。

1位 01 設備地址

2位 06 功能

3,4位 00 04寫入的起始地址

5,6位 00 37寫入寄存器的值

7,8位89 DDCRC校驗碼

響應:01 06 00 04 00 37 89 DD

寫入成功,響應報文與寫入報文一致

功能碼10寫多個寄存器解析

ID和波特率

請求:02 10 00 04 00 01 02 01 06 32 B6

1位 02 設備地址

2位 10 功能碼

3,4位 00 04寫入的起始地址

5,6位 00 01寄存器數量

7位02字節計數

8位01表示改的ID

9位 06表示改的波特率

10,11位 32 B6表示校驗碼

響應:01 10 00 04 00 01 40 08

1位 01 設備地址

2位 10功能碼

3,4位 00 04寫入的起始地址

5,6位 00 01寄存器數量

7,8位40 08CRC校驗碼

結果如下圖: 

微信圖片_20260204135726_648_25

二、模塊購買與資源匯總

以上就是我們利用MODBUS協議通過JSY-MK-163單相計量模塊去讀電能數據的全過程作為整個項目的核心,JSY-MK-163T模塊性能穩定、性價比高,購買渠道和關鍵資源如下:

 購買鏈接

微信圖片_20260205105711_3860_12

深圳市健思研科技產品詳情:http://m.njqydj.com單相互感式計量模塊

微信圖片_20260205151432_654_25(1)

 接線教程:https://www.bilibili.com/video/BV1MEHMeJEW8;

三、系列總結

前期回顧:

家庭能源網關開發歷程①:4大核心目標+健思研JSY-MK-163T選型,打造智能用電管家
家庭能源網關開發歷程②:JSY-MK-163T串口通訊調試過程
家庭能源網關開發歷程③:UART數據收發實測!打通JSY-MK-163T模塊數據通道
到這里,家庭能源網關開發歷程系列就全部結束了!我們從項目目標→器件選型(JSY-MK-163T模塊)→UART配置→數據收發→Modbus解析,一步步實現了“精準監測家庭用電”的核心需求。
這款基于JSY-MK-163T模塊的網關,能實時顯示電壓、電流、功率等數據,實現用電管理的智能化、經濟性和安全性。健思研模塊的精準計量能力和完善的通訊支持,為整個項目的成功奠定了堅實基礎。
如果你在實操中遇到問題,或者想了解更多健思研模塊的高級用法,歡迎在評論區留言,我們一起交流解決~ 后續還會分享更多智能硬件開發案例,記得持續關注哦!


更多推薦產品 Recommended products

四大企業優勢為您的電能智控產品保駕護航
置 頂