本發(fā)明屬于modbus報(bào)文系統(tǒng),具體的說,涉及一種基于mqtt傳輸modbus報(bào)文系統(tǒng)及其方法。
背景技術(shù):
1、modbus是一種廣泛使用的串行通信協(xié)議,最初由施耐德公司在1979年開發(fā);modbus支持多種物理層,包括rs-232、rs-485和以太網(wǎng);modbus協(xié)議主要用于連接工業(yè)電子設(shè)備、傳感器、執(zhí)行器等,因其簡單、開放、易于實(shí)現(xiàn)的特點(diǎn),在工業(yè)自動(dòng)化領(lǐng)域得到了廣泛應(yīng)用;modbus可用于讀取和寫入設(shè)備的寄存器,控制i/o點(diǎn)的狀態(tài),實(shí)現(xiàn)設(shè)備間的數(shù)據(jù)交換;modbus常用于工廠自動(dòng)化、樓宇自動(dòng)化、能源管理系統(tǒng)等場景。
2、mqtt是一種輕量級(jí)的發(fā)布/訂閱消息傳輸協(xié)議,專為低帶寬、高延遲或不可靠的網(wǎng)絡(luò)設(shè)計(jì);mqtt基于tcp/ip協(xié)議棧,支持多種網(wǎng)絡(luò)環(huán)境,包括互聯(lián)網(wǎng)和局域網(wǎng);mqtt協(xié)議的設(shè)計(jì)目標(biāo)之一是保持最小的開銷和最小化電池電量的使用,這使得它在工業(yè)物聯(lián)網(wǎng)中得到廣泛應(yīng)用;mqtt支持一對(duì)多的消息分發(fā)模式,即一個(gè)設(shè)備可以向多個(gè)訂閱者發(fā)送數(shù)據(jù),常用于遠(yuǎn)程監(jiān)控、設(shè)備管理和數(shù)據(jù)采集等場景。
3、工業(yè)物聯(lián)網(wǎng)平臺(tái)提供了一套完整的工具和服務(wù),用于連接、管理和分析工業(yè)設(shè)備產(chǎn)生的數(shù)據(jù);這些平臺(tái)通常具備設(shè)備管理、數(shù)據(jù)可視化、數(shù)據(jù)分析等功能;物模型是工業(yè)物聯(lián)網(wǎng)平臺(tái)中用來描述設(shè)備屬性、功能和服務(wù)的一種標(biāo)準(zhǔn)化模型;物模型定義了設(shè)備的能力集,以及如何通過api與這些設(shè)備交互,有助于標(biāo)準(zhǔn)化設(shè)備接口,使不同的設(shè)備能夠更容易地相互協(xié)作。
4、然而,由于modbus?協(xié)議的特性,設(shè)備上報(bào)到云平臺(tái)的報(bào)文缺少可識(shí)別的寄存器地址值,這使得工業(yè)物聯(lián)網(wǎng)平臺(tái)無法直接識(shí)別報(bào)文中的數(shù)據(jù)對(duì)應(yīng)哪個(gè)物模型采集點(diǎn);modbustcp協(xié)議雖然提高了數(shù)據(jù)傳輸速率和網(wǎng)絡(luò)覆蓋范圍,但仍不能適配大多數(shù)設(shè)備;這個(gè)問題導(dǎo)致數(shù)據(jù)采集效率低下,實(shí)時(shí)性較差,同時(shí)也增加了數(shù)據(jù)處理的復(fù)雜性;因此,為了解決這一問題,需要一種有效的方法來提高數(shù)據(jù)采集效率和實(shí)時(shí)性,并確保數(shù)據(jù)的準(zhǔn)確性和一致性。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明要解決的主要技術(shù)問題是提供一種基于mqtt傳輸modbus報(bào)文系統(tǒng)及其方法,能夠提高數(shù)據(jù)采集效率和實(shí)時(shí)性,同時(shí)確保數(shù)據(jù)的準(zhǔn)確性和一致性以及設(shè)備的通用性。
2、為解決上述技術(shù)問題,本發(fā)明提供如下技術(shù)方案:
3、一種基于mqtt傳輸modbus報(bào)文系統(tǒng),包括編解碼傳輸模組,所述編解碼傳輸模組的輸入端通過無線或有線網(wǎng)絡(luò)連接現(xiàn)有的modbus設(shè)備,編解碼傳輸模組用于定期輪詢modbus設(shè)備,讀取數(shù)據(jù),并將modbus到tcp/ip的轉(zhuǎn)換,并通過以太網(wǎng)或無線網(wǎng)絡(luò)進(jìn)行傳輸,dtu或透傳模組的輸入端通過無線或有線網(wǎng)絡(luò)連接工業(yè)互聯(lián)網(wǎng)平臺(tái)。
4、以下是本發(fā)明對(duì)上述技術(shù)方案的進(jìn)一步優(yōu)化:
5、所述編解碼傳輸模組包括外加mcu芯片和傳輸模塊,外加mcu芯片作為邊緣網(wǎng)關(guān),負(fù)責(zé)處理modbus數(shù)據(jù)和mqtt消息之間的轉(zhuǎn)換。
6、進(jìn)一步優(yōu)化:所述外加mcu芯片用于實(shí)現(xiàn)modbus輪詢,負(fù)責(zé)處理modbus數(shù)據(jù)和mqtt消息之間的轉(zhuǎn)換。
7、進(jìn)一步優(yōu)化:所述傳輸模塊采用dtu、wifi模塊、4g模組中的一種或多種組合;傳輸模塊通過無線或有線網(wǎng)絡(luò)連接工業(yè)互聯(lián)網(wǎng)平臺(tái),使外加mcu芯片通過傳輸模塊與工業(yè)互聯(lián)網(wǎng)平臺(tái)之間進(jìn)行數(shù)據(jù)傳輸。
8、本發(fā)明還提供一種基于mqtt傳輸modbus報(bào)文方法,基于上述一種基于mqtt傳輸modbus報(bào)文系統(tǒng),包括數(shù)據(jù)采集與上報(bào)、平臺(tái)服務(wù)下發(fā)數(shù)據(jù)處理和應(yīng)答處理;其中數(shù)據(jù)采集與上報(bào)包括如下步驟:
9、s1、外加mcu芯片定期輪詢modbus設(shè)備,讀取數(shù)據(jù);
10、s2、對(duì)讀取到的數(shù)據(jù)進(jìn)行處理,封裝數(shù)據(jù),添加報(bào)文頭、報(bào)文尾與寄存器地址;
11、s3、將處理后的數(shù)據(jù)按照預(yù)定義的格式封裝成mqtt消息;
12、s4、外加mcu芯片通過傳輸模塊將mqtt消息發(fā)送到工業(yè)物聯(lián)網(wǎng)平臺(tái)。
13、進(jìn)一步優(yōu)化:步驟s2中,報(bào)文頭:報(bào)文長度為2字節(jié),內(nèi)容為常量0xff?0xaa;用于確保消息的完整性;
14、報(bào)文尾:報(bào)文長度為1字節(jié),內(nèi)容為常量0x0d;用于確保消息完整性;
15、寄存器地址:報(bào)文長度2字節(jié),內(nèi)容為寄存器地址,用于標(biāo)識(shí)消息;
16、modbus數(shù)據(jù)包:modbus原始數(shù)據(jù)包。
17、進(jìn)一步優(yōu)化:平臺(tái)服務(wù)下發(fā)數(shù)據(jù)處理,包括如下步驟:
18、x1、工業(yè)物聯(lián)網(wǎng)平臺(tái)通過mqtt協(xié)議和傳輸模塊向外加mcu芯片下發(fā)服務(wù)指令;
19、x2、外加mcu芯片接收到服務(wù)指令后,對(duì)其進(jìn)行解包并轉(zhuǎn)換為modbus報(bào)文;
20、x3、外加mcu芯片將轉(zhuǎn)換后的modbus報(bào)文發(fā)送給相應(yīng)的modbus設(shè)備。
21、進(jìn)一步優(yōu)化:所述步驟x1中,平臺(tái)服務(wù)下發(fā)數(shù)據(jù)包括報(bào)文頭和消息id,其中報(bào)文頭:報(bào)文長度為2字節(jié),內(nèi)容為常量0xff?0xdd;用于確保消息完整性;
22、消息id:報(bào)文長度為6字節(jié),內(nèi)容為自增的唯一id;用于確保消息的唯一性;
23、modbus數(shù)據(jù)包:modbus原始數(shù)據(jù)包。
24、進(jìn)一步優(yōu)化:應(yīng)答處理,包括如下步驟:
25、y1、modbus設(shè)備執(zhí)行服務(wù)指令后,通過外加mcu芯片將執(zhí)行結(jié)果以modbus報(bào)文的形式上報(bào);
26、y2、外加mcu芯片將modbus報(bào)文轉(zhuǎn)換為mqtt消息,并發(fā)送回工業(yè)物聯(lián)網(wǎng)平臺(tái)。
27、進(jìn)一步優(yōu)化:所述步驟y2中設(shè)備應(yīng)答上報(bào)數(shù)據(jù)組成包括:
28、報(bào)文頭:報(bào)文長度為2字節(jié),內(nèi)容為常量0xff?0xdd;用于確保消息完整性;
29、消息id:報(bào)文長度為6字節(jié),內(nèi)容為平臺(tái)下發(fā)指令時(shí)的消息id;用于確保消息唯一性;
30、modbus數(shù)據(jù)包:modbus原始數(shù)據(jù)包。
31、本發(fā)明采用上述技術(shù)方案,構(gòu)思巧妙,解決了modbus原始報(bào)文缺少可識(shí)別的寄存器地址值的問題,提高了數(shù)據(jù)采集的效率和實(shí)時(shí)性,并確保了數(shù)據(jù)的準(zhǔn)確性和一致性;此外,通過使用外加的mcu芯片作為邊緣網(wǎng)關(guān),負(fù)責(zé)處理modbus數(shù)據(jù)和mqtt消息之間的轉(zhuǎn)換,不僅增強(qiáng)了系統(tǒng)的通用性,還降低了實(shí)現(xiàn)成本,適用于低成本、高效率數(shù)據(jù)采集的工業(yè)現(xiàn)場。
32、下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明進(jìn)一步說明。
33、
1.一種基于mqtt傳輸modbus報(bào)文系統(tǒng),其特征在于:包括編解碼傳輸模組,所述編解碼傳輸模組的輸入端通過無線或有線網(wǎng)絡(luò)連接現(xiàn)有的modbus設(shè)備,編解碼傳輸模組用于定期輪詢modbus設(shè)備,讀取數(shù)據(jù),并將modbus到tcp/ip的轉(zhuǎn)換,并通過以太網(wǎng)或無線網(wǎng)絡(luò)進(jìn)行傳輸,dtu或透傳模組的輸入端通過無線或有線網(wǎng)絡(luò)連接工業(yè)互聯(lián)網(wǎng)平臺(tái)。
2.根據(jù)權(quán)利要求1所述的一種基于mqtt傳輸modbus報(bào)文系統(tǒng),其特征在于:所述編解碼傳輸模組包括外加mcu芯片和傳輸模塊,外加mcu芯片作為邊緣網(wǎng)關(guān),負(fù)責(zé)處理modbus數(shù)據(jù)和mqtt消息之間的轉(zhuǎn)換。
3.根據(jù)權(quán)利要求2所述的一種基于mqtt傳輸modbus報(bào)文系統(tǒng),其特征在于:所述外加mcu芯片用于實(shí)現(xiàn)modbus輪詢,負(fù)責(zé)處理modbus數(shù)據(jù)和mqtt消息之間的轉(zhuǎn)換。
4.根據(jù)權(quán)利要求3所述的一種基于mqtt傳輸modbus報(bào)文系統(tǒng),其特征在于:所述傳輸模塊采用dtu、wifi模塊、4g模組中的一種或多種組合;傳輸模塊通過無線或有線網(wǎng)絡(luò)連接工業(yè)互聯(lián)網(wǎng)平臺(tái),使外加mcu芯片通過傳輸模塊與工業(yè)互聯(lián)網(wǎng)平臺(tái)之間進(jìn)行數(shù)據(jù)傳輸。
5.一種基于mqtt傳輸modbus報(bào)文方法,基于權(quán)利要求4所述的一種基于mqtt傳輸modbus報(bào)文系統(tǒng),包括數(shù)據(jù)采集與上報(bào)、平臺(tái)服務(wù)下發(fā)數(shù)據(jù)處理和應(yīng)答處理;其中數(shù)據(jù)采集與上報(bào)包括如下步驟:
6.根據(jù)權(quán)利要求5所述的一種基于mqtt傳輸modbus報(bào)文方法,其特征在于:步驟s2中,報(bào)文頭:報(bào)文長度為2字節(jié),內(nèi)容為常量0xff?0xaa;用于確保消息的完整性;
7.根據(jù)權(quán)利要求6所述的一種基于mqtt傳輸modbus報(bào)文方法,其特征在于:平臺(tái)服務(wù)下發(fā)數(shù)據(jù)處理,包括如下步驟:
8.根據(jù)權(quán)利要求7所述的一種基于mqtt傳輸modbus報(bào)文方法,其特征在于:所述步驟x1中,平臺(tái)服務(wù)下發(fā)數(shù)據(jù)包括報(bào)文頭和消息id,其中報(bào)文頭:報(bào)文長度為2字節(jié),內(nèi)容為常量0xff?0xdd;用于確保消息完整性;
9.根據(jù)權(quán)利要求8所述的一種基于mqtt傳輸modbus報(bào)文方法,其特征在于:應(yīng)答處理,包括如下步驟:
10.根據(jù)權(quán)利要求9所述的一種基于mqtt傳輸modbus報(bào)文方法,其特征在于:所述步驟y2中設(shè)備應(yīng)答上報(bào)數(shù)據(jù)組成包括: