UDP是什么?UDP 是User Datagram Protocol的简称, 中文名是用户数据报协议。在UDP协议层次模型中,UDP位于IP层之上。应用程序访问UDP层然后使用IP层传送数据包。IP数据包的数据部分即为UDP数据包。IP层的报头指明了源主机和目的主机地址,而UDP层的报头指明了主机上的源端口和目的端口。UDP传输的段(segment)有8个字节的报头和有效载荷字段构成。
1. UDP通信模块
网络化控制与管理是现代智能控制系统的重要标志之一,主从式网络控制的工作方式是:下位机进行实时控制;上位机进行数据的处理和管理。为方便上位机远程对六自由度平台产品进行操控或二次开发,TYT六自由度平台提供了UDP通信的接口,一般的UDP协议网络时序图如下图所示。
本地控制计算机采用双网口,其中网口1与控制PLC通信,例如下位是倍福PLC的话,采用Ads通信,而网口2则通过UDP通信协议上位机进行通信,以下是天誉创新现有的UDP软件通信接口协议,可覆盖一般的主要应用场景,当然,针对某些特殊的要求,也可根据使用要求进行接口协议的定制和修改。
1.1 软件通信接口
如图2所示,六自由度运动控制计算机的UDP通信是有默认的IP和通信端口的,其默认IP是192.168.21.201,默认端口为0x4001(16385),远程控制计算机IP应该配置成与其同网段的IP,端口号任意。当然还可以在配置文件Comm.ini文件中对以上参数进行设置。
1.2 UDP通信参数设置
在Comm.ini中存在如下可以设定的值:
[UDP]
SOURCEIP=192.168.21.201
DESTIP=192.168.21.101
SOURCEPORT=16385
DESTPORT=16384
通过在Comm.ini中修改对应的值来完成设置工作,对应的参数值含义如表1所示。
1.3 发送到运动控制器的报文
上位机可以单次或连续发送运动指个报文,六自由度运动控制计算机根据指令报文进行相应的运动,六自由度平台连续的报文相应频率为100Hz。默认的指令报文(结构体)定义如下:
表2-远程控制计算机发送到运动控制计算机报文
2)而对于运动指令(表2中的CMND),其对应的含义如下:
*表示不用关心的位。
1.4 运动控制计算机发送到上位机的报文
六自由度运动控制计算机向外发送如下表的数据:
2)TYT六自由度平台运动状态表