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