基于NC-Link的機器人遠程監(jiān)控系統(tǒng)研究
引言
隨著通信技術的進步,傳統(tǒng)制造業(yè)逐漸開始向著智能制造過渡,其中智能制造的關鍵技術在于數(shù)控裝備與應用系統(tǒng)的信息交互。由于數(shù)控裝備屬于多源異構的系統(tǒng),數(shù)控裝備之間通信具有非常大的差異,沒有統(tǒng)一用于通信的現(xiàn)場總線的標準,導致數(shù)據(jù)設備之間的信息交互以及數(shù)控裝備與應用系統(tǒng)的信息交互變得困難。目前,在數(shù)控裝備互聯(lián)互通方面,國內外都進行了一定的探索和研究,國外設備通信協(xié)議主要有0PCUA協(xié)議等,國內設備通信協(xié)議有NC-Link協(xié)議等。
本文采用國內自主研發(fā)的NC-Link技術開發(fā)了一套機器人遠程監(jiān)控系統(tǒng),該系統(tǒng)可以隨時訪問不同品牌的機器人,實時讀取機器人的運動信息。隨著工業(yè)現(xiàn)代化進程的加快,工業(yè)設備也越來越復雜,設備之間采用的通信協(xié)議不一樣,增加了統(tǒng)一管理設備數(shù)據(jù)的難度,為了更好地提高設備之間的協(xié)同能力,尋求不同設備之間建立簡單的通信方法成為當前的緊急任務。NC-Link采集系統(tǒng)的核心在于如何設計NC-Link適配器,NC-Link適配器可以將底層設備的實時數(shù)據(jù)以及歷史數(shù)據(jù)傳輸?shù)竭h程客戶端上,最終實現(xiàn)設備的遠程監(jiān)控功能。該系統(tǒng)可以實現(xiàn)機器人的遠程實時監(jiān)控,從而縮短停機時間,減少突發(fā)事故的發(fā)生,降低維護和維修成本,提高生產效率。
1機器人遠程監(jiān)控系統(tǒng)總體構架
本文設計的機器人遠程監(jiān)控系統(tǒng)分成三層,如圖1所示,第一層為設備層,中間層為NC-Link層,最上層為應用層。
現(xiàn)場設備層主要由兩臺機器人構成,提供數(shù)控系統(tǒng)所有的原始數(shù)據(jù),以及執(zhí)行應用層的指令。NC-Link層由NC-Link適配器與NC-Link代理器組成,是NC-Link互通互聯(lián)的最核心部分。其中,NC-Link適配器負責從機器人中讀取運行數(shù)據(jù),然后進行格式解析和轉換,再將讀取出來的數(shù)據(jù)以統(tǒng)一的格式發(fā)送到NC-Link代理器,NC-Link適配器還能夠接收從NC-Link代理器傳來的信息,然后將信息發(fā)送給指定的數(shù)控裝備。
整個工業(yè)機器人的數(shù)據(jù)采集系統(tǒng)由數(shù)控裝備層、NC-Link層和應用層組成,通過適配器與設備層的工業(yè)機器人進行通信,適配器將數(shù)據(jù)上傳至M0TT服務器,路由器將信息傳輸至阿里云服務器端,通過阿里云服務器將工業(yè)機器人的監(jiān)控數(shù)據(jù)發(fā)送給遠程的監(jiān)控面板。
2工業(yè)機器人與遠程監(jiān)控客戶端的通信
工業(yè)機器人與遠程監(jiān)控客戶端通信的工作原理如圖2所示,APIserver是基于NC-Link適配器開發(fā)的一個微服務應用程序,客戶端可以直接發(fā)送HTTP請求給APIserver來實現(xiàn)和數(shù)控機床之間的通信功能。APIserver和設備之間,通過M0TT服務器進行數(shù)據(jù)交互,兩者需要分別與M0TT服務器建立連接。采用訂閱/發(fā)布的模式,設備和APIserver會從M0TTserver訂閱相應內容的topic,M0TTserver接收到相應的topic后推送相應的數(shù)據(jù)內容給發(fā)起訂閱的設備或者APIserver??蛻舳藨脧腁PIserver通過HTTP請求/響應的方式進行數(shù)據(jù)交互,最終實現(xiàn)與設備的交互。
3NC-Link適配器設計
適配器是客戶端和代理端與機器人進行通信的橋梁。針對華數(shù)Ⅲ型機器人的二次開發(fā)接口進行適配器設計,適配器從下到上分成三層:數(shù)據(jù)驅動層、數(shù)據(jù)字典層、數(shù)據(jù)接口層。
3.2數(shù)據(jù)驅動層
數(shù)據(jù)驅動層是應用層與工業(yè)機器人進行通信的橋梁,本文以華數(shù)Ⅲ型機器人為例,應用層發(fā)送連接請求,適配器收到請求后,調用華數(shù)Ⅲ型機器人的二次開發(fā)接口進行連接。機器人調用華數(shù)Ⅲ型機器人的二次開發(fā)接口連接函數(shù)isConnected(),不同的機器人需要調用不同的網絡接口函數(shù)。機器人連接代碼如圖3所示。
3.D數(shù)據(jù)字典層
數(shù)據(jù)字典層是對機器人的數(shù)據(jù)進行統(tǒng)一的定義,設備模型是設備實體在信息空間的信息化映射。設備模型的評判標準是工業(yè)機器人主要部件的屬性信息和狀態(tài)數(shù)據(jù)都應該展現(xiàn)出來。機器人的設備模型應該包含以下設備信息:設備31、類型和名稱等識別標志信息,設備組成部件及部件的下屬組件的相關信息,設備軸數(shù)、通道數(shù)、切削速率等相關信息。
一個完整的數(shù)控裝備信息模型包括以下五類對象,分別是根對象、設備對象、組件對象、數(shù)據(jù)對象以及采樣通道對象。根對象是模型中最外層的對象,包括其他的四類對象,根對象主要包含信息模型的基本信息,比如信息模型的名稱和唯一標志:設備對象用于描述設備中的類型、配置等相關信息:組件對象用于描述設備下組件的參數(shù):數(shù)據(jù)對象用于對數(shù)控設備的各類相關參數(shù)以及采樣的數(shù)據(jù)進行描述,其中包含可修改的數(shù)據(jù)和不可修改的數(shù)據(jù),可修改的數(shù)據(jù)除了可以查閱外還可以修改,不可修改的數(shù)據(jù)只能用來查閱:采樣通道對象主要用于描述數(shù)控設備中可以進行采樣的數(shù)據(jù)以及對應的采集周期。
根據(jù)信息交互模型和實際系統(tǒng)建立的工業(yè)機器人數(shù)據(jù)模型如圖4所示。
3.3數(shù)據(jù)接口層
數(shù)據(jù)接口層的作用主要是與M0TT代理器或客戶端進行數(shù)據(jù)交互。將應用系統(tǒng)、代理器、適配器之間的通信規(guī)則統(tǒng)一稱為NC-Link接口。NC-Link接口定義了8種通信接口,常用的有3種一模型偵測、數(shù)據(jù)查詢以及數(shù)據(jù)采樣。機器人的模型偵測功能測試如圖5所示,數(shù)據(jù)查詢功能測試如圖6所示,數(shù)據(jù)采樣功能測試如圖7所示。
4云端服務器與遠程監(jiān)控界面設計
本文選擇B/s架構作為通信的開發(fā)架構,應用Mys0L數(shù)據(jù)庫技術存儲數(shù)據(jù)和提取報文數(shù)據(jù)。當智能監(jiān)控模塊發(fā)送的數(shù)據(jù)被云端服務器接收時,對數(shù)據(jù)進行存儲,然后遠程監(jiān)控客戶端將存儲的數(shù)據(jù)直觀地顯示在客戶端的人機界面上,從而完成服務器和客戶端的交互。
通過C#語言編程遠程監(jiān)控客戶端的界面如圖8所示,通過連接阿里云服務器,從阿里云服務器讀取數(shù)據(jù)。遠程監(jiān)控客戶端界面主要采集兩個機器人的位置信息和運行狀態(tài)。
5系統(tǒng)測試
在遠程客戶端和適配器端增加時間戳,通過計算兩個時間戳之差測得單線程時延為3ms。通過JMctcr軟件進行服務器的壓力測試,結果如表1所示。根據(jù)項目管理系統(tǒng)的需求,首先并發(fā)用戶數(shù)從1開始逐漸增加到100,最大并發(fā)用戶數(shù)為500,滿足系統(tǒng)的要求。
6結語
本文設計并實現(xiàn)了基于NC-Link協(xié)議的工業(yè)機器人的數(shù)據(jù)采集系統(tǒng),目標在于實現(xiàn)不同的機器人協(xié)議到NC-Link標準協(xié)議的轉換,進而實現(xiàn)不同品牌的工業(yè)機器人工業(yè)設備數(shù)據(jù)的遠程監(jiān)控。
本文通過對數(shù)據(jù)采集接口進行設計,實現(xiàn)工業(yè)機器人不同協(xié)議的標準化,可以解決不同品牌機器人的差異性和協(xié)議的多樣性帶來的上位機多樣性問題。除此之外,系統(tǒng)測試表明,該系統(tǒng)采集數(shù)據(jù)的時延為3ms,滿足網絡的性能要求。