国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于MQTT協(xié)議的工業(yè)物聯(lián)網(wǎng)數(shù)據(jù)采集和控制系統(tǒng)

2022-08-16 10:29:58施昕昕顧宇揚
關鍵詞:服務端通信協(xié)議數(shù)據(jù)表

施昕昕,顧宇揚

(南京工程學院自動化學院, 江蘇 南京 211167)

隨著我國生產(chǎn)力水平的迅速提升,工業(yè)物聯(lián)網(wǎng)融合了傳感器、移動通信等技術,將具有感知和監(jiān)控功能的各種傳感器和控制器集成到工業(yè)生產(chǎn)過程中的各個方面,以實現(xiàn)產(chǎn)品質(zhì)量的提升、產(chǎn)品成本的降低、產(chǎn)品生產(chǎn)效率的提高等,將傳統(tǒng)的工業(yè)生產(chǎn)模式轉(zhuǎn)變?yōu)橹悄芑a(chǎn)[1-2].工業(yè)物聯(lián)網(wǎng)是信息技術和制造技術深度融合的產(chǎn)物[3],具有自動化、實時性、安全性、嵌入式和信息互通互聯(lián)等特點[4].

在過去的工業(yè)生產(chǎn)環(huán)境中,生產(chǎn)系統(tǒng)龐大而復雜,生產(chǎn)設備數(shù)量多、種類多,靠人力管理不僅繁瑣耗時、浪費人力資源,而且難以對所有工業(yè)設備的各項環(huán)境進行完整、準確的把控[5].因此,將工業(yè)物聯(lián)網(wǎng)應用到工業(yè)領域能夠很好地進行工業(yè)設備的監(jiān)測和管理[6-7],能夠?qū)υO備的運行環(huán)境、操作對象、數(shù)據(jù)等進行獲取和分析[8-10],其核心思想是物體與互聯(lián)網(wǎng)相連接,借助各種傳感技術進行信息化、智能化的管理和控制[11].但是,大部分工廠工業(yè)設備等的自動數(shù)據(jù)采集仍面臨著許多問題[12].

目前,在工業(yè)數(shù)據(jù)采集上,有Modbus、Profibus、Profinet、Ethernet IP等多種工業(yè)通信協(xié)議[13],各個廠商還會在已有的協(xié)議上加以改進,開發(fā)各種私有的工業(yè)協(xié)議,導致工業(yè)設備的通信協(xié)議標準、種類繁多,并且相互之間不兼容[14];由于現(xiàn)場控制網(wǎng)絡的封閉性,維護人員無法遠程獲取設備的實時運行狀態(tài)或?qū)υO備進行遠程控制,造成了設備維護困難、成本高等問題[15].因此,基于工業(yè)物聯(lián)網(wǎng)的設備數(shù)據(jù)采集和控制系統(tǒng)設計應用迫在眉睫.本文針對工業(yè)設備與服務端實時、高效、可靠的通信需求及對不同通信接口和不同通信協(xié)議的支持,基于MQTT協(xié)議構建工業(yè)物聯(lián)網(wǎng)數(shù)據(jù)采集和控制系統(tǒng).以工業(yè)物聯(lián)網(wǎng)架構為參考,分析各項需求,設計基于MQTT協(xié)議的工業(yè)物聯(lián)網(wǎng)平臺.

1 需求分析與系統(tǒng)總體設計

1.1 設計需求及研究內(nèi)容

1.1.1 設計需求

1) 業(yè)務需求.用戶通過控制系統(tǒng)可實時了解工業(yè)設備的運行狀態(tài)和運行數(shù)據(jù),可實時設定運行參數(shù)或控制操作等,可接收設備的告警信息提示,實現(xiàn)設備管理、用戶管理、操作記錄查詢等.通信終端可支持多種通信方式、多種通信協(xié)議,按照采樣時間上傳數(shù)據(jù),接收服務端請求并控制設備.

2) 用戶需求.系統(tǒng)用戶分為管理員用戶和操作者用戶.操作者用戶可修改自身賬戶,查看設備狀態(tài)、設定設備參數(shù)、控制設備等,可使用工具解析數(shù)據(jù);管理員用戶具有操作者用戶的全部功能,還可對設備進行增刪等操作.

1.1.2 研究內(nèi)容

