公務員期刊網 論文中心 正文

工業(yè)機器人程序管理動態(tài)加載系統(tǒng)開發(fā)

前言:想要寫出一篇引人入勝的文章?我們特意為您整理了工業(yè)機器人程序管理動態(tài)加載系統(tǒng)開發(fā)范文,希望能給你帶來靈感和參考,敬請閱讀。

工業(yè)機器人程序管理動態(tài)加載系統(tǒng)開發(fā)

摘要:為解決機器人控制器的程序容量有限,難以滿足日益復雜的生產工序的問題,開發(fā)一套基于以太網的EthernetKRL通訊的庫卡機器人動態(tài)加載程序,實現(xiàn)了大容量、多種類程序的管理系統(tǒng)。該系統(tǒng)主要解決了機器人存儲容量不足的問題,提高了機器人應用的靈活性和復用率,適用于不同零件設計的小批量生產。系統(tǒng)可動態(tài)導入工業(yè)設計軟件生成的離線編程程序,將路徑點和機器人例程直接應用于機器人控制器,以離線自動生成代替手動編程路徑。

關鍵詞:工業(yè)機器人;程序管理;動態(tài)加載;以太網通訊

隨著智能智造及工業(yè)機器人應用的普及,機器人技術的不斷發(fā)展與穩(wěn)定,其相關技術也隨之不斷創(chuàng)新。在工業(yè)機器人與實際生產相配合過程中提出高需求、高生產效率、更高的零件復雜度,生產的工序隨設計變化要求快速、靈活和全自動化。其中一臺機器人不止需要完成一道工序,還要根據用戶需求同時進行搬運、涂膠、焊接、切割、打磨等復雜工序的組合工作,這些程序需要非常大的數(shù)據量,導致機器人控制器內部需要存儲的程序數(shù)量不斷增加。然而機器人控制器的程序容量是有限的,不能存放足夠多的程序,已經無法滿足用戶日益增長的需求?,F(xiàn)有的工業(yè)機器人編程通常采用兩種不同的方法:在線/自動生成軌跡和離線/手動示教編程。在線編程主要用于工業(yè)應用,如碼垛和焊接,通過機器人控制面板或虛擬機器人環(huán)境示教位置點[1]。工業(yè)機器人開始具有一定的感知功能和自適應能力的離線編程,可以根據作業(yè)對象的狀況改變作業(yè)內容??墒窃谠O計之初,機器人只設計為針對一些重復性高及無需聯(lián)網的單一工作站,因此雖然機器人硬件芯片、軟件系統(tǒng)得到快速發(fā)展,但是底層的程序加載器由于能滿足基礎使用需求,所以未能有實質性的更新迭代。用戶只能面臨兩種選擇:一是在機器人運行前,所有運行的程序的數(shù)據依次由操作員手動復制到機器人內,以供機器人循環(huán)執(zhí)行;二是增加機器人,讓每臺機器人只執(zhí)行一部分程序,例如:一臺用于搬運,一臺用于涂膠,一臺用于打磨。這樣在生產時不僅降低了企業(yè)工廠的生產效率,同時也增加了操作員的操作負擔,加大了因為人員誤操作而引入的風險。傳統(tǒng)工業(yè)機器人運動控制和編程軟件通常是為工廠大規(guī)模生產部件而開發(fā)的,機器人路徑規(guī)劃和編程是為特定的生產過程設計的,在生產制造中機器人按照既定工作流程,不會為靈活多變的設計/制造活動提供太多空間[2]。所以現(xiàn)在急需一種可行的處理方案來自動管理機器人的程序,實現(xiàn)程序動態(tài)按需加載進入機器人控制器。本文通過開發(fā)一套基于以太網通訊的上位機控制程序與基于EthernetKRL通訊的庫卡機器人動態(tài)加載程序,實現(xiàn)了大容量、多種類示教程序管理及動態(tài)加載。該系統(tǒng)主要解決機器人控制器程序容量有限的問題,在機器人控制系統(tǒng)中實現(xiàn)傳輸?shù)某绦虼a的重建,并在機器人系統(tǒng)文件目錄中組接成完整的程序文件,使離線編程程序的動態(tài)加載成為可能,提高了機器人應用的靈活性和復用率。在生產時提高企業(yè)工廠的生產效率,降低擴充內存或增加機器人的成本,適用于不同設計零件的小批量生產,且配置更靈活。

