吧里人太少了,这么冷清,看到有吧友问KUKA机器人跟电脑通信的问题,正好前段时间折腾过EthernetKRL软件包,成功地通过TCP/IP协议与机器人通信,在此分享下使用的过程,供有需要的吧友参考探讨.同时也提倡下分享的精神,工业上有很多资料官方公开的并不多,像工业机器人这块,网上都是零零散散的,新手学习的有时候遇到问题会感觉求助无门,相信很多人都深有体会,我在这里权当抛砖引玉,希望各位大神不吝赐教.
EhternetKRL是KUKA提供的一个以太网通信功能的软件包,支持TCP和UDP协议.
首先是软件包的安装,软件包的安装有两种方式,一种是操作示教器安装(常用的方法),另一种是通过WorkVisual安装,
通过示教器安装是常用的方法,这里只介绍这种方法,
先将软件包复制到U盘里,如果是压缩包需要解压,路径不要有中文,中文会显示乱码,为了方便可以放根目录,如图:

然后将U盘插入控制柜或示教器背后的USB口,最好是插控制柜上,示教器上的接口太慢了,安装软件要在手动模式下(T1/T2),不能选择程序,且需要专家权限,
登录专家权限: 主菜单->配置->用户组

点进去之后先专家,密码默认是kuka(小写),点登录就行了

登录专家权限之后进主菜单->投入运行->安装附加软件,有些版本也叫辅助软件

进去之后会显示你已经安装的软件包,点左下角的新软件,

进去之后会显示你所选目录下的可用安装包,默认是E盘,也就是之前插入的U盘,如果不是的话点右下角的配置更改路径,

然后点右下角的路径选择,选好后点旁边的保存,回到可用安装包列表,

选中EthernetKRL,点右下角安装

之后会弹出安装提示,这一步完了之后重启一下,至此完了软件包的安装.接下来是配置和编程了.
要进行通信肯定得先联网啦,KRC4可供以太网通信的是KLI接口(KUKA线路接口),看图:

这很简单,插根网线就行了,配置机器人IP地址,主菜单->投入运行->网络配置
需跟你要通信的电脑在同一IP段,我配置为192.168.1.234,子网掩码255.255.255.0
接下来是编程,EthernetKRL附带了几个例子程序,还有一个测试软件,我们先拿例程试试吧,

共有三个文件夹,Application里面是个测试软件,在电脑上动行的,可以接收来机器人的数据并显示出来,用来测试通信是否成功.
Config里是配置文件,Program里面是KRL程序,运行在机器人上的.
里边一共包含三种类型的例子,一个是固定长度的字节流,一个是用XML交换数据,还有不定长度字节流,这里选择一种简单的吧,我们选BinaryFixed,固定长度的字节流,例子中是10字节,


用到的文件就三个,EthernetKRL_Server.exe,BinaryFixed.xml,BinaryFixed.src,先不急着理里面是啥意思,照葫芦画瓢跑起来再说,
打开BinaryFixed.xml文件,修改IP地址为服务器地址(待会在示教器上改也行)

将BinaryFixed.xml文件复制到机器人C:\KRC\ROBOTER\Config\User\Common\EthernetKRL目录下,BinaryFixed.src文件复制到R1下任意路径,(都需要操作权限)


到这里就已经完成了,接下来运行试试,
先打开作为服务器的测试程序EthernetKRL_Server.exe

点击图中标注的配置按钮,选择例子类型,接收模式,通信端口,网卡号,
例程我们之前用的是固定长度字节流,所以先BinaryFixed,接收模式为自动Autoreply,端口号用默认的59152,网卡号跟据实际情况选择,需要选与机器人在同一局域网内的网卡,我这里是6,选好后关闭小窗,点击绿色三角形运行服务器监听


可以看到已经在监听了,状态栏图标也会由红色变为黄色,电脑端等待连接,接下来运行机器人程序,选定BinaryFixed.src

按使能键运行,其中蓝色框中的就是要发送的数据

运行结束,R变为黑色,没有任何报错,这时去服务器端看,已经接收到数据了

对比一下程序里的数据,一模一样,到这里我们就已经成功地跟机器人通信上了
这里我们只是简单地运行了例程,要真正用到自己的项目上就需要自己去配置XML文件以及编写相应的程序,详细的内容可以参考安装包里DOC目录下的技术文档.
参照例程和技术文档,本人还用JAVA写了一个上位机小程序,机器人在后台通过以太网实时地发送位姿数据,电脑端接收并显示出来,我这里只是显示,如果做位姿计算,再反馈结果给机器人,就能达到控制机器人的目的,比如做系觉系统,实验结果附图:

