999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于C#語言的ABB機器人程序讀寫方法

2025-04-11 00:00:00錢新倪艷婷
電腦知識與技術 2025年8期
關鍵詞:二次開發語言

摘要:隨著智能制造的深入應用,工業機器人與其他智能設備之間進行聯調操作的場景日益增多,現有針對工業機器人的上位機控制大多采用基于數據修改的方式,僅能實現預定義的動作,存在一定局限性。鑒于此,文章采用C#語言并結合ABB的電腦端軟件開發工具包PC SDK實現了工業機器人的程序讀寫功能,通過上位機控制,用戶可以直接對ABB工業機器人的專用編程語言RAPID進行修改,該方法顯著提高了工業機器人的柔性操作能力,可自定義修改機器人動作,拓寬了工業機器人在智能制造中的應用范圍。

關鍵詞:ABB工業機器人;C#語言;二次開發;程序讀寫;智能制造

中圖分類號:TP311" " " 文獻標識碼:A

文章編號:1009-3044(2025)08-0097-04

開放科學(資源服務) 標識碼(OSID)

0 引言

工業機器人是衡量國家工業實力與智能制造水平的重要指標。目前,隨著AI技術、邊緣計算技術、數字孿生等技術的應用,工業機器人的柔性數字化場景日益豐富,如何使工業機器人操作適配新技術、新設備,日益成為柔性制造系統中的關鍵問題。

傳統的編程方式主要有示教編程和離線編程兩種。對于示教編程而言,其優點在于操作簡單,針對簡單軌跡的示教所記錄的示教點較少,編程門檻低;相應地,由于其需要人工介入,其缺點體現在工業機器人的編程過程煩瑣,編程效率低。對于離線編程而言,用戶可以通過軟件在電腦里重建工作場景,預先進行仿真和編程,降低了在線示教的不便。然而,離線編程由于其編程數據和現實環境有所差異,因此通常在部署程序時需要對點位數據進行二次修改,以減少由于模型誤差、工件裝配誤差等引起的精度降低[1-2],但從長遠看,離線編程是工業機器人時代發展的一項重要技術。針對離線編程,文獻[3]采用了數字孿生技術實現了物理層和虛擬層之間的數據實時映射,方便后期數據挖掘和故障預警功能的實現;文獻[4]結合Dalsa工業相機和上位機系統實現了可以任意擺放位置的碼垛程序,該方法針對傳統碼垛有一定提升,但其本質還是在修改點位數據,只能實現預定義的動作;文獻[5]針對采用Unity 3D技術實現虛擬調試,聯調了PLC與工業機器人的動作,然而其調試環境是在虛擬工作站中,且依賴數據修改只能實現已定義的動作;文獻[6]和文獻[7]則采用C#語言來實現工業機器人的通信和控制,然而其本質都是采用上下級變量同步技術進行,沒有實現程序代碼的修改,工業機器人的動作較為固定;文獻[8]和文獻[9]則針對機器人服務拓展的問題構建了新的云平臺服務,采用云服務技術提高機器人的實用性,但其更多地處于架構設計階段,尚未落地;文獻[10]則針對機器人的實時監控問題,采用相應外設進行輔助,但其本質還是實現預定義的操作動作。

從上述文獻可以看出,現有的工業機器人已經擺脫單機運行的桎梏,可以針對不同的工作環境與其他外設進行聯調作業,且大部分工業機器人采用的是外設+算法+工業機器人的組合方式,通過更改上下位機變量來實現預定義的動作。這種方式雖便于實現,但不適合高柔性化工作場合。

基于此,本文采用C#語言并依據ABB PC SDK工具包實現了ABB機器人的RAPID程序讀寫,該方法可以直接對ABB工業機器人進行程序編輯,作為軌跡生成和機器人控制之間的橋梁,為深層次自動化控制奠定通信基礎。由于本文采用的是標準ABB接口,因此該方法適配大多數ABB工業機器人。最后,文章針對不同RobotWare版本的機器人測試了該方法,驗證程序讀寫在不同控制器中的有效性。

1 RAPID語言分析

