• 正文
  • 相关推荐
申请入驻 产业图谱

Node-Red与大众版KUKA进行EthernetKRL通讯采集数据

09/22 08:14
274
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

这几天研究上位机如何与kuka机器人EthernetKRL通讯,成功地通过TCP/IP协议与机器人通信,在此分享下使用的过程

EthernetKRL通讯说明

EhternetKRL是KUKA提供的一个以太网通信功能的可选软件包,支持TCP/IP和UDP/IP协议.

1-通过EKI(Ethernet KRL Interface),可以将KUKA机器人配置为服务器或者客户端,与外围设备(相机、上位机,PLC,三维扫描仪等)进行以太网通讯

2-外部系统通过EKI交换数据,机器人系统接收外部发送来的XML配置文件,进行处理以后,将信息通过XML形式再发送给外部设备,从而实现稳定高效的数据通信

3-通讯数据默认以TCP/IP协议传输,从而保证了数据的完整高效。也可以使用UDP/IP协议,因为UDP/IP协议无法保证识别数据丢失(俗称丢包),所以库卡官方并不推荐使用UDP协议。

4-在一些对数据包完整性不敏感的特殊应用场合,因为UDP协议的响应速度等特性,UDP同样得到了广泛的应用(例如,通过UDP协议,机器人在运动过程中不断将自身位置信息发送给上位机系统,并向三维扫描仪发送同步信号,这样,上位机系统就可以拟合出三维扫描仪检测到的工件模型,为三维表面检测提供了一种可行的方案)。

5-EthernetKRL和外围数据交互原理:外围发给机器人的数据时,先暂存在通道(XML文件)里,机器人需要数据时再从相应的buffer里获取数据,解析数据。数据传输过程:外部发送数据→存进通道相应的缓冲 → 机器人读取数据 → 建立数据解析 → 得到最终的数据。由于机器人读取数据时建立解析是耗时的,所以EthernetKRL 最好是传输数据量小点的数据包。

今天我们使用kuka虚拟机进行仿真通讯,实际机器人也是同样的步骤

如果要进行EthernetKRL通讯首先机器人端安装KUKA.EthernetKRL软件包,该软件包提供了通过网络和机器人控制器进行双向通信的功能。使用TCP/IP协议,通过服务器端和客户端方式进行通信,网络传输通过xml进行配置,传输内容也是xml格式。通信延迟在2ms以下。因此可以做一些实时性比较高的任务,比如在线分拣,视觉检测,视觉引导,上位机采集等。

通讯软件包安装

一、用U盘把 KRC4 EthernetKRL 安装包拷贝到机器人PC上

1 -登陆“专家”用户组

2-投入运行---售后服务---HMI最小化

3-复制软件到D:KUKA_OPT

4-返回到Smartpad示教器界面

点击菜单:投入运行---辅助软件---新软件---选择软件

(EthernetKRL)---安装---冷启动机器人。

通过在控制器安装界面安装软件包

配置XML通讯文件

1- 针对每个连接,必须在机器人控制系统的目录

C:KRCROBOTERConfigUserCommonEthernetKRL 中定义一个配置文件

将通讯包里面的案例通讯文件拷贝到当前文件夹,进行修改。

2- XML 文件都是“ 区分大小写” 的。必须注意区分大小写。XML 文件的名称同时也是 KRL 的访问密钥。

连接属性的 XML 结构

用于数据接收的 XML 结构

配置取决于是接收 XML 数据还是二进制数据。

如果是接收 XML 数据,必须定义 XML 结构:<XML> … </XML>

如果是接收二进制数据,必须定义原始数据:<RAW> … </RAW>

BYTE:有固定长度的二进制数据组

STREAM:有可变末尾字符串和可变长度的二进制数据组

如果通过Officelite虚拟机通讯,此时IP必须设置成192.168.0.1

配置虚拟机通讯建立

设置虚拟机网卡ip地址

我们要在Officelite虚拟机里建立通讯就要使用一个KUKA Router软件进行网络搭个桥。

打开软件,ip地址和虚拟机网卡ip相同,端口号要和xml配置文件的端口相同。

机器人程序编写

用于数据交换的函数

此时使用的机器人大众版本的kuka机器人

我们在vwuser文件夹中,添加一个程序

编写机器人程序,程序放在sps.sub程序中循环调用

本机Node-red建立服务器

本机的Node-Red建立一个服务器用来监听端口的数据

通过调试我们接收到了机器人发来的数据

我们将字符串数据转换成xml结构数据

接下来对结构数据进行解析

将解析之后的数据展示在前端界面或者存储到数据库

相关推荐