時(shí)間:2015-02-28 16:49:14來源:朱超
摘要]介紹了上位機(jī)對(duì)UR機(jī)器人遠(yuǎn)程控制的實(shí)現(xiàn)方法。UR機(jī)器人上具有特定功能的TCP/IP端口,并給出上位機(jī)示例程序。
1、引言
2010年,德國學(xué)術(shù)界和產(chǎn)業(yè)界提出“工業(yè)4.0”的概念,即是以智能制造為主導(dǎo)的第四次工業(yè)革命,或革命性的生產(chǎn)方法。該戰(zhàn)略旨在通過充分利用信息通訊技術(shù)和網(wǎng)絡(luò)空間虛擬系統(tǒng)—信息物理系統(tǒng)相結(jié)合的手段,將制造業(yè)向智能化轉(zhuǎn)型。所以,近些年許多工業(yè)自動(dòng)化廠商將自己的產(chǎn)品研發(fā)所考慮的一個(gè)重要方向定在是否能被遠(yuǎn)程控制。另一方面,隨著國內(nèi)人工成本的不斷上升以及工廠人員流動(dòng)的不確定性,機(jī)器人產(chǎn)業(yè)是近幾年,相信也是未來幾年的朝陽產(chǎn)業(yè)。所以對(duì)于工業(yè)機(jī)器人在工廠生產(chǎn)中的遠(yuǎn)程控制,是一個(gè)機(jī)器人集成方面比較不錯(cuò)的課題。我們知道,在工業(yè)機(jī)器人的隊(duì)伍中,UR機(jī)器人是第一家在工業(yè)環(huán)境下工作的人機(jī)協(xié)作機(jī)器人,它以輕便、簡單、安全著稱。下面我們就來了解一下如何實(shí)現(xiàn)上位機(jī)對(duì)UR機(jī)器人的遠(yuǎn)程控制。
2、UR機(jī)器人提供的基于TCP/IP協(xié)議的接口
TCP/IP協(xié)議源于1969年,是針對(duì)Internet開發(fā)的一種體系結(jié)構(gòu)和協(xié)議標(biāo)準(zhǔn),目的在于解決異種計(jì)算機(jī)網(wǎng)絡(luò)的通信問題。使得網(wǎng)絡(luò)在互聯(lián)時(shí)能為用戶提供一種通用、一致的通信服務(wù)。是Internet采用的協(xié)議標(biāo)準(zhǔn)?;赥CP/IP的通訊具有成本低、可靠性高、實(shí)用性強(qiáng)、性能高等特點(diǎn),所以現(xiàn)在許多工業(yè)自動(dòng)化產(chǎn)品都具有基于TCP/IP協(xié)議通訊的接口,從而實(shí)現(xiàn)設(shè)備與設(shè)備之間,設(shè)備與網(wǎng)絡(luò)之間的通訊。UR機(jī)器人在TCP/IP協(xié)議的基礎(chǔ)上,提供了豐富的接口用于與外部設(shè)備的交互,如表1所述。
端口接口描述
機(jī)器人作為服務(wù)器
502ModbusTCP協(xié)議,機(jī)器人作為服務(wù)器
22SSH/SFTP(安全文件傳輸協(xié)議)
29999Dashboard功能
30001第一客戶端端口,自動(dòng)返回機(jī)器人狀態(tài)與補(bǔ)充消息
30002第二客戶端端口,自動(dòng)返回機(jī)器人狀態(tài)與消息
30003實(shí)時(shí)反饋端口,自動(dòng)返回機(jī)器人狀態(tài)與消息,125Hz實(shí)時(shí)反饋接口
機(jī)器人作為客戶端
自定義由UR腳本函數(shù)定義
502ModbusTCP協(xié)議,機(jī)器人作為客戶端
表1UR機(jī)器人TCP/IP接口表
有了這些接口,上位機(jī)就可以遠(yuǎn)程控制機(jī)器人。如圖1,簡單描述了上位機(jī)對(duì)UR機(jī)器人遠(yuǎn)程監(jiān)控的系統(tǒng)圖。
圖1遠(yuǎn)程控制系統(tǒng)圖
下面我們就來介紹UR機(jī)器人所提供的相關(guān)通訊接口,從而遠(yuǎn)程控制機(jī)器人。
3、ModbusTCP端口
MODBUS是OSI模型第7層上的應(yīng)用層報(bào)文傳輸協(xié)議,它在連接至不同類型總線或網(wǎng)絡(luò)的設(shè)備之間提供客戶機(jī)/服務(wù)器通信。自從1979年出現(xiàn)工業(yè)串行鏈路的事實(shí)標(biāo)準(zhǔn)以來,MODBUS使成千上萬的自動(dòng)化設(shè)備能夠通信。目前,繼續(xù)增加對(duì)簡單而雅觀的MODBUS結(jié)構(gòu)支持?;ヂ?lián)網(wǎng)組織能夠使TCP/IP棧上的保留系統(tǒng)端口502訪問MODBUS。MODBUS是一個(gè)請(qǐng)求/應(yīng)答協(xié)議,并且提供功能碼規(guī)定的服務(wù)。MODBUS功能碼是MODBUS請(qǐng)求/應(yīng)答PDU的元素。
UR機(jī)器人既可以作為ModbusTCP服務(wù)器,也可以作為ModbusTCP客戶端,兩者的主要區(qū)別在于消息請(qǐng)求方的不同。在此,我們僅討論UR機(jī)器人作為ModbusTCP服務(wù)器的情況,如圖2所示。
圖2ModbusTCP服務(wù)器
既然UR機(jī)器人作為ModbusTCP服務(wù)器,它必定有一系列Modbus地址供上位機(jī)來訪問。
地址類型描述
0-33Register可以訪問機(jī)器人的所有IO
128-255Register可配置寄存器
256-265Register機(jī)器人狀態(tài)
270-315Register關(guān)節(jié)位置、速度、電流、溫度、模式等信息
400-425RegisterTCP位置、速度、偏移等信息
768-770Register工具端狀態(tài)
0-159Bit可以訪問機(jī)器人的所有IO
260-265Bit機(jī)器人狀態(tài)
表2Modbus地址簡表
通過UR機(jī)器人的相關(guān)Modbus地址,我們可以訪問機(jī)器人的很多信息,進(jìn)而可以把這些信息放到上位機(jī)上。下圖就是通過訪問Modbus地址,模仿Polyscope(UR機(jī)器人原版軟件),制作出來一個(gè)界面,當(dāng)然我們可以通過這個(gè)界面監(jiān)控并控制機(jī)器人的所用IO。
圖3IO控制
4、Dashboard端口
上位機(jī)可以通過29999端口直接發(fā)送一些簡單的指令給機(jī)器人,這些指令是UR自己定義的,這種功能被稱為Dashboard。下表就是Dashboard的指令列表。
指令描述
load.urp>加載被保存在控制器中的程序
getloadedprogram返回當(dāng)前機(jī)器人執(zhí)行的程序
play啟動(dòng)當(dāng)前加載的程序
stop停止機(jī)器人當(dāng)前執(zhí)行的程序
pause暫停機(jī)器人當(dāng)前執(zhí)行的程序
isProgramSaved當(dāng)前機(jī)器人正在執(zhí)行的程序是否被保存,返回“True”或“False”
programState當(dāng)前程序的運(yùn)行狀態(tài),返回“PLAYING”或“STOPPED”或“PAUSED”
shutdown關(guān)閉機(jī)器人系統(tǒng)
running機(jī)器人的運(yùn)行狀態(tài),返回“True”或“False”
robotmode訪問機(jī)器人模式
popupPolyscope跳出對(duì)話框
closepopup關(guān)閉對(duì)話框
addToLog將消息添加到logfile中
setUserRole,whereisclass設(shè)置用戶權(quán)限
polyscopeVersion返回當(dāng)前Polyscope的版本號(hào)
poweron使機(jī)器人本體通電
poweroff使機(jī)器人本體斷電
brakerelease釋放制動(dòng)器
safetymode返回機(jī)器人當(dāng)前所處的安全模式狀態(tài)
表3Dashboard指令列表
顯而易見,我們可以通過一些Dashboard指令,遠(yuǎn)程切換、加載程序,同時(shí)可以啟動(dòng)、暫停、停止程序,這樣上位機(jī)就可以遠(yuǎn)程控制程序了。
5、上位機(jī)編程端口
UR機(jī)器人有3種編程方式:Polyscope編程、腳本編程以及C-API編程。Polyscope編程指的是程序在示教器上被編輯,機(jī)器人然后執(zhí)行,這是UI層的編程方式。C-API編程是在研發(fā)層上的編程方式。我們重點(diǎn)介紹的是腳本編程方式,腳本編程的語言是UR公司在python語言基礎(chǔ)上,自己研發(fā)的URScript語言。URScript是在腳本層上控制機(jī)器人的編程語言,就像其他編程語言一樣,它有變量類型,語法結(jié)構(gòu)、方法等。另外,它有一系列的專用方法來控制機(jī)器人運(yùn)動(dòng)以及IO狀態(tài)。
UR機(jī)器人的控制器是運(yùn)行在Mini-ITXPC上的,一旦PC啟動(dòng)機(jī)器人控制器(就像啟動(dòng)服務(wù)一樣),Polyscope軟件就通過PC本地的TCP/IP端口與機(jī)器人控制器建立連接了。同樣,當(dāng)上位機(jī)作為客戶端,通過30001或30002或30003特定的編程端口,與機(jī)器人控制器建立TCP/IP連接,這樣我們就可以在上位機(jī)上按照URScript語言的格式編寫腳本程序,直接發(fā)送給機(jī)器人控制器,機(jī)器人就可以直接執(zhí)行程序了。
按照上面所述的機(jī)器人腳本編程原理,我就可以在上位機(jī)上制作如下界面,實(shí)現(xiàn)對(duì)UR機(jī)器人的遠(yuǎn)程編程。
圖4腳本編程
6、實(shí)時(shí)反饋端口
30001、30002、30003除了用于遠(yuǎn)程編程外,還有其他功能,如下表所述。
端口名稱功能
30001第一客戶端端口客戶端可發(fā)送腳本代碼至服務(wù)器;服務(wù)器自動(dòng)以5Hz的頻率返回機(jī)器人狀態(tài)與補(bǔ)充消息到客戶端。
30002第二客戶端端口客戶端可發(fā)送腳本代碼安全文件傳輸協(xié)議;服務(wù)器自動(dòng)以5Hz的頻率返回機(jī)器人狀態(tài)與消息到客戶端。
30003實(shí)時(shí)反饋端口客戶端可發(fā)送腳本代碼安全文件傳輸協(xié)議;服務(wù)器自動(dòng)以125Hz的頻率返回機(jī)器人狀態(tài)與消息到客戶端。
表4編程口
這三個(gè)端口另一個(gè)共同的特點(diǎn)就是,一旦客戶端打開端口,就會(huì)按照一定的頻率收到來自機(jī)器人的信息。需要注意的是30003端口是實(shí)時(shí)反饋端口,客戶端每8ms能收到一次來自機(jī)器人的信息。另外,通過測試,客戶端通過30001和30002只能每200ms左右收到來自機(jī)器人的信息。
其實(shí)客戶端通過這三個(gè)端口收到的機(jī)器人信息也稍有不同。通過30003端口收到信息是最豐富的,包含了通過30002收到的信息以及通過30001收到的大部分信息。
所以說通過實(shí)時(shí)反饋端口,客戶端收到機(jī)器人信息效率是最高的,內(nèi)容也是最全的。通過實(shí)時(shí)反饋端口每次收到的數(shù)據(jù)包有1044個(gè)字節(jié),這些字節(jié)以標(biāo)準(zhǔn)的格式排列。注意在極少情況下客戶端會(huì)收到小于1044個(gè)字節(jié),但是字節(jié)排列的格式不變。下表是1044字節(jié)排列的順序表。
字節(jié)順序內(nèi)容
1-4整個(gè)數(shù)據(jù)包的字節(jié)數(shù)
5-12控制器通電時(shí)間,斷電清零
13-444關(guān)節(jié)目標(biāo)位置、速度、加速度、電流、扭矩,實(shí)際位置、速度、電流,控制電流
445-684TCP位置、速度、力,0目標(biāo)位置、速度
685-692輸入位狀態(tài)
693-740電機(jī)溫度
740-748程序掃描時(shí)間
749-756保留
757-820機(jī)器人模式,關(guān)節(jié)模式,安全模式
821-868保留
869-892TCP加速度
893-940保留
941-948速度比例
949-956機(jī)器人當(dāng)前動(dòng)量值
957-972保留
973-996控制板電壓,機(jī)器人電壓,機(jī)器人電流
997-1044關(guān)節(jié)電壓
表5實(shí)時(shí)反饋數(shù)據(jù)包
有了這些數(shù)據(jù),上位機(jī)的數(shù)據(jù)表現(xiàn)就會(huì)十分豐富。下面有2張上位機(jī)界面圖,“點(diǎn)動(dòng)圖”獲取了關(guān)節(jié)位置、TCP位置;“初始化圖”獲取了關(guān)節(jié)模式、關(guān)節(jié)實(shí)際電流、關(guān)節(jié)電壓以及其他數(shù)據(jù)。
圖5點(diǎn)動(dòng)圖
圖6初始化圖
7、結(jié)束語
綜上所述,機(jī)器人作為ModbusTCP服務(wù)器,上位機(jī)通過502端口可以控制機(jī)器人的所有IO;上位機(jī)可以通過30001或30002或30003端口遠(yuǎn)程下載程序到機(jī)器人;上位機(jī)通過29999端口可以遠(yuǎn)程控制程序運(yùn)行狀態(tài);上位機(jī)通過30003端口可以實(shí)時(shí)得到機(jī)器人的狀態(tài)信息。也就是說,利用UR機(jī)器人開放的基于TCP/IP協(xié)議的端口,可以制作自己的Polyscope軟件,實(shí)現(xiàn)上位機(jī)的遠(yuǎn)程控制。
標(biāo)簽:
中國傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動(dòng)網(wǎng)(www.surachana.com)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來源“中國傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請(qǐng)保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。
產(chǎn)品新聞
更多>性能躍升20%!維宏NK300CX Plus數(shù)控系統(tǒng)...
2025-04-11
rpi-image-gen:樹莓派軟件鏡像構(gòu)建的終...
2025-04-08
【產(chǎn)品解讀】全面提升精密制造檢測節(jié)拍...
2025-03-31
激光閃耀 智慧引領(lǐng) | WISE MASER 黑武士...
2025-03-20
2025-03-13