技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動(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-02-28 16:49:14來源:朱超

導(dǎo)語:?本文介紹了上位機(jī)對(duì)UR機(jī)器人遠(yuǎn)程控制的實(shí)現(xiàn)方法。UR機(jī)器人上具有特定功能的TCP/IP端口,并給出上位機(jī)示例程序。

摘要]介紹了上位機(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)簽:

點(diǎn)贊

分享到:

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

下一篇:論伺服和變頻器維修及保養(yǎng)

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

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

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

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

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