<noframes id="bblxs"><output id="bblxs"><output id="bblxs"></output></output><dd id="bblxs"><font id="bblxs"><output id="bblxs"></output></font></dd>
<dd id="bblxs"></dd><font id="bblxs"></font>
<dd id="bblxs"></dd><font id="bblxs"></font><dd id="bblxs"></dd>
<output id="bblxs"><output id="bblxs"><dd id="bblxs"></dd></output></output>
<dd id="bblxs"></dd>
<dd id="bblxs"><output id="bblxs"><output id="bblxs"></output></output></dd><font id="bblxs"></font><font id="bblxs"><font id="bblxs"><output id="bblxs"></output></font></font><dd id="bblxs"></dd><dd id="bblxs"><font id="bblxs"><tr id="bblxs"></tr></font></dd><font id="bblxs"></font>
<dd id="bblxs"></dd>
<dd id="bblxs"><output id="bblxs"></output></dd><dd id="bblxs"><font id="bblxs"></font></dd>
<dd id="bblxs"></dd><font id="bblxs"><output id="bblxs"><tr id="bblxs"></tr></output></font><font id="bblxs"></font>
<font id="bblxs"><output id="bblxs"><noframes id="bblxs"><dd id="bblxs"><output id="bblxs"></output></dd><font id="bblxs"></font><dd id="bblxs"><output id="bblxs"><tr id="bblxs"></tr></output></dd><font id="bblxs"></font><dd id="bblxs"></dd> <dd id="bblxs"></dd><noframes id="bblxs"><font id="bblxs"></font><font id="bblxs"></font>
<font id="bblxs"></font>
<dd id="bblxs"><font id="bblxs"><tr id="bblxs"></tr></font></dd><font id="bblxs"><output id="bblxs"><tr id="bblxs"></tr></output></font>
<font id="bblxs"></font>
<dd id="bblxs"></dd>
<dd id="bblxs"></dd>
<dd id="bblxs"><output id="bblxs"></output></dd><dd id="bblxs"></dd>
您現在的位置: 通信界 >> IT >> 技術正文  
 
OPCUA+MQTT構建物聯網通用框架
[ 通信界 / dotNet / www.findmyhalf.com / 2022/10/30 18:58:07 ]
 

寫在前面:

為了應對標準化和跨平臺的趨勢,更好的推廣OPC,OPC基金會在OPCDA成功應用的基礎上推出了一個新的OPC標準——OPC UA,OPCUA不再基于分布式組件對象模型(DCOM),而是以面向服務架構(SOA)為基礎,因此,在未來的若干年中,OPCUA將逐步取代OPCDA,成為新一代的OPC標準,助力工業4.0。

而提起MQTT,或許大家有些陌生。MQTT是一個基于客戶端-服務器的消息發布/訂閱傳輸協議。具有輕量、簡單、開放和易于實現的特點,尤其在物聯網IOT領域應用非常廣泛。

物聯網一直都是一個很熱門的話題,而數據上云,也是現在工業上很普遍的一個需求。至于如何實現,各個廠家都提供了各種不同的解決方案,無分好壞,最適合的就是最好的。

剛看完一篇名為《OPCUA+MQTT=物聯網擴展的熱門組合》的公眾號文章之后,文思泉涌,想著如何將OPCUA與MQTT聯合起來,構建一個物聯網通用框架,實現數據遠傳。

01

PART

整體網絡架構

很多時候,我們的需求是這樣的:現場有N臺不同的設備或系統,每臺設備或者系統的協議是各不相同的,希望可以用一種通用并且簡單的方法,將這些數據傳到云端,實現遠程訪問。

這樣的需求,在上位機中其實是物聯網最典型的應用之一,那么采用OPCUA+MQTT或許是個不錯的選擇,整體的框架設計如下:

OPCUA+MQTT構建物聯網通用框架

圖表 1 整體網絡架構

為了實現整體功能,這里的設備層,采用Modbus Slave,基于Modbus TCP協議來做仿真測試,增加5個變量,分為為壓力1-壓力5,對應地址從40001-40010,數據類型為浮點型,運行Modbus Slave仿真結果如下:

OPCUA+MQTT構建物聯網通用框架

圖表 2 ModbusTCP服務器

02

PART

服務層

至于服務層,主要是OPCUA服務器的開發應用,這里我們有兩個選擇,一種是采用第三方的OPC軟件,比如Kepware、Knight、Matrikon這些公司的產品,這種比較容易,做下相關配置即可,另外一種方式就是自己開發,相對來說難度要大一些。

這里我使用自己開發的一款軟件——上位機CMS配置一體化軟件,通過簡單配置,在10秒內,實現了ModbusTCP客戶端數據通信,結果如下:

OPCUA+MQTT構建物聯網通用框架

圖表 3 ModbusTCPClient通信測試

然而,這部分,僅僅是實現了ModbusTCP客戶端的功能,如果要實現OPCUA服務器的功能,需要激活一下OPCUA服務器,在服務器節點下添加一臺OPCUA服務器即可,添加完成后,保存重新運行,結果如下:

