支持 C, C++, C#, Rust, Python API 的 EtherCAT® 主站软件开发工具包(SDK)
EC-Master 主站协议栈专为在不同的嵌入式(实时)操作系统上运行而设计并进行了深度优化。目前已适配并提供现成实现的系统包括:Linux(带与不带实时扩展)、微软 Windows 11、Wind River VxWorks、BlackBerry QNX、IntervalZero RTX64、TenAsys INtime®、Integrity、Xenomai、FreeRTOS、eCos、TI-RTOS、T-Kernel 等诸多操作系统。该 EtherCAT 主站协议栈亦可移植到任何其他嵌入式操作系统上。
软件架构

- 应用程序编程接口 (API):支持使用 C/C++、C#、Python 和 Rust 语言对 EtherCAT 主站核心进行编程。
- EC-Master 核心层 (Core):核心层实现了 EtherCAT 主站的关键功能。所有协议处理均在此处执行,例如过程数据传输和邮箱协议(CoE、EoE、FoE、AoE、SoE),此外还配备了完善的高级诊断功能。
- 实时以太网驱动层:负责主站与从站之间的数据交换。支持零拷贝(Zero-copy)和/或轮询(Polling)技术结合核心层运行,以实现最佳的实时性能并最大程度降低 CPU 负载。
- 主站与网络配置:集成的 XML 解析器支持 EtherCAT 规范中定义的 EtherCAT 网络信息(ENI)文件。
- 操作系统层 (OS Layer):这是唯一与特定操作系统相关的层。所有的操作系统调用均在此层执行。为了达到最佳性能,大部分功能都可以使用简单的 C 语言宏来实现。
符合 ETG.1500 主站分类的功能特性
ETG ( EtherCAT Technology Group )定义了两种 EtherCAT 主站分类标准(ETG.1500),并规定了一套明确的主站功能集。其中,Class A(A类)定义了标准 EtherCAT 主站,Class B(B类)定义了最小化 EtherCAT 主站。此外,可作为可选组件的附加功能则通过扩展功能包(Feature Packs, FP)的形式进行阐述。
(*1):根据 ETG.1500 规范,对 Class A 非强制要求
(*2):根据 ETG.1500 规范,对 Class B 非强制要求
基本功能
| 功能名称 |
简短描述 |
Class A |
Class B |
| 服务命令 |
支持所有 EtherCAT 服务命令 |
X |
X |
| 数据报中的 IRQ 字段 |
在数据报头中使用来自从站的 IRQ(中断请求)信息 |
X |
X |
| 具备设备仿真功能的从站 |
支持带与不带应用控制器的从站设备 |
X |
X |
| EtherCAT 状态机 |
支持 EtherCAT 状态机(ESM)的特定行为 |
X |
X |
| 错误处理 |
检查网络或从站错误,例如:工作计数器(Working Counter / WKC)检查 |
X |
X |
| VLAN 虚拟局域网 |
支持 VLAN 标记(VLAN Tagging) |
X |
-- (*2) |
| EtherCAT 帧类型 |
支持标准的 EtherCAT 帧 |
X |
X |
| UDP 帧类型 |
支持 UDP 帧 |
-- (*1) |
-- (*2) |
| 多实例 |
支持单个控制系统同时运行和操作多个 EtherCAT 网络 |
X |
X |
过程数据交换
| 功能名称 |
简短描述 |
Class A |
Class B |
| 周期性 PDO |
周期性的过程数据对象(PDO)交换 |
X |
X |
| 多任务 |
支持不同的周期任务; 支持针对 PDO 的多种更新速率(多冲程/多频率更新) |
X |
X |
| 帧重复发送 |
多次发送周期帧以提高抗干扰能力/免役性 |
-- (*1) |
-- (*2) |
网络配置
| 功能名称 |
简短描述 |
Class A |
Class B |
| 在线扫描 |
EtherCAT 主站内包含网络配置扫描功能(可在线扫描实际拓扑) |
X |
X |
| 读取 ENI |
从 ENI(EtherCAT 网络信息)文件中获取并加载网络配置 |
X |
X |
| 对比网络配置 |
在系统启动(初始化)期间,对比预配置的拓扑与实际存在的网络拓扑 |
X |
X |
| 显式设备识别 |
用于热连接(Hot Connect)及防止网线插错/交叉互换的设备识别机制 |
X |
X |
| 站点别名寻址 |
支持在从站中使用配置好的站点别名,即启用并使用第二地址(2nd Address) |
X |
X |
| 访问 EEPROM |
支持通过 ESC(EtherCAT 从站控制器)寄存器访问 EEPROM 的底层常规例程 |
X |
X |
邮箱支持
| 功能名称 |
简短描述 |
Class A |
Class B |
| 支持邮箱机制 |
邮箱传输(异步通信)的核心主功能 |
X |
X |
| 邮箱恢复层 |
支持底层的邮箱弹性/恢复层(确保邮箱数据传输的可靠性) |
X |
X |
| 多邮箱通道 |
支持多个邮箱通道 |
X |
X |
| 邮箱轮询 |
轮询从站中的邮箱状态 |
X |
X |
基于 EtherCAT 的 CAN 应用层 (CoE)
| 功能名称 |
简短描述 |
Class A |
Class B |
| SDO 上传/下载 |
支持标准和快速(Expedited)服务数据对象(SDO)传输 |
X |
X |
| 分段传输 |
支持分段(Segmented)数据传输机制 |
X |
X |
| 完全访问 |
支持一次性传输整个对象(包含其所有子索引 sub-indices) |
X |
X |
| SDO 信息服务 |
用于读取对象字典(Object Dictionary)的服务 |
X |
X |
| 紧急报文 |
接收来自从站的紧急(Emergency)报文 |
X |
X |
基于 EtherCAT 的以太网 (EoE)
| 功能名称 |
简短描述 |
Class A |
Class B |
| EoE 协议机制 |
EoE 协议机制 (EoE protocol) 用于隧道传输(Tunneling)标准以太网数据帧的服务,包含所有指定的 EoE 服务 X X |
X |
X |
| 虚拟交换机 |
虚拟交换机(Virtual Switch)功能 |
X |
X |
| 操作系统 EoE 端点接口 |
位于 EoE 层之上、面向操作系统的接口 |
FP (*1) |
FP (*2) |
基于 EtherCAT 的文件访问 (FoE)
| 功能名称 |
简短描述 |
Class A |
Class B |
| FoE 协议机制 |
支持 FoE(File access over EtherCAT)协议 |
X |
X |
| 固件上传/下载 |
支持固件升降级,密码(Password)和文件名(FileName)应由上层应用提供 |
X |
X |
| 引导状态 |
支持用于固件上传/下载的引导状态(BOOT 状态机切换) |
X |
X |
基于 EtherCAT 的伺服驱动类属规范 (SoE)
| 功能名称 |
简短描述 |
Class A |
Class B |
| SoE 服务机制 |
支持符合 IEC 61800-7-204 标准的 SoE 服务(伺服驱动行规) |
X |
X |
基于 EtherCAT 的 ADS 通信 (AoE)
| 功能名称 |
简短描述 |
Class A |
Class B |
| AoE 协议机制 |
支持 AoE(Automation Device Specification)协议机制 |
X |
X |
基于 EtherCAT 的厂商自定义通信 (VoE)
| 功能名称 |
简短描述 |
Class A |
Class B |
| VoE 协议机制 |
支持外部连接/第三方协议的厂商自定义通信机制 |
X |
X |
分布式时钟同步 (DC)
| 功能名称 |
简短描述 |
Class A |
Class B |
| DC 同步支持 |
支持分布式时钟(Distributed Clock)高精度同步机制 |
X |
-- (*2) |
| 连续传输延迟补偿 |
连续计算并补偿网线/硬件带来的传播延迟(Propagation Delay) |
X |
-- (*2) |
| 同步窗口监控 |
持续监控各个从站中的同步时间差(时钟抖动偏差) |
X |
-- (*2) |
从站到从站通信
| 功能名称 |
简短描述 |
Class A |
Class B |
| 通过主站进行通信 |
路由信息在 ENI 文件中给出,或作为其他网络配置的一部分。数据拷贝可由主站软件或主站应用层处理。此功能为支持 FSoE(基于 EtherCAT 的安全协议)安全实例所必需。 |
X |
X |
主站信息
| 功能名称 |
简短描述 |
Class A |
Class B |
| 主站对象字典 |
支持主站对象字典(符合 ETG.5001 MDP 子行规 1100 规范) |
X |
X |
Feature Packs
| 功能名称 |
简短描述 |
Class A |
Class B |
| 线缆冗余 |
当任意两个从站之间的网线发生断裂时,系统仍能保持正常运行 |
FP |
FP |
| 热连接 |
热连接 (Hot Connect) 支持在总线通信过程中动态添加或移除从站。新添加的从站会自动切换并进入 OPERATIONAL(运行)状态。 FP FP |
FP |
FP |
| TCP 服务器与远程 API |
通过 TCP 服务器结合远程 API(Context.Scope.Library),允许从外部/远程系统访问和控制 EC-Master 主站 |
FP |
FP |
| EoE 端点 |
该接口允许向 EtherCAT 网络发送或从中接收标准的以太网数据帧 |
FP |
FP |
产品优势
- 高性能与低 CPU 负载:可实现极高的刷新率。
- 开箱即用:已针对众多操作系统提供现成的运行支持。
- 广泛的架构支持:支持 x86(32位和64位)、ARM(32位和64位)以及 RISC-V CPU 架构。
- 适配主流处理器:适用于英特尔(Intel)、德州仪器(TI)、意法半导体(ST)、博通(Broadcom)、英伟达(Nvidia)、瑞萨(Renesas)、恩智浦(NXP)、赛灵思(Xilinx)等众多厂商的处理器。
- 专业的全流程服务:结合我们的技术服务,为您构建定制化控制系统提供专业的合作伙伴支持。根据需求,我们亦可提供完整的系统集成方案。
- 稳定且丰富的实现:EC-Master 协议栈已在库卡(KUKA)机器人控制系统,以及安川(Yaskawa)、伦茨(Lenze)和欧姆龙(Omron)的控制器中长期稳定运行。
Free Evaluation Request