3 关键性技术及其解决方案
协议接口子层及应用接口子层的实现是设计的关键,需要解决以下几个主要问题:总线站点地址的一致性;应用层协议数据格式的一致性;参数单位的一致性;总线配置结构的一致性和服务接口的一致性。下面对这几个问题进行分析,并给出详细的解决方案。
3.1 统一的站点地址设计
各个总线的站点地址不同,如M3站点的物理地址为16位,EtherCAT站点的物理地址为48位。为使各总线有统一的站点地址,系统对站点设备采用统一编址。所有现场网络中的站点都有统一的逻辑地址。每个总线上的站点都可以使用统一的逻辑地址进行通信。统一的站点逻辑地址格式如图6所示。
逻辑地址为32位,其首8位用来标识总线类型。如M3、NCSF、EtherCAT总线等;次8位用来标识设备类型,如标准伺服、高分辨率伺服、多轴伺服、主轴、I/O设备、传感器、变频器等;后16位用来标识站点。其中OxOOXXXXXX用来表示主站的逻辑地址。
为了兼顾各总线的物理地址的不同。物理地址设为48位,用来存放各总线站点的物理地址。当数据链路层用到物理地址时.对其进行截取变换成相应总线站点的物理地址。系统维护站点逻辑地址和物理地址的一一对应关系。
3.2 统一的应用层协议数据格式
不同总线的应用层协议数据格式差别较大,在此,定义一种统一的应用层协议数据报文格式。当向底层传输数据发生协议映射时。只需将其映射为具体总线的应用层协议数据格式。当底层有数据上传时,只需将具体总线的应用层协议数据报文封装成统一的应用层协议数据报文。如图7所示。目的标识代表了接收站点的逻辑地址,源标识代表了发送站点的逻辑地址。长度代表了有效数据的长度,单位为字节。A/S用于标识同步(A/S=1)或异步(A/S=0)。C/R用于标识命令(C/R=1)或应答(C/R=0)。
统一的应用层协议数据报文结构定义如下:
3.3 统一的单位系
由于不同总线所使用的参数单位不同,且差别很大,为使参数有统一的单位标准。系统设计了统一的单位系。如表1所示。
其中指令单位是指移动负载的位置数据的最小单位。指令单位应在考虑机械规格、定位精度等因素之后再行决定。例如可为mill、inch、度(o)等。每种参数都提供了多种单位供用户选择。并提供了基本单位供用户设置。例如位置参数单位选择mm。其基本单位设置为10一mm=0.001mm;速度参数单位选择mm/s,其基本单位设置为10-3mm/s=0.001mm/s等。用户可以根据具体的应用情况。选择不同的参数单位及基本单位进行设置。使得在模块之间传递的数据值含义保持一致。
3.4 统一的总线配置结构
统一的总线配置结构在总线初始化阶段用来配置总线信息,各总线根据自己的情况,对每一项进行初始化。其结构定义如下:
其中SLV_ST_MAX为系统所允许的最大从站数;wrong_addr表示主从站地址错误标识,0表示地址正确,l表示逻辑地址错误,2表示物理地址错误,3表示逻辑地址和物理地址都错;st_laddr、st_paddr分别表示主从站的逻辑地址和物理地址,0号站为主站的地址。