OPCUA+MQTT構建物聯網通用框架

 圖表 4 開啟OPCUAServer

為了測試OPCUA服務器是否開啟成功,需要進行測試,可以使用官方軟件UAExpert軟件來測試一下:

OPCUA+MQTT構建物聯網通用框架

圖表 5 OPCUAClient通信測試

03

PART

數據層

(1)在實現數據層功能之前,需要創建一個MQTT服務器,這里基于.NET CORE編寫了一個MQTT服務器的程序,并在阿里云服務器中部署運行(這里要注意開放端口1883),運行效果如下:

OPCUA+MQTT構建物聯網通用框架

 圖表 6 MQTT服務器

(2)MQTT服務器創建完成之后,重新打開一個CMS配置軟件來進行OPCUAClient的功能測試,上一節中的UAExpert是官方的OPCUA客戶端軟件,僅用于測試使用,這里的使用的CMS配置軟件的OPCUAClient是自己開發的客戶端程序,經過配置之后,運行結果如下:

OPCUA+MQTT構建物聯網通用框架

 圖表 7 OPCUAClient

(3)在CMS配置人家的服務器節點中,右擊添加一個MQTTClient,根據MQTT服務器配置相關IP、用戶、密碼、主題及更新時間等信息,具體如下:

OPCUA+MQTT構建物聯網通用框架

圖表 8 MQTT客戶端配置

(4)配置完成后點擊啟動按鈕,整體運行之后,可以看到MQTT連接成功,并按照設定的周期將最新的數據發布到指定的主題中,效果如下:

OPCUA+MQTT構建物聯網通用框架

圖表 9 啟動MQTT客戶端

(5)打開MQTT服務器,也可以看到不斷地有數據發布過來,這里為了便于觀察結果,將壓力1的數據仿真成每秒加1,MQTT服務器數據接收如下:

OPCUA+MQTT構建物聯網通用框架

圖表 10 MQTT服務器數據接收

04

PART

應用層

通過以上的相關部署,即可實現整個OPCUA+MQTT的實現,實際應用時,只需要開啟一個MQTT客戶端,連接指定的MQTT服務器,并訂閱相應的主題,即可獲取到設備層的實時數據,這里使用一個常用的MQTT客戶端軟件,即MQTT.fx:

 

圖表 11 MQTT.fx通信測試

寫在最后:

本文旨在結合當下主流的OPCUA統一架構和MQTT通信協議,實現一種數據上云的途徑,對于自動化行業的上位機工程師來說,可以拓展大家的思路。未來更多是IT和OT相結合的一種趨勢,因此,作為每個工控技術人員,都要時刻保持危機感,不斷學習,不斷進步,這樣才能更好地面對未來工業的快速發展。

 

作者:dotNet 合作媒體:通信界 編輯:顧北

 

 

 
 熱點新聞
普通新聞 聚智成勢 協同向新|中信科智聯精彩亮相2023世界智能網聯汽車大會
普通新聞 三星Galaxy Z Fold5再次拉高行業標準 超閉合精工鉸鏈可折疊70萬次
普通新聞 中國信通院敖立:新時期工業互聯網將對產業鏈組織帶來新價值
普通新聞 揭秘開幕式數字點火!中國技術打造亞運經典時刻
普通新聞 華為:凝心聚力,加速AI的生態繁榮
普通新聞 中國移動榮獲TM Forum2023年度市場創新卓越獎
普通新聞 工信部:杭州亞運會首創5G超密組網方案 推進5G-A超寬帶技術應用
普通新聞 英特爾發布超能云終端3.0,攜手生態伙伴共謀數字化未來
普通新聞 中國信科:連接數字化美好未來
普通新聞 上PICO,沉浸式觀看亞運直播,參與跨國界游戲競技
普通新聞 新紫光集團強化產業協同,新華三向“深”生長
普通新聞 新訊重磅發布5G隨身wifi,真5G 打游戲!
普通新聞 OpenAI推出新版圖像生成器DALL-E 3,10月份開發
普通新聞 華為全面智能化!孟晚舟:打造中國算力底座 為世界構建第二選擇
普通新聞 水木分子發布生物醫藥行業千億參數大模型,推出藥研助手ChatDD
普通新聞 歐盟:距離對中國電動汽車征收新關稅“還很遙遠”
普通新聞 數據顯示8月底ChatGPT流量開始回升,主要是因為開學了
普通新聞 這顆小行星可能在159年后撞上地球?
普通新聞 華為正式發文:余承東升任車業務董事長 靳玉志接任CEO
普通新聞 道歉都整不明白的臥龍鳳雛,不止花西子一個.....
  版權與免責聲明: ① 凡本網注明“合作媒體:通信界”的所有作品,版權均屬于通信界,未經本網授權不得轉載、摘編或利用其它方式使用。已經本網授權使用作品的,應在授權范圍內使用,并注明“來源:通信界”。違反上述聲明者,本網將追究其相關法律責任。 ② 凡本網注明“合作媒體:XXX(非通信界)”的作品,均轉載自其它媒體,轉載目的在于傳遞更多信息,并不代表本網贊同其觀點和對其真實性負責。 ③ 如因作品內容、版權和其它問題需要同本網聯系的,請在一月內進行。