Rapid語言是ABB的特有編程語言,為了更全面地讀寫和分析代碼,接下來從RAPID程序結構和典型指令進行介紹。

1.1 RAPID程序結構

在ABB機器人中,機器人運行的程序被稱為RAPID,相應的RAPID應用也被稱為一項任務(Task) 。1) 任務是ABB機器人程序的最高層次,定義了機器人運行過程中需要完成的整體任務,ABB機器人也支持多任務運行,每個任務里包含一組模塊(Module) ;2) 模塊可以分為System modules(系統模塊) 和Task modules(任務模塊) ,模塊是程序和數據的載體,系統模塊通常在系統啟動期間自動加載到任務緩沖區,旨在預定義常用的數據對象,如工具數據、焊接數據、移動數據等,而用戶編寫的通常是任務模塊,模塊中有對應的例行程序,其中包含主入口程序Main;3) 主入口程序是ABB工業機器人程序指針的入口地址,通常在過程、函數和模塊中定義的變量其生命周期僅在該模塊內,在程序執行完該模塊后其生命周期結束,在模塊外定義的變量是全局可見的,其生命周期會一直持續到程序結束,通常這類變量是為了共享數據。Rapid程序結構如圖1所示,可以看出程序數據定義在模塊內則其生命周期僅存在于該模塊中,若干個模塊組成了一個任務,該任務在運行時被加載在程序內存中。

特別要注意的是,為了保證ABB工業機器人數據安全性,模塊通常有屬性設置,如表1所示。用戶創建的模塊默認情況下是可讀可寫的,如果在創建之初對模塊進行了特殊設置,那么該模塊內容上位機可能將無法讀取,例如:將模塊屬性設置為READONLY,那么上位機系統僅能讀取程序而不能對程序進行修改;將模塊屬性設置為NOVIEW,那么該模塊將不可見,上位機無法讀取也無法修改。對模塊進行特殊設置的原因通常是為了防止人員誤操作。

1.2 RAPID中常用指令分析

RAPID語言可以支持分層編程方案。可采用不同語句、表達式進行指令或是函數的編寫。讀寫指令是實現ABB機器人程序讀寫最基本的要求,下文以典型MoveJ運動指令做介紹。

MoveJ是ABB機器人中最常用的指令之一,其函數變元如下所示:

不帶中括號的是必選參數,反之為可選參數,用戶可以依據操作需要進行選擇,MoveJ詳細的操作指令如表2所示。

值得注意的是,在實際操作中,適當的代碼注釋能很好地幫助編程人員進行維護和修改,ABB機器人中指令、函數通常為英文字符,純英文注釋在任何RobotWare控制平臺中均沒有編碼要求,但是,如果采用中文注釋,對于RobotWare>= 7.1的控制平臺則需要指定UTF-8編碼格式。

2 上位機控制界面設計

ABB工業機器人支持多種二次開發方式,現如今隨著AI、邊緣計算的深入,由于眾多設備驅動和算法代碼的使用,基于PC和基于Web的二次開發使用場景越來越多,賦予了工業機器人柔性化操作的可能。為了方便本地部署,文章依據實際情況,考慮使用基于PC的二次開發,上位機在通過網絡連接到工業機器人后,在獲取到ABB機器人的Mastership權限后,上位機就能獲得讀寫工業機器人程序的能力。

2.1 PC SDK開發接口

針對程序讀寫,大致分為以下3個過程。程序的導出:針對所需要修改的模塊文件進行導出,ABB中文件多以.mod和.modx文件格式;程序的顯示和修改:C#中字符流用于處理字符數據的輸入和輸出,在這里系統以字符流方式進行讀取,由于GBK主要針對中文字符進行編碼,同時也支持日文假名、希臘字母、俄文等多種語言,考慮到此次上位機設計中的中文注釋的兼容性,文件可以采用GBK編碼格式打開;程序的導入和運行:修改后的模塊需要被傳輸至機器人控制器HOME文件夾中再加載至任務中才能正常運行,所涉及的ABB中的控制域主要由表3所示。

2.2 程序讀寫流程分析

