0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

EtherCAT主站协议栈性能测试:速度与效率的完美结合

盟通科技 2024-08-02 18:35 次阅读

在使用EtherCAT技术作为现场总线时,性能往往起着决定性的作用。但是,性能的真正含义是什么呢?在大多数情况下,性能等同于速度。在EtherCAT网络中,这通常意味着需要快速的周期时间,大约1kHz或更快,以实现快速的控制周期。然而,高性能也可能意味着处理大量数据,或者从一个控制器上操作多个设备。

在EtherCAT网络中,这些性能考虑因素都归结为EtherCAT主站。因此,EtherCAT主站软件应满足以下所有要求:

  • 支持较短的周期时间,实现快速的设备更新率
  • 支持处理大量循环过程数据
  • 能够处理许多EtherCAT设备

此外,所有这些都必须在控制器上以尽可能低的负载来实现。对于高性能的EtherCAT网络部署,不应在功能、错误检查、诊断选项和出现问题时的可靠性方面妥协。基于此,本文将提出一种测量方法并给出结果,便于您对EC-Master协议栈的性能有更多了解。

测量方法

为了支持控制硬件的选择,或者为了能够对现有硬件在EtherCAT方面的可能性做出声明,可以利用现有的性能值进行新的测量。在应用的关键循环处理区域中,正确且精确地测量EtherCAT协议栈建立的主站软件运行的所有处理路径的计算时间消耗,这一点非常重要。近年来,盟通科技合作伙伴acontis在具有不同操作系统和相同参考网络配置的不同系统上进行了大量的性能测量。此数据可用于粗略评估给定处理器上可实现的性能。

然而,最可靠的值当然是通过在运行所需操作系统和实际所需网络配置的真实硬件上进行实时测量而获得的。这些测量不需要任何特殊的专业知识或额外的设备,并且可以通过EC-Master中包含的示例应用程序进而非常容易地执行:EcMasterDemo和EcMasterDemoDc。在这些演示应用程序中,各个主作业函数的执行时间(最小值、最大值和平均值)以及周期时间被计算并保存到日志文件中(或打印到控制台)。

示例应用程序中的内置测量函数

在acontis的EtherCAT主站软件协议栈中,应用程序与循环部分的主站集成是通过同步调用某些功能来实现的,每个函数都完成一项特定的任务。这些函数是从高优先级任务中调用的,用于控制网络计时。在许多情况下,高优先级任务已存在于客户应用程序中,因此可以简单地从此现有任务中调用函数。这些作业是在应用程序的上下文中调用的,因此应用程序不会与其他任务进行交互。因此,通过测量这些函数的计算时间消耗,可以非常简单准确地确定主堆栈的计算时间消耗。

功能包括:

wKgZomasQVOAbc3hAAa04TSmkL4509.png

在一个周期的开始,EC-Master的示例Demo首先会更新新接收的数据(输入)。这是通过调用Process Inputs作业函数并评估先前接收的EtherCAT帧来实现的。接下来,应用程序获取这些新接收的数据,并计算出应发送到网络的数据(输出)。当调用Write Outputs作业函数时,这些新的输出数据便被发送出去。借助Direct Memory Access (DMA),帧从内存传输到以太网控制器并通过物理网络发送,整个过程无需加载CPU。帧会经过网络上的所有EtherCAT设备,并在返回到主站时自动接收,无需中断。最后,调用"Master Administration"作业函数,执行主状态机和每个单独从设备上的状态机。

在初始启动过程中,所有从设备必须通过一系列连续步骤从INIT状态转移到OPERATIONAL状态。在常规操作中,需要状态机来处理非循环通信,例如通过邮箱协议CAN应用协议在EtherCAT (CoE)上下载参数。这些非循环邮箱通信需要另一个帧,其中包含针对从站的读取和写入命令。这个非循环帧是使用“发送非循环数据报/命令”作业函数发送的。主站能够限制这种非循环数据流量的方式非常重要,否则网络或CPU可能会过载。

wKgZomasQWGAeoIXAA2RcDt2FGw798.png

使用示例应用程序进行性能测量

EC-Master协议栈在随附的示例应用程序中具有内置的性能测量功能。可以使用带有示例应用程序(–perf) 的命令行参数来调用此性能度量计算。启用后,示例应用程序将测量在应用程序的循环部分内调用的作业函数的执行时间,以及循环任务本身消耗的总计算时间。示例应用程序使用包含的API ecatPerfMeasStart() 和ecatPerfMeasEnd() 进行高精度测量时间计算。

测量结果

以下测量结果是在具有不同循环时间的不同控制器上使用16、32和64个从站来执行测试的。EtherCAT主站(EC-Master)在CPU上的负载百分比是通过将工作函数的累积运行时间与总周期时间的比率来计算的。

Texas Instruments AM3359,ARM Cortex-A8,32位,600 MHz

wKgaomasQZ-AUCDBAAe0uhVTKmU102.png

NXP i.MX 8,ARM Cortex-A72,64位,1000 Mhz

wKgaomasQaeAVNBBAAeswWVKOvk837.png

Intel Atom, D510, 64-Bit, 1600MHz

wKgZomasQa2AbaYpAAekyA6uNws389.png

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 测试
    +关注

    关注

    8

    文章

    5114

    浏览量

    126358
  • 主站
    +关注

    关注

    0

    文章

    41

    浏览量

    7819
  • ethercat
    +关注

    关注

    18

    文章

    637

    浏览量

    38559
  • EtherCAT主站
    +关注

    关注

    2

    文章

    13

    浏览量

    4168
