基于TCP/IP協(xié)議實現(xiàn)上位機對UR機器人的遠程控制
表4編程口
這三個端口另一個共同的特點就是,一旦客戶端打開端口,就會按照一定的頻率收到來自機器人的信息。需要注意的是30003端口是實時反饋端口,客戶端每8ms能收到一次來自機器人的信息。另外,通過測試,客戶端通過30001和30002只能每200ms左右收到來自機器人的信息。
其實客戶端通過這三個端口收到的機器人信息也稍有不同。通過30003端口收到信息是最豐富的,包含了通過30002收到的信息以及通過30001收到的大部分信息。
所以說通過實時反饋端口,客戶端收到機器人信息效率是最高的,內容也是最全的。通過實時反饋端口每次收到的數(shù)據(jù)包有1044個字節(jié),這些字節(jié)以標準的格式排列。注意在極少情況下客戶端會收到小于1044個字節(jié),但是字節(jié)排列的格式不變。下表是1044字節(jié)排列的順序表。
字節(jié)順序內容
1-4整個數(shù)據(jù)包的字節(jié)數(shù)
5-12控制器通電時間,斷電清零
13-444關節(jié)目標位置、速度、加速度、電流、扭矩,實際位置、速度、電流,控制電流
445-684TCP位置、速度、力,0目標位置、速度
685-692輸入位狀態(tài)
693-740電機溫度
740-748程序掃描時間
749-756保留
757-820機器人模式,關節(jié)模式,安全模式
821-868保留
869-892TCP加速度
893-940保留
941-948速度比例
949-956機器人當前動量值
957-972保留
973-996控制板電壓,機器人電壓,機器人電流
997-1044關節(jié)電壓
表5實時反饋數(shù)據(jù)包
有了這些數(shù)據(jù),上位機的數(shù)據(jù)表現(xiàn)就會十分豐富。下面有2張上位機界面圖,“點動圖”獲取了關節(jié)位置、TCP位置;“初始化圖”獲取了關節(jié)模式、關節(jié)實際電流、關節(jié)電壓以及其他數(shù)據(jù)。
圖5點動圖
圖6初始化圖
7、結束語
綜上所述,機器人作為ModbusTCP服務器,上位機通過502端口可以控制機器人的所有IO;上位機可以通過30001或30002或30003端口遠程下載程序到機器人;上位機通過29999端口可以遠程控制程序運行狀態(tài);上位機通過30003端口可以實時得到機器人的狀態(tài)信息。也就是說,利用UR機器人開放的基于TCP/IP協(xié)議的端口,可以制作自己的Polyscope軟件,實現(xiàn)上位機的遠程控制。
評論