技術(shù)頻道

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

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

時間:2015-03-26 15:32:20來源: 朱超

導(dǎo)語:?[摘要] 介紹了上位機(jī)對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年,德國學(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è)自動化廠商將自己的產(chǎn)品研發(fā)所考慮的一個重要方向定在是否能被遠(yuǎn)程控制。另一方面,隨著國內(nèi)人工成本的不斷上升以及工廠人員流動的不確定性,機(jī)器人產(chǎn)業(yè)是近幾年,相信也是未來幾年的朝陽產(chǎn)業(yè)。所以對于工業(yè)機(jī)器人在工廠生產(chǎn)中的遠(yuǎn)程控制,是一個機(jī)器人集成方面比較不錯的課題。我們知道,在工業(yè)機(jī)器人的隊(duì)伍中,UR機(jī)器人是第一家在工業(yè)環(huán)境下工作的人機(jī)協(xié)作機(jī)器人,它以輕便、簡單、安全著稱。下面我們就來了解一下如何實(shí)現(xiàn)上位機(jī)對UR機(jī)器人的遠(yuǎn)程控制。

2、UR機(jī)器人提供的基于TCP/IP協(xié)議的接口

TCP/IP協(xié)議源于1969年,是針對Internet開發(fā)的一種體系結(jié)構(gòu)和協(xié)議標(biāo)準(zhǔn),目的在于解決異種計(jì)算機(jī)網(wǎng)絡(luò)的通信問題。使得網(wǎng)絡(luò)在互聯(lián)時能為用戶提供一種通用、一致的通信服務(wù)。是Internet采用的協(xié)議標(biāo)準(zhǔn)?;赥CP/IP的通訊具有成本低、可靠性高、實(shí)用性強(qiáng)、性能高等特點(diǎn),所以現(xiàn)在許多工業(yè)自動化產(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

第一客戶端端口,自動返回機(jī)器人狀態(tài)與補(bǔ)充消息

30002

第二客戶端端口,自動返回機(jī)器人狀態(tài)與消息

30003

實(shí)時反饋端口,自動返回機(jī)器人狀態(tài)與消息,125Hz實(shí)時反饋接口

機(jī)器人作為客戶端

自定義

由UR腳本函數(shù)定義

502

Modbus TCP協(xié)議,機(jī)器人作為客戶端

表1 UR機(jī)器人TCP/IP接口表

有了這些接口,上位機(jī)就可以遠(yuǎn)程控制機(jī)器人。如圖1,簡單描述了上位機(jī)對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使成千上萬的自動化設(shè)備能夠通信。目前,繼續(xù)增加對簡單而雅觀的MODBUS結(jié)構(gòu)支持?;ヂ?lián)網(wǎng)組織能夠使TCP/IP棧上的保留系統(tǒng)端口502訪問MODBUS。MODBUS是一個請求/應(yīng)答協(xié)議,并且提供功能碼規(guī)定的服務(wù)。MODBUS功能碼是MODBUS請求/應(yīng)答PDU的元素。

UR機(jī)器人既可以作為ModbusTCP服務(wù)器,也可以作為ModbusTCP客戶端,兩者的主要區(qū)別在于消息請求方的不同。在此,我們僅討論UR機(jī)器人作為ModbusTCP服務(wù)器的情況,如圖2所示。

圖2 Modbus TCP服務(wù)器

 

既然UR機(jī)器人作為Modbus TCP服務(wù)器,它必定有一系列Modbus地址供上位機(jī)來訪問。

地址

類型

描述

0-33

Register