基于MQTT協(xié)議的工業(yè)物聯(lián)網(wǎng)數(shù)據(jù)采集和控制系統(tǒng)需要實現(xiàn)的內(nèi)容主要包括:

1) 通信終端能夠?qū)崿F(xiàn)工業(yè)設備通信協(xié)議格式與JSON格式之間的轉(zhuǎn)換,支持多種通信協(xié)議和通信接口;

2) 用戶可以使用PC或移動設備訪問工業(yè)設備數(shù)據(jù)采集和控制系統(tǒng),實時監(jiān)控工業(yè)設備、查看工業(yè)設備數(shù)據(jù)曲線等;

3) 管理員可以修改用戶信息、分配權限等,具有相應權限的用戶可以對工業(yè)設備進行控制、 參數(shù)設定等操作,用戶可以使用相應工具來解析工業(yè)設備的歷史數(shù)據(jù).

1.2 基于MQTT協(xié)議的工業(yè)設備數(shù)據(jù)采集和控制系統(tǒng)總體設計

本文的工業(yè)物聯(lián)網(wǎng)數(shù)據(jù)采集和控制系統(tǒng)是基于瀏覽器/服務器(B/S)模式設計的,采用MQTT通信協(xié)議,主要由設備端、通信終端、服務端等組成,如圖1、圖2所示.

通信終端處理器采用ESP32模組將電源管理、功率放大器、濾波器等集于一體,只需極少的外圍器件便可實現(xiàn)強大的處理功能和可靠的安全性能.此外,ESP32模組對MQTT協(xié)議和JSON格式處理有著很好的API支持,能夠便捷地實現(xiàn)MQTT通信和JSON格式封裝和解析.通信終端集成485、232等通信接口以支持不同接口的工業(yè)設備,具備網(wǎng)口和IPEX天線的Wi-Fi模塊以適應不同的工業(yè)環(huán)境.

服務端采用Django框架和Vue框架.Django基于MVC模型利于程序的擴展和簡化,提高程序的重復利用率.Vue的核心庫只關注視圖層,易于操作,便于與第三方庫和既有項目整合.

圖1 工業(yè)物聯(lián)網(wǎng)數(shù)據(jù)采集系統(tǒng)總體架構

圖2 控制系統(tǒng)總體架構

MQTT協(xié)議的實現(xiàn)通過發(fā)布/訂閱模式,該模式將發(fā)送消息的客戶端(發(fā)布者)與接收消息的客戶端(訂閱者)分離,二者沒有直接聯(lián)系,由代理來進行消息轉(zhuǎn)發(fā),將系統(tǒng)解耦.其優(yōu)點在于能夠以極少的代碼和有限的帶寬為連接遠程設備提供實時可靠的消息服務.

通信終端與服務端之間數(shù)據(jù)交互格式采用JSON格式,與XML對象不同,JSON對象被分析為字符串數(shù)組,更利于機器的生成和解析,占用空間更小、數(shù)據(jù)交互時占用的帶寬也更小.

通過該系統(tǒng)能夠遠程監(jiān)控工業(yè)設備,系統(tǒng)中的圖表、曲線等信息能夠直觀地反映工業(yè)設備運行情況,方便系統(tǒng)用戶進行管理.

如圖1所示,數(shù)據(jù)采集系統(tǒng)主要分為4種數(shù)據(jù)流:

1) 數(shù)據(jù)發(fā)送流,通信終端主動采集工業(yè)設備的相關數(shù)據(jù),通過MQTT協(xié)議上傳數(shù)據(jù),由服務端接收并顯示;

2) 設備控制流,服務端下發(fā)相關控制或設定參數(shù)請求,由通信終端接收并封裝指令,發(fā)送給工業(yè)設備,完成相關操作并反饋操作結(jié)果;

3) 主動查詢流,用戶請求查詢工業(yè)設備的歷史數(shù)據(jù),服務端從MySQL數(shù)據(jù)庫讀取數(shù)據(jù)并反饋給用戶;

4) 協(xié)議控制流,服務端下發(fā)通信協(xié)議轉(zhuǎn)換請求,由通信終端接收并轉(zhuǎn)換至指定通信協(xié)議,并切換至相應通信接口,以實現(xiàn)與對應通信協(xié)議、通信接口的設備進行通信,并反饋操作結(jié)果.

