1. <th id="1kj5t"><video id="1kj5t"><acronym id="1kj5t"></acronym></video></th>
    1. <big id="1kj5t"><em id="1kj5t"></em></big>
      <center id="1kj5t"></center>

      • IIANews微官網
        掃描二維碼 進入微官網
        IIANews微信
        掃描二維碼 關注微信
        移動客戶端
      • English
      工業連接和智能傳感論壇
      工業無線

      工業物聯網 | 關于OPC UA Pub / Sub的兩三事

        2021年04月01日  

        OPC UA 技術解決工業現場數據通信標準不統一的問題,使得不同操作系統和不同制造商的設備之間可以進行數據交互,是實現工業4.0不可或缺的一環。

        多年來,虹科工業物聯網團隊學習鉆研國際先進OPC UA相關技術,已有豐富知識和經驗, 為行業內諸多用戶提供OPC/OPC UA從硬件到軟件的不同方案,并致力于服務智能工廠和工業4.0升級改造項目。

        1、Pub / Sub模式是什么

        當OPC UA使用Pub / Sub(發布訂閱)模式來進行通訊時,OPC UA程序之間不再直接建立連接并相互發送請求和響應,而是采用如下的方式進行通訊:

        其中提供數據的OPC UA程序作為發布者,將消息發送到面向消息的中間件,而無需知道訂閱方是誰;而對其中特定類型的數據感興趣的另一方OPC UA程序,則作為訂閱者訂閱對應消息,并通過處理消息獲取到想要的數據,在這個過程中,同樣無需知道發布方是誰。

        而這里的“面向消息的中間件”,指的是在分布式系統中支持收發消息的軟件或硬件基礎設施。至于具體來說是軟件還是硬件,是什么軟件,或者是什么硬件,就要看這個分布式系統是如何組織起來的了。

        對于大部分使用場景,中間件的表現形式可以分為截然不同的兩種:

        無代理形式,此時中間件是支持轉發相關數據消息的網絡基礎設施,這種形式的典型通訊協議為UDP多播。

        有代理形式,此時中間件就是其中的消息代理,發布方和訂閱方分別使用比如AMQP、MQTT等標準的消息協議與消息代理進行通訊。所有發布的消息會進入消息代理的特定隊列,而訂閱方通過監聽這些隊列獲取消息。此外發布方和訂閱方可能使用不同的通訊協議,在這種情況下,消息代理將充當翻譯的角色。

        2、為什么使用Pub / Sub模式

        總的來說,在Pub / Sub模式下,作為發布方和訂閱方的OPC UA程序在網絡上被解耦開來,無論多少個訂閱者對同一發布者進行訂閱,都不會對發布者本身造成影響。這一特性使得Pub / Sub模式特別適合于那些在地理位置上需要獨立性,或者對擴展性有要求的應用場景。

        上面這樣講,大家可能還是有點懵,那就來假設一個具體的場景:我們有4個支持OPC UA的PLC設備,另外有兩個邊緣設備(我們假設都是邊緣網關)需要分別和這4個PLC進行連接通訊,那么如果我們采用傳統的C/S模式進行連接,連接關系將如下圖所示:

        圖中每一條綠線代表一個基于TCP的OPC UA連接,采用傳統的C/S模式時,每個服務端需要分別與每個客戶端建立連接。在4個服務端與2個客戶端之間建立連接,就已經需要建立4×2 = 8個連接了??上攵?,如果實際情況是兩個邊緣網關連著幾十個PLC,那么將需要建立上百個連接,若畫成圖,線就恐怕多到看不清了。

        建立與維護這種級別的連接數量對于配置較為現代的工控機來說,不是太大的問題,但對于性能有限的嵌入式設備,如PLC和小型邊緣網關,又或者較老的工控機來說,這將是一筆不小的性能開銷,進而又會對系統采樣率造成負面影響。

        此外,如此之多的連接,也會對管理帶來額外的成本,比如說,當我們需要更換一個邊緣網關時,就可能需要重新配置數十個PLC的OPC UA連接。

        而如果采用新的Pub / Sub模式,那將會是下圖這種效果:

        此時作為發布端的每個PLC只需要配置好與中間件的連接,并設定好一個“話題”,而作為訂閱端的邊緣網關,同樣只需要連上中間件,即可在相應的“話題”下獲取到對應數據。

        在Pub / Sub模式下,對于每個PLC而言,無論有多少個設備訂閱它發布的信息,都不會增加其性能負荷(當然,相應地中間件性能負荷會增大)。

        如此一來,便可以實現網絡上的解耦,輕松實現點對多點的數據傳輸,降低系統的建立與維護成本,同時為未來的擴展提供極大的便利性:比如將來需要建立PLC到PLC的直接通信(M2M),則只需要為PLC更新固件,使得PLC除了發布信息外能夠從中間件訂閱信息即可,無需增加鏈路,也無需對網絡其他部分進行改變。

        此外,Pub / Sub模式也并非與原本的C/S模式互斥,同一個設備可以同時與別的設備建立C/S模式和Pub / Sub模式的連接。下面,我們借用OPC基金會規范說明書中的圖來進行說明。

        上圖中,最下方的大方框是一個設備,同時充當了Pub / Sub模式連接的發布端和C/S模式連接的服務器端,OPC UA程序管理著一片地址空間,通過C/S模式與客戶端A進行連接時,需要建立一個會話,并且為這個客戶端特地準備一份它感興趣的數據;而通過Pub / Sub模式和其他設備進行通訊時,則先將所有需要發布的數據統一發布到中間件,然后各個訂閱設備則按需獲取自己感興趣的內容。

        怎么實現OPC UA Pub / Sub模式

        在討論具體操作之前,我們應當注意,OPC UA規范中的PubSub模型,按照采用不同的中間件,有4種不同的實現方式:分別是UDP、專用以太網幀、AMQP、MQTT。

        UDP指的是通過UDP的單播、多播、廣播方式傳輸UADP(UA DatagramPacket,一種OPC UA專有的二進制數據格式數據包);專用以太網幀則顧名思義使用特殊的以太網報文類型來傳輸UADP;AMQP和MQTT則分別利用標準的AMQP和MQTT協議中間件傳輸數據。

        目前直接支持OPC UA Pub / Sub模式的軟硬件較少,若需實現,一般需要通過支持Pub / Sub模式的OPC UA SDK開發相應固件或軟件來實現。

        目前來說,開源的open62541 SDK在1.0以上版本有限地支持了該特性,僅支持UDP這一種方式,并且尚未通過OPC基金會的認證,因此僅建議在學習、科研等非生產環境使用。對于實際工業生產環境的客戶,更加推薦使用商業版的SDK。

      標簽:虹科我要反饋
      最新視頻
      ABB《建筑是凝固的音樂》第五集,盡顯中世紀古船之美   
      三法蘭穿墻接插件   
      世強
      福祿克
      施耐德電氣EcoStruxure開發自動化平臺,軟硬件解耦,釋放工業潛能
      專題報道
      2020中國智能制造發展論壇
      2020中國智能制造發展論壇 12月2日,“2020中國智能制造發展論壇”在廣東現代國際展覽中心盛大召開。在這場年度盛會中,來自東莞市政府領導與制造業行業的多位大咖聚焦華南地區的工業基礎和轉型特點,通過豐富的應用案例進行分享與討論,為中國的智能制造產業發展提供了方向。
      企業通訊
      2021 ABB電氣云學堂
      2021 ABB電氣云學堂

      2020年,ABB電氣云學堂為廣大觀眾帶來滿滿干貨知識,通過一系列智能化解決方案滿足不同行業所需。2021年,ABB電氣

      專于機械,告別“凡學”——魏德米勒緊湊型重載連接器
      專于機械,告別“凡學”——魏德米勒緊湊型重載連接器

      化繁為簡!緊湊型重載是魏德米勒基于對機械市場的深刻理解,針對機械客戶核心需求,厚積薄發,精心設計的一款專利性創新產品。

      在線會議

      社區

      无限在线观看免费视频-中文字幕巨大的乳专区不卡顿-欧美乱妇欲仙欲死视频-黑人与中国女一级毛片
      1. <th id="1kj5t"><video id="1kj5t"><acronym id="1kj5t"></acronym></video></th>
        1. <big id="1kj5t"><em id="1kj5t"></em></big>
          <center id="1kj5t"></center>