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

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

3天内不再提示

在Windows系统上稳定实现EtherCAT主站的两种思路

智汇工业 来源:智汇工业 作者:motrotech 2022-11-11 15:17 次阅读

01关于EtherCAT技术

今天,EtherCAT已经是世界上最受欢迎的实时以太网解决方案之一。EtherCAT技术团队(ETG)负责给所有正在使用和将要使用的用户朋友们开放EtherCAT技术。同时,ETG也是世界上会员人数最多的现场总线技术组织,任何人都可以在ETG官网的主页上找到会员名单。

02EtherCAT技术与Windows系统

在Windows系统中,EtherCAT主站协议栈的运行较为简单,用户仅需使用一块标准以太网卡即可运行EtherCAT主站协议栈。即Windows系统下配置EtherCAT主站不需调用特殊的接口网卡,可以直接运行在内置于主板中的板载以太网控制器或低成本的外部标准网卡上。

然而,Windows并不是一个实时操作系统(RTOS),这意味着用户难以确保稳定地体验到EtherCAT周期时间具有的确定性、稳定性和实时快速等优点。虽然EtherCAT在Windows上可以实现周期时间大于10毫秒的更新频率,用户也不能顺利稳定地实现,更何况这一频率也难以应对部分极限场景下的应用需求。因此,通常情况下,用户很难十分便利地在该系统内使用EtherCAT的分布式时钟(DC)功能。

03两种解决

实时需求场景的思路

为了让用户能完全地体验EtherCAT技术,我们探讨了两种思路,并给出了三种方案来对比和验证思路,接下来我们将为您介绍我们的思路和对应的方案:

思路一:在软件层面进行优化的驱动

一个提高Windows性能的思路是把Windows网络驱动程序替换为acontis提供的实时以太网驱动程序,通过替换驱动程序并使用acontis提供的优化驱动程序来消除Windows网络协议栈的影响。这个思路让软实时行为的实时性得到了很大改善,进而能够在系统中使用分布式时钟功能。但是,该方案仍然缺少确定性,因此,不建议在生产过程中使用。

思路二:更完善的跨系统解决方案

另一个更好的思路是同时运行Windows和EC-Win。EC-Win 指的是一种使用acontis 提供的实时虚拟机管理程序的相关技术来同时在Windows 和 RTOS系统运行的硬实时解决方案,从而可以创建出速率快、确定性好、且基于硬实时行为的EtherCAT应用程序,其更新速率可以达到20kHz(50毫秒)。

04Windows系统实现

EtherCAT的不同方案

您将看到acontis测试的在Windows上的用不同方案实现EtherCAT主站协议的三种情形和结果

一、没有实时性能的解决方案:Windows NDIS 滤波器驱动程序

网络驱动程序接口规范(NDIS)是网络驱动程序体系结构的规范,它允许传输协议(如 TCP/IP)与底层物理网络适配器进行通信。该规范由微软联合开发,并在Windows中使用。因此,为了在Windows中发送和接收EtherCAT帧,EC-Master包括一个NDIS链路层(emllNdis.dll),以利用作为Windows网络协议栈一部分的以太网驱动程序。

更新速率的体系结构> = 10 毫秒:

29c21cfc-3482-11ed-ba43-dac502259ad0.png

图 1 Windows NDS 筛选器驱动软件实现EtherCAT

二、具有软实时性能的解决方案:Acontis 以太网驱动程序

为了实现更快的更新速度,我们用acontis内核模块EcatDrv和优化的实时以太网驱动程序来取代标准的Windows网络驱动程序。EcatDrv 内核模块提供从用户空间直接访问物理网络控制器所需的权限。这样就可以发送和接收EtherCAT帧,而无需在两者之间使用任何Windows软件。采用这种方案的结果是降低了 CPU 负载,减少了抖动,规避了其他的网络通信过程所产生的不利后果。

更新速率的体系结构:> = 1 毫秒(难以保证):

29ef0f00-3482-11ed-ba43-dac502259ad0.png

图2 Acontis驱动实现EtherCAT

三、具有硬实时性能的解决方案:EC-Win

前文的思路二中,我们发现把RTOS系统和Windows系统结合起来将在Windows上获得最佳的EtherCAT性能。Acontis提供了一个可以同时运行在Windows和实时Linux(RT-Linux)上的基于Windows的实时管理程序,结合EC-Master,用户可以调用这套完整的解决方案来在Windows上实现EtherCAT。(EC-Win)