可以訪問機(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

可以訪問機(jī)器人的所有IO

260-265

Bit

機(jī)器人狀態(tài)

表2 Modbus地址簡表

通過UR機(jī)器人的相關(guān)Modbus地址,我們可以訪問機(jī)器人的很多信息,進(jìn)而可以把這些信息放到上位機(jī)上。下圖就是通過訪問Modbus地址,模仿Polyscope(UR機(jī)器人原版軟件),制作出來一個界面,當(dāng)然我們可以通過這個界面監(jiān)控并控制機(jī)器人的所用IO。

圖3 IO控

4、Dashboard端口

上位機(jī)可以通過29999端口直接發(fā)送一些簡單的指令給機(jī)器人,這些指令是UR自己定義的,這種功能被稱為Dashboard。下表就是Dashboard的指令列表。

指令

描述

load

加載被保存在控制器中的程序

get loaded program

返回當(dāng)前機(jī)器人執(zhí)行的程序

play

啟動當(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ī)器人模式

popup

Polyscope跳出對話框

close popup

關(guān)閉對話框

addToLog

將消息添加到logfile中

setUserRole,where  is class

設(shè)置用戶權(quán)限

polyscopeVersion

返回當(dāng)前Polyscope的版本號

power on

使機(jī)器人本體通電

power off

使機(jī)器人本體斷電

brake release

釋放制動器

safetymode

返回機(jī)器人當(dāng)前所處的安全模式狀態(tài)

表3 Dashboard指令列表

 

顯而易見,我們可以通過一些Dashboard指令,遠(yuǎn)程切換、加載程序,同時可以啟動、暫停、停止程序,這樣上位機(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)動以及IO狀態(tài)。

UR機(jī)器人的控制器是運(yùn)行在Mini-ITXPC上的,一旦PC啟動機(jī)器人控制器(就像啟動服務(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)對UR機(jī)器人的遠(yuǎn)程編程。

圖4 腳本編程

6、實(shí)時反饋端口

30001、30002、30003除了用于遠(yuǎn)程編程外,還有其他功能,如下表所述。

端口

名稱

功能

30001

第一客戶端端口

客戶端可發(fā)送腳本代碼至服務(wù)器;服務(wù)器自動以5Hz的頻率返回機(jī)器人狀態(tài)與補(bǔ)充消息到客戶端。

30002

第二客戶端端口

客戶端可發(fā)送腳本代碼安全文件傳輸協(xié)議;服務(wù)器自動以5Hz的頻率返回機(jī)器人狀態(tài)與消息到客戶端。

30003

實(shí)時反饋端口

客戶端可發(fā)送腳本代碼安全文件傳輸協(xié)議;服務(wù)器自動以125Hz的頻率返回機(jī)器人狀態(tài)與消息到客戶端。

表4 編程口

這三個端口另一個共同的特點(diǎn)就是,一旦客戶端打開端口,就會按照一定的頻率收到來自機(jī)器人的信息。需要注意的是30003端口是實(shí)時反饋端口,客戶端每8ms能收到一次來自機(jī)器人的信息。另外,通過測試,客戶端通過30001和30002只能每200ms左右收到來自機(jī)器人的信息。

其實(shí)客戶端通過這三個端口收到的機(jī)器人信息也稍有不同。通過30003端口收到信息是最豐富的,包含了通過30002收到的信息以及通過30001收到的大部分信息。

所以說通過實(shí)時反饋端口,客戶端收到機(jī)器人信息效率是最高的,內(nèi)容也是最全的。通過實(shí)時反饋端口每次收到的數(shù)據(jù)包有1044個字節(jié),這些字節(jié)以標(biāo)準(zhǔn)的格式排列。注意在極少情況下客戶端會收到小于1044個字節(jié),但是字節(jié)排列的格式不變。下表是1044字節(jié)排列的順序表。

字節(jié)順序

內(nèi)容

1-4

整個數(shù)據(jù)包的字節(jié)數(shù)

5-12

控制器通電時間,斷電清零

13-444

關(guān)節(jié)目標(biāo)位置、速度、加速度、電流、扭矩,實(shí)際位置、速度、電流,控制電流

445-684

TCP位置、速度、力,0目標(biāo)位置、速度

685-692

輸入位狀態(tài)

693-740

電機(jī)溫度

740-748

程序掃描時間

749-756

保留

757-820

機(jī)器人模式,關(guān)節(jié)模式,安全模式

821-868

保留

869-892

TCP加速度

893-940

保留

941-948

速度比例

949-956

機(jī)器人當(dāng)前動量值

957-972

保留

973-996

控制板電壓,機(jī)器人電壓,機(jī)器人電流

997-1044

關(guān)節(jié)電壓

表5 實(shí)時反饋數(shù)據(jù)包

有了這些數(shù)據(jù),上位機(jī)的數(shù)據(jù)表現(xiàn)就會十分豐富。下面有2張上位機(jī)界面圖,“點(diǎn)動圖”獲取了關(guān)節(jié)位置、TCP位置;“初始化圖”獲取了關(guān)節(jié)模式、關(guān)節(jié)實(shí)際電流、關(guān)節(jié)電壓以及其他數(shù)據(jù)。

圖5 點(diǎn)動圖

圖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í)時得到機(jī)器人的狀態(tài)信息。也就是說,利用UR機(jī)器人開放的基于TCP/IP協(xié)議的端口,可以制作自己的Polyscope軟件,實(shí)現(xiàn)上位機(jī)的遠(yuǎn)程控制。

 

 

 

 

標(biāo)簽:

點(diǎn)贊

分享到:

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

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

中國傳動網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(www.treenowplaneincome.com)獨(dú)家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。

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

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

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

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 版權(quán)所有 粵ICP備 14004826號 | 營業(yè)執(zhí)照證書 | 不良信息舉報(bào)中心 | 粵公網(wǎng)安備 44030402000946號