欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

首頁綜合 正文
目錄

柚子快報(bào)激活碼778899分享:UR機(jī)器人通信匯總

柚子快報(bào)激活碼778899分享:UR機(jī)器人通信匯總

http://yzkb.51969.com/

文章目錄

一、概述二、UR機(jī)器人通信2.1UR通信協(xié)議2.2 UR通信端口

三、UR機(jī)器人通信端口類型3.1 Modbus TCP端口(502端口)3.2 Dashboard端口(29999端口)3.3 上位機(jī)編程端口(30001/30002/30003端口)3.3.1 URScript簡介3.3.2 機(jī)器人的控制3.3.3 機(jī)器人狀態(tài)讀取

四、一個(gè)概念——TCP五、UR機(jī)器人返回信息格式解析5.1 概述5.2UR返回信息協(xié)議解析5.2.1返回?cái)?shù)據(jù)包頻率和長度5.2.2返回?cái)?shù)據(jù)包格式

5.3 解析實(shí)例5.4 相關(guān)代碼

六、基于TCP/IP協(xié)議實(shí)現(xiàn)上位機(jī)對UR機(jī)器人的遠(yuǎn)程控制6.1引言6.2 UR機(jī)器人提供的基于TCP/IP協(xié)議的接口6.3 ModbusTCP端口6.4Dashboard端口6.5上位機(jī)編程端口6.6實(shí)時(shí)反饋端口6.7結(jié)束語

一、概述

UR機(jī)器人作為目前使用廣泛的協(xié)作機(jī)器人,其開放了基于TCP/IP的遠(yuǎn)程控制功能,提供了多個(gè)多類型的端口,用于工業(yè)總線控制,或者用戶自行編程控制,以下記錄整理此方面的信息。 參考鏈接:

http://t.csdn.cn/ikiMG

二、UR機(jī)器人通信

2.1UR通信協(xié)議

UR機(jī)器人可通過TCP/IP通信,向機(jī)器人發(fā)送控制命令,以及從機(jī)器人獲取狀態(tài)信息。

2.2 UR通信端口

UR機(jī)器人通信時(shí)提供了以下接口,我們可以根據(jù)自己需要,使用其中的一種或多種。 表1 機(jī)器人作為服務(wù)器的通信端口 表2 機(jī)器人作為客戶端的通信端口

三、UR機(jī)器人通信端口類型

3.1 Modbus TCP端口(502端口)

Modbus是OS模型第7層上的應(yīng)用層報(bào)文傳輸協(xié)議,它在連接至不同類型總線或網(wǎng)絡(luò)的設(shè)備之間提供客戶端/服務(wù)器通信,互聯(lián)網(wǎng)組織保留系統(tǒng)端口502訪問Modbus,Modbus是一個(gè)請求/應(yīng)答協(xié)議,并且提供功能碼規(guī)定的服務(wù)。 UR機(jī)器人既可以作為Modbus TCP服務(wù)器,也可以作為Modbus TCP客戶端,兩者的主要區(qū)別在于消息請求方的不同。 通過UR機(jī)器人的相關(guān)Modbus地址,我們可以訪問機(jī)器人的很多信息,進(jìn)而可以在上位機(jī)上解析這些信息并顯示。 下表為Modbus地址 示例:本人利用502端口實(shí)現(xiàn)了TCP/IP協(xié)議的UR控制和狀態(tài)讀取,,其中簡單介紹了Modbus命令的構(gòu)造,并使用260、270、400三個(gè)地址讀取UR狀態(tài)和位置信息。

3.2 Dashboard端口(29999端口)

上位機(jī)可以通過29999端口直接發(fā)送一些簡單的指令給機(jī)器人,這些指令是UR自己定義的,這種功能被稱為Dashboard。我們可以通過一些Dashboard指令,遠(yuǎn)程切換、加載程序,同時(shí)可以啟動、暫停、停止程序,實(shí)現(xiàn)上位機(jī)對UR的遠(yuǎn)程控制。

3.3 上位機(jī)編程端口(30001/30002/30003端口)