1系統(tǒng)架構

在傳統(tǒng)工控機-機器人控制器控制結構中,一般工控機運行非實時操作系統(tǒng)(MicrosoftWindows或Linux),對于機器人實時交互任務,系統(tǒng)存在不確定性,難以保證運行任務穩(wěn)定性和正確性。例如,當機器人工具命令(焊槍控制、抓手動作控制)需要與移動的機械手同步的任務,或在傳送帶上通過傳感器掃描獲取工件位姿需要動態(tài)抓取工件的任務。對于需要實時實現(xiàn)或快速響應的任務,通過PLC作為業(yè)務中繼站負責業(yè)務邏輯控制、數(shù)據傳輸、命令傳輸、I/O接口。因為工控機操作系統(tǒng)非實時運行,需要PLC作為業(yè)務流程控制提高系統(tǒng)穩(wěn)定性和上位機非實時運行產生的時間不同步問題。采用PLC還可以實現(xiàn)多種外圍設備信號的讀取,完成多臺機器人控制[3]。本文采用工業(yè)以太網作為通訊連接方式,將機器人與PLC通過工業(yè)以太網進行組網,用交換機連接所有鏈路節(jié)點,以PLCI/O口作為控制系統(tǒng)與外圍設備之間的通訊,集成控制系統(tǒng)總體框架如圖1所示。其中,工控機與機器人控制器程序文件傳輸基于EthernetKRL軟件包TCP/IP通訊;西門子PLC與庫卡機器人通訊通過Profinet通訊總線[4];工控機與西門子PLC采用ModbusTCP方式通訊,最終將PLC所有的數(shù)據信息集成到工控機上。因此本系統(tǒng)可管理大量機器人離線程序,具備直接傳輸運行程序到機器人控制器功能。并可在機器人外部運行模式中,對PLC內部數(shù)據的讀寫實現(xiàn)對機器人運行情況監(jiān)控和對機器人運行狀態(tài)控制(運行啟動、運行程序選擇、運行中斷、緊急停止)。如圖2所示,機器人程序管理與程序動態(tài)加載系統(tǒng)上位機為工控機,上位機運行基于C#編程創(chuàng)建的機器人程序管理系統(tǒng),操作者可通過人機交互界面導入或通過虛擬仿真程序導入運動任務。工業(yè)機器人的運動任務程序通常包括一系列機器人運動和工具命令,這些命令構成了機器人應用的整個過程。將導入的大量運動任務程序建立機器人源程序庫,存儲已經示教好或生成的大量程序。工控機和控制器之間通過套接字(Socket)通訊傳輸所需離線程序。根據生產需要,程序管理系統(tǒng)自動從源程序庫中將機器人要執(zhí)行的程序移動到機器人控制器中,清除機器人控制器中不需要執(zhí)行的程序。從而規(guī)避了機器人控制器程序容量有限的問題。在KUKA機器人控制器端,基于EthernetKRL軟件包TCP/IP通訊接收數(shù)據,并重建上位機傳輸?shù)某绦蚨?,使其在機器人系統(tǒng)文件目錄中組接成完整的程序文件。管理系統(tǒng)支持在自動運行模式下,根據可編程邏輯控制器(PLC)輸入信號自動加載程序。機器人控制器可通過總線方式或I/O控制方式選擇機器人應用層運行的程序號。在機器人控制器中,應用層控制程序事件的整個過程,即單個動作與工具動作的結合,以及與外部系統(tǒng)的交互。機器人末端執(zhí)行器的工具動作通常通過設置數(shù)字或模擬量輸出的值以及從數(shù)字或模擬輸入讀取值來控制。這些輸入和輸出通常連接到現(xiàn)場總線上,現(xiàn)場總線將機器人連接到其他控制設備,如抓手控制、焊槍控制或可編程邏輯控制器(PLC)。

2機器人控制器管理程序

