IIo工業(yè)樹莓派如何解析MODBUS中的浮點(diǎn)型數(shù)據(jù)
前言
工業(yè)樹莓派支持MODBUS TCP/RTU通訊協(xié)議,因此,在使用Modbus協(xié)議的溫濕度傳感器、電子天平、PLC等設(shè)備場景中應(yīng)用十分廣泛。當(dāng)工業(yè)樹莓派作為MODBUS TCP/RTU主站時,最多可以連接30個從站設(shè)備,由此可見,工業(yè)樹莓派具有較好的可擴(kuò)展性。
HongKe Technology
虹
/
科
/
方
/
案
01
面 臨 的 挑 戰(zhàn)
MODBUS從站設(shè)備有16位整型數(shù)據(jù),但應(yīng)用更多的是32位浮點(diǎn)型數(shù)據(jù),這是因為32位浮點(diǎn)型數(shù)據(jù)能夠在通訊過程中的控制更加精準(zhǔn),這類常應(yīng)用于如電子天平的體重數(shù)據(jù)、溫濕度傳感器的溫度/濕度數(shù)據(jù)、電機(jī)的轉(zhuǎn)速等場景。
但在這個過程中會面臨數(shù)據(jù)解析的問題:浮點(diǎn)型數(shù)據(jù)的應(yīng)用需要遵循IEE745的數(shù)據(jù)轉(zhuǎn)換規(guī)則,以實現(xiàn)與整型數(shù)據(jù)的轉(zhuǎn)換和利用。
寄存器只能存放16位數(shù)據(jù),所以浮點(diǎn)型數(shù)據(jù)會被拆分成兩個數(shù)據(jù)部分,分別存放在相鄰的兩個寄存器中,具體如下:
1. 在進(jìn)行數(shù)據(jù)讀取的時候,需要把兩個寄存器數(shù)據(jù)通過數(shù)據(jù)解析還原成浮點(diǎn)型數(shù)據(jù)(如圖1中所示);
2. 在進(jìn)行數(shù)據(jù)寫入的時候,要通過數(shù)據(jù)解析把一個浮點(diǎn)型數(shù)據(jù)拆分成兩個十六進(jìn)制分別寫入到相應(yīng)的寄存器內(nèi)(如圖2中所示)。

圖1.寄存器數(shù)據(jù)合并成浮點(diǎn)型數(shù)據(jù)

圖2. 浮點(diǎn)型數(shù)據(jù)寫入到寄存器

02
解 決 方 案
針對此類問題,虹科提供一種解析方法,具體如下:
1、讀取兩個寄存器數(shù)據(jù),通過位操作把兩個寄存器數(shù)據(jù)合并成浮點(diǎn)型數(shù)據(jù)。



2、寫入一個浮點(diǎn)型數(shù)據(jù),通過位運(yùn)算把32位浮點(diǎn)型數(shù)據(jù)拆分成兩個16位整型數(shù)據(jù),分別寫入到兩個寄存器中。



03
總 結(jié)
工業(yè)樹莓派采用Debian系統(tǒng),開源性較高,可以通過C/C++、Java、C#、Python等方式進(jìn)行編程。關(guān)于浮點(diǎn)型數(shù)據(jù)轉(zhuǎn)換成16進(jìn)制整型數(shù)據(jù)并進(jìn)行數(shù)據(jù)解析可以使用的方法有很多,以上僅為其中一種數(shù)據(jù)解析方法,這種解析方法存在誤差,誤差范圍為±0.01,可以適用于對浮點(diǎn)型數(shù)據(jù)精度要求不是特別高的情況。針對以上場景,如有其他解析方法,歡迎添加工程師微信進(jìn)行交流。

04
方 案 簡 介
虹科工業(yè)樹莓派產(chǎn)品具有實時Raspbian系統(tǒng),內(nèi)置Broadco多核處理器具備諸如圖像處理類復(fù)雜任務(wù)處理能力。

此外,它小巧靈活,功耗低,支持用Python/Java/C/C++/C#、Node-RED可視化編程工具進(jìn)行開發(fā),還能實現(xiàn)CPDESYS軟PLC功能,在數(shù)據(jù)采集和小型控制等場景可幫助用戶快速創(chuàng)建應(yīng)用,實現(xiàn)工業(yè)物聯(lián)網(wǎng)和數(shù)字化生產(chǎn)。


-
數(shù)據(jù)
+關(guān)注
關(guān)注
8文章
7335瀏覽量
94801
發(fā)布評論請先 登錄
虹科答疑 | 如何快速上手CAN診斷儀?10分鐘從開機(jī)到實戰(zhàn)
虹科動態(tài) | 2026年1月精彩回顧
嵌入式中的浮點(diǎn)型數(shù)據(jù)轉(zhuǎn)換為字節(jié)類型的三種方法
虹科動態(tài) | 2025年12月精彩回顧
虹科答疑 | 使用虹科PCAN-Explorer 6進(jìn)行.DBC解析總共分幾步?
虹科動態(tài) | 虹科×長城汽車技術(shù)交流日圓滿落幕!
圓滿收官 | 虹科CAN總線專題全系列直播精華回顧已上線!
免費(fèi)試用!虹科自研CAN分析軟件HK-CoreTest新版上線,建言有禮
虹科峰會 | 虹科峰會 | 倒計時一周!群英集結(jié)上海虹橋,虹科邀您共赴盛會!
NucleiStudio_IDE_201909串口打印浮點(diǎn)型數(shù)據(jù)時無數(shù)據(jù)輸出,軟件該如何配置串口才能打印浮點(diǎn)型數(shù)據(jù)?
明日啟幕!虹科邀您共赴2025工博會:TSN/靈巧手方案現(xiàn)場見
虹科方案 | 數(shù)據(jù)不缺位,監(jiān)控不滯后:虹科車輛信息遠(yuǎn)程監(jiān)控系統(tǒng)
直播回顧 | 硬核干貨放送,虹科CAN總線應(yīng)用層直播助您告別低效聯(lián)調(diào),破解車載網(wǎng)絡(luò)開發(fā)核心難題
虹科分享 | 賦能現(xiàn)代化礦業(yè):虹科Owasys堅固型車載通信終端方案
虹科干貨 | 教您如何解析MODBUS中的浮點(diǎn)型數(shù)據(jù)
評論