賴權輝 唐林杰 鐘家明
(1.佛山科學技術學院,廣東佛山 528255;2.佛山智能裝備技術研究院,廣東佛山 528255)
隨著通信技術的進步,傳統制造業逐漸開始向著智能制造過渡,其中智能制造的關鍵技術在于數控裝備與應用系統的信息交互。由于數控裝備屬于多源異構的系統,數控裝備之間通信具有非常大的差異,沒有統一用于通信的現場總線的標準,導致數據設備之間的信息交互以及數控裝備與應用系統的信息交互變得困難。目前,在數控裝備互聯互通方面,國內外都進行了一定的探索和研究,國外設備通信協議主要有OPC UA協議等,國內設備通信協議有NC-Link協議[1]等。
本文采用國內自主研發的NC-Link技術開發了一套機器人遠程監控系統,該系統可以隨時訪問不同品牌的機器人,實時讀取機器人的運動信息。隨著工業現代化進程的加快,工業設備也越來越復雜,設備之間采用的通信協議不一樣,增加了統一管理設備數據的難度,為了更好地提高設備之間的協同能力,尋求不同設備之間建立簡單的通信方法成為當前的緊急任務。NC-Link采集系統的核心在于如何設計NC-Link適配器,NC-Link適配器可以將底層設備的實時數據以及歷史數據傳輸到遠程客戶端上,最終實現設備的遠程監控功能[2]。該系統可以實現機器人的遠程實時監控,從而縮短停機時間,減少突發事故的發生,降低維護和維修成本,提高生產效率。
本文設計的機器人遠程監控系統分成三層,如圖1所示,第一層為設備層,中間層為NC-Link層,最上層為應用層。

圖1 工業機器人遠程監控系統結構圖
現場設備層主要由兩臺機器人構成,提供數控系統所有的原始數據,以及執行應用層的指令。NC-Link層由NC-Link適配器與NC-Link代理器組成,是NC-Link互通互聯的最核心部分。其中,NC-Link適配器負責從機器人中讀取運行數據,然后進行格式解析和轉換,再將讀取出來的數據以統一的格式發送到NC-Link代理器,NC-Link適配器還能夠接收從NC-Link代理器傳來的信息,然后將信息發送給指定的數控裝備。
整個工業機器人的數據采集系統由數控裝備層、NC-Link層和應用層組成,通過適配器與設備層的工業機器人進行通信,適配器將數據上傳至MQTT服務器,路由器將信息傳輸至阿里云服務器端,通過阿里云服務器將工業機器人的監控數據發送給遠程的監控面板。
工業機器人與遠程監控客戶端通信的工作原理如圖2所示,API Server是基于NC-Link適配器開發的一個微服務應用程序,客戶端可以直接發送HTTP請求給API Server來實現和數控機床之間的通信功能。API Server和設備之間,通過MQTT服務器進行數據交互,兩者需要分別與MQTT服務器建立連接。采用訂閱/發布的模式,設備和API Server會從MQTT Server訂閱相應內容的topic,MQTT Server接收到相應的topic后推送相應的數據內容給發起訂閱的設備或者API Server。客戶端應用從API Server通過HTTP請求/響應的方式進行數據交互,最終實現與設備的交互。

圖2 工業機器人與遠程監控客戶端的通信工作原理
適配器是客戶端和代理端與機器人進行通信的橋梁。針對華數Ⅲ型機器人的二次開發接口進行適配器設計,適配器從下到上分成三層:數據驅動層、數據字典層、數據接口層。
數據驅動層是應用層與工業機器人進行通信的橋梁,本文以華數Ⅲ型機器人為例,應用層發送連接請求,適配器收到請求后,調用華數Ⅲ型機器人的二次開發接口進行連接。機器人調用華數Ⅲ型機器人的二次開發接口連接函數isConnected(),不同的機器人需要調用不同的網絡接口函數。機器人連接代碼如圖3所示。

圖3 連接機器人代碼
數據字典層是對機器人的數據進行統一的定義,設備模型是設備實體在信息空間的信息化映射。設備模型的評判標準是工業機器人主要部件的屬性信息和狀態數據都應該展現出來。機器人的設備模型應該包含以下設備信息:設備ID、類型和名稱等識別標志信息,設備組成部件及部件的下屬組件的相關信息,設備軸數、通道數、切削速率等相關信息。
一個完整的數控裝備信息模型包括以下五類對象,分別是根對象、設備對象、組件對象、數據對象以及采樣通道對象。根對象是模型中最外層的對象,包括其他的四類對象,根對象主要包含信息模型的基本信息,比如信息模型的名稱和唯一標志;設備對象用于描述設備中的類型、配置等相關信息;組件對象用于描述設備下組件的參數;數據對象用于對數控設備的各類相關參數以及采樣的數據進行描述,其中包含可修改的數據和不可修改的數據,可修改的數據除了可以查閱外還可以修改,不可修改的數據只能用來查閱;采樣通道對象主要用于描述數控設備中可以進行采樣的數據以及對應的采集周期。
根據信息交互模型和實際系統建立的工業機器人數據模型如圖4所示。

圖4 基于NC-Link的機器人數據模型
數據接口層的作用主要是與MQTT代理器或客戶端進行數據交互。將應用系統、代理器、適配器之間的通信規則統一稱為NC-Link接口。NC-Link接口定義了8種通信接口,常用的有3種——模型偵測、數據查詢以及數據采樣[3]。機器人的模型偵測功能測試如圖5所示,數據查詢功能測試如圖6所示,數據采樣功能測試如圖7所示。

圖5 機器人的模型偵測功能測試

圖6 機器人的數據查詢功能測試

圖7 機器人的數據采樣功能測試
本文選擇B/S架構作為通信的開發架構,應用MySQL數據庫技術存儲數據和提取報文數據。當智能監控模塊發送的數據被云端服務器接收時,對數據進行存儲,然后遠程監控客戶端將存儲的數據直觀地顯示在客戶端的人機界面上,從而完成服務器和客戶端的交互。
通過C#語言編程遠程監控客戶端的界面如圖8所示,通過連接阿里云服務器,從阿里云服務器讀取數據。遠程監控客戶端界面主要采集兩個機器人的位置信息和運行狀態。

圖8 機器人遠程監控客戶端
在遠程客戶端和適配器端增加時間戳,通過計算兩個時間戳之差測得單線程時延為3 ms。通過JMeter軟件進行服務器的壓力測試,結果如表1所示。根據項目管理系統的需求,首先并發用戶數從1開始逐漸增加到100,最大并發用戶數為500,滿足系統的要求[4]。
本文設計并實現了基于NC-Link協議的工業機器人的數據采集系統,目標在于實現不同的機器人協議到NC-Link標準協議的轉換,進而實現不同品牌的工業機器人工業設備數據的遠程監控。
本文通過對數據采集接口進行設計,實現工業機器人不同協議的標準化,可以解決不同品牌機器人的差異性和協議的多樣性帶來的上位機多樣性問題[5]。除此之外,系統測試表明,該系統采集數據的時延為3 ms,滿足網絡的性能要求。