X86或ARM开发平台,注意CPU和NIC(网卡)的型号
X86或ARM开发环境,一般为Visual Studio
EtherCAT主站源代码或API函数库:KPA主站源代码一份
INtime,QNX,RTX,VxWorks,Xenomai,Linux Posix rt-preempt,Windows等实时或非实时操作系统
EtherCAT配置工具:KPA Studio配置工具软件
整个方案的结构框架。KPA Master包含了RPC Server(远程调用服务),内核库(即C源代码),API内核(API函数库),网卡驱动,操作系统抽象层(OSAL)等。其中,RPC Server可由KPA Studio或其它带RPC Client的工具进行调用,可进行EtherCAT网络配置,诊断或记录等功能。API内核提供了应用程序接口,开发人员可以通过这些API函数编写自己的应用程序。OSAL为源代码,用户可根据自己的需要适应到不同的操作系统中。
下面我们来看看KPA的EtherCAT可实现什么样的功能。基础版本(ClassB)的功能包括PDO,CoE,FoE,S2S等。而标准版本(ClassA)在原来ClassB的基础上又增加了EoE,SoE,AoE,VoE和最主要的DC功能。一般情况下用得最多的就是标准版本。而Premium版本和拓展版本的功能是KPA特有的,如线缆冗余,热链接,帧记录等功能也都是非常实用的。
影响主站性能的几个主要因素:1、CPU:一个性能强大的CPU是提高EtherCAT主站性能的基础,只有CPU足够强大,后续的性能提升还有可能性。2、NIC:EtherCAT要求网卡支持全双工通讯,理论上任何网卡都是可以运行EtherCAT的,但目前In tel的 I2xx 系列的表现是最好的。3、NIC Driver:网卡驱动对主站的影响主要体现在优化上,KPA的网卡驱动是专门针对EtherCAT优化的,可大大减小系统的抖动,让EtherCAT网络更稳定。4、RTOS:不同实时操作系统在实施EtherCAT主站时的表现也是不一样的,所以RTOS的选择也是相当重要的。5、中断控制器:中断控制的准确性和实时性对EtherCAT主站性能也有一定的影响。
下面我们来看一下各种操作系统下实施EtherCAT主站的测试参数。可见,INtime,RT preempt,QNX等实时操作系统的Cycle Times都可以达到100us以内,且抖动比较小,而Windows非实时操作系统的Cycle Times只能达到1ms的级别。为了体现EtherCAT的速度优势,实时操作系统的使用是必须的。
总结:基于X86或ARM开发EtherCAT主站相比用FPGA方案来说实现起来更加容易,但性能上不及FPGA的表现。
注意影响主站性能的几个因素,选择合理的硬件和操作系统