2 通信終端軟硬件設計

通信終端作為服務端與設備端數(shù)據(jù)交互的橋梁,主要解決工業(yè)設備通信協(xié)議格式與服務端JSON格式不匹配的問題,負責工業(yè)設備通信協(xié)議解析和封裝與JSON格式解析和封裝,實現(xiàn)對工業(yè)設備的遠程監(jiān)控.通信終端功能圖如圖3所示.

圖3 通信終端功能圖

通信終端硬件主要包括ESP32模組、Wi-Fi模塊、Ethernet模塊、電源模塊、通信接口轉(zhuǎn)換模塊、USB通信模塊等.

通信終端軟件功能流程圖如圖4所示.

圖4 通信終端軟件功能流程圖

以某種高低溫設備為例,數(shù)據(jù)結(jié)構設計如圖5所示,具體實現(xiàn)流程如圖6、圖7所示.PRO_MSG結(jié)構體保存服務端的請求數(shù)據(jù),包括終端ID,用于通信終端比對ID;Flag標志用于MQTT消息邏輯控制;COM_DATA結(jié)構體用于保存一些基本操作的數(shù)據(jù);PGM_DATA結(jié)構體用于保存與程式相關操作的數(shù)據(jù).通信終端根據(jù)該結(jié)構體中的數(shù)據(jù)實現(xiàn)對工業(yè)設備的控制和參數(shù)設定.JSON_DATA結(jié)構體保存上傳服務端的數(shù)據(jù),包括終端ID,便于服務端確定設備;數(shù)據(jù)類型便于服務端判斷當前數(shù)據(jù)包的內(nèi)容;普通數(shù)據(jù)結(jié)構體用于保存設備運行數(shù)據(jù);程式數(shù)據(jù)結(jié)構體用于保存程式數(shù)據(jù);設定數(shù)據(jù)結(jié)構體用于保存操作結(jié)果.通信終端根據(jù)JSON_DATA結(jié)構體中的數(shù)據(jù),封裝JSON數(shù)據(jù),上傳服務端.

圖5 數(shù)據(jù)結(jié)構圖

圖6 通信終端采集上傳數(shù)據(jù)流程圖

圖7 通信終端接收請求控制設備流程圖

因為數(shù)據(jù)包中帶有通信終端ID,所以在MQTT主題設計上無需明確具體的終端.通過/to_server主題發(fā)布工業(yè)設備數(shù)據(jù);通過/to_server/config主題發(fā)布操作結(jié)果;通過/to_device主題接收服務端的請求.

通信終端與服務端數(shù)據(jù)交互的數(shù)據(jù)格式采用JSON格式,相比于其他格式,JSON格式更利于機器處理.通過ESP32模組提供的API能夠便捷地實現(xiàn)JSON格式的封裝和解析.

3 服務端軟件設計

服務端主要解決與通信終端數(shù)據(jù)交互、數(shù)據(jù)入庫、工業(yè)設備數(shù)據(jù)曲線顯示等問題.負責顯示設備運行狀態(tài)、運行數(shù)據(jù)、數(shù)據(jù)曲線等,為用戶提供設定參數(shù)、控制設備等操作接口,并存儲工業(yè)設備的運行數(shù)據(jù)等.

3.1 服務端與通信終端數(shù)據(jù)交互設計

服務端與通信終端數(shù)據(jù)交互主要分為兩種,通過以下方式實現(xiàn):

1) 服務端接收并顯示數(shù)據(jù),流程圖如圖8所示;

圖8 服務端接收并顯示數(shù)據(jù)流程圖

2) 服務端下發(fā)控制指令,流程圖如圖9所示.

圖9 服務端下發(fā)控制指令流程圖

3.2 數(shù)據(jù)表設計

以某種高低溫設備為例,設計過程為:

1) 設備管理數(shù)據(jù)表如表1所示,設備描述、所屬實驗室、制造商名稱字段主要用于設備信息描述,便于用戶查找相應設備,設備狀態(tài)字段用于表示設備狀態(tài),分為運行、停止和故障;

表1 設備管理數(shù)據(jù)表

2) 臨時數(shù)據(jù)表如表2所示,用于保存一定數(shù)量的設備數(shù)據(jù),獲取到新數(shù)據(jù)時,將新數(shù)據(jù)插入頭部,并將末尾的數(shù)據(jù)刪除,通過臨時數(shù)據(jù)表,用戶查看設備詳情時,可立刻顯示設備數(shù)據(jù)曲線,數(shù)據(jù)實時更新,避免圖表空白的情況;