庫卡機器人程序控制系統(tǒng)主要功能如下:根據用戶需求自動將機器人程序移動到庫卡機器人默認的程序目錄下,由此達到擴增機器人默認的程序內存大小的效果。機器人程序控制系統(tǒng)具有兩種控制模式:①手動:用戶可自由選擇想要從源程序庫加載的機器人程序,并在復制前先刪除機器人控制器內不需要執(zhí)行的程序;②自動:自動根據現(xiàn)場PLC的傳輸過來的信號,從源程序庫中自動加載機器人程序,根據用戶需求自動將機器人默認目錄下的程序進行刪除、備份、增加,操作員可以迅速上手,無需額外的硬件。支持兩種運行模式下加載程序使系統(tǒng)軟件開發(fā)自由度更高,可為PLC提供更多程序選擇接口,實現(xiàn)CAD/CAM軟件離線編程程序的動態(tài)加載。本文所開發(fā)的系統(tǒng)用戶不需要具備任何編程知識,因此所有的目標點坐標的文件格式轉換都是由所設計的上位機程序完成的。使用轉換后的坐標生成文件后,自動生成的文件有兩種:一種是帶有過程參數(shù)的XML文件格式,另一種是存儲路徑點的KUKA格式的dat文件。XML文件具有特定的結構,用于保存所有必要的幾何和路徑數(shù)據;dat文件具有KUKA語言特有的結構。需傳輸?shù)臄?shù)據被轉換為XML配置文件定義的XML結構,并將該XML轉換為字節(jié)并發(fā)送給機器人控制器。當工控機從機器人接收數(shù)據時,通過KUKA“DirectoryLoader”軟件包自動加載到機器人存儲區(qū)中[5]。該軟件包可以基于EthernetKRL通訊發(fā)送的命令從機器人控制器的可定義目錄加載模塊。機器人控制器端采用庫卡專有編程語言(KRL),其中為實現(xiàn)“DirectoryLoader”軟件包文件加載,需設置以太網配置文件、循環(huán)更新程序編號提交解釋器文件sps.sub、控制器變量的配置文件ConfigMon.ini、系統(tǒng)全局變量配置文件$config.dat。

3數(shù)據傳輸模型的構建

基于C#的上位機程序與機器人控制器之間采用“DirectoryLoader”軟件包重構程序文件。上位機和機器人控制器通過EthernetKRL軟件包進行雙向通信的功能。上位機和機器人控制器之間的通信基于Socket通訊,以上位機作為服務器,機器人作為客戶端進行通信,通信延遲在2ms以下。以太網連接是采用XML文件配置,在機器人控制器中創(chuàng)建一個包含所需變量的XML文件,如下所示,文件內定義了過程變量。機器人控制器初始化連接時會讀入配置,服務器發(fā)送XML結構由參數(shù)、變量和命令組成,作為響應,機器人根據這些變量的值進行動作。以太網配置文件XML結構如下所示:1)將自動加載和重建算法程序的SRC文件復制到機器人控制器的目錄C:\KRC\ROBOTER\Program中。2)將網絡配置的XML文件復制到控制器的目錄C:\KRC\ROBOTER\Config\User\Common\EthernetKRL中。3)在外部系統(tǒng)上啟動服務器程序,切換到庫卡示教器頁面。“DirectoryLoader”軟件包的函數(shù)在自動外部模式下通過觸發(fā)器的上升緣進行初始化,例如將觸發(fā)器$in[x]或$FLAG[x]設置為TRUE,然后機器人就可以連接到后臺的機器人程序控制系統(tǒng)。4)與待測機器人控制器建立穩(wěn)定連接,服務器程序具有以下功能:發(fā)送和接收數(shù)據(自動或手動);顯示接收到的數(shù)據;顯示發(fā)送的數(shù)據。

4結束語

為了將大容量的離線生成的程序放到機器人中,或者通過內存交換來繞過KRC4的小內存容量,本文開發(fā)一套機器人動態(tài)加載程序,主要解決機器人存儲容量不足的問題,提高了機器人應用的靈活性和復用率。系統(tǒng)通過工業(yè)以太網組網方式連接機器人、PLC與機器人控制器,可直接傳輸離線程序到機器人控制器,并可在機器人運行過程中,通過對PLC數(shù)據的讀寫實現(xiàn)對機器人運行監(jiān)控和對機器人運行狀態(tài)控制。

參考文獻

[3]郝任義.工業(yè)自動化生產線中機器人及PLC的集成控制研究[D].秦皇島:燕山大學,2018

[4]郭磊,王培光,宗曉萍.基于KUKA機器人的PROFINET協(xié)議通訊分析[J].電子世界,2017(6):113-117

作者:陳挺木 單位:福建省特種設備檢驗研究院泉州分院