有不明白的可以一起探讨,有不对的地方欢迎指正.
----The End.
EhternetKRL是KUKA提供的一个以太网通信功能的软件包,支持TCP和UDP协议.
首先是软件包的安装,软件包的安装有两种方式,一种是操作示教器安装(常用的方法),另一种是通过WorkVisual安装,
通过示教器安装是常用的方法,这里只介绍这种方法,
先将软件包复制到U盘里,如果是压缩包需要解压,路径不要有中文,中文会显示乱码,为了方便可以放根目录,如图:

然后将U盘插入控制柜或示教器背后的USB口,最好是插控制柜上,示教器上的接口太慢了,安装软件要在手动模式下(T1/T2),不能选择程序,且需要专家权限,
登录专家权限: 主菜单->配置->用户组

点进去之后先专家,密码默认是kuka(小写),点登录就行了

登录专家权限之后进主菜单->投入运行->安装附加软件,有些版本也叫辅助软件

进去之后会显示你已经安装的软件包,点左下角的新软件,

进去之后会显示你所选目录下的可用安装包,默认是E盘,也就是之前插入的U盘,如果不是的话点右下角的配置更改路径,

然后点右下角的路径选择,选好后点旁边的保存,回到可用安装包列表,

选中EthernetKRL,点右下角安装

之后会弹出安装提示,这一步完了之后重启一下,至此完了软件包的安装.接下来是配置和编程了.
要进行通信肯定得先联网啦,KRC4可供以太网通信的是KLI接口(KUKA线路接口),看图:

这很简单,插根网线就行了,配置机器人IP地址,主菜单->投入运行->网络配置
需跟你要通信的电脑在同一IP段,我配置为192.168.1.234,子网掩码255.255.255.0
接下来是编程,EthernetKRL附带了几个例子程序,还有一个测试软件,我们先拿例程试试吧,

共有三个文件夹,Application里面是个测试软件,在电脑上动行的,可以接收来机器人的数据并显示出来,用来测试通信是否成功.
Config里是配置文件,Program里面是KRL程序,运行在机器人上的.
里边一共包含三种类型的例子,一个是固定长度的字节流,一个是用XML交换数据,还有不定长度字节流,这里选择一种简单的吧,我们选BinaryFixed,固定长度的字节流,例子中是10字节,


用到的文件就三个,EthernetKRL_Server.exe,BinaryFixed.xml,BinaryFixed.src,先不急着理里面是啥意思,照葫芦画瓢跑起来再说,
打开BinaryFixed.xml文件,修改IP地址为服务器地址(待会在示教器上改也行)

将BinaryFixed.xml文件复制到机器人C:\KRC\ROBOTER\Config\User\Common\EthernetKRL目录下,BinaryFixed.src文件复制到R1下任意路径,(都需要操作权限)


到这里就已经完成了,接下来运行试试,
先打开作为服务器的测试程序EthernetKRL_Server.exe

点击图中标注的配置按钮,选择例子类型,接收模式,通信端口,网卡号,
例程我们之前用的是固定长度字节流,所以先BinaryFixed,接收模式为自动Autoreply,端口号用默认的59152,网卡号跟据实际情况选择,需要选与机器人在同一局域网内的网卡,我这里是6,选好后关闭小窗,点击绿色三角形运行服务器监听


可以看到已经在监听了,状态栏图标也会由红色变为黄色,电脑端等待连接,接下来运行机器人程序,选定BinaryFixed.src

按使能键运行,其中蓝色框中的就是要发送的数据

运行结束,R变为黑色,没有任何报错,这时去服务器端看,已经接收到数据了

对比一下程序里的数据,一模一样,到这里我们就已经成功地跟机器人通信上了
这里我们只是简单地运行了例程,要真正用到自己的项目上就需要自己去配置XML文件以及编写相应的程序,详细的内容可以参考安装包里DOC目录下的技术文档.
参照例程和技术文档,本人还用JAVA写了一个上位机小程序,机器人在后台通过以太网实时地发送位姿数据,电脑端接收并显示出来,我这里只是显示,如果做位姿计算,再反馈结果给机器人,就能达到控制机器人的目的,比如做系觉系统,实验结果附图:

有不明白的可以一起探讨,有不对的地方欢迎指正.
----The End.