UR機(jī)器人提供了這三個(gè)端口,用于遠(yuǎn)程控制編程。其功能如下表所示 Primary & Secondary ( 30001 & 30002 )接口 Primary & Secondary 接口由機(jī)器人控制進(jìn)程維護(hù)和執(zhí)行的端口。開機(jī)后,機(jī)器人 一直從這兩個(gè)端口以 10Hz 頻率對外發(fā)送機(jī)器人的狀態(tài)信息(機(jī)器人位置, IO ,運(yùn)行狀 態(tài)等),除此之外 Primary 端口還會發(fā)送一些全局變量更新等信息。因此如果需要編寫 上位機(jī)在線編程以及運(yùn)行監(jiān)視,例如編寫一個(gè)類似示教器界面的上位機(jī)程序時(shí)可以使 用 Primary 端口(當(dāng)然對于加載程序,運(yùn)行程序等操作需要使用 Dashboard ( 29999 ) 接口)。 Primary & Secondary 接口在接收到上位機(jī)發(fā)送的腳本指令 字符 串后會 立即中斷當(dāng)前執(zhí)行程序(如果機(jī)器人正在運(yùn)行),然后運(yùn)行接收到的腳本指令 。 值得提醒的是,一些具有返回值的腳本指令,其返回值并不會通過這兩個(gè)端口返回,因 為腳本的執(zhí)行是在機(jī)器人控制進(jìn)程中,其返回值只傳遞給該進(jìn)程中的變量。 如果想一次性發(fā)送一段程序給機(jī)器人,需要將發(fā)送的程序按照如下格式發(fā)送: 如果向 Secondary 接口發(fā)送 def 類型的一段腳本給機(jī)器人,機(jī)器人當(dāng)前執(zhí)行的程 序會被中斷, 如果需要當(dāng)前執(zhí)行的程序不被中斷(例如設(shè)置 IO ),可以向 Secondary 程 序發(fā)送 sec 類型的一段腳本,當(dāng)然這段腳本中不能夠包含運(yùn)動指令, 因?yàn)橥粫r(shí)間機(jī)器 人只能從一處獲取運(yùn)動指令,否則無法預(yù)期運(yùn)行后果。 def functionName(): 腳本指令 腳本指令 腳本指令 對于函數(shù)或者 while 等結(jié)構(gòu)語句 需注意同層次具有相同縮進(jìn) 腳本指令 …… end 1. Primary & Secondary 2. Secondary 實(shí)際發(fā)送字符串 ( 縮進(jìn)用空格,換行用 \n): “def functionName():\n 腳本指令 \n 腳本指令 \n ……\nend\n “ “sec functionName():\n 腳本指令 \n 腳本指令 \n ……\nend\n “ sec functionName(): 非運(yùn)動 腳本指令 非運(yùn)動 腳本指令 非運(yùn)動 腳本指令 對于函數(shù)或者 while 等結(jié)構(gòu)語句 需注意同層次具有相同縮進(jìn) 非運(yùn)動 腳本指令 …… end

參考鏈接:https://blog.csdn.net/weixin_52531852/article/details/124227397

3.3.1 URScript簡介

UR機(jī)器人有3種編程方式:Polyscope編程、腳本編程以及C-API編程:

Polyscope編程:指的是程序在示教器上被編輯,機(jī)器人然后執(zhí)行,這是UI層的編程方式;C-API編程:是在研發(fā)層上的編程方式;腳本編程:URScript,是UR公司在Python語言基礎(chǔ)上,自己研發(fā)的語言,是在腳本層上控制機(jī)器人的編程語言,我們使用的主要是這種腳本編程。

3.3.2 機(jī)器人的控制

上位機(jī)作為客戶端,通過30001/30002/30003其中一個(gè)特定的編程端口,與機(jī)器人控制器建立TCP/IP連接,就可以在上位機(jī)上按照URScript語言格式編寫腳本程序,直接發(fā)送給機(jī)器人控制器,機(jī)器人就可以執(zhí)行相應(yīng)動作了。 示例:本人利用30003端口實(shí)現(xiàn)了TCP/IP協(xié)議的UR控制,其中介紹了三個(gè)常用URScript指令,即MOVEL、MOVEP、STOPL,并利用其實(shí)現(xiàn)了UR的運(yùn)動控制。

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