為了實現ABB機器人的程序讀寫,文章依據PC SDK工具包和C#語言開發上位機系統,主要設計了以下三大模塊。1) 程序的讀出與保存:主要目標是將工業機器人中的用戶模塊讀出并保存。文件方向由Robot系統至PC系統,PC在獲取控制器權限后將相應程序模塊讀出并保存在本地電腦中,主要目的是作為數據備份;2) 程序的加載和修改:主要目標是將讀出的用戶模塊在本地系統中顯示和修改。操作員依據需要執行的操作將程序修改并保存,讀出和保存的方式以系統默認編碼進行;3) 程序的傳輸和加載:主要目標是將本地系統中修改好的用戶模塊送至機器人系統中并運行。文件方向由PC系統至Robot系統,用戶將修改后的模塊程序傳輸至Robot系統的Home文件夾中,然后再將Home文件夾中的模塊程序加載至對應的任務中,從而實現PC端對工業機器人的程序讀寫功能,上位機針對程序讀寫的流程如圖2所示。

值得注意的是,在讀取模塊時PC端除了要獲得AuthenticationSystem驗證系統,還需要該模塊文件支持讀寫,在傳輸修改模塊至Robot系統中,由于ABB系統參考Unix文件系統建立,上下位機的轉義符不一樣,需要對模塊名稱進行適當修改,以便程序正確傳輸和加載,同時,對于RobotWare>= 7.1版本的系統,模塊文件的擴展名將是“.modx”或“.sysx”,而文件內容將采用UTF-8編碼。

2.3 不同版本RobotWare程序讀寫驗證

基于C#語言的ABB機器人程序讀寫,采用WinForm框架進行編程,為了驗證該控制方法的可行性,文章針對不同RobotWare系統的工業機器人進行程序讀寫驗證。圖3為上位機中程序修改界面,并以文本框作為程序修改界面,值得注意的是,采用上位機修改機器人程序后,由于沒有語法糾錯,對編程人員的編程要求更高。

從圖4可以看出,RobotWare7.1以前的版本對程序的編碼要求不高,按照系統GBK默認編碼就可以實現中文注釋,從圖5可以看出,該上位機程序可以實現機器人模塊的讀寫;圖6和圖7可以看出,該系統可以對RobotWare7.1及以上版本讀取和修改系統文件,但是對中文字符需要指定UTF-8編碼格式進行處理,防止中文字符亂碼。

從以上驗證可以看出:該系統可以適配不同版本的RobotWare機器人,如果對中文注釋有要求就需要針對不同系統進行編碼格式的指定,否則Rapid程序易出現亂碼顯示。

3 結束語

文章采用C#語言并借助ABB PC SDK實現了上位機直接對機器人的程序進行讀寫,同時驗證了該方法可以在不同版本RobotWare中的應用,改變了傳統以修改工業機器人數據進行固定作業變化的方法。采用該遠程讀寫方法,對于推動工業機器人柔性化制造有一定的實際意義,后續可引入代碼自動生成的功能,利用AI生成代碼并自主修改機器人程序。

參考文獻:

[1] 高峰,郭為忠.中國機器人的發展戰略思考[J].機械工程學報,2016,52(7):1-5.

[2] 計時鳴,黃希歡.工業機器人技術的發展與應用綜述[J].機電工程,2015,32(1):1-13.

[3] 杜瑩瑩,羅映,彭義兵,等.基于數字孿生的工業機器人三維可視化監控[J].計算機集成制造系統,2023,29(6):2130-2138.

[4] 易煥銀,潘偉榮,郝建豹,等.結合Dalsa工業相機和ABB工業機器人的碼垛系統[J].電腦知識與技術,2019,15(7):267-269,272.

[5] 王佩玉,陳振中.一種基于Unity 3D的生產線跨平臺虛擬調試系統設計方法[J].東華大學學報(自然科學版),2022,48(2):69-74,80.

[6] 吳毅文,劉博.基于C#的機器人自主編程控制系統[J].重型機械,2021(2):24-28.

[7] 王曉忠.基于C#語言的ABB機器人遠程示教方法[J].電腦知識與技術,2024,20(18):85-88.

