Python编程语言接口

从EC-Master V3.1.1 开始支持用户使用 Python 编程语言开发EtherCAT应用程序。

基于提供的封装库,用户可以通过调用 EC-Master API 开发或执行面向对象的 Python 封装模块、脚本等相关应用。

和其他示例程序相同,EcMasterDemoPython 演示了如何调用 EtherCAT 主站 API。Python 例程也可以允许运行在 interactive 模式,例如设置一个 EtherCAT 网络输出等等。这个功能对于快速测试EtherCAT网络执行不同的动作非常有用。

支持 Linux 基金会的 RTOS Zephyr 操作系统

从 EC-Master V3.1.1 开始支持 ZephyrTM 实时操作系统。这是一个可以运行在资源受限的设备上的,并且具有信息安全和功能安全的一流RTOS操作系统。

在 acontis 高性能实时以太网驱动程序的帮助下,可以保证 5kHz 的刷新频率。

EcMasterDemo 包含完整的例程源码和可以在免费集成开发环境 CMake下直接运行的工程文件。

支持 ARM64 CPU 下的 VxWorks7 SR650 64-Bit

EC-Master 现在已经支持运行64-bit版本的 ARM(aarch64)上的 VxWorks 7 SR650 操作系统。参考实例基于德州仪器的工业开发板 AM65x industrial development kit (IDK) evaluation kit.

在该体系架构下同样可以使用定制开发的实时以太网驱动(link layer),用于主站内核与以太网控制器之间实现快速直接的数据交换。

免费提供的评估版本包含应用程序示例,示例与 EtherCAT 网络配置(ENI文件)一起,可以将任何 EtherCAT 网络切换到 OP 状态。评估版中还包括示例应用程序的完整源代码以及详细文档。

支持 Linux 设备树:货架产品可以支持大部分客户定制硬件板

Linux 操作系统提供大多数常见的以太网控制器和相关收发器(PHY)驱动。供应商特定的 PHY 电路通过专用的内核驱动程序处理。

为了能够利用这个基本架构,需要将 acontis 内核模块 atemsys 作为以太网控制器的官方驱动程序包含在 Linux 设备树中。这样 atemsys 就可以与 Linux 驱动程序交互。

根据具体硬件体系结构,atemsys 可以授予 Linux 驱动程序对 MDIO 总线的访问权,或者向 Linux 驱动程序发送 MDIO 操作请求。

PHY “OS-Driver” 功能是通过 Linux 设备树专门配置的,不需要在应用程序层面进行任何额外的配置。

重构示例程序

EC-Master示例程序的内容和结构在主站3.1版本上已基本修订。修订的目的是提供更合理的框架,使主站功能更易懂,并删除多个文件夹中相同的文件。

新版本中通过为每个操作系统实现一个专用的主文件(EcDemoMain.cpp)适于每个操作系统。该文件可以用于Windows、Linux、QNX、VxWorks和所有其他现有支持的操作系统。这样就可以完全不依赖执行ifdef成为可能,这也意味着单个文件内容大大缩短,总体上用户也更容易理解。此外,各种示例应用程序使用的共用文件已经移动到新文件夹(Examples\Common)下。因为这些文件只使用一次,简化了维护工作。

因此,新架构使得EC-Master程序设计更容易入门。并且模块结构清晰,某些模块可以在用户自己的EtherCAT应用程序中轻松使用。

EtherCAT软件在环网络仿真

从EC-Master V3.1开始,网络仿真软件EC-Simulator可以作为一个link layer加载。这样就可以模拟一个完整的EtherCAT网络,模拟包括主站上的所有从站设备,而不需要任何额外的外部硬件。EtherCAT数据帧直接从主站核心传输到模拟器上,处理完成后再返回主站核心。

应用程序可以使用各种EC-Simulator功能,例如:esGetProcessImageInputPtr() 和esGetProcessImageOutputPtr()函数访问从站模拟器中的过程数据。其他函数可以用于实现一些故障场景的测试用例。例如,通过使用esPowerSlave()可以实现关闭和再次打开服务器功能。

Windows上的NDIS过滤模块

网络驱动程序接口的规范(NDIS)是网络驱动程序体系架构的规范,它允许TCP/IP等传输协议与底层物理网卡通信。对于在Windows中发送和接收EtherCAT数据帧,EC-Master以前使用著名的Windows数据包捕捉库—WinPcap。然而WinPcap基于NDIS 5.x驱动程序模型,该模型已经停止开发。最新版本的Windows10不再支持就的NDIS 5.x。所以现在EC-Master V3.1包含了最新的NDIS LinkLayer(emllNdis.dll)。这样EC-Master在所有Windows10版本上都不需要安装WinPcap。

支持STMicroelectronics STM32H7的CMSIS

现在,EC-Master可以使用基于Arm® Cortex®处理器的CMSIS硬件抽象层。CMSIS定义通用的工具接口,并能够提供很好的兼容性。

实现方案基于STMicroelectronics STM32H747I-DISCO开发套件。

Link layer使用CMSIS驱动程序库的以太网驱动(Driver_ETH.h),因此可以支持STM32系列更多的控制器。

For the widely used Integrated Development Environments STM32CubeIDE from STMicroelectronics and µVision MDK5 from ARM ready-to-run project files are supplied.

支持ARM64 CPUs的 QNX 7 64-Bit

现在,对于运行在64位ARM(aarch64)上的QNX SDP 7.0的系统,EC-Master可以提供完整的解决方案。该方案基于Zynq UltraScale+ MPSoC ZCU102评估开发套件。

该体系结构使用了一种专门开发的实时以太网驱动程序(link layer),实现了主站核心与以太网控制器之间的数据快速、直接的交换。

一方面,这降低了计算资源占用,另一方面,发送EtherCAT帧的抖动明显变小。这意味着,可以使周期循环时间远远低于1ms。