30001~30003這三個(gè)端口共同特點(diǎn)是,一旦客戶端打開端口,就會按照一定的頻率收到來自機(jī)器人的信息,30003端口是實(shí)時(shí)反饋端口,客戶端每8ms(125Hz)就收到一次來自機(jī)器人的信息。而其它兩個(gè)端口只能每200ms(5Hz)收到一次來自機(jī)器人的信息。 客戶端通過這三個(gè)端口收到的機(jī)器人信息稍有不同,通過30003端口收到的信息是最豐富的,包含了通過30001和30002收到的大部分信息。 因此,通過實(shí)時(shí)反饋端口30003,客戶端收到機(jī)器人的信息頻率是最高的,內(nèi)容也是最全的。 按照參考文獻(xiàn)說法:通過30003每次收到的數(shù)據(jù)包是1044個(gè)字節(jié),以標(biāo)準(zhǔn)格式排列,極少數(shù)情況下客戶端會收到小于1044個(gè)字節(jié)。 經(jīng)個(gè)人實(shí)際測試,30003端口每次會收到1108字節(jié),與上述描述稍有不同,本人試圖解析了這些信息,限于篇幅,下一篇文章“UR機(jī)器人返回信息格式解析“詳細(xì)介紹30003端口返回信息的解析。

https://blog.csdn.net/hangl_ciom/article/details/97612246

四、一個(gè)概念——TCP

另外需要說明一點(diǎn)的是,在UR控制里出現(xiàn)了兩個(gè)TCP概念,要注意區(qū)分(剛接觸UR時(shí),看示教器和說明書,很迷糊了一陣子,所以這里說明一下,有同樣疑惑的可以參考)

網(wǎng)絡(luò)協(xié)議的TCP:網(wǎng)絡(luò)協(xié)議中TCP/IP的含義是Transmission Control Protocol / InternetProtocol;UR的TCP:含義是Tool Center Point,指的是機(jī)器人工具的中心點(diǎn),TCP位置指的是機(jī)器人工具中心點(diǎn)位置,同理TCP坐標(biāo)系,指的是固連在機(jī)器人工具終端的坐標(biāo)系。

五、UR機(jī)器人返回信息格式解析

5.1 概述

UR機(jī)器人提供了多種端口,用于控制和讀取機(jī)器人信息,本人整理了相關(guān)信息,見文章《UR機(jī)器人通信端口和協(xié)議》。 本人使用了30003端口來向機(jī)器人發(fā)送URScript腳本控制命令,并通過該端口接收實(shí)時(shí)返回?cái)?shù)據(jù)。

5.2UR返回信息協(xié)議解析

5.2.1返回?cái)?shù)據(jù)包頻率和長度

由于30003端口返回的信息是最全的,包含了30001、30002端口的返回信息,因此,這里以30003端口信息解析。 30003端口返回?cái)?shù)據(jù)頻率一般是125Hz,即每8ms即返回一個(gè)數(shù)據(jù)包,最高頻率能達(dá)到500Hz。 個(gè)人實(shí)測,返回?cái)?shù)據(jù)包的字節(jié)長度一般是1108字節(jié),按照文獻(xiàn)1數(shù)據(jù)包是1044字節(jié),文獻(xiàn)2數(shù)據(jù)包是1108字節(jié),分析可能UR后來擴(kuò)充了UR返回?cái)?shù)據(jù)信息。 實(shí)際上,這個(gè)字節(jié)規(guī)定是多少并不影響使用,因?yàn)樵诜祷氐臄?shù)據(jù)包的前四個(gè)字節(jié),即給出了數(shù)據(jù)包中包含信息的字節(jié)數(shù)。

5.2.2返回?cái)?shù)據(jù)包格式

