虹科
IIoT
虹科案例之AGV
—— HiveMQ助力AGV小車與控制系統(tǒng)之間實現(xiàn)通信
前言
本案例主要描述AGV小車和控制系統(tǒng)之間的通信過程,通過VDA 5050標(biāo)準(zhǔn)接口、MQTT通信協(xié)議和虹科HiveMQ實現(xiàn)AGV小車和控制系統(tǒng)之間指令和狀態(tài)信息的通信。
VDA 5050是一種AGV小車與控制系統(tǒng)之間的標(biāo)準(zhǔn)通信接口,旨在簡化AGV小車與現(xiàn)有控制系統(tǒng)的連接,以及允許在同一工作環(huán)境中并行操作來自不同制造商的AGV小車。
虹 科 方 案
挑戰(zhàn)
01
虹科 · MQTT Broker 案例
應(yīng)用挑戰(zhàn)
MQTT已成為連接設(shè)備和AGV小車的物聯(lián)網(wǎng)標(biāo)準(zhǔn),而且市場上已經(jīng)有許多MQTT解決方案。除了支持MQTT協(xié)議之外,運行安全穩(wěn)定的系統(tǒng)還需要其他關(guān)鍵功能。在實現(xiàn)AGV小車與控制系統(tǒng)之間的通信時,面臨的挑戰(zhàn)主要有以下幾點:
(1)MQTT解決方案支持所有MQTT 5功能,VDA規(guī)范中描述的幾個與數(shù)據(jù)相關(guān)的特性可以通過MQTT 5完美描述。
(2)MQTT解決方案支持適合大多數(shù)應(yīng)用場景的安全機制。
(3)為了在不停機的情況下支持系統(tǒng)更改,MQTT解決方案需要高度可用,并支持滾動升級和遷移場景。
(4)MQTT解決方案具有伸縮性,能夠支持越來越多的AGV小車。
(5)MQTT Broker必須可擴展,可以通過“即插即用”集成其他系統(tǒng)或添加業(yè)務(wù)功能。
(6)數(shù)據(jù)格式由VDA指定,并應(yīng)在發(fā)布前進行驗證,以使解決方案更加強大和安全。
(7)在生產(chǎn)環(huán)境中,MQTT解決方案能夠集中監(jiān)控和跟蹤特定客戶端、主題或消息。
虹科 · MQTT Broker 案例
方案介紹
方案
02
系統(tǒng)框架
下圖所示是本案例的系統(tǒng)框架。在外部,HiveMQ Broker作為一個邏輯單元運行,在內(nèi)部,則作為集群節(jié)點運行。HiveMQ Broker 使用用于身份驗證和授權(quán)的安全擴展、用于JSON有效負載驗證的擴展以及用于跟蹤和監(jiān)控的擴展。指標(biāo)、事件日志以及其他日志信息以 JMX 格式提供,可以集中監(jiān)控。
作為主要用例,控制系統(tǒng)(CS)客戶端向AGV小車發(fā)送信息,并消費AGV小車的相關(guān)狀態(tài)或可能的錯誤信息??刂葡到y(tǒng)(CS)的數(shù)據(jù)以基本配置和每輛AGV小車的設(shè)備配置形式提供,而且使用的JSON格式可以在JSON Scheme中定義。
方案簡介
HiveMQ是一個企業(yè)級的MQTT Broker,專門為物聯(lián)網(wǎng)應(yīng)用場景的業(yè)務(wù)需求量身定制。HiveMQ企業(yè)版能夠保證數(shù)據(jù)在物聯(lián)網(wǎng)設(shè)備之間快速、高效和可靠的傳輸。此外,HiveMQ支持MQTT 3和MQTT 5,也支持混合版本的應(yīng)用場景。同時,HiveMQ提供了一個免費的開源擴展SDK。
HiveMQ擴展框架提供了一個開放的API,開發(fā)人員可以創(chuàng)建適合其特定基礎(chǔ)設(shè)施的自定義擴展,而且擴展框架可用于使用自定義業(yè)務(wù)邏輯來擴展HiveMQ,而且?guī)缀蹩梢詫⑷魏蜗到y(tǒng)集成到HiveMQ。其主要性能如下:
穩(wěn)定性:
HiveMQ中集群的設(shè)置使來自客戶端的消息和數(shù)據(jù)均勻分布在所有節(jié)點上,集群中數(shù)據(jù)的復(fù)制應(yīng)根據(jù)節(jié)點數(shù)量進行配置,而且所有數(shù)據(jù)至少復(fù)制一次。
可擴展性:
HiveMQ MQTT Broker集群由幾個單獨的HiveMQ節(jié)點組成。由于要處理的MQTT消息數(shù)量、保留消息、客戶端連接率、排隊消息以及其他可能導(dǎo)致單個代理過載的操作,每個節(jié)點在任何給定時間都可能經(jīng)歷不同的壓力水平。
HiveMQ提供內(nèi)置的集群過載保護,每個HiveMQ集群節(jié)點都能夠降低來自MQTT客戶端傳入消息的速率,防止出現(xiàn)集群過載。這種機制顯著提高了HiveMQ集群的彈性,如果HiveMQ集群遇到過載情況,單個MQTT客戶端可能會受到限制。如果使用集群過載保護機制,HiveMQ能夠從壓力情況(行為不良的客戶端或DDOS攻擊)中恢復(fù),而不會導(dǎo)致所有其他MQTT客戶端的服務(wù)明顯下降。
高性能:
HiveMQ是一個高度可擴展的企業(yè)級MQTT Broker,旨在實現(xiàn)最低的延遲和非常高的吞吐量。
兼容性:
HiveMQ可以安裝在任何環(huán)境中,例如虛擬機,虛擬機上的Docker,亞馬遜、Azure或谷歌等云環(huán)境,以及Linux系統(tǒng)的裸機。同時,它能夠與Kubernetes等集群管理系統(tǒng)或 OpenShift等應(yīng)用平臺完美配合。
監(jiān)控、日志記錄、MQTT 跟蹤:
HiveMQ提供一個控制中心來監(jiān)控MQTT Broker行為并提供了一組基本指標(biāo)。操作員還可以查看特定MQTT客戶端的狀態(tài),并在特定客戶端和Broker之間設(shè)置消息的跟蹤記錄,能夠有效地對已部署的系統(tǒng)進行故障排除。
HiveMQ日志系統(tǒng)使用標(biāo)準(zhǔn)日志框架,能夠以細粒度的方式配置日志文件。所有與客戶端相關(guān)的MQTT事件都記錄在對應(yīng)的事件日志文件中,而且HiveMQ日志可以流式傳輸?shù)街醒肴罩鞠到y(tǒng)。
HiveMQ控制中心主要用于人工監(jiān)控系統(tǒng),尤其是MQTT消息吞吐量、MQTT消息丟失的特定錯誤類型和跟蹤日志。同時,控制中心只能從受信任的IP訪問,用戶可以在企業(yè)安全擴展的使用范圍內(nèi)定義特定的訪問角色。
企業(yè)安全擴展:
HiveMQ企業(yè)安全擴展可用于身份驗證和授權(quán),使用不同來源的外部身份驗證和授權(quán)數(shù)據(jù)來對MQTT客戶端進行身份驗證和授權(quán)。
在 HiveMQ企業(yè)安全擴展中,用戶可以定義領(lǐng)域以將其服務(wù)器劃分為受保護的區(qū)域,每個區(qū)域可以擁有自己的身份驗證和授權(quán)方案。主要功能如下:
①為用戶名和密碼、OAUTH 2.0 (JWT)、LDAP、SQL 數(shù)據(jù)庫和 x.509 客戶端證書提供了安全集成模式;
②可用于RBAC到HiveMQ控制中心;
③容易切換身份驗證變體,因為不同的客戶端的不同變體可以同時使用;
④身份驗證機制可以不同于授權(quán)機制,例如,可以使用LDAP進行身份驗證,并使用外部RBAC系統(tǒng)進行授權(quán)。
通信過程
在AGV小車指令和狀態(tài)信息交換的應(yīng)用場景下,主題結(jié)構(gòu)如下所示??刂葡到y(tǒng)客戶端使用“+”通配符模式訂閱占位符,并且可以發(fā)布到每個AGV小車客戶端的指令主題。AGV小車客戶端只有自己主題路徑的發(fā)布/訂閱權(quán)限,該路徑由接口名稱、版本、制造商和序列號等關(guān)鍵信息指定。
在指令和狀態(tài)信息通信過程中,每個主題都從一個子主題開始,用動態(tài)占位符分隔不同的通信設(shè)備。子主題order和orderState用于信息交換,主題deviceState用于當(dāng)AGV小車處于在線和離線狀態(tài)時獲取信息,以處理錯誤情況并在特定情況下初始化設(shè)備。
每個AGV小車訂閱他們各自的指令主題,并發(fā)布信息到對應(yīng)的指令狀態(tài)主題,當(dāng)AGV小車客戶端消費指令信息并處理指令或部分指令后,必須將相應(yīng)的指令狀態(tài)發(fā)布到orderState主題上。同時,控制系統(tǒng)可以訂閱所有AGV小車指令狀態(tài)和設(shè)備狀態(tài)主題以此獲取AGV小車的相關(guān)信息。
AGV小車客戶端可以通過Broker或者客戶端操作來斷開連接。如果AGV小車客戶端通過斷開自身而脫機,該狀態(tài)也應(yīng)在控制系統(tǒng)中確定,而且AGV小車都應(yīng)將狀態(tài)為“OFF”的保留消息發(fā)送到deviceState主題。
為了從AGV小車獲取設(shè)備狀態(tài),每個AGV小車客戶端可以定義一個最后的遺囑保留消息,并在連接期間設(shè)置“Will Publish”。如果AGV小車客戶端下線,則向指定主題發(fā)送“Will”消息。同時,每個AGV小車客戶端都可以向deviceState主題發(fā)布消息以此表明其在線狀態(tài)。此外,使用MQTT 5可以在發(fā)送遺囑消息時配置延遲,適用于設(shè)備短暫中斷且沒有影響的情況。而且也可以在Broker和客戶端上配置Keepalive。
總結(jié)
03
虹科 · MQTT Broker 案例
案例總結(jié)
實現(xiàn)AGV小車和控制系統(tǒng)之間的通訊所面臨的挑戰(zhàn)可以通過MQTT 5和HiveMQ來實現(xiàn)。HiveMQ能夠提供運行安全穩(wěn)定系統(tǒng)所需的關(guān)鍵功能,MQTT 5可以完美地描述特定格式及其驗證等數(shù)據(jù)相關(guān)功能以及元數(shù)據(jù)的使用,而且HiveMQ支持混合場景中MQTT 5和MQTT 3客戶端。
此外,安全性是一個非常重要的關(guān)鍵特性,如果要將不同的制造商集成到一個控制系統(tǒng)中,則需要使用支持不同變體安全性的解決方案。HiveMQ企業(yè)安全擴展可以使用不同來源的外部身份驗證和授權(quán)數(shù)據(jù)來對MQTT客戶端進行身份驗證和授權(quán)。
如果需要在不停機的情況下進行系統(tǒng)更改,則解決方案必須具有高度可用性,而且支持滾動升級和遷移方案。HiveMQ具有高度可擴展性,能夠支持越來越多的AGV小車。同時,HiveMQ 能夠提供一個控制中心,用于監(jiān)視和跟蹤生產(chǎn)環(huán)境中特定客戶端、主題或消息。
為了集成其他系統(tǒng),例如中央日志系統(tǒng)或添加任何業(yè)務(wù)功能,可以通過擴展系統(tǒng)來擴展 HiveMQ,而且大量的開源解決方案和標(biāo)準(zhǔn)解決方案已經(jīng)可用。在Open HiveMQ擴展API的幫助下,每個特定業(yè)務(wù)的解決方案都可以實現(xiàn)。將HiveMQ和MQTT 5結(jié)合起來實現(xiàn)VDA 5050用例將是一個完美的解決方案。
虹科--工業(yè)物聯(lián)網(wǎng)
虹科是一家在工業(yè)物聯(lián)網(wǎng)IIoT行業(yè)經(jīng)驗超過3年的高科技公司,虹科與世界領(lǐng)域頂級公司包括EXOR、Eurotech、Unitronics、Matrikon、KUNBUS 等合作,提供先進的高端工業(yè)4.0 工業(yè)觸摸屏、高端邊緣計算機、IoT開發(fā)框架、PLC與HMI一體機、OPC UA、工業(yè)級樹莓派、SCADA等解決方案。物聯(lián)網(wǎng)事業(yè)部所有成員都受過專業(yè)培訓(xùn),并獲得專業(yè)資格認(rèn)證,平均3年+的技術(shù)經(jīng)驗和水平一致贏得客戶極好口碑。我們積極參與行業(yè)協(xié)會的工作,為推廣先進技術(shù)的普及做出了重要貢獻。至今,虹科已經(jīng)為行業(yè)內(nèi)諸多用戶提供從硬件到軟件的不同方案,并參與和協(xié)助了眾多OEM的設(shè)備研發(fā)和移植項目,以及終端用戶的智能工廠和工業(yè)4.0升級改造項目。
-
通信
+關(guān)注
關(guān)注
18文章
5952瀏覽量
135801 -
AGV
+關(guān)注
關(guān)注
27文章
1268瀏覽量
40960
發(fā)布評論請先 登錄
相關(guān)推薦
評論