通信視界
吳春波:華為如何突破美國6次打壓的逆境?
劉烈宏:以數字化網絡化智能化助力數字經濟與
普通對話 高通中國區董事長孟樸:5G與AI結合,助力提
普通對話 雷軍發布小米年度演講:堅持做高端,擁抱大
普通對話 聞庫:算網融合正值挑戰與機遇并存的關鍵階
普通對話 工信部副部長張云明:我國算力總規模已居世
普通對話 鄔賀銓:我國互聯網平臺企業發展的新一輪機
普通對話 張志成:繼續加強海外知識產權保護工作 為助
普通對話 吳春波:華為如何突破美國6次打壓的逆境?
普通對話 劉烈宏:以數字化網絡化智能化助力數字經濟
普通對話 消息稱微軟將把OpenAI人工智能技術整合至Of
普通對話 中國電信董事長柯瑞文:數字科技引領新消費
普通對話 中國移動董事長楊杰出席GSMA創新論壇并作主
普通對話 中國信科何書平:“一體兩翼”大力支撐數字
普通對話 中興徐子陽:泛在協同,筑“算網”坦途
普通對話 中國移動陳國:智慧中臺對外輸出數百項高價
普通對話 中興通訊總裁徐子陽:數貫東西,融達天下,
通信前瞻
亨通光電實踐數字化工廠,“5G+光纖”助力新一
鄔賀銓院士解讀ChatGPT等數字技術熱點
普通對話 亨通光電實踐數字化工廠,“5G+光纖”助力新
普通對話 中科院錢德沛:計算與網絡基礎設施的全面部
普通對話 工信部趙志國:我國算力總規模居全球第二 保
普通對話 鄔賀銓院士解讀ChatGPT等數字技術熱點
普通對話 我國北方海區運用北斗三號短報文通信服務開
普通對話 華為云Stack智能進化,三大舉措賦能政企深度
普通對話 孟晚舟:“三大聚力”迎接數字化、智能化、
普通對話 物聯網設備在智能工作場所技術中的作用
普通對話 軟銀研發出以無人機探測災害被埋者手機信號
普通對話 AI材料可自我學習并形成“肌肉記憶”
普通對話 北斗三號衛星低能離子能譜儀載荷研制成功
普通對話 為什么Wi-Fi6將成為未來物聯網的關鍵?
普通對話 馬斯克出現在推特總部 收購應該沒有懸念了
普通對話 臺積電澄清:未強迫員工休假或有任何無薪假
普通對話 新一代載人運載火箭發動機研制獲重大突破
亚洲中文字幕色大焦视频_野狼av午夜福利在线_激情开心_俺也去噜噜噜噜色
<noframes id="bblxs"><output id="bblxs"><output id="bblxs"></output></output><dd id="bblxs"><font id="bblxs"><output id="bblxs"></output></font></dd>
<dd id="bblxs"></dd><font id="bblxs"></font>
<dd id="bblxs"></dd><font id="bblxs"></font><dd id="bblxs"></dd>
<output id="bblxs"><output id="bblxs"><dd id="bblxs"></dd></output></output>
<dd id="bblxs"></dd>
<dd id="bblxs"><output id="bblxs"><output id="bblxs"></output></output></dd><font id="bblxs"></font><font id="bblxs"><font id="bblxs"><output id="bblxs"></output></font></font><dd id="bblxs"></dd><dd id="bblxs"><font id="bblxs"><tr id="bblxs"></tr></font></dd><font id="bblxs"></font>
<dd id="bblxs"></dd>
<dd id="bblxs"><output id="bblxs"></output></dd><dd id="bblxs"><font id="bblxs"></font></dd>
<dd id="bblxs"></dd><font id="bblxs"><output id="bblxs"><tr id="bblxs"></tr></output></font><font id="bblxs"></font>
<font id="bblxs"><output id="bblxs"><noframes id="bblxs"><dd id="bblxs"><output id="bblxs"></output></dd><font id="bblxs"></font><dd id="bblxs"><output id="bblxs"><tr id="bblxs"></tr></output></dd><font id="bblxs"></font><dd id="bblxs"></dd> <dd id="bblxs"></dd><noframes id="bblxs"><font id="bblxs"></font><font id="bblxs"></font>
<font id="bblxs"></font>
<dd id="bblxs"><font id="bblxs"><tr id="bblxs"></tr></font></dd><font id="bblxs"><output id="bblxs"><tr id="bblxs"></tr></output></font>
<font id="bblxs"></font>
<dd id="bblxs"></dd>
<dd id="bblxs"></dd>
<dd id="bblxs"><output id="bblxs"></output></dd><dd id="bblxs"></dd>