借助EC-Win,EtherCAT 主站协议栈关联的EtherCAT应用程序可在 RT-Linux(实时Linux系统)上运行,从而实现高达20 kHz(50 微秒)的更新速率的硬实时性能。此外,acontis 还提供了为 Linux系统优化的实时以太网驱动程序,进一步提高了 EtherCAT 的整体性能。通过acontis的实时管理程序,Windows和RT-Linux被安全地分开,从而为实时Linux应用程序(包括EtherCAT)提供保护,使其免受Windows系统故障的影响。虽然该方案存在有操作系统层面的拆分,对于Windows上的应用程序和实时Linux系统上的应用程序,用户仍然都可以在用户更为熟悉的Microsoft的Visual Studio软件环境下进行开发与调试。

2a0788be-3482-11ed-ba43-dac502259ad0.png

图 3 使用EC-Win方案实现EtherCAT

实时以太网驱动程序(链路层)

Windows NDIA filter driver (emllNdis)

Windows网络驱动程序接口滤波器驱动程序

Intel Pro/1000 (emllI8254x)

Inter Pro/1000

Realtek Gigabit (emllRTL8169)

Realtek千兆网卡

Beckhoff CCAT(emllCCAT)

倍福CCAT软件

审核编辑:汤梓红

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

    关注

    3

    文章

    3440

    浏览量

    87144
  • ethercat
    +关注

    关注

    17

    文章

    442

    浏览量

    37693

原文标题:在Windows系统上稳定实现EtherCAT主站的两种思路

文章出处:【微信号:ilinki,微信公众号:智汇工业】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    EtherCAT协议与ModbusRTU协议能源行业中的应用

    RTU的通讯协议不同,需要进行转换。可以使用转换器或者转换软件来实现两种协议之间的转换。 数据格式的转换:EtherCAT和Modbus RTU的数据格式也不同,需要进行转换。转换
    发表于 12-22 13:52

    【米尔-瑞萨RZ/G2UL开发板】6.基于SOEM的EtherCat

    控制和数据采集的需求。它通过一特殊的主从架构实现,其中一个(Master)负责协调整个网络,而从(Slave)则负责提供输入输出功能
    发表于 03-31 16:22

    基于EtherCAT通信控制器设计

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

    我想用3359做一个EtherCAT,底层的系统是选择RT linux好还是TI RTOS好呢?有没有者的对比?

    本帖最后由 一只耳朵怪 于 2018-5-22 11:54 编辑 您好,我想用3359做一个EtherCAT,底层的系统是选择RT linux好还是TI RTOS好呢?有没
    发表于 05-22 00:51

    基于赛灵思FPGA的EtherCAT运动控制

    基于赛灵思的FPGA的EtherCAT总线控制 ,论坛有做运动控制这方面的技术吗?目前我已实现带32轴同步运行,同步抖动±75ns,控制精度125us。感兴趣的可以一起探讨下
    发表于 07-23 12:00

    AM5728的Ethercat环境搭建步骤

    ;EC-Master-V2.9-Linux_armv6-vfp-eabihf-Eval/Bin/Linux/armv6-vfp-eabihf/"目录下的 libemllCPSW.so 文件复制到和个文件
    发表于 09-04 09:25

    无DDR的EtherCAT参考设计包括BOM及框图

    描述EtherCAT®(用于控制自动化技术的以太网)正在不断发展成为一主流的工业以太网网络。无 DDR 的 EtherCAT 参考设计是一用于
    发表于 10-16 10:43

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

    描述TIDEP0079 参考设计展示了采用来自 Acontis 的 EC-协议栈 Sitara™ AM572x 处理器运行的 EtherCA
    发表于 12-26 14:40

    IGH_Master配置驱动伺服电机和变频器相关资料推荐

    IGH_Master配置驱动伺服电机和变频器总结Ethercat是倍福公司提出的一工业现场总线协议,具有很好的实时性,IGH是一开源
    发表于 06-28 07:45

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

    开发的EtherCAT协议栈EC-Master、EtherCAT网络信息配置工具EC-Engineer和Windows操作
    发表于 07-30 09:25

    找开发EtherCat的设计人员

    设计要求:1、 带EtherCat接口。2、 总从最多32个。3、 伺服从最多16个。4、 有一组伺服可以
    发表于 08-19 15:30

    开源IgH EtherCAT方案,基于IMX8、ZYNQ、AM335x、T3等平台

    Mini)TLIMX8-EVM评估板1、IgH EtherCAT简介IgH EtherCAT为运行于Linux系统的免费开源EtherCAT
    发表于 09-17 17:14

    EtherCAT igh是如何控制松下伺服(csp模式)的

    EtherCAT igh是如何控制松下伺服(csp模式)的?怎样去编写其代码?
    发表于 10-08 06:12

    开源!ZYNQ IgH EtherCAT方案分享

    于Linux系统的免费开源EtherCAT程序,框架如下所示。图 3IgH EtherCAT
    发表于 10-29 11:17

    请问RT-thread系统里运行4个从和1个是否稳定

    请问这个协议包,RT-thread系统里,如果运行4个small modbus从和1个small modbus,是否
    发表于 11-25 10:28