一种高效的工业实时以太网网关的设计*
2014-07-18孙书仁张承瑞胡天亮
孙书仁,张承瑞,胡天亮
(山东大学 a.机械工程学院; b.高效与洁净机械制造教育部重点实验室,济南 250061)
一种高效的工业实时以太网网关的设计*
孙书仁a,b,张承瑞a,b,胡天亮a,b
(山东大学 a.机械工程学院; b.高效与洁净机械制造教育部重点实验室,济南 250061)
为解决控制系统中多轴同步控制时系统复杂和布线麻烦的问题,提出了一种基于EtherMAC的工业实时以太网网关的设计方案,将开放性更好的工业实时以太网EtherMAC与专用性更好的RTEX总线结合起来,给出了EtherMAC总线的运行机制和特点、RTEX总线的优势、网关的软硬件结构及EtherMAC与RTEX结合的关键的时序部分的设计。实现了将RTEX网络嵌入到EtherMAC总线中,并能对其进行灵活的应用。经实验证明,设计的网关可以满足工业控制中应用的需要。
EtherMAC;RTEX;工业实时以太网;网关
0 引言
近年来,在世界各国研发机构的共同推动下,工业以太网相对于现场总线的优势将逐渐体现[1],但是众厂家之间的总线技术互不兼容[2],给系统集成应用带来许多不便,如安川和松下这样的公司都有自己的总线系统,并配有总线型的驱动器,在技术上形成了一种垄断。本文针对这种情况给出了一种基于开放式的数控平台设计工业实时以太网网关的方法,将EtherMAC总线与松下RTEX总线相结合,充分利用了EtherMAC无需硬实时操作系统、标准、通用的特点和RTEX网络连接总线型伺服驱动器,布线方便,性能优越的优势,开发出了基于EtherMAC的工业实时以太网网关,并将其应用在伺服电机的控制上,取得了理想的效果。
1 实现EtherMAC-RTEX网关的意义
1.1 开放式实时以太网总线平台EtherMAC简介
开放式实时以太网总线平台EtherMAC采用标准网卡和网线级联而成,其拓扑结构如图1所示。其上位机作为主节点,无需硬实时操作系统。主节点通过10-BaseT的交叉网线与EtherMAC子节点依次向下级联,100M bit/s的通讯速率为大量数据的传输提供了可靠的带宽保证[3]。
图1 EtherMAC总线拓扑结构
在传统的总线式控制系统中,大部分都是依靠上位机来保证通讯的实时性和可靠性,这种机制依靠硬实时操作系统或者专用网卡来实现,采用硬实时操作系统和专用网卡都降低了系统的开放性,采用专用硬件更增加了系统的成本[4]。针对以上问题,EtherMAC通过采用分布时钟补偿的方法来实现子节点间的同步,作为主节点的上位机在枚举后将总线控制权交给节点号为0的子节点,由子节点0来实现网络的系统周期定时和子节点间的同步。
由于总线中的同步控制是由子节点0来完成的,这样就大大降低了主节点的实时性要求,主节点在收到包含从节点状态信息的数据包之后,只要能在下一个周期的同步信号到来之前将周期通讯包发出即可。从节点中对数据包的分析和转发都是通过硬件描述语言Verilog对FPGA编程来实现的,所以整个系统具有高速高实时的特点。EtherMAC总线采用动态补偿的分布时钟的机制,节点同步抖动可以控制在±100ns以内。通过以上设计可以满足多个节点同步的要求[5]。
1.2 松下RTEX网络简介
RTEX(Realtime Express)是日本松下公司为实现伺服所要求的高度实时性而独自开发的先进网络,现已兼容松下A4N和A5N总线型伺服驱动器,具有高性能和低成本、简洁和高信赖性等优点。
图2 RTEX网络拓扑结构
RTEX采用环形网络拓扑结构[6],其结构如图2所示,主站将指令下发给从站,从站从数据帧中获取自己的数据,同时将自己的状态数据填入到数据帧中,再将数据帧转发给下一个从站,这样最后返回到主站的数据帧就包含了网络中所有从站的状态信息[7]。
RTEX是以100BASE-T为基础的独立实时通信[8],可以实现100Mbps全双工通信,最多可以连接32个从站。RTEX通讯协议不对外开放,松下公司提供芯片MNM1221作为RTEX网络的开发接口。传统的主站将MNM1221嵌入到专用的实时网卡中或用专用PLC控制从站的动作,从站可以直接连接松下的总线型驱动器或者其它的可以连接在RTEX网络中的设备。
1.3 实现EtherMAC-RTEX网关的意义
RTEX网络本身就是为了实现伺服所要求的高度实时性而开发的,其最小的通信周期可以达到0.083ms,松下公司配备有适合于RTEX的A5N总线型伺服,相对于传统的用脉冲串和模拟量接口加I/O量的控制方式,可以实现丰富的信息交互,并且配线简单、可靠性高,可以保证各个轴在在伺服驱动的同一时刻执行控制指令[9]。另外A5N型伺服可以通过RTEX总线实现四种控制方式,还能实现在线监控和实时修改伺服的运动控制参数等功能,这在机器人控制和其它一些智能控制方面具有一定的优势。
图3 RTEX嵌入到EtherMAC示意图
传统的RTEX主站将接口芯片嵌入在专用的控制器中,开放性差,增加了系统成本。RTEX的环形网络最多只能连接32个从站,而且除了A5N型伺服外,其它可以连接在总线中的从站类型有限。
相对于RTEX的上述缺点,EtherMAC主控制器不需要硬实时操作系统和专用网卡同样可以保证网络的准确性和可靠性。EtherMAC最多可以连接254个从节点,节点类型有运动控制模块、I/O输入输出模块、模拟量输入输出模块和编码器模块、变频器控制模块等诸多类型的从节点,几乎涵盖了自动控制领域的所有的控制方式,为使用带来了便利。
在网关的应用方面,可以在不用改变任何硬件的情况下,实现路径规划控制模式、周期位置控制模式、速度控制模式和扭矩控制模式之间的任意切换,相对于脉冲串和方向的控制模式,应用起来更加灵活。网关在EtherMAC网络中只是一个单独的从节点,EtherMAC最多可以连接254个从节点,每个网关最多可以控制32个电机,这样通过一个网络就可以实现对若干伺服电机的控制。同时网络中的一帧数据就可以实现对所有伺服电机的实时控制、在线参数修改、速度和扭矩信息采集和运行状态监测。EtherMAC-RTEX网关扩展了EtherMAC总线的功能,提高了总线的控制效率,在大规模的生产线、纺织和包装机械等行业具有很好的应用前景。
如上所述,如果将RTEX的接口芯片MNM1221嵌入到EtherMAC的一个从节点中作为RTEX的主站,可以提高EtherMAC总线的运行效率,将RTEX对伺服控制的优势与EtherMAC采用标准硬件和应用灵活的特点结合起来,更适合于将其应用到自动化控制系统中去。
2 实时以太网网关的设计与实现
2.1 EtherMAC-RTEX网关硬件设计方案
EtherMAC-RTEX网关的硬件架构如图4所示,左侧的两个RJ45接口为EtherMAC总线级联而用,右侧的两个RJ45接口供RTEX网络形成环形回路,EtherMAC的分布式时钟可以为RTEX提供同步时钟用于RTEX网络的同步。这样EtherMAC-RTEX网关就可以作为EtherMAC的一个子节点,如图3所示将RTEX网络嵌入到了EtherMAC总线中去。其中EtherMAC IP核和MNM1221控制模块是在FPGA中实现的,通过同步时钟和NiosII处理器来协调两者的工作。其实物如图5所示。
图4 EtherMAC-RTEX网关硬件架构图
图5 EtherMAC-RTEX网关实物图
2.2 EtherMAC-RTEX网关的软件设计方案
如图6所示。作为EtherMAC子节点的网关在开始通讯后,通过枚举过程获得自己的节点号并建立分布式时钟。枚举成功后,主节点就开始对网关与主节点的通讯周期和分布式时钟的偏移等参数进行配置,在EtherMAC总线配置完成后开始对RTEX网络进行配置,在此过程中可以获得RTEX网络中的子节点的数目,可以通过EtherMAC发送给上位机。在对RTEX配置完成后,就进入了周期通讯,EtherMAC主节点会在每个周期发送周期通讯的数据,网关在解析后将相应的数据发送到RTEX网络中,系统等待下一个周期通讯数据的到来。
图6 状态转换图
周期通讯开始后,EtherMAC将主节点发送的属于本节点的控制数据存放在Control_RAM中,当从新的以太网数据包中获取到信息后,NiosII处理器会从Control_RAM中将收到的信息读取出来,按照相应的协议进行解析后再通过MNM1221模块发送到RTEX网络中,如图7所示。同时NiosII将从RTEX获得的各个子节点的信息存入AppState_RAM中,EtherMAC IP核会将这部分数据组成标准的以太网数据帧传送给上位机进行处理。在此期间EtherMAC子节点的同步时钟Syn_Clk会协调各模块的工作,防止产生冲突。
图7 网关软件运行示意图
网关通过EtherMAC 提供同步时钟Syn_Clk来同步RTEX网络。在EtherMAC总线配置的时候将总线的通讯周期设置为1ms,则子节点每隔1ms会准确地产生一个Syn_Clk时钟。在Syn_Clk之后100μs,子节点会将状态数据组成标准以太网数据帧发送给上位机。如图8所示在UpdateClk的上升沿,网关会将应该执行的命令写入到MNM1221中,在XTXTIM的下降沿MNM1221会将命令发送给RTEX中的子节点。上位机在处理完EtherMAC子节点发送的数据帧之后,最晚会在500μs后发送下一个周期的数据指令,网关收到数据包之后对其进行解析,解析出来的控制数据在下一个周期中通过CommandUpdate()函数发送给RTEX网络。这样,通过EtherMAC的同步时钟,就实现了EtherMAC和RTEX互不冲突地协调工作。
图8 网关工作时序图
3 实验验证
为了验证网关能否正常运行,在Windows XP下基于EtherMAC.dll开发了网关的测试程序,测试实验平台和程序界面如图9所示。将半径为100000个单位的圆周均分成36000个点作为指令值发送给X轴和Y轴的电机。在RTEX通讯周期和指令更新周期都为1ms的情况下,在无负载的情况下,测得了X轴和Y轴电机的36000组反馈数据,图10为指令值和反馈位置值轨迹图,由图可以看出两者几乎完全重合,经计算实际位置距离圆心的最大距离为100004.88单位,最小距离为99995.35单位,最大误差为0.00488%,可满足一般的位置控制功能的要求。
图9 测试实验平台和程序界面
图10 指令值和反馈位置值轨迹图
目前正将网关应用在喷漆自动生产线控制系统的开发中,喷漆自动生产线控制系统共需要控制24个伺服电机和187个IO点的输入输出,在EtherMAC总线中只需要一个EtherMAC-RTEX网关就可以实现对系统中所有的伺服电机的控制,提高了总线的效率,使系统的布线更加灵活和方便。
4 结束语
本文所开发的EtherMAC-RTEX网关结合了两种工业控制总线的优势。借助于EtherMAC总线,使用者可以灵活地配置和控制RTEX总线中的伺服驱动器,同时EtherMAC总线还可以挂接运动控制之外的各种模块。这样组成的系统开放性好,应用灵活,可以通过“一网到底”的方式实现对各种工业设备的控制,符合未来数控系统网络化、信息化的发展方向[10],对工业控制总线的开发也具有一定的借鉴意义。
[1] 缪学勤.实时以太网技术现状与发展[J]. 自动化博览, 2006, 22(2):21-24.
[2] 马世平, 现场总线标准的现状和工业以太网技术[J]. 机电一体化, 2007, 13(3): 6-8.
[3] 姬帅, 胡天亮,张承瑞.基于实时以太网的高速精插补算法及其实现[J]. 计算机集成制造系统, 2012,18(10):2211-2216.
[4] 侯昉, 沈琪, 夏永明. 工业以太网的实时性分析及其改进对策[J]. 工业控制计算机, 2004, 17(8): 20-21.
[5] 张承瑞,王金江, 一种实现以太网链状网络节点间同步的方法和装置,200710014419.2[P],2007-09-19: 中国.
[6] Corporation, Panasonic, Function Specification(Reatime Express Communication Specification)[Z]. 2012.03.
[7] 渠世杰, RTEX总线技术在数控领域的应用研究[D],上海:上海交通大学,2009.
[8] Corporation, Panasonic, TECHNICAL REFERENCE(Reatime Express Communication Specification)[Z], 2012.03.
[9] 丁信忠.基于工业以太网的总线型交流伺服系统关键技术研究[D], 山东:山东大学,2012.
[10] 张俊,魏红根.数控技术发展趋势——智能化数控系统[J]. 制造技术与机床, 2000(4):7-9.
(编辑 李秀敏)
The Design of an Efficient Real-time Industrial Ethernet Gateway
SUN Shu-rena,b,ZHANG Cheng-ruia,b,HU Tian-lianga,b
( a. School of Mechanical Engineering; b. Key Laboratory of High Efficiency and Clean Mechanical Manufacturing ,Shandong University,Jinan 250061,China)
Generally, the multi-axis system is complex and its routing is cumbersome. To solve the above difficulties, this paper presents a method of building a real-time industrial Ethernet gateway and combines the open real-time Ethernet EtherMAC(Ethernet for Manufacture Automation Control) with the special RTEX(Realtime Express). The features of EtherMAC and the advantages of the RTEX are given. The software and hardware of the gateway and the time sequence between EtherMAC and RTEX are designed. The design embeds RTEX in EtherMAC and it can be used in flexible applications. The actual verification proves that the design can meet the industrial control requirements.
EtherMAC; RTEX; the real-time industrial Ethernet; gateway
1001-2265(2014)01-0090-03
10.13462/j.cnki.mmtamt.2014.01.025
2013-05-24;
2013-06-08
国家自然科学基金项目(51075241)
孙书仁(1988—),男,山东平度人,山东大学硕士研究生,主要从事现场总线的研究,(E-mail)sdussr@163.com。
TH165;TG65
A