表2 臨時數(shù)據(jù)表

3) 設備用戶表如表3所示,主要保存用戶與設備之間的權限關系;

表3 設備用戶表

4) 歷史數(shù)據(jù)表如表4所示,主要保存設備的數(shù)據(jù)信息;

表4 歷史數(shù)據(jù)表

5) 用戶管理表如表5所示,主要保存用戶相關信息;

表5 用戶管理表

6) 解析文件表如表6所示,主要保存設備歷史數(shù)據(jù)文件中的各項數(shù)據(jù),生成曲線圖.

3.3 工業(yè)設備數(shù)據(jù)入庫操作

工業(yè)設備數(shù)據(jù)入庫流程如圖10所示.設備配置表中的字段包括設備ID、邏輯ID、采樣頻率、運行模式、溫度、濕度等,當終端給服務端發(fā)送數(shù)據(jù)后,服務端到設備配置表中遍歷查找終端ID.如果沒有查到這個終端ID,說明該終端是首次連接,則創(chuàng)建新表;如果在設備配置表中找到該終端ID,則更新數(shù)據(jù).

表6 解析文件表

圖10 工業(yè)設備數(shù)據(jù)入庫流程圖

4 結(jié)語

本文介紹了基于MQTT協(xié)議的工業(yè)物聯(lián)網(wǎng)數(shù)據(jù)采集和控制系統(tǒng),設計了通信終端的硬件電路、通信協(xié)議及JSON格式封裝與解析步驟和采集工業(yè)設備數(shù)據(jù)及控制工業(yè)設備的操作流程等,設計并搭建了服務器和數(shù)據(jù)庫,實現(xiàn)了一套完整的工業(yè)物聯(lián)網(wǎng)數(shù)據(jù)采集和控制系統(tǒng).通過該系統(tǒng),能夠獲取工業(yè)設備的各項運行數(shù)據(jù),并且能夠遠程控制工業(yè)設備的狀態(tài)和設定工業(yè)設備的參數(shù).該系統(tǒng)具有實時、穩(wěn)定、準確等優(yōu)點,解決了當前工業(yè)生產(chǎn)現(xiàn)場工業(yè)設備管理復雜、耗時等問題,極大降低了人力、物力、財力的消耗及生產(chǎn)安全問題產(chǎn)生的可能,同時本系統(tǒng)也為工業(yè)物聯(lián)網(wǎng)遠程監(jiān)控提供了一種可以參考的解決方案.

猜你喜歡
服務端通信協(xié)議數(shù)據(jù)表
湖北省新冠肺炎疫情數(shù)據(jù)表
黨員生活(2020年2期)2020-04-17 09:56:30
基于列控工程數(shù)據(jù)表建立線路拓撲關系的研究
云存儲中基于相似性的客戶-服務端雙端數(shù)據(jù)去重方法
新時期《移動Web服務端開發(fā)》課程教學改革的研究
消費導刊(2018年8期)2018-05-25 13:19:48
基于Z-Stack通信協(xié)議棧的紅外地溫采集電路設計
在Windows Server 2008上創(chuàng)建應用
基于DMX512通信協(xié)議的多路轉(zhuǎn)發(fā)器設計與研究
基于NS-3的PLC多頻通信協(xié)議仿真平臺設計與實現(xiàn)
電測與儀表(2016年2期)2016-04-12 00:24:52
圖表
RSSP-I、RSSP-Ⅱ及SAHARA三種安全通信協(xié)議實現(xiàn)技術簡介
桑日县| 磴口县| 新丰县| 通化市| 涟源市| 子洲县| 敦煌市| 崇义县| 金湖县| 茶陵县| 海宁市| 隆化县| 临高县| 石河子市| 桂林市| 临汾市| 和平县| 张家川| 万载县| 大渡口区| 余庆县| 营口市| 临邑县| 西平县| 临高县| 白城市| 星子县| 大悟县| 英山县| 武汉市| 津南区| 临桂县| 若羌县| 改则县| 长宁县| 容城县| 攀枝花市| 云和县| 丹巴县| 西和县| 黎城县|