本贴记录200smart与安川机器人控制器YRC1000的UDP通信调试过程。
网络拓扑:
PC和PLC通过本地局域网无线连接,TCP网络通信;200smart和安川机器人控制器YRC1000通过本地局域网连接,UDP网络通信。
对于安川YRC1000机器人控制器来说,是把UDP通信称为“高速以太网服务器”,而把TCP通信称为“以太网服务器”(阴影部分),每次tcp通信都要收发3帧报文
例1. TCP通信读取当前位置
PC: CONNECT Robot_access\r\n ‘建立连接,ok?
Robot: OK: YR Information Server( 1.00). ’机器人控制器回答ok
PC: HOSTCTRL_REQUEST RPOSC 4\r ‘读取当前位置,可以吗?
Robot : OK: RPOSC ’机器人回答ok
PC: 1,0\r ‘读取机器人坐标系当前坐标值,外部扩展轴不需要
Robot: 313.565,-0.022,456.864,179.9981,1.5166,0.0108,1,0 ’好的,6个坐标值给你。
……
repeat
……
从上面的例子中看出,安川机器人控制器的TCP通信流程比较繁琐。但我弃用它的TCP通信方式更主要的原因是使用TCP通信前提必须将示教器钥匙的模式设置为“远程命令”,这种模式下的示教器按钮大部分都会失效(如启动停止机器人程序),需要外部IO来启动机器人程序等等。
事实上,安川机器人控制器的EtherNet功能说明书首先介绍的也是UDP通信方式:
它所谓的“简易/高速”是相对于自己的TCP协议通信而言的,其实看到后面的报文格式可并不简易!
(注意看这张图,它用的还是HUB,不是Swich。)