[8] 周風余,尹磊,宋銳,等.一種機器人云平臺服務構建與調度新方法[J].機器人,2017,39(1):89-98.

[9] 趙連翔,王全玉,賈金苗,等.機器人云操作平臺的實現研究[J].華中科技大學學報(自然科學版),2012,40(S1):161-164.

[10] 王吉岱,丁冠軍,郝亞東.基于C#.NET技術的巡檢機器人遠程監控系統的研究[J].機床與液壓,2018,46(9):38-41,46.

【通聯編輯:謝媛媛】

猜你喜歡
二次開發語言
語言是刀
文苑(2020年4期)2020-05-30 12:35:30
淺談基于Revit平臺的二次開發
甘肅科技(2020年20期)2020-04-13 00:30:02
西門子Operate高級編程的旋轉坐標系二次開發
淺談Mastercam后處理器的二次開發
模具制造(2019年3期)2019-06-06 02:11:02
讓語言描寫搖曳多姿
多向度交往對語言磨蝕的補正之道
累積動態分析下的同聲傳譯語言壓縮
Micaps3.2 版本二次開發入門淺析
西藏科技(2015年12期)2015-09-26 12:13:51
我有我語言
ANSYS Workbench二次開發在汽車穩定桿CAE分析中的應用
汽車零部件(2014年5期)2014-11-11 12:24:32
主站蜘蛛池模板: 国产欧美亚洲精品第3页在线| 久久亚洲黄色视频| 91久久夜色精品| 国产精品尤物在线| 亚洲视频免费在线| 亚洲日本精品一区二区| 热热久久狠狠偷偷色男同| 国产精品刺激对白在线| 国产区人妖精品人妖精品视频| 日韩毛片在线播放| 波多野结衣无码AV在线| 日韩av手机在线| 激情综合图区| 中日韩欧亚无码视频| 波多野结衣亚洲一区| 欧美色综合久久| 爱爱影院18禁免费| 欧美www在线观看| 狠狠做深爱婷婷综合一区| 四虎永久在线精品影院| 午夜视频免费一区二区在线看| 人人澡人人爽欧美一区| 国产色网站| 国产黄色片在线看| 国产拍在线| 日本a∨在线观看| 亚洲精品777| 无码高潮喷水专区久久| 精品伊人久久大香线蕉网站| 亚洲色图欧美| 免费三A级毛片视频| 久久综合久久鬼| 91无码视频在线观看| 欧美精品成人| 久久久精品久久久久三级| 欧美精品不卡| 美女毛片在线| 国产美女精品在线| 大学生久久香蕉国产线观看| 2020最新国产精品视频| 欧美特级AAAAAA视频免费观看| 重口调教一区二区视频| 在线精品自拍| 免费观看欧美性一级| 色综合天天综合中文网| 久久成人国产精品免费软件| 在线观看精品自拍视频| 在线看AV天堂| 秋霞一区二区三区| 91av国产在线| 日韩精品成人网页视频在线 | 三级欧美在线| 成色7777精品在线| 四虎影视国产精品| 狠狠色婷婷丁香综合久久韩国| 91人妻日韩人妻无码专区精品| 无码网站免费观看| 日本在线国产| 九色综合伊人久久富二代| 亚洲中文字幕97久久精品少妇| 露脸真实国语乱在线观看| 夜夜高潮夜夜爽国产伦精品| 午夜福利无码一区二区| 国产一区二区三区在线无码| 一级毛片免费的| 国产va视频| 亚洲国产中文在线二区三区免| 亚洲国产成人麻豆精品| 999精品视频在线| 久久亚洲国产一区二区| 欧美日韩国产在线人成app| 国产精品蜜芽在线观看| 亚洲欧洲天堂色AV| 午夜啪啪福利| 国产9191精品免费观看| 在线看国产精品| 亚洲欧洲国产成人综合不卡| www.亚洲一区| 国产综合无码一区二区色蜜蜜| 国产毛片基地| 91香蕉国产亚洲一二三区| 日韩精品亚洲一区中文字幕|