下表為30003實(shí)時(shí)反饋端口機(jī)器人信息1044字節(jié)數(shù)據(jù)格式,來自參考文獻(xiàn)1。

下圖為1108字節(jié)返回?cái)?shù)據(jù)具體的各字節(jié)包含數(shù)據(jù)格式,來自參考文獻(xiàn)2。

5.3 解析實(shí)例

編寫了TCP/IP程序控制UR機(jī)器人,并解析其在30003端口返回的數(shù)據(jù)包,實(shí)測結(jié)果: 每個(gè)數(shù)據(jù)包收到1108字節(jié)數(shù)據(jù)。 數(shù)據(jù)解析時(shí)要注意,收到數(shù)據(jù)包的每個(gè)數(shù)據(jù)的字節(jié)順序是Big-Endian,即高位在前,而計(jì)算機(jī)中的字節(jié)順序是Little-Endian,即低位在前,要注意進(jìn)行字節(jié)順序轉(zhuǎn)換。 下圖為接收到的數(shù)據(jù)包的一部分 以幾個(gè)主要的數(shù)據(jù)解析為例:

第1-4字節(jié)(上圖中偏移地址:0x0):00 00 04 54,整數(shù)型數(shù)據(jù),即0x454,1108,這就是接收數(shù)據(jù)的字節(jié)長度。第13字節(jié)(上圖中偏移地址:0x0c)開始,連續(xù)6個(gè)Double型數(shù)據(jù),即關(guān)節(jié)目標(biāo)位置qtarget,數(shù)據(jù)為:2.466446,-0.586911,1.581819,-2.725837,4.662427,-0.580726;第445字節(jié)(上圖中偏移地址:0x1bc)開始,連續(xù)6個(gè)Double型數(shù)據(jù),即當(dāng)前TCP位置矢量Tool VectorActual,數(shù)據(jù)為:0.405443,-0.164387,0.030460,2.077079,-2.308484,0.256067。收到數(shù)據(jù)與UR示教器上顯示數(shù)據(jù)比對一致。

5.4 相關(guān)代碼

鏈接:

https://blog.csdn.net/hangl_ciom/article/details/104439042

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

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

6.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)時(shí)能為用戶提供一種通用、一致的通信服務(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ī)就可以遠(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ī)器人。

6.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是一個(gè)請求/應(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ī)來訪問。如表2所示。 通過UR機(jī)器人的相關(guān)Modbus地址,我們可以訪問機(jī)器人的很多信息,進(jìn)而可以把這些信息放到上位機(jī)上。下圖就是通過訪問Modbus地址,模仿Polyscope(UR機(jī)器人原版軟件),制作出來一個(gè)界面,當(dāng)然我們可以通過這個(gè)界面監(jiān)控并控制機(jī)器人的所用IO。

6.4Dashboard端口

上位機(jī)可以通過29999端口直接發(fā)送一些簡單的指令給機(jī)器人,這些指令是UR自己定義的,這種功能被稱為Dashboard。下表就是Dashboard的指令列表。 顯而易見,我們可以通過一些Dashboard指令,遠(yuǎn)程切換、加載程序,同時(shí)可以啟動、暫停、停止程序,這樣上位機(jī)就可以遠(yuǎn)程控制程序了。

6.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)程編程。

6.6實(shí)時(shí)反饋端口

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

這三個(gè)端口另一個(gè)共同的特點(diǎn)就是,一旦客戶端打開端口,就會按照一定的頻率收到來自機(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)的格式排列。注意在極少情況下客戶端會收到小于1044個(gè)字節(jié),但是字節(jié)排列的格式不變。表5是1044字節(jié)排列的順序表。

有了這些數(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ù)。

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)程控制。(end)

柚子快報(bào)激活碼778899分享:UR機(jī)器人通信匯總

http://yzkb.51969.com/

好文推薦

評論可見,查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場。

轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://m.gantiao.com.cn/post/19298322.html

發(fā)布評論

您暫未設(shè)置收款碼

請?jiān)谥黝}配置——文章設(shè)置里上傳

掃描二維碼手機(jī)訪問

文章目錄