技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國(guó)傳動(dòng)網(wǎng) > 技術(shù)頻道 > 技術(shù)百科 > 基于TCP/IP協(xié)議實(shí)現(xiàn)上位機(jī)對(duì)UR機(jī)器人的遠(yuǎn)程控制

基于TCP/IP協(xié)議實(shí)現(xiàn)上位機(jī)對(duì)UR機(jī)器人的遠(yuǎn)程控制

時(shí)間:2015-03-26 15:32:20來(lái)源: 朱超

導(dǎo)語(yǔ):?[摘要] 介紹了上位機(jī)對(duì)UR機(jī)器人遠(yuǎn)程控制的實(shí)現(xiàn)方法。UR機(jī)器人上具有特定功能的TCP/IP端口,并給出上位機(jī)示例程序。 [Abstract] Introducing the method to implemente the PC to Universal Robots remote control. Universal Robots has specific functions on the

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,where  is class

設(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)簽:

點(diǎn)贊

分享到:

上一篇:十年磨一劍:易往信息咨詢服...

下一篇:永宏P(guān)LC在兩軸數(shù)控批花機(jī)上的...

中國(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é)任。

網(wǎng)站簡(jiǎn)介|會(huì)員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見(jiàn)反饋|sitemap

傳動(dòng)網(wǎng)-工業(yè)自動(dòng)化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺(tái)

網(wǎng)站客服服務(wù)咨詢采購(gòu)咨詢媒體合作

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權(quán)所有
粵ICP備 14004826號(hào) | 營(yíng)業(yè)執(zhí)照證書(shū) | 不良信息舉報(bào)中心 | 粵公網(wǎng)安備 44030402000946號(hào)