优傲机器人ur robot与 PC 通讯

1. 总述
UR 机器人与 PC 通讯主要介绍 UR 机器人与工控机,具备 TCP/IP 通讯模块的 PLC 以及嵌
入式系统等等如何进行通讯。大家可以 根据实际需求选 择最佳的通讯方式 。对于每种通讯方式的详细介绍,本文不涉及,需要的读者可以登录 UR 官网技术支持 How-to articles 中进行搜索和下载。
早期版本的 UR 机器人版本提供了 C-API 接口,目前版本的 UR 机器人( CB3 及之上)不
再支持;关于 ROS 接口,其实是在 UR 提供的接口上封装的一层,感兴趣的请参考 ROS
网上的项目。
UR 机器人提供的通讯接口如图 1 所示,接口的比较见表格 1

 

UR 机器人目前支持 Modbus-TCP, EthernetIP 以及 Profinet 三种总线,其中 UR 机器人
自带 Modbus-TCP 服务器, PC 或者外部智能设备可通过该端口获取机器人的状态信息。
2. 通讯接口介绍
各通讯接口相互独立,可以同时使用;下面将对各通讯接口进行详细介绍。
1 发送内容:机器人向外发送的信息
2 接收内容:机器人从上位机接收的信息 2.1 Dashboard 29999 )接口
Dashboard 接口是由机器人人机界面进程(示教器显示)负责维护和执行的一个端
口。该端口主要负责接收上位机指令, 执行机器人初始化、加载程序、开始和暂停程序
运行以及设置用户角色等 操作,上位机可以远程操作机器人就如同操作示教器一样。
该接口主要应用在自动启动机器人,无示教器应用等场合。
Dashboard 接口接收上位机发送的 Dashboard 命令字符串,机器人接收后,返回
执行结果字符串
2.2 Primary & Secondary 30001 & 30002 )接口
Primary & Secondary 接口由机器人控制进程维护和执行的端口。开机后,机器人
一直从这两个端口以 10Hz 频率对外发送机器人的状态信息(机器人位置, IO ,运行状
态等),除此之外 Primary 端口还会发送一些全局变量更新等信息。因此如果需要编写
上位机在线编程以及运行监视,例如编写一个类似示教器界面的上位机程序时可以使
Primary 端口(当然对于加载程序,运行程序等操作需要使用 Dashboard 29999
接口)。
Primary & Secondary 接口在接收到上位机发送的脚本指令 字符
串后会 立即中断当前执行程序(如果机器人正在运行),然后运行接收到的脚本指令
值得提醒的是,一些具有返回值的脚本指令,其返回值并不会通过这两个端口返回,因
为脚本的执行是在机器人控制进程中,其返回值只传递给该进程中的变量。
如果想一次性发送一段程序给机器人,需要将发送的程序按照如下格式发送:

 

 

如果向 Secondary 接口发送 def 类型的一段脚本给机器人,机器人当前执行的程
序会被中断, 如果需要当前执行的程序不被中断(例如设置 IO ),可以向 Secondary
序发送 sec 类型的一段脚本,当然这段脚本中不能够包含运动指令, 因为同一时间机器
人只能从一处获取运动指令,否则无法预期运行后果。
def functionName():
脚本指令
脚本指令
脚本指令
# 对于函数或者 while 等结构语句
# 需注意同层次具有相同缩进
脚本指令
……
end
1.
Primary & Secondary
2. Secondary
实际发送字符串 ( 缩进用空格,换行用 \n):
“def functionName():\n 脚本指令 \n 脚本指令 \n ……\nend\n “
“sec functionName():\n 脚本指令 \n 脚本指令 \n ……\nend\n “
sec functionName():
非运动 脚本指令
非运动 脚本指令
非运动 脚本指令
# 对于函数或者 while 等结构语句
# 需注意同层次具有相同缩进
非运动 脚本指令
……
end 2.3 Realtime (30003) 接口
Realtime 通讯接口 始终 125Hz 的频率往外发送机器人的 详细状态信息 (位置,
速度,关节电流,力矩等),同时也可以接收上位机发送的脚本指令(脚本指令的发送
规则参考 Primary & Secondary 30001 & 30002 )接口介绍中相应部分) 并立即执行
2.4 RTDE (30004) 接口
RTDE 全称 Realtime Data Exchange RTDE 接口需由上位机进行 配置, 并根据配置
125Hz 的频率往外发送 机器人的详细状态信息 (位置,速度,关节电流,力矩等),
机器人也 只会接收配置的输入信息 IO ,寄存器等)。
Realtime 接口相比, RTDE 接口不能接收脚本指令,只能接收配置好的输入信
息;但是 RTDE 接口不会中断当前程序的执行,而且与输入输出信息都是经过配置,传
输的信息没有不需要的数据,可以按需启动和停止,因此能够大大降低对网络带宽的占
用。
2.5 Socket 通讯
Socket 通讯是指机器人通过 Socket 相关脚本指令 与上位机进行
通讯的方式。
2.6 XML-RPC 通讯
XML-RPC 全称 XML remote procedure call 。是一种通过 XML
式传输结构化数据的协议,其优点在于传输的数据是结构化的,无需用户自己进行序列
化和解析操作,例如从上位机传输 float 数据,机器人接收到后就已经是 float 类型了。
目前 XML-RPC 库已支持多种语言,例如 C++ Python 等,读者可从网上自行下载相
关资料。
2.7 Modbus-TCP 通讯
UR 机器人支持 Modbus-TCP ,既可以作为客户端也可以作为服务器。 UR 机器人
作为客户端,只需配置好网络,然后使用相应的脚本即可 UR 机器人
作为服务器,可以提供机器人当前位置,速度等状态信息,也提供通用寄存器可用于互
相通讯(例如相机将数据传输给机器人)。
  • 6
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菁特智能KingTech

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值