MQTT 協(xié)議概述MQTT 是用于物聯(lián)網(wǎng)的標準消息傳遞協(xié)議。它被設計為一種非常輕量級的發(fā)布/訂閱消息傳送,非常適合以較小的代碼占用量和網(wǎng)絡(luò )帶寬連接遠程設備。MQTT 協(xié)議具有以下特點(diǎn): - 輕巧高效:MQTT 客戶(hù)端非常小,需要設備資源少。MQTT 消息頭很小,可以?xún)?yōu)化網(wǎng)絡(luò )帶寬。
- 雙向通訊:MQTT 允許設備到云之間以及云到設備之間的消息傳遞。
- 可靠的消息傳遞:MQTT 具有3種定義的服務(wù)質(zhì)量級別:0-最多一次,1-至少一次,2-恰好一次,可根據業(yè)務(wù)場(chǎng)景保證消息傳遞的可靠性。
- 支持不可靠網(wǎng)絡(luò ):許多物聯(lián)網(wǎng)設備通過(guò)不可靠的蜂窩網(wǎng)絡(luò )進(jìn)行連接。MQTT 對持久性會(huì )話(huà)的支持減少了將客戶(hù)端與代理重新連接的時(shí)間。
- 安全:MQTT 使您可以輕松地使用 TLS 加密消息并使用現代身份驗證協(xié)議(例如OAuth)對客戶(hù)端進(jìn)行身份驗證。
如今,MQTT 被廣泛應用于汽車(chē)、制造業(yè)、電信、石油和天然氣等行業(yè)。 本系列文章將詳細解讀 MQTT 協(xié)議在各行業(yè)實(shí)際應用場(chǎng)景中是如何發(fā)揮作用的。 當前的工業(yè) PLC 數據采集PLC 即可編程邏輯控制器,是工業(yè)自動(dòng)化領(lǐng)域的核心設備,廣泛應用于各個(gè)工業(yè)領(lǐng)域。從 PLC 問(wèn)世至今,一直表現出強大的生命力和高速增長(cháng)態(tài)勢,2020 年全球 PLC 市場(chǎng)的銷(xiāo)售量已經(jīng)達到了百億 RMB 級別。 德國產(chǎn)業(yè)界將 PLC 在生產(chǎn)工藝自動(dòng)化過(guò)程中的廣泛應用定義為「工業(yè) 3.0」,其代表了各類(lèi)數控機床、工業(yè)機器人等單機自動(dòng)化設備在生產(chǎn)環(huán)節的推廣及應用。而將無(wú)處不在的傳感器、PLC、智能控制系統、通信設施通過(guò) ICT 技術(shù)形成一個(gè)智能網(wǎng)絡(luò ),使人與人、人與機器、機器與機器及服務(wù)與服務(wù)之間能夠互聯(lián),則是「工業(yè) 4.0」的核心要義。人、物、數據通過(guò)物聯(lián)網(wǎng)技術(shù)進(jìn)行流程再造,由單機智能升級為萬(wàn)物互聯(lián)的智能。 實(shí)現工業(yè)場(chǎng)景下的萬(wàn)物互聯(lián)離不開(kāi)對工業(yè)自動(dòng)化設備的數據采集。其中 PLC 常用的工業(yè)現場(chǎng)總線(xiàn)協(xié)議就多達數十種,此外各大 PLC 廠(chǎng)商基本都有各自的私有總線(xiàn)協(xié)議。由于現場(chǎng)總線(xiàn)種類(lèi)繁多各異,傳統的工業(yè) PLC 數據采集一般通過(guò)在設備側部署邊緣網(wǎng)關(guān)的方式進(jìn)行:使用邊緣網(wǎng)關(guān)將各類(lèi)協(xié)議統一,再將 PLC 數據采集及匯聚,轉發(fā)到 IoT 平臺,以此實(shí)現設備間的數據互聯(lián)。 然而,基于邊緣網(wǎng)關(guān)的數據采集方式,存在以下不足: - 需要部署邊緣網(wǎng)關(guān)硬件,并進(jìn)行軟件配置,需要投入額外的成本。
- 邊緣網(wǎng)關(guān)數據采集頻率只能達到秒級,大部分邊緣網(wǎng)關(guān)上報物聯(lián)網(wǎng)平臺的數據格式無(wú)法修改。
- PLC 與邊緣網(wǎng)關(guān)間通訊出現問(wèn)題,會(huì )造成數據采集缺失,無(wú)法為高級應用提供有效數據支撐。
新趨勢:PLC 集成 MQTT 協(xié)議隨著(zhù)物聯(lián)網(wǎng)、大數據及人工智能的迅速發(fā)展,自動(dòng)化廠(chǎng)商也在加速推進(jìn)物聯(lián)網(wǎng)戰略,推出各自的 IoT 和數字化解決方案。作為主流物聯(lián)網(wǎng)協(xié)議的 MQTT 協(xié)議成為各自動(dòng)化設備廠(chǎng)商關(guān)注的重點(diǎn)。為了加速實(shí)現互聯(lián)互通的工業(yè)物聯(lián)網(wǎng),各大廠(chǎng)商紛紛開(kāi)始在 PLC 中集成 MQTT 協(xié)議,以方便 PLC 數據的采集。 以幾個(gè)主流廠(chǎng)商為例: - 西門(mén)子已經(jīng)將 MQTT 客戶(hù)端功能封裝成 PLC 的庫文件,通過(guò)西門(mén)子 S7-1200、S7-1500 可以實(shí)現基于 MQTT 3.1.1 協(xié)議的數據上報,完成 PLC 與 MQTT 消息服務(wù)器的輕松連接。
- 德國倍福推出了 TF6701 IOT 通訊庫,通過(guò) MQTT 協(xié)議可以將 PLC 數據直接發(fā)往各大公有云 IoT 平臺以及 MQTT 消息服務(wù)器;TF6701 同時(shí)支持將 PLC 中數據封裝成 json 格式,完成數據上報,實(shí)現 OT 和 IT 領(lǐng)域的數據格式統一化。
圖片來(lái)源:https://infosys.beckhoff.com- 菲尼克斯推出的 PLCnext 開(kāi)放式控制平臺,操作系統采用 RT-Linux 系統,除了傳統的 PLC 的編程功能,還支持 C、Java、Python、JS 等高級語(yǔ)言編程,讓 PLC 可以通過(guò) MQTT SDK 靈活接入物聯(lián)網(wǎng)平臺。
一網(wǎng)到底:MQTT 賦能工業(yè)數據應用場(chǎng)景那么在實(shí)際的工業(yè)場(chǎng)景中,MQTT 協(xié)議與 PLC 的結合在數據采集中有哪些優(yōu)勢呢? 精簡(jiǎn)資源配置,采集更便捷將 MQTT 客戶(hù)端集成到 PLC 系統后,傳統的自動(dòng)化工程師通過(guò)自己擅長(cháng)的梯形圖、功能塊圖編程即可實(shí)現設備的數據采集和上報,無(wú)需采購邊緣網(wǎng)關(guān),更不需要關(guān)心邊緣網(wǎng)關(guān)的接線(xiàn)及軟件配置工作。 毫秒級時(shí)間戳,數據點(diǎn)信息更精確傳統的邊緣網(wǎng)關(guān)數據采集方式,大部分網(wǎng)關(guān)設備通過(guò)輪詢(xún)獲取 PLC 數據,采集精度可以達到秒級; MQTT 和 PLC 融合的方式,數據點(diǎn)可以結合精確到 1 毫秒級的時(shí)間戳,通過(guò) MQTT 協(xié)議實(shí)現工業(yè)數據的實(shí)時(shí)上報。此外,通過(guò) NTP 或者 IEEE 1588 服務(wù)器可以對所有 PLC 設備進(jìn)行時(shí)鐘同步,保證智慧工廠(chǎng)、產(chǎn)線(xiàn)等各類(lèi)生產(chǎn)環(huán)節的 PLC 設備具有同一的時(shí)間基準,各類(lèi)智能設備具備時(shí)鐘同步性,為后續的大數據分析挖掘提供高效的數據支撐。 數據點(diǎn)靈活配置,上報格式更統一傳統的邊緣網(wǎng)關(guān)數據采集方式,網(wǎng)關(guān)設備通過(guò)現場(chǎng)總線(xiàn)驅動(dòng)讀取 PLC 寄存器數據,需要根據 PLC 點(diǎn)位數據類(lèi)型配置數據點(diǎn)參數,然后數據以固定的 json 格式上報 MQTT 服務(wù)器。MQTT 與 PLC 融合,可支持在 PLC 中靈活配置數據點(diǎn),并通過(guò) json 格式數據上報,實(shí)現 OT 和 IT 領(lǐng)域的數據格式統一化。 基于以上優(yōu)勢,使用 MQTT 進(jìn)行數據采集與數據上云的 PLC 逐漸被廣泛應用到各個(gè)工業(yè)場(chǎng)景中。 海量數據全面感知:傳動(dòng)鏈部件預測性維護當前,新一輪科技革命和產(chǎn)業(yè)變革蓬勃興起,工業(yè)生產(chǎn)逐漸成為了人工智能的重點(diǎn)探索方向,工業(yè)智能發(fā)展的前提是海量數據的全面實(shí)時(shí)感知。MQTT 與 PLC 在工業(yè)現場(chǎng)的融合,完成了高精度數據的實(shí)時(shí)采集,在云端結合諸如 EMQX 這類(lèi)具備高吞吐、低延時(shí)特性的物聯(lián)網(wǎng)消息中間件,可以實(shí)進(jìn)一步現海量工業(yè)數據的實(shí)時(shí)移動(dòng)、處理、分析及存儲,為工業(yè)智能的應用夯實(shí)了底層基座。在風(fēng)電行業(yè),通過(guò)實(shí)時(shí)采集風(fēng)機傳動(dòng)鏈狀態(tài)監測系統 (CMS) 的振動(dòng)數據和風(fēng)機 SCADA 系統的工況運行數據,兩者進(jìn)行融合分析,建立風(fēng)機傳動(dòng)鏈部件的早期失效預警模型,可以及時(shí)預警核心部件的早期失效、采取積極預防措施,降低風(fēng)機核心部件發(fā)生重大故障的概率,避免大部件維修成本及其他各項損失。 提高設備利用率:遠程設備診斷由于 PLC 集成了 MQTT,每個(gè) PLC 掃描周期的數據點(diǎn)可以結合時(shí)間戳打包發(fā)往 MQTT 消息中間件 EMQX,通過(guò) EMQX 內置的規則引擎,將數據存儲到時(shí)序數據庫。結合豐富的可視化工具,可以實(shí)現云端的軟件示波器功能,幫助工程師遠程快速定位現場(chǎng)設備故障,降低設備停機時(shí)間,提升設備利用率。 決策優(yōu)化:電網(wǎng)智能調度基于物聯(lián)網(wǎng)的全面感知,結合云端的數據分析和建模,最終要形成決策優(yōu)化的應用閉環(huán),自下而上的信息流和自上而下的決策流將共同構成工業(yè)智能應用的核心鏈路。MQTT 與 PLC 在工業(yè)現場(chǎng)的融合,無(wú)需邊緣網(wǎng)關(guān)及協(xié)議轉換,實(shí)現了真正的一網(wǎng)到底,在數據中心到工業(yè)現場(chǎng)之間,構筑了一條安全、穩定、低時(shí)延的通訊鏈路。在新能源發(fā)電領(lǐng)域,MQTT 低時(shí)延的通訊鏈路直達 PLC,可以在發(fā)電側快速響應調度層的電網(wǎng)調頻、無(wú)功補償等指令,推進(jìn)電網(wǎng)的智能化發(fā)展。 圖片來(lái)源:《工業(yè)互聯(lián)網(wǎng)體系架構 2.0 報告》可以看到,集成了 MQTT 協(xié)議的 PLC 將使工業(yè)數據采集場(chǎng)景變得更加簡(jiǎn)單高效。結合服務(wù)器端或者云端的高性能 MQTT 消息中間件,工業(yè)生產(chǎn)數據更得以輕松上云,使其價(jià)值得到充分的發(fā)揮。 原創(chuàng )文章,作者:EMQ,如若轉載,請注明出處:https://www.emqx.com/zh/blog/mqtt-and-plc
|