
統(tǒng)一命名空間 (UNS) 旨在將您的業(yè)務(wù)反映到數(shù)字基礎(chǔ)設(shè)施中。為了創(chuàng)建有效的UNS,擁有一個(gè)能夠有效連接眾多制造設(shè)備并統(tǒng)一從物理世界到數(shù)字世界的整個(gè)業(yè)務(wù)的技術(shù)堆棧至關(guān)重要。
這正是 MQTT 在 UNS 中發(fā)揮關(guān)鍵作用的原因。MQTT 代理通常用作數(shù)字基礎(chǔ)設(shè)施,用于管理分散的連接并連接其他行業(yè)(例如 IoV )中的分布式設(shè)備,在IIoT 中也是如此 。以下是您應(yīng)該在 UNS 中采用 MQTT 的原因。
UNS 需要一個(gè)數(shù)據(jù)中心作為單一事實(shí)來(lái)源來(lái)連接所有制造部件,包括 PLC、SCADA、MES 和 ERP。實(shí)時(shí)數(shù)據(jù)量巨大。通常,數(shù)據(jù)中心在大規(guī)模解決方案中面臨數(shù)千甚至數(shù)百萬(wàn)的并發(fā)連接。
由于采用二進(jìn)制格式,MQTT 的開(kāi)銷和帶寬消耗非常低。這種輕量級(jí)設(shè)計(jì)最 大限度地減少了消息的大小并減少了網(wǎng)絡(luò)流量。此功能與 UNS 和 IIoT 完美匹配。
企業(yè)主需要更多地關(guān)注運(yùn)營(yíng),而不是糾結(jié)于擴(kuò)展基礎(chǔ)設(shè)施資源來(lái)支持快速增長(zhǎng)的業(yè)務(wù)。這就是 UNS 的可擴(kuò)展性很重要的原因。在MQTT架構(gòu)中,一些代理提供了極好的可擴(kuò)展性,可以支持每秒數(shù)百萬(wàn)條消息。
MQTT 可能是IIoT領(lǐng)域的新來(lái)者,但它已經(jīng)獲得了巨大的普及。這是因?yàn)?/span> MQTT 構(gòu)成了舊 IIoT 技術(shù)最常見(jiàn)的子集,使其成為連接現(xiàn)有系統(tǒng)所有組件而不造成任何損壞的理想工具。
由于不存在適合所有情況的技術(shù)和產(chǎn)品,因此您無(wú)法僅通過(guò) OPC UA構(gòu)建UNS 或僅依賴于一種協(xié)議,尤其是當(dāng)您考慮到云時(shí)。UNS 必須結(jié)合不同的技術(shù),而 MQTT 是將它們統(tǒng)一在一個(gè)命名空間中的適配器和協(xié)調(diào)器。
開(kāi)源世界中存在許多數(shù)據(jù)約定工具和協(xié)議代理軟件,例如 Neuron、ignition 和 PLC4X。您可以將 OPC UA 連接到 MQTT,與 Modbus 和 Ethercat 相同。
在 IIoT 3.0 中,執(zhí)行數(shù)字化轉(zhuǎn)型的公司必須通過(guò)傳統(tǒng)系統(tǒng)的不同層(例如 MES、ERP、CRM 和 WMS)移動(dòng)數(shù)據(jù)。這會(huì)導(dǎo)致一個(gè)復(fù)雜的連接問(wèn)題,稱為“數(shù)據(jù)意大利面條”。
通過(guò)位于中間的 MQTT 代理促進(jìn)信息交換,UNS 可以有效地移動(dòng)數(shù)據(jù)。這是我們需要 MQTT 來(lái)構(gòu)建 UNS 的關(guān)鍵原因之一。
在 UNS 上下文中,PLC 不需要報(bào)告來(lái)自未知來(lái)源的輪詢請(qǐng)求。它只與整個(gè)系統(tǒng)已知的安全代理建立一個(gè)長(zhǎng)期連接,并且是所有東西都需要與之通信的唯 一數(shù)據(jù)中心。
MQTT 代理不僅解耦 IIoT 4.0 的輸入和輸出,還承擔(dān)起保護(hù)碎片設(shè)備和系統(tǒng)連接的責(zé)任。得益于 MQTT 豐富的安全功能,它完全有能力充當(dāng)生產(chǎn)線的隔離數(shù)據(jù)中心,防止任何格式錯(cuò)誤的數(shù)據(jù)滲透脆弱的 PLC。
這樣,UNS將安全負(fù)擔(dān)轉(zhuǎn)移給了broker,并在統(tǒng)一的地方進(jìn)行管理。
對(duì)于 IIoT 4.0,數(shù)據(jù)主要由設(shè)備而不是人生成。大多數(shù)時(shí)候,PLC 讀數(shù)不會(huì)改變,因此將冗余數(shù)據(jù)傳輸?shù)?/span> UNS 并使網(wǎng)絡(luò)不堪重負(fù)是沒(méi)有意義的。
然而,一旦寄存器的價(jià)值發(fā)生變化,就必須立即將其報(bào)告給ERP/MES或云端,以提取最 大價(jià)值,因?yàn)樾畔⒌牧鲃?dòng)性和邊際價(jià)值會(huì)隨著時(shí)間的推移而降低。這稱為“異常報(bào)告”。
因此,像MQTT這樣的事件驅(qū)動(dòng)技術(shù)對(duì)于實(shí)現(xiàn)UNS非常重要。MQTT 代理了解客戶端狀態(tài)變化。這種意識(shí)是通過(guò) SparkPlugB 和 MQTT Last Will 功能實(shí)現(xiàn)的。借助 Last Will 和 SparkPlugB,MQTT 僅傳達(dá)更改并確保過(guò)時(shí)的數(shù)據(jù)不會(huì)傳遞給訂閱客戶端。
UNS 是物理世界中業(yè)務(wù)的數(shù)字反映。它是由現(xiàn)實(shí)驅(qū)動(dòng)的,而不是相反。我們需要生成數(shù)據(jù)的高級(jí)上下文將其轉(zhuǎn)換為信息,例如站點(diǎn)的位置以及 PLC 屬于哪條生產(chǎn)線和單元。
幸運(yùn)的是,MQTT 的 Pub/Sub 消息傳遞模型提供了一種將 PLC 上下文映射到數(shù)字世界的簡(jiǎn)單方法。帶有 MQTT 的 UNS 使用戶能夠?yàn)g覽所有命名空間和功能。以及每個(gè)數(shù)據(jù)標(biāo)簽的實(shí)時(shí)狀態(tài)。
MQTT 主題明確定義如下:
MQTT 主題 具有層次結(jié)構(gòu),可以很容易地想象為文件夾結(jié)構(gòu)。通過(guò)將每個(gè)級(jí)別的命名空間添加為主題,我們可以在 MQTT 之上構(gòu)建樹視圖。
當(dāng)訂閱者使用主題“企業(yè) A/站點(diǎn) A/區(qū)域 A/過(guò)程單元 A/生物反應(yīng)器”中的數(shù)據(jù)時(shí),它會(huì)自動(dòng)知道數(shù)據(jù)的來(lái)源并對(duì)其采取必要的操作。他們可以使用通配符同時(shí)訂閱多個(gè)數(shù)據(jù)點(diǎn)。
MQTT 可以幫助您定義元數(shù)據(jù),確保 UNS 中不同系統(tǒng)之間的一致性和準(zhǔn)確性。
MQTT是構(gòu)建UNS的最 佳合作伙伴。然而,這不是強(qiáng)制性的。因此,您可以使用其他協(xié)議構(gòu)建 UNS,例如 OPC UA 和 HTTP,甚至普通的 Modbus + TCP/UDP。在眾多選項(xiàng)中,OPC UA 憑借強(qiáng)大的商業(yè)支持和標(biāo)準(zhǔn)的長(zhǎng)期使用壽命,仍然是 IIoT 的流行方法。
然而,這不是一種或另一種情況;而是一種情況。最 好的方法是通過(guò)橋接來(lái)結(jié)合雙方的優(yōu)勢(shì),或者通過(guò) MQTT 方法使用 OPC UA。
理論上,UNS是一個(gè)全局命名空間,統(tǒng)一了您業(yè)務(wù)的所有命名空間。每個(gè)工廠、每個(gè)站點(diǎn)和每個(gè) PLC 都是一個(gè)獨(dú)立的命名空間。
UNS 旨在將技術(shù)應(yīng)用于整個(gè)業(yè)務(wù),并以您可以駕馭的方式構(gòu)建它。因此,所有其他解決方案都可以盡最 大努力構(gòu)建在它之上。MQTT 負(fù)責(zé)連接來(lái)自 OT、CT 和 IT 世界的碎片化技術(shù),并將它們無(wú)縫集成。
我們討論了 MQTT 在 UNS 中的重要性以及為什么 MQTT 是所有 IT 系統(tǒng)的數(shù)據(jù)泵。在統(tǒng)一命名空間中采用 MQTT 可以帶來(lái)諸多好處,可以徹底改變我們?cè)跀?shù)字世界中的連接和通信方式。組織可以簡(jiǎn)化數(shù)據(jù)流、創(chuàng)建響應(yīng)速度更快、連接性更強(qiáng)的系統(tǒng),并釋放創(chuàng)新和增長(zhǎng)的新機(jī)會(huì)。
MQTT代表消息隊(duì)列遙測(cè)傳輸,是一種輕量級(jí)消息傳遞協(xié)議,專為受限設(shè)備和低帶寬、高延遲網(wǎng)絡(luò)而設(shè)計(jì)。它對(duì)于需要較小代碼占用空間或網(wǎng)絡(luò)帶寬有限的遠(yuǎn)程連接特別有用。
MQTT 5 是該協(xié)議的最 新版本,比其前身提供了許多改進(jìn)。新功能包括原因代碼、會(huì)話到期間隔、主題別名、用戶屬性、訂閱選項(xiàng)、請(qǐng)求/響應(yīng)功能和共享訂閱。
我們將探討這些新功能,解釋流行的代理和客戶端 SDK 如何支持 MQTT 5,以及從 MQTT 3.1.1 遷移到 MQTT 5 時(shí)的一些關(guān)鍵注意事項(xiàng)。
MQTT 最初由 IBM 的 Andy Stanley-Clark 博士和 Arcom(現(xiàn)為 Eurotech)的 Arlen Nipper 于 20 世紀(jì) 90 年代末開(kāi)發(fā),用于通過(guò)衛(wèi)星網(wǎng)絡(luò)監(jiān)控石油管道。初始版本 MQTT v3.1 被設(shè)計(jì)為輕量級(jí)且易于實(shí)現(xiàn),使其適用于許多物聯(lián)網(wǎng)設(shè)備。
OASIS 標(biāo)準(zhǔn) MQTT 3.1.1 于 2014 年發(fā)布,其中包括對(duì)協(xié)議的細(xì)微更改,以提高其清晰度和互操作性。它在資源有限的情況下通過(guò)網(wǎng)絡(luò)傳遞消息的簡(jiǎn)單性和效率使其在物聯(lián)網(wǎng)應(yīng)用中得到廣泛采用。
然而,隨著物聯(lián)網(wǎng)行業(yè)的發(fā)展,其應(yīng)用的需求也在不斷變化。這導(dǎo)致了 MQTT 5 的開(kāi)發(fā),并于 2019 年發(fā)布,它引入了新功能來(lái)滿足這些不斷變化的需求。憑借其增強(qiáng)的功能,MQTT 5 能夠更好地處理現(xiàn)代物聯(lián)網(wǎng)應(yīng)用的復(fù)雜要求。
與它的前身不同,MQTT 5 可以為每個(gè)確認(rèn)數(shù)據(jù)包提供 原因代碼 ,讓我們更好地了解發(fā)生連接或故障的原因。此改進(jìn)有助于故障排除并允許更精 確的錯(cuò)誤處理。
例如,如果客戶端無(wú)法連接到服務(wù)器,服務(wù)器將返回一個(gè)原因代碼,解釋連接失敗的原因。這可能是由于一系列問(wèn)題造成的,從不正確的登錄憑據(jù)到服務(wù)器不可用。
此功能允許客戶端指定 在客戶端斷開(kāi)連接后服務(wù)器應(yīng)維持其會(huì)話多長(zhǎng)時(shí)間。在以前的 MQTT 版本中,會(huì)話要么在斷開(kāi)連接時(shí)立即結(jié)束,要么無(wú)限期地繼續(xù)。
使用 MQTT 5,您可以定義斷開(kāi)連接后會(huì)話應(yīng)保持活動(dòng)狀態(tài)的特定時(shí)間段。這為管理會(huì)話生命周期提供了更大的靈活性,并節(jié)省了服務(wù)器上的資源。
MQTT 5 引入了 主題別名 來(lái)減少消息頭中的開(kāi)銷。在以前的版本中,每條消息中都需要包含主題名稱,從而導(dǎo)致數(shù)據(jù)包尺寸較大。
使用主題別名,可以為主題分配一個(gè)簡(jiǎn)短的數(shù)字別名。此別名可用于代替后續(xù)消息中的完整主題名稱,從而顯著減小 MQTT 標(biāo)頭的大小并節(jié)省網(wǎng)絡(luò)帶寬。
此功能允許用戶在 MQTT 數(shù)據(jù)包的標(biāo)頭中包含自定義元數(shù)據(jù)。這對(duì)于需要通過(guò) MQTT 消息發(fā)送附加信息(例如消息的時(shí)間戳、設(shè)備位置或其他特定于應(yīng)用程序的數(shù)據(jù))的應(yīng)用程序特別有用。用戶屬性提供了對(duì) MQTT 消息傳遞的更大靈活性和控制。
MQTT 5 允許客戶端指定 他們希望如何接收每個(gè)訂閱主題的消息。例如,客戶端現(xiàn)在可以指定是否要接收特定訂閱的保留消息,或者是否要接收消息,即使它們具有與訂閱相同的 QoS(服務(wù)質(zhì)量)級(jí)別。
請(qǐng)求 /響應(yīng)功能 允許客戶端指定服務(wù)器可用于發(fā)送直接回復(fù)的主題。
在 MQTT 的早期版本中,如果客戶端想要發(fā)送對(duì)消息的響應(yīng),它必須將響應(yīng)發(fā)布到主題,并且原始發(fā)送者必須訂閱該主題才能接收響應(yīng)。借助 MQTT 5 的請(qǐng)求/響應(yīng)功能,客戶端和服務(wù)器之間的通信變得更加高效和直接。
此功能允許多個(gè)客戶端共享訂閱。當(dāng)消息發(fā)布到共享主題時(shí),服務(wù)器會(huì)將該消息分發(fā)到共享訂閱中的客戶端之一,從而有效地對(duì)消息進(jìn)行負(fù)載平衡。
當(dāng)您運(yùn)行一個(gè)服務(wù)的多個(gè)實(shí)例并且您希望在它們之間均勻分配工作負(fù)載時(shí),此功能特別有用。
MQTT 5.0 協(xié)議受到物聯(lián)網(wǎng)社區(qū)的好評(píng),眾多 MQTT 代理 和客戶端軟件開(kāi)發(fā)工具包 (SDK) 都增加了對(duì)其的支持。主要 MQTT 經(jīng)紀(jì)商已在其平臺(tái)中實(shí)施 MQTT 5.0 功能,允許用戶利用新協(xié)議的優(yōu)勢(shì)。
在客戶端 SDK 方面,像 Paho 這樣擁有廣泛用戶基礎(chǔ)的庫(kù)增加了對(duì) MQTT 5.0 的支持。這意味著開(kāi)發(fā)人員現(xiàn)在可以在其物聯(lián)網(wǎng)應(yīng)用程序中利用 MQTT 5.0 功能。支持 MQTT 5.0 的客戶端 SDK 的其他示例包括 MQTT.js 和 MQTTnet。
如果您當(dāng)前正在使用 MQTT 3.1.1,那么可能是時(shí)候升級(jí)到 MQTT 5 了。以下是您在升級(jí)時(shí)應(yīng)考慮的一些主要事項(xiàng)。
一旦您評(píng)估了當(dāng)前的基礎(chǔ)設(shè)施并決定繼續(xù)遷移,下一步就是更新您的 MQTT 代理。這涉及安裝支持 MQTT 5.0 的最 新版本的 MQTT 代理。
升級(jí)您的代理應(yīng)謹(jǐn)慎進(jìn)行,因?yàn)樗鼤?huì)影響您的所有 MQTT 客戶端。建議首先在非生產(chǎn)環(huán)境中測(cè)試新代理,然后再將其部署到生產(chǎn)環(huán)境中。另外,請(qǐng)確保根據(jù)需要更新代理的配置,以支持 MQTT 5.0 中引入的新功能。
更新 MQTT 代理后,下一步是更新 MQTT 客戶端庫(kù)。就像代理更新一樣,您應(yīng)該首先在非生產(chǎn)環(huán)境中執(zhí)行此更新。另外,請(qǐng)確保您的應(yīng)用程序代碼已更新以處理新的 MQTT 5.0 功能??紤]到這可能涉及一些代碼重構(gòu)。
雖然 MQTT 5.0 帶來(lái)了多項(xiàng)改進(jìn),但它也引入了新的安全考慮因素。例如,通過(guò)新的用戶屬性功能,客戶端現(xiàn)在可以向經(jīng)紀(jì)人發(fā)送自定義數(shù)據(jù)。
雖然這是一個(gè)強(qiáng)大的功能,但如果使用不當(dāng),它可能會(huì)被利用。因此,從安全角度評(píng)估所有新功能非常重要。
您可以采取的一些步驟來(lái)解決安全問(wèn)題,包括使用新的增強(qiáng)型身份驗(yàn)證功能來(lái)增強(qiáng)安全性、限制客戶端只能發(fā)送必要的用戶屬性,以及持續(xù)監(jiān)控任何可疑活動(dòng)。
最后,在遷移到 MQTT 5.0 并實(shí)現(xiàn)其功能后,持續(xù)監(jiān)控您的系統(tǒng)非常重要。監(jiān)控不應(yīng)僅局限于技術(shù)方面,例如消息傳遞或客戶端連接。
您還應(yīng)該監(jiān)控應(yīng)用程序中新 MQTT 5.0 功能的使用情況。這將使您深入了解這些功能如何增強(qiáng)您的應(yīng)用程序以及可以在哪些方面進(jìn)行進(jìn)一步改進(jìn)。
IoT(物聯(lián)網(wǎng))是將日常設(shè)備連接到互聯(lián)網(wǎng),使它們能夠發(fā)送、接收和處理數(shù)據(jù)的想法。這些設(shè)備配備了傳感器、軟件和其他技術(shù),可以通過(guò)互聯(lián)網(wǎng)與其他設(shè)備和系統(tǒng)進(jìn)行通信和交互。它們可以被遠(yuǎn)程監(jiān)控和控制,從而提高效率、準(zhǔn)確性和經(jīng)濟(jì)效益。
工業(yè)物聯(lián)網(wǎng) ( IIoT ) 是物聯(lián)網(wǎng)的一個(gè)子集,專門針對(duì)工業(yè)領(lǐng)域。它涉及物聯(lián)網(wǎng)技術(shù)在工業(yè)應(yīng)用和流程中的應(yīng)用,例如制造、物流和能源管理。IIoT 利用機(jī)器學(xué)習(xí)、大數(shù)據(jù)、智能傳感器和機(jī)器對(duì)機(jī)器 (M2M) 通信等技術(shù)來(lái)增強(qiáng)工業(yè)流程。
IIoT 不僅僅是一個(gè)流行詞;這是一項(xiàng)變革性技術(shù),可以提高行業(yè)的運(yùn)營(yíng)效率、生產(chǎn)力和安全性。它可以實(shí)現(xiàn)工業(yè)系統(tǒng)的實(shí)時(shí)監(jiān)控和分析、預(yù)測(cè)性維護(hù)和自主操作等。
雖然工業(yè)物聯(lián)網(wǎng)和物聯(lián)網(wǎng)有一些共同的原則,但兩者之間也存在明顯的差異。最顯著的區(qū)別是,物聯(lián)網(wǎng)主要關(guān)注消費(fèi)者使用和提高生活質(zhì)量,而工業(yè)物聯(lián)網(wǎng)則以工業(yè)應(yīng)用為中心,旨在提高工業(yè)環(huán)境中的效率和生產(chǎn)力。
物聯(lián)網(wǎng)和工業(yè)物聯(lián)網(wǎng)的范圍和規(guī)模根本不同。物聯(lián)網(wǎng)通常是指連接到互聯(lián)網(wǎng)的日常設(shè)備,例如智能手機(jī)、家用電器和可穿戴設(shè)備。物聯(lián)網(wǎng)的目標(biāo)是通過(guò)允許設(shè)備相互通信來(lái)讓生活變得更輕松、更方便。
另一方面,工業(yè)物聯(lián)網(wǎng)專門適用于工業(yè)領(lǐng)域。它涉及大規(guī)模機(jī)器對(duì)機(jī)器通信和復(fù)雜工業(yè)過(guò)程的自動(dòng)化。IIoT 旨在提高制造、物流和能源等行業(yè)的效率、生產(chǎn)力和安全性。
就復(fù)雜性和精度而言,工業(yè)物聯(lián)網(wǎng)采用了與物聯(lián)網(wǎng)不同的方法。物聯(lián)網(wǎng)設(shè)備雖然復(fù)雜,但通常執(zhí)行簡(jiǎn)單的任務(wù),例如調(diào)節(jié)室溫或跟蹤健身活動(dòng)。
而工業(yè)物聯(lián)網(wǎng)則操作復(fù)雜、精度要求高。例如,在制造工廠中,工業(yè)物聯(lián)網(wǎng)系統(tǒng)可以根據(jù)實(shí)時(shí)需求自動(dòng)調(diào)整生產(chǎn)線的速度或檢測(cè)人眼看不見(jiàn)的產(chǎn)品中的微小缺陷。如此復(fù)雜和精 確的操作需要更強(qiáng)大和先進(jìn)的技術(shù)。
連接性和互操作性是工業(yè)物聯(lián)網(wǎng)和物聯(lián)網(wǎng)存在分歧的其他關(guān)鍵領(lǐng)域。物聯(lián)網(wǎng)設(shè)備通常通過(guò)標(biāo)準(zhǔn)家庭或辦公室網(wǎng)絡(luò)連接到互聯(lián)網(wǎng)。他們經(jīng)常使用 Wi-Fi、藍(lán)牙或 Zigbee 等常見(jiàn)通信協(xié)議,從而實(shí)現(xiàn)不同設(shè)備之間的無(wú)縫互操作。
相比之下,工業(yè)物聯(lián)網(wǎng)因其工業(yè)性質(zhì)而需要更強(qiáng)大的連接解決方案。它通常采用專門的工業(yè)通信協(xié)議,例如 OPC UA 或 Profinet,專為高速、可靠和安全的數(shù)據(jù)傳輸而設(shè)計(jì)。此外,鑒于工業(yè)環(huán)境中的機(jī)械和設(shè)備多種多樣,互操作性可能是工業(yè)物聯(lián)網(wǎng)部署中的一個(gè)關(guān)鍵挑戰(zhàn)。
物聯(lián)網(wǎng)和工業(yè)物聯(lián)網(wǎng)都使用通用的機(jī)器對(duì)機(jī)器協(xié)議。最重要的可能是 MQTT(消息隊(duì)列遙測(cè)傳輸),它以其輕量級(jí)特性、高效的發(fā)布/訂閱模型以及大規(guī)模操作的能力而聞名。MQTT 有助于高效的數(shù)據(jù)傳輸,尤其是在帶寬受限的環(huán)境中。
安全性在物聯(lián)網(wǎng)和工業(yè)物聯(lián)網(wǎng)中都至關(guān)重要,但安全性的側(cè)重點(diǎn)和方法各不相同。物聯(lián)網(wǎng)設(shè)備雖然需要安全措施,但通常處理不太敏感的數(shù)據(jù)。因此,它們的安全協(xié)議可能不像工業(yè)物聯(lián)網(wǎng)中的安全協(xié)議那么嚴(yán)格。
另一方面,工業(yè)物聯(lián)網(wǎng)處理關(guān)鍵的工業(yè)數(shù)據(jù)和控制系統(tǒng)。工業(yè)物聯(lián)網(wǎng)系統(tǒng)中的安全漏洞可能會(huì)導(dǎo)致災(zāi)難性后果,例如生產(chǎn)停機(jī)、財(cái)務(wù)損失,甚至對(duì)人身安全造成威脅。因此,工業(yè)物聯(lián)網(wǎng)系統(tǒng)實(shí)施先進(jìn)且嚴(yán)格的安全協(xié)議,包括數(shù)據(jù)加密、入侵檢測(cè)系統(tǒng)和定期安全審計(jì)。
可編程性是工業(yè)物聯(lián)網(wǎng)和物聯(lián)網(wǎng)之間的另一個(gè)顯著特征。大多數(shù)物聯(lián)網(wǎng)設(shè)備都具有預(yù)編程功能,可以滿足一般消費(fèi)者的需求。雖然一些物聯(lián)網(wǎng)設(shè)備允許定制,但它們的可編程性通常是有限的。
相反,工業(yè)物聯(lián)網(wǎng)系統(tǒng)具有高度可編程性和可定制性,旨在適應(yīng)不同行業(yè)和公司的特定需求。它們可以被編程來(lái)執(zhí)行復(fù)雜的任務(wù),做出自主決策,甚至使用機(jī)器學(xué)習(xí)算法從過(guò)去的行為中學(xué)習(xí),從而提供一般物聯(lián)網(wǎng)設(shè)備中不常見(jiàn)的靈活性。
在物聯(lián)網(wǎng)和工業(yè)物聯(lián)網(wǎng)之間進(jìn)行選擇很大程度上取決于您的具體需求和環(huán)境。如果您是一名消費(fèi)者,希望通過(guò)互聯(lián)設(shè)備簡(jiǎn)化生活并改善您的家庭,那么物聯(lián)網(wǎng)可能是最 佳選擇。它提供了各種用戶友好的設(shè)備和應(yīng)用程序,可以使您的日常活動(dòng)更加方便和愉快。
如果您是企業(yè)或工業(yè)運(yùn)營(yíng)商,工業(yè)物聯(lián)網(wǎng)可能更適合。它提供了強(qiáng)大的工具來(lái)提高工業(yè)環(huán)境中的效率、生產(chǎn)力和安全性。IIoT 可以提供有價(jià)值的見(jiàn)解和對(duì)復(fù)雜流程的控制,有助于降低成本和優(yōu)化運(yùn)營(yíng)。
但請(qǐng)記住,工業(yè)物聯(lián)網(wǎng)與物聯(lián)網(wǎng)不一定是非此即彼的決定。許多企業(yè)甚至一些消費(fèi)者將兩者結(jié)合使用。例如,制造公司可能將工業(yè)物聯(lián)網(wǎng)用于其生產(chǎn)流程,并將物聯(lián)網(wǎng)用于其辦公室和設(shè)施管理。消費(fèi)者可能會(huì)在他們的私人公寓中使用智能家居設(shè)備,而他們居住的公寓大樓則使用工業(yè)物聯(lián)網(wǎng)設(shè)備來(lái)提供空調(diào)和電梯維護(hù)等服務(wù)。
OPC UA(OPC統(tǒng)一架構(gòu))是一種獨(dú)立于平臺(tái)、面向服務(wù)、開(kāi)放、安全的通信架構(gòu)。它實(shí)現(xiàn)了不同供應(yīng)商的工業(yè)自動(dòng)化設(shè)備、系統(tǒng)和軟件應(yīng)用程序的互操作性。OPC UA信息模型定義了使用各種傳輸協(xié)議交換數(shù)據(jù)的代碼和格式。
同一基金會(huì)開(kāi)發(fā)了 OPC UA 及其前身開(kāi)放平臺(tái)通信 (OPC),但它們有顯著不同。該基金會(huì)持續(xù)開(kāi)發(fā) OPC UA,以創(chuàng)建比原始 OPC 通信更理想、更符合不斷發(fā)展的工業(yè)自動(dòng)化需求的架構(gòu)。
OPC基金會(huì)于2006年發(fā)布了OPC UA規(guī)范的第 一個(gè)版本,截至目前,OPC UA的版本為1.05。除了客戶端-服務(wù)器(訂閱)模型之外,OPC UA 還包括 Pub-Sub 機(jī)制,該機(jī)制允許通過(guò) UDP 協(xié)議、 MQTT 協(xié)議或 AMQP 協(xié)議推送 JSON 規(guī)范(也使用標(biāo)準(zhǔn)定義的二進(jìn)制規(guī)范 – UADP) 。
通過(guò)MQTT協(xié)議提供的快速、安全、可靠的傳輸通道,OPC UA可以直接使用互聯(lián)網(wǎng)進(jìn)行數(shù)據(jù)傳輸,同時(shí)保留OPC UA端到端安全性和標(biāo)準(zhǔn)化數(shù)據(jù)建模的關(guān)鍵優(yōu)勢(shì)。
l 功能等效性– 所有 OPC Classic 規(guī)范都映射到 UA,并且 OPC UA 包括 OPC Classic 中的 DA、A&E 和 HDA 功能:
功能性 | 描述 |
發(fā)現(xiàn) | 查找本地 PC 和/或網(wǎng)絡(luò)上可用的 OPC 服務(wù)器 |
地址空間 | 所有數(shù)據(jù)均按層次結(jié)構(gòu)表示(例如文件和文件夾),允許 OPC 客戶端發(fā)現(xiàn)和利用簡(jiǎn)單和復(fù)雜的數(shù)據(jù)結(jié)構(gòu) |
一經(jīng)請(qǐng)求 | 根據(jù)訪問(wèn)權(quán)限讀寫數(shù)據(jù)/信息 |
訂閱 | 監(jiān)控?cái)?shù)據(jù)/信息并在值變化超出客戶端設(shè)置時(shí)報(bào)告異常 |
事件 | 基于客戶端的設(shè)置通知重要信息 |
方法 | 客戶端可以根據(jù)服務(wù)器上定義的方法等執(zhí)行程序。 |
l 安全性——消息加密、身份驗(yàn)證和審核,組織在選擇技術(shù)標(biāo)準(zhǔn)時(shí)最重要的考慮因素之一是安全性。OPC UA 通過(guò)在穿過(guò)防火墻時(shí)提供一組控制來(lái)解決安全問(wèn)題:
功能性 | 描述 |
運(yùn)輸 | 定義了許多協(xié)議,提供超快速 OPC 二進(jìn)制傳輸或更通用的 SOAP-HTTPS 等選項(xiàng) |
會(huì)話加密 | 通過(guò) 128 位或 256 位加密級(jí)別安全傳輸信息 |
消息簽名 | 消息接收時(shí)和發(fā)送時(shí)的簽名必須相同。 |
測(cè)序數(shù)據(jù)包 | 通過(guò)排序消除已識(shí)別的消息重放攻擊 |
認(rèn)證 | 每個(gè) UA 客戶端和服務(wù)器均由 OpenSSL 證書標(biāo)識(shí),該證書提供對(duì)應(yīng)用程序和系統(tǒng)如何相互連接的控制。 |
用戶控制 | 應(yīng)用程序可能需要用戶身份驗(yàn)證(登錄憑據(jù)、證書等),并且可以進(jìn)一步限制或增強(qiáng)用戶對(duì)權(quán)限和地址空間“視圖”的訪問(wèn)。 |
審計(jì) | 記錄用戶和/或系統(tǒng)活動(dòng)以提供訪問(wèn)審核跟蹤 |
l 綜合信息建模:OPC UA信息建模框架,用于定義復(fù)雜信息,將數(shù)據(jù)轉(zhuǎn)換為信息。它允許通過(guò)完全面向?qū)ο蟮墓δ軄?lái)建模和擴(kuò)展甚至最復(fù)雜的多級(jí)結(jié)構(gòu),并能夠在配置文件中定義數(shù)據(jù)類型和結(jié)構(gòu)。
OPC UA 信息模型(地址空間)是形成結(jié)構(gòu)化圖的節(jié)點(diǎn)和引用的網(wǎng)絡(luò)。
標(biāo)準(zhǔn)形式的對(duì)象在地址空間中表示,其中模型元素稱為節(jié)點(diǎn)。地址空間將對(duì)象及其組件表示為節(jié)點(diǎn)的集合,由屬性描述并通過(guò)引用連接。OPC UA 建模就是創(chuàng)建節(jié)點(diǎn)以及節(jié)點(diǎn)之間的引用。
OPC UA 使用對(duì)象作為表示處理系統(tǒng)中的數(shù)據(jù)和活動(dòng)的基礎(chǔ)。變量、事件和方法通過(guò)對(duì)象內(nèi)的引用互連。
l 屬性描述節(jié)點(diǎn),不同的節(jié)點(diǎn)類具有不同的屬性集。節(jié)點(diǎn)類的定義包括定義屬性,因此地址空間不包括屬性。
l 引用表示節(jié)點(diǎn)之間的關(guān)系。地址空間中存在的引用類型節(jié)點(diǎn)的實(shí)例定義了引用。
l 節(jié)點(diǎn)模型的通用屬性
源節(jié)點(diǎn)是包含引用的節(jié)點(diǎn),目標(biāo)節(jié)點(diǎn)是被引用的節(jié)點(diǎn)。引用的目標(biāo)節(jié)點(diǎn)可以與源節(jié)點(diǎn)位于同一地址空間,也可以位于另一個(gè)OPC服務(wù)器的地址空間,甚至目標(biāo)節(jié)點(diǎn)可以不存在。
OPC UA 中最重要的節(jié)點(diǎn)類別是對(duì)象、變量和方法。
l 對(duì)象節(jié)點(diǎn):用戶使用對(duì)象節(jié)點(diǎn)來(lái)形成地址空間,這些節(jié)點(diǎn)不包含數(shù)據(jù)。他們使用變量來(lái)公開(kāi)對(duì)象的值。用戶可以使用對(duì)象節(jié)點(diǎn)對(duì)管理對(duì)象、變量或方法進(jìn)行分組;變量和方法總是屬于一個(gè)對(duì)象。
l 變量節(jié)點(diǎn):變量節(jié)點(diǎn)代表一個(gè)值。值的數(shù)據(jù)類型取決于變量。客戶端可以讀取、寫入和訂閱該值。
l 方法節(jié)點(diǎn):方法節(jié)點(diǎn)表示客戶端調(diào)用并接收結(jié)果的服務(wù)器中的方法。輸入?yún)?shù)和輸出結(jié)果以變量的形式作為方法節(jié)點(diǎn)的一部分。客戶端指定輸入?yún)?shù),調(diào)用后得到輸出結(jié)果。
MQTT 是一種輕量級(jí)、高效且可靠的 IoT 消息傳遞協(xié)議,采用發(fā)布訂閱模型來(lái)支持實(shí)時(shí)通信。MQTT 非常適合資源受限的環(huán)境,特別是需要高效使用電源和帶寬的場(chǎng)景。
SparkplugB 基于 MQTT 3.1.1 構(gòu)建,通過(guò)行業(yè)既定規(guī)范確保工業(yè)物聯(lián)網(wǎng)靈活、高效的基礎(chǔ)數(shù)據(jù)建模。得益于 MQTT 的出色設(shè)計(jì),SparkPlugB 實(shí)現(xiàn)了強(qiáng)大的互操作性和網(wǎng)絡(luò)狀態(tài)感知。
OPC UA和MQTT有一定程度的功能重疊,但它們的使用場(chǎng)景卻截然不同:
l OPC UA通過(guò)使用標(biāo)準(zhǔn)化語(yǔ)言促進(jìn)行業(yè)內(nèi)不同設(shè)備和系統(tǒng)之間的無(wú)縫通信。
l MQTT 通過(guò)互聯(lián)網(wǎng)高效處理實(shí)時(shí)傳感器數(shù)據(jù),解決物聯(lián)網(wǎng)應(yīng)用中的低帶寬和不可靠的網(wǎng)絡(luò)狀況。其讀取/發(fā)布機(jī)制在使用上提供了顯著的靈活性。
在工業(yè)場(chǎng)景中,MQTT 擅長(zhǎng)于分布式系統(tǒng)中的消息傳遞,而 OPC UA 則專注于提供互操作性。OPC UA對(duì)業(yè)務(wù)數(shù)據(jù)進(jìn)行抽象和聚合,MQTT以其強(qiáng)大的連接能力促進(jìn)無(wú)縫、分布式數(shù)據(jù)交換。
OPC基金會(huì)在OPC UA最 新規(guī)范中提出的Pub-Sub模型允許使用MQTT Broker將數(shù)據(jù)更改推送給訂閱者。
Pub-Sub 安全性比客戶端/服務(wù)器中的安全性要復(fù)雜一些,而且規(guī)范也沒(méi)有那么詳細(xì)。在 MQTT 網(wǎng)絡(luò)中,安全性基于 SSL/TLS,除了啟用 SSL/TLS 傳輸之外,代理還可以定義應(yīng)用程序級(jí)身份驗(yàn)證。
原則上,這些安全模型對(duì)于每個(gè)可以加入網(wǎng)絡(luò)的訂閱者和發(fā)布者來(lái)說(shuō)要么全部,要么全無(wú)。OPC UA 正在進(jìn)行的標(biāo)準(zhǔn)化工作仍在進(jìn)行中,目前還不清楚如何最 好地將豐富的 OPC UA 信息模型映射到 MQTT。
公眾號(hào) 掃碼咨詢
![]() | 上海市閔行區(qū)中春路4999號(hào)莘莊商務(wù)樓1326室 |
![]() | service@covond.com |
![]() | m.jxetj.com |
![]() | 交換機(jī):18017588179(孫經(jīng)理) 無(wú)人機(jī):13311882358(孫總) |