時(shí)間:2015-03-26 15:32:20來(lái)源: 朱超
1、引言
2010年,德國(guó)學(xué)術(shù)界和產(chǎn)業(yè)界提出“工業(yè)4.0”的概念,即是以智能制造為主導(dǎo)的第四次工業(yè)革命,或革命性的生產(chǎn)方法。該戰(zhàn)略旨在通過(guò)充分利用信息通訊技術(shù)和網(wǎng)絡(luò)空間虛擬系統(tǒng)—信息物理系統(tǒng)相結(jié)合的手段,將制造業(yè)向智能化轉(zhuǎn)型。所以,近些年許多工業(yè)自動(dòng)化廠商將自己的產(chǎn)品研發(fā)所考慮的一個(gè)重要方向定在是否能被遠(yuǎn)程控制。另一方面,隨著國(guó)內(nèi)人工成本的不斷上升以及工廠人員流動(dòng)的不確定性,機(jī)器人產(chǎn)業(yè)是近幾年,相信也是未來(lái)幾年的朝陽(yáng)產(chǎn)業(yè)。所以對(duì)于工業(yè)機(jī)器人在工廠生產(chǎn)中的遠(yuǎn)程控制,是一個(gè)機(jī)器人集成方面比較不錯(cuò)的課題。我們知道,在工業(yè)機(jī)器人的隊(duì)伍中,UR機(jī)器人是第一家在工業(yè)環(huán)境下工作的人機(jī)協(xié)作機(jī)器人,它以輕便、簡(jiǎn)單、安全著稱。下面我們就來(lái)了解一下如何實(shí)現(xiàn)上位機(jī)對(duì)UR機(jī)器人的遠(yuǎn)程控制。
2、UR機(jī)器人提供的基于TCP/IP協(xié)議的接口
TCP/IP協(xié)議源于1969年,是針對(duì)Internet開(kāi)發(fā)的一種體系結(jié)構(gòu)和協(xié)議標(biāo)準(zhǔn),目的在于解決異種計(jì)算機(jī)網(wǎng)絡(luò)的通信問(wèn)題。使得網(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ù)器 |
|
502 |
Modbus TCP協(xié)議,機(jī)器人作為服務(wù)器 |
22 |
SSH / SFTP (安全文件傳輸協(xié)議) |
29999 |
Dashboard功能 |
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ù)定義 |
502 |
Modbus TCP協(xié)議,機(jī)器人作為客戶端 |
表1 UR機(jī)器人TCP/IP接口表
有了這些接口,上位機(jī)就可以遠(yuǎn)程控制機(jī)器人。如圖1,簡(jiǎn)單描述了上位機(jī)對(duì)UR機(jī)器人遠(yuǎn)程監(jiān)控的系統(tǒng)圖。
圖1 遠(yuǎn)程控制系統(tǒng)圖
下面我們就來(lái)介紹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)以來(lái),MODBUS使成千上萬(wàn)的自動(dòng)化設(shè)備能夠通信。目前,繼續(xù)增加對(duì)簡(jiǎn)單而雅觀的MODBUS結(jié)構(gòu)支持?;ヂ?lián)網(wǎng)組織能夠使TCP/IP棧上的保留系統(tǒng)端口502訪問(wèn)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所示。
圖2 Modbus TCP服務(wù)器
既然UR機(jī)器人作為Modbus TCP服務(wù)器,它必定有一系列Modbus地址供上位機(jī)來(lái)訪問(wèn)。
地址 |
類型 |
描述 |
0-33 |
Register |
可以訪問(wèn)機(jī)器人的所有IO |
128-255 |
Register |
可配置寄存器 |
256-265 |
Register |
機(jī)器人狀態(tài) |
270-315 |
Register |
關(guān)節(jié)位置、速度、電流、溫度、模式等信息 |
400-425 |
Register |
TCP位置、速度、偏移等信息 |
768-770 |
Register |
工具端狀態(tài) |
0-159 |
Bit |
可以訪問(wèn)機(jī)器人的所有IO |
260-265 |
Bit |
機(jī)器人狀態(tài) |
表2 Modbus地址簡(jiǎn)表
通過(guò)UR機(jī)器人的相關(guān)Modbus地址,我們可以訪問(wèn)機(jī)器人的很多信息,進(jìn)而可以把這些信息放到上位機(jī)上。下圖就是通過(guò)訪問(wèn)Modbus地址,模仿Polyscope(UR機(jī)器人原版軟件),制作出來(lái)一個(gè)界面,當(dāng)然我們可以通過(guò)這個(gè)界面監(jiān)控并控制機(jī)器人的所用IO。
圖3 IO控
4、Dashboard端口
上位機(jī)可以通過(guò)29999端口直接發(fā)送一些簡(jiǎn)單的指令給機(jī)器人,這些指令是UR自己定義的,這種功能被稱為Dashboard。下表就是Dashboard的指令列表。
指令 |
描述 |
load |
加載被保存在控制器中的程序 |
get loaded program |
返回當(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 |
訪問(wèn)機(jī)器人模式 |
popup |
Polyscope跳出對(duì)話框 |
close popup |
關(guān)閉對(duì)話框 |
addToLog |
將消息添加到logfile中 |
setUserRole |
設(shè)置用戶權(quán)限 |
polyscopeVersion |
返回當(dāng)前Polyscope的版本號(hào) |
power on |
使機(jī)器人本體通電 |
power off |
使機(jī)器人本體斷電 |
brake release |
釋放制動(dòng)器 |
safetymode |
返回機(jī)器人當(dāng)前所處的安全模式狀態(tài) |
表3 Dashboard指令列表
顯而易見(jiàn),我們可以通過(guò)一些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)介紹的是腳本編程方式,腳本編程的語(yǔ)言是UR公司在python語(yǔ)言基礎(chǔ)上,自己研發(fā)的URScript語(yǔ)言。URScript是在腳本層上控制機(jī)器人的編程語(yǔ)言,就像其他編程語(yǔ)言一樣,它有變量類型,語(yǔ)法結(jié)構(gòu)、方法等。另外,它有一系列的專用方法來(lái)控制機(jī)器人運(yùn)動(dòng)以及IO狀態(tài)。
UR機(jī)器人的控制器是運(yùn)行在Mini-ITXPC上的,一旦PC啟動(dòng)機(jī)器人控制器(就像啟動(dòng)服務(wù)一樣),Polyscope軟件就通過(guò)PC本地的TCP/IP端口與機(jī)器人控制器建立連接了。同樣,當(dāng)上位機(jī)作為客戶端,通過(guò)30001或30002或30003特定的編程端口,與機(jī)器人控制器建立TCP/IP連接,這樣我們就可以在上位機(jī)上按照URScript語(yǔ)言的格式編寫腳本程序,直接發(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)就是,一旦客戶端打開(kāi)端口,就會(huì)按照一定的頻率收到來(lái)自機(jī)器人的信息。需要注意的是30003端口是實(shí)時(shí)反饋端口,客戶端每8ms能收到一次來(lái)自機(jī)器人的信息。另外,通過(guò)測(cè)試,客戶端通過(guò)30001和30002只能每200ms左右收到來(lái)自機(jī)器人的信息。
其實(shí)客戶端通過(guò)這三個(gè)端口收到的機(jī)器人信息也稍有不同。通過(guò)30003端口收到信息是最豐富的,包含了通過(guò)30002收到的信息以及通過(guò)30001收到的大部分信息。
所以說(shuō)通過(guò)實(shí)時(shí)反饋端口,客戶端收到機(jī)器人信息效率是最高的,內(nèi)容也是最全的。通過(guò)實(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-684 |
TCP位置、速度、力,0目標(biāo)位置、速度 |
685-692 |
輸入位狀態(tài) |
693-740 |
電機(jī)溫度 |
740-748 |
程序掃描時(shí)間 |
749-756 |
保留 |
757-820 |
機(jī)器人模式,關(guān)節(jié)模式,安全模式 |
821-868 |
保留 |
869-892 |
TCP加速度 |
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é)束語(yǔ)
綜上所述,機(jī)器人作為ModbusTCP服務(wù)器,上位機(jī)通過(guò)502端口可以控制機(jī)器人的所有IO;上位機(jī)可以通過(guò)30001或30002或30003端口遠(yuǎn)程下載程序到機(jī)器人;上位機(jī)通過(guò)29999端口可以遠(yuǎn)程控制程序運(yùn)行狀態(tài);上位機(jī)通過(guò)30003端口可以實(shí)時(shí)得到機(jī)器人的狀態(tài)信息。也就是說(shuō),利用UR機(jī)器人開(kāi)放的基于TCP/IP協(xié)議的端口,可以制作自己的Polyscope軟件,實(shí)現(xiàn)上位機(jī)的遠(yuǎn)程控制。
標(biāo)簽:
中國(guó)傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來(lái)源:中國(guó)傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國(guó)傳動(dòng)網(wǎng)(m.u63ivq3.com)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來(lái)源“中國(guó)傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明其他來(lái)源的稿件,均來(lái)自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請(qǐng)保留稿件來(lái)源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。
產(chǎn)品新聞
更多>新品發(fā)布:CD300系列總線型伺服驅(qū)動(dòng)器
2024-10-31
2024-10-31
2024-10-31
新勢(shì)能 新期待|維智B1L直線伺服驅(qū)動(dòng)器
2024-10-31
纖薄之間,化繁為簡(jiǎn)|合信全新simple系...
2024-10-29
2024-10-18
推薦專題
更多>