收藏 人收藏

    评论

    相关推荐

    使用协议实现Modbus RTU应用

    自从开源了我们自己开发的Modbus协议之后,有很多朋友建议我针对性的做几个示例。所以我们就基于平时我们的应用整理了几个简单但可以说明基本的应用方法的示例,在这一篇中我们先来使用协议
    的头像 发表于 12-13 16:10 1597次阅读
    使用<b class='flag-5'>协议</b><b class='flag-5'>栈</b>实现Modbus RTU<b class='flag-5'>主</b><b class='flag-5'>站</b>应用

    基于全志T507-H的Igh EtherCAT案例分享

    驱动器B的IN网口。 为便于测试,我司提供的经验证的IgH EtherCAT程序为案例\"igh_ethercat\\\\images
    发表于 06-03 09:59

    基于EtherCAT通信控制器设计

    基于EtherCAT通信控制器设计
    发表于 09-20 16:05

    基于Sitara AM57x千兆位以太网EtherCAT接口解决方案

    ETG.1500 规范的 EtherCAT A 类或 B 类协议此参考设计在 TMDXIDK5728 板上经过了
    发表于 12-26 14:40

    基于TI Sitara处理器的EtherCAT站开发案例

    :由于EtherCAT协议对系统实时性要求较高,因此使用Linux-RT实时内核进行测试
    发表于 07-30 09:25

    开源!ZYNQ IgH EtherCAT方案分享

    前 言:创龙科技已基于IMX8、ZYNQ、AM5728、AM5708、AM437x、AM335x、T3/A40i等平台提供了开源EtherCATIgH案例。本文主要演示
    发表于 10-29 11:17

    AX58400 EtherCAT转IO-Link网关解决方案功能演示

    这个视频演示亚信电子的AX58400 EtherCAT转IO-Link网关解决方案,这个方案集成亚信自行开发的IO-Link通信协议
    发表于 05-12 19:07

    EtherCAT协议的资料介绍

    EtherCAT(Ethernet for Control Automation Technology)是一种基于以太网的开发构架的实时工业现场总线通讯协议,它于2003年被引入市场,于2007年成
    发表于 02-14 11:20 63次下载
    <b class='flag-5'>EtherCAT</b><b class='flag-5'>主</b><b class='flag-5'>站</b><b class='flag-5'>协议</b><b class='flag-5'>栈</b>的资料介绍

    KPA EtherCAT软件如何做移植测试

    虹科KPA EtherCAT是一款协议产品,能够使用户快速利用EtherCAT技术的所有好
    的头像 发表于 05-18 15:54 3836次阅读

    使用协议实现Modbus ASCII应用

    自从开源了我们自己开发的Modbus协议之后,有很多朋友建议我针对性的做几个示例。所以我们就基于平时我们的应用整理了几个简单但可以说明基本的应用方法的示例,这一篇中我们来使用协议
    的头像 发表于 12-13 17:09 930次阅读
    使用<b class='flag-5'>协议</b><b class='flag-5'>栈</b>实现Modbus ASCII<b class='flag-5'>主</b><b class='flag-5'>站</b>应用

    EtherCAT 方案横向对比

    方案类别 软 系统型 硬件 方案描述 通过运行于MCU上的
    的头像 发表于 04-25 16:01 1735次阅读

    【虹科干货】使用Profishark进行EtherCAT性能测试

    01EtherCAT性能测试一般情况下EtherCAT
    的头像 发表于 05-20 09:45 2644次阅读
    【虹科干货】使用Profishark进行<b class='flag-5'>EtherCAT</b><b class='flag-5'>主</b><b class='flag-5'>站</b><b class='flag-5'>性能</b><b class='flag-5'>测试</b>

    虹科干货 | 虹科KPA EtherCAT软件在Xilinx ZYNQ UltraScale+上移植测试

    虹科KPAEtherCAT是一款协议产品,能够使用户快速利用EtherCAT技术的所有好处,例如实时操作、极短的循环时间、以及最低成本
    的头像 发表于 05-20 09:44 1127次阅读
    虹科干货 | 虹科KPA <b class='flag-5'>EtherCAT</b><b class='flag-5'>主</b><b class='flag-5'>站</b>软件在Xilinx ZYNQ UltraScale+上移植<b class='flag-5'>测试</b>

    EtherCAT方案之横向比较

    众所周知,EtherCAT是开源协议,使用者可以根据倍福提供的相关资料做产品开发,而目前主流的EtherCAT解决方案包括:软
    的头像 发表于 05-29 09:38 4083次阅读
    <b class='flag-5'>EtherCAT</b><b class='flag-5'>主</b><b class='flag-5'>站</b>方案之横向比较

    亚信电子于IAS 2024展出最新IO-Link&amp;设备软件协议解决方案

    亚信电子即将于IAS 2024展示最新的亚信IO-Link/设备软件协议、集成亚信IO-Link
    的头像 发表于 09-18 15:28 211次阅读
    亚信电子于IAS 2024展出最新IO-Link<b class='flag-5'>主</b><b class='flag-5'>站</b>&amp;设备软件<b class='flag-5'>协议</b><b class='flag-5'>栈</b>解决方案