前言
本案例主要描述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小車。
一、應(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)控和跟蹤特定客戶端、主題或消息。
二、方案介紹
1.系統(tǒng)框架
下圖所示是本案例的系統(tǒng)框架。在外部,HiveMQ Broker作為一個邏輯單元運行,在內(nèi)部,則作為集群節(jié)點運行。HiveMQ Broker 使用用于身份驗證和授權(quán)的安全擴展、用于JSON有效負(fù)載驗證的擴展以及用于跟蹤和監(jiān)控的擴展。指標(biāo)、事件日志以及其他日志信息以 JMX 格式提供,可以集中監(jiān)控。
作為主要用例,控制系統(tǒng)(CS)客戶端向AGV小車發(fā)送信息,并消費AGV小車的相關(guān)狀態(tài)或可能的錯誤信息。控制系統(tǒng)(CS)的數(shù)據(jù)以基本配置和每輛AGV小車的設(shè)備配置形式提供,而且使用的JSON格式可以在JSON Scheme中定義。
2. 方案簡介
虹科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)定性、可擴展性、高性能、兼容性、監(jiān)控、日志記錄、MQTT 跟蹤、企業(yè)安全擴展等。
3. 通信過程
在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é)
實現(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用例將是一個完美的解決方案。
審核編輯黃宇
-
通信
+關(guān)注
關(guān)注
18文章
5952瀏覽量
135800 -
自動化
+關(guān)注
關(guān)注
29文章
5497瀏覽量
79016 -
AGV
+關(guān)注
關(guān)注
27文章
1267瀏覽量
40960 -
MQTT
+關(guān)注
關(guān)注
5文章
648瀏覽量
22393
發(fā)布評論請先 登錄
相關(guān)推薦
評論