EtherCAT作为高效的现场总线网络技术,其实时性能需依赖高实时操作系统才能充分展现。本文以ZMC600E为例,测试系统实时性并分析操作系统抖动数据。
ZMC600E EtherCAT主站控制器 是广州致远电子股份有限公司开发的新一代智能总线型控制器,其采用多核异构应用处理器为核心,其内核包括2个64位的Arm®Cortex®-A53核,主频1.0GHz;4个Cortex®-R5F内核,主频800MHz。同时板载1GB DDR4、4GB eMMC以及32KB FRAM。
ZMC600E EtherCAT主站控制器应用于机器运动时,为了确保精确的控制和协调动作,保证机器的运行稳定性和精度,ZLG致远电子在开发过程中,根据多年深耕嵌入式领域的积累,对操作系统做了深度优化,提供了稳定可靠的RT补丁进行Linux系统的适配,并反复测试优化,得到了较好的系统抖动参数。下面使用一个用于测试评估操作系统实时性能的工具“cyclictest”来实测。
测试工具介绍
“cyclictest”的测试原理,是基于周期性任务的调度和执行,去创建一个或多个周期性任务,并通过设置任务的优先级和调度策略来模拟实时任务的运行。这些任务会在固定的时间间隔内不断运行,并记录每次运行的开始和结束时间。通过这些时间数据进行分析,便可得到任务的响应时间和延迟情况。
测试步骤
1. 准备好1台测试电脑、1台ZMC600E控制器、1台可输出24V的稳压电源、1条网线。
2. 稳压电源设置为24V/1A,网线连接ZMC600E控制器的NET1和测试电脑的网口。打开电源,给ZMC600E控制器供电。
3. 测试电脑IP设置为192.168.1.168,并通过ping包工具确认可以ping通ZMC600E的NET1的IP地址:192.168.1.136。
4. 测试电脑打开串口调试工具“Putty”,在“Host Name”栏填入工控板的IP地址”192.168.1.136”,Port栏输入“22”,选中“SSH”协议,如图4所示。并点击“Open”连接到ZMC600E控制器。
5. 输入用户名“root”和密码“root”,登陆后,输入“cd /usr/bin”进入bin目录,再输入“cyclictest -p 98 -t 1”命令进行测试。
6. 保持测试环境在连续大概15个小时的系统抖动性测试中,得到输出结果:最大抖动为98us,平均抖动为15us。
测试结果分析
按照同样的方法,分别测试 ZMC300E 和 ZMC900E EtherCAT主站控制器的系统抖动数据,得到以下表格。
型号 | ZMC300E | ZMC600E | ZMC900E |
平均抖动 | 18us | 15us | 3us |
最大抖动 | 67us | 98us | 11us |
通过测试步骤及测试结果可知,不同的产品平台,系统的实时性能不一样。其中ZMC300E是通过Xenomai补丁实现系统的实时性,ZMC600E和ZMC900E是通过RT补丁实现系统的实时性。为了确保精确的机器控制和协调动作,保证机器的运行稳定性和精度,需要尽可能减小EtherCAT主站操作系统的抖动,才可以充分发挥EtherCAT的先进网络性能。
ZMC300E/ZMC600E/ZMC900E选型表如下。