更新日志
基于 ETG 标准的 EtherCAT Master 功能实现状态 最后更新: 2026-02-27
未实现功能
以下功能尚未实现。
ETG.1500 Feature Packs
| 功能 | 标准 | 说明 |
|---|---|---|
| Hot Connect | ETG.1500 FP 6.3 | 热插拔动态重配PDO(从站上线/下线检测与自动重配置已完成,运行时 OP 动态加入/移除从站并重配 PDO 未实现) |
| External Synchronization | ETG.1500 FP 6.4 | 外部时钟同步,将 DC 参考时钟同步到外部时间源(如 PTP/IEEE 1588、GPS) |
| EAP | ETG.1500 FP 6.5 / ETG.1005 | EtherCAT Automation Protocol,主站间通信协议(Publisher/Subscriber 模式) |
ETG.1500 可选功能(未实现)
| 功能 | 标准 | 可选级别 | 说明 |
|---|---|---|---|
| Oversampling | ETG.1000.6 | 可选 | 过采样支持,单个 PDO 周期内对从站数据进行多次采样 |
| EoE Endpoint | ETG.1500 5.8.3 | 可选 | EoE 虚拟网卡,在操作系统中创建虚拟网络适配器(EoE 协议和 Virtual Switch 已实现) |
| Slave-to-Slave Communication | ETG.1500 5.14 | 可选 | 从站间通信,通过 PDO 配置实现从站间直接数据交换(主站侧路由配置未实现) |
扩展标准
| 功能 | 标准 | 说明 |
|---|---|---|
| TSN | ETG.1700 | 时间敏感网络(Time-Sensitive Networking)通信配置 |
功能需求与 Bug 提交请访问右上角 GitHub 链接。
查看完整功能列表和详细说明,请访问 SDK 文档 和 驱动文档。
已实现功能
⚙️
可选标记表示 ETG.1500 规范中定义为 may/may(可选实现)的功能,非 EtherCAT 主站必备,按需启用。
ETG.1500 基本功能
5.3 Basic Functions
| 功能 | 标准 | 说明 |
|---|---|---|
| Service Commands | ETG.1500 5.3.1 / ETG.1000.4 | 支持全部 EtherCAT 命令类型:APRD、APWR、APRW、FPRD、FPWR、FPRW、BRD、BWR、BRW、LRD、LWR、LRW、ARMW、FRMW |
| Slaves with Device Emulation | ETG.1500 5.3.3 | 从站设备仿真标志检测,通过 SII/EEPROM 读取 Device Emulation 标志位并在启动阶段进行处理 |
| EtherCAT State Machine | ETG.1500 5.3.4 / ETG.1000.6 | 完整 ESM 状态机管理(Init/PreOp/SafeOp/OP),支持自动状态升降级、重入保护、状态兼容性检查 |
| Error Handling | ETG.1500 5.3.5 / ETG.1000.6 | 完善的错误处理机制,包含 100+ AL 状态码解析、WKC 校验、帧丢失检测、端口错误统计、Emergency 消息处理 |
| VLAN ⚙️ | ETG.1500 5.3.6 | 可选 IEEE 802.1Q VLAN 支持,可配置 VLAN ID(0-4095)和优先级 PCP(0-7),支持帧高优先级标记(PCP=6)。仅 WDK 驱动模式下生效,Npcap 模式下自动跳过 |
| Ethernet Frame Types ⚙️ | ETG.1500 5.3.7 | 可选 支持原始以太网帧(EtherType 0x88A4)和 UDP/IP 帧模式(仅适用于 EtherCAT 网关/EAP 设备) |
5.4 Process Data Exchange
| 功能 | 标准 | 说明 |
|---|---|---|
| Cyclic PDO | ETG.1500 5.4.1 | 周期性过程数据交换,可配置周期时间(纳秒精度,Windows 请安装驱动),支持输入/输出重叠优化 |
| Multiple Tasks | ETG.1500 5.4.2 | 多任务组支持,最多 8 个独立 PDO 组,每组可配置独立周期分频器,支持组使能/禁用控制 |
| Frame Repetition ⚙️ | ETG.1500 5.4.3 | 可选 帧重复机制,每周期发送 1-3 次相同 PDO 帧以提高通信可靠性,自动从 ESI FrameRepeatSupport 标志判断组资格(组内所有从站均支持时才生效) |
5.5 Network Configuration
| 功能 | 标准 | 说明 |
|---|---|---|
| Getting Network Configuration | ETG.1500 5.5.1 / ETG.2000 | 网络配置获取,支持 ESI(XML)文件解析与 ENI/DENI 配置文件加载,自动提取设备信息、DC 配置、端口信息 |
| Compare Configuration during Boot-up | ETG.1500 5.5.2 | 启动配置校验,对比 Vendor ID、Product Code、Revision Number、Serial Number、Alias Address、拓扑结构与预期从站数量 |
| Explicit Station Identification | ETG.1500 5.5.3 | 显式站点标识,支持 ConfigAddr 地址(0x1001 格式)和十进制地址寻址从站 |
| Station Alias Addressing | ETG.1500 5.5.4 | 站别名寻址,支持通过 AliasAddress 字段标识和访问从站 |
| Access to EEPROM | ETG.1500 5.5.5 | EEPROM/SII 访问,支持读取从站身份信息(Vendor ID、Product Code)、ESM 超时参数、特殊标志位 |
5.6 Mailbox Support
| 功能 | 标准 | 说明 |
|---|---|---|
| Support Mailbox | ETG.1500 5.6.1 / ETG.1000.6 | 完整邮箱协议支持,涵盖 CoE、SoE、FoE、AoE、VoE、EoE 六种邮箱协议类型 |
| Mailbox Resilient Layer | ETG.1500 5.6.2 / ETG.1020 | 邮箱弹性层,内置重试机制、超时管理和邮箱计数器管理,确保邮箱通信可靠性 |
| Simultaneous Mailbox Protocol Transfer | ETG.1500 5.6.3 | 同时邮箱协议传输,支持多种邮箱协议并发操作,线程安全的 SDO 访问 |
| Mailbox Polling | ETG.1500 5.6.4 | 邮箱轮询,内置超时轮询机制确保邮箱响应完整性 |
5.7 CAN Application Layer over EtherCAT (CoE)
| 功能 | 标准 | 说明 |
|---|---|---|
| SDO Upload / Download | ETG.1500 5.7.1 / ETG.1000.6 | SDO 读写操作,支持对象字典访问 |
| Segmented Transfer | ETG.1500 5.7.2 | 分段传输,大数据块自动分段上传/下载 |
| Complete Access | ETG.1500 5.7.3 / ETG.1020 | 完整访问模式,一次读写对象的全部子索引数据 |
| SDO Information Service | ETG.1500 5.7.4 | SDO 信息服务,获取对象字典列表和对象描述信息 |
| Emergency Message | ETG.1500 5.7.5 | Emergency 紧急消息处理,支持事件回调通知和按从站过滤 |
| PDO Assignment / Configuration | ETG.1500 5.7.6 | PDO 分配与配置,支持 TxPDO/RxPDO 映射设置,自动 ESI 启动参数提取 |
5.8 Ethernet over EtherCAT (EoE)
| 功能 | 标准 | 说明 |
|---|---|---|
| EoE Protocol | ETG.1500 5.8.1 / ETG.1000.6 | EoE 协议实现,支持以太网帧收发 |
| Virtual Switch ⚙️ | ETG.1500 5.8.2 | 可选 虚拟交换机功能,支持 IP/网关/子网/DNS 配置,MAC 地址过滤(最多 16 条),DHCP 配置支持 |
5.9 File Access over EtherCAT (FoE)
| 功能 | 标准 | 说明 |
|---|---|---|
| FoE Protocol | ETG.1500 5.9.1 / ETG.1000.6 | 文件传输协议,支持文件上传/下载,进度回调事件,CRC 校验,传输包数估算 |
| Boot State ⚙️ | ETG.1500 5.9.2 | 可选 Boot 状态支持,用于固件更新场景下的 Bootstrap 模式文件传输 |
5.10 Servo Drive Profile over EtherCAT (SoE)
| 功能 | 标准 | 说明 |
|---|---|---|
| SoE Protocol | ETG.1500 5.10 / ETG.1000.6 | SERCOS over EtherCAT 协议,支持 IDN 参数读写,元素标志访问,严格内存安全校验 |
5.11 ADS over EtherCAT (AoE)
| 功能 | 标准 | 说明 |
|---|---|---|
| AoE Protocol | ETG.1500 5.11 / ETG.1000.6 | ADS over EtherCAT 协议,支持 IndexGroup/IndexOffset 读写,订阅/取消订阅,周期性和变化触发通知 |
5.12 Vendor-specific over EtherCAT (VoE)
| 功能 | 标准 | 说明 |
|---|---|---|
| VoE Protocol | ETG.1500 5.12 / ETG.1000.6 | 厂商自定义协议,支持厂商标识数据收发,请求/响应模式,原始帧构造与解析 |
5.13 Synchronization with Distributed Clocks (DC)
| 功能 | 标准 | 说明 |
|---|---|---|
| DC Support | ETG.1500 5.13.1 / ETG.1000.6 | 分布式时钟支持,SYNC0/SYNC1 周期与偏移配置,自动 DC 偏移计算 |
| Continuous Propagation Delay Measurement | ETG.1500 5.13.2 | 持续传播延迟测量,自动计算从站间传播延迟,纳秒精度延迟补偿 |
| Sync Window Monitoring ⚙️ | ETG.1500 5.13.3 | 可选 同步窗口监控,实时检测所有从站同步状态,最大同步差值查询,DC 同步丢失事件通知 |
5.15 Master Information
| 功能 | 标准 | 说明 |
|---|---|---|
| Master Object Dictionary | ETG.1500 5.15 / ETG.1510 | 主站对象字典,标准化诊断接口(0x1000 设备类型、0x1008-0x100A 制造商信息、0x1018 身份信息、0x8nnn-0xAnnn 从站配置、0xF002 模块检测、0xF120 主站诊断、0xF200 诊断接口) |
ETG.1000 EtherCAT 核心协议
| 功能 | 标准 | 说明 |
|---|---|---|
| EtherCAT 概述 | ETG.1000.1 | EtherCAT 系统架构概述,定义基本通信原理、网络拓扑和协议框架 |
| 物理层 | ETG.1000.2 | 物理层实现,支持 100BASE-TX 以太网物理层,E-Bus 和 MII 端口类型识别 |
| 数据链路层服务 | ETG.1000.3 / ETG.1000.4 | DLL 服务实现,包含 EtherCAT 帧处理、Working Counter(WKC)校验、数据报文封装与解析 |
| 应用层服务 | ETG.1000.5 | AL 服务,状态机管理(ESM)、邮箱通信服务、应用层事件处理 |
| 应用层协议 | ETG.1000.6 | AL 协议实现,包含 CoE/EoE/FoE/SoE/AoE/VoE 全部六种邮箱协议以及 PDO 过程数据映射 |
ETG.1020 协议增强
| 功能 | 标准 | 说明 |
|---|---|---|
| 状态转换增强 | ETG.1020 | 完整状态转换支持(IP/PS/SO/OS/SP/PI),每个转换支持前置和后置回调时序 |
| ESM 超时配置 | ETG.1020 | 可配置的状态机超时参数(Init→PreOp、PreOp→SafeOp 等转换超时),从 EEPROM 读取 ESM 超时设置 |
| 启动参数管理 | ETG.1020 | 启动 SDO 参数列表管理,支持 ESI 文件自动提取启动参数 |
ETG.1510 主站诊断接口
| 功能 | 标准 | 说明 |
|---|---|---|
| 主站诊断接口 | ETG.1510 | 标准化主站诊断对象字典,提供设备类型、制造商信息、身份信息、从站配置数据、模块检测、诊断接口等标准对象 |
| 实时诊断监控 | ETG.1510 | 5 秒滑动窗口实时诊断(0.2s 采样,25 样本聚合),包含丢包率、错误率、WKC、周期时间、抖动统计 |
| 从站端口错误统计 | ETG.1510 | 每端口(4 端口)RX 错误、无效帧、链路丢失统计,DC 同步窗口状态和时间差(纳秒) |
| 断线点检测 | ETG.1510 | 环形拓扑断线点自动检测定位 |
ETG.2000 ESI 规范
| 功能 | 标准 | 说明 |
|---|---|---|
| ESI 文件解析 | ETG.2000 | 完整 ESI(XML)文件解析,提取设备信息、CoE 功能详情、DC 配置模式(SYNC0/SYNC1)、端口信息、Bootstrap 信息 |
| ESI 文件管理 | ETG.2000 | ESI 文件加载与去重管理,支持单文件和目录批量加载,增量加载机制 |
| ESI 版本匹配 | ETG.2000 | 可配置的 Revision 检查策略,支持严格匹配和宽松模式 |
ETG.5001 模块化设备配置文件 (MDP)
| 功能 | 标准 | 说明 |
|---|---|---|
| MDP 设备模型 | ETG.5001.1 | 模块化设备配置文件实现,支持插槽/模块检测、自动 PDO 分配 |
| MDP PDO 布局 | ETG.5001.1 | 模块级 PDO 布局查询,支持模块化设备数据切片访问 |
| MDP 安全模块 | ETG.5001.4 | MDP 安全模块支持,FSoE 多连接配置与 MDP 插槽关联 |
ETG.5120 FSoE 安全协议
| 功能 | 标准 | 说明 |
|---|---|---|
| FSoE 连接管理 | ETG.5120 / ETG.5100 | 安全连接建立/断开,连接状态查询,连接状态机管理 |
| FSoE 安全数据传输 | ETG.5120 | 安全数据收发,CRC 校验保障数据完整性 |
| FSoE 看门狗 | ETG.5120 | 安全看门狗机制,超时自动触发 Failsafe 状态 |
| FSoE 故障安全 | ETG.5120 | 故障安全输出配置,Failsafe 触发事件通知 |
| FSoE 参数下载 | ETG.5120 | 安全参数下载,支持运行时安全配置更新 |
ETG.6010 CiA 402 驱动配置文件
| 功能 | 标准 | 说明 |
|---|---|---|
| CiA 402 状态机 | ETG.6010 / IEC 61800-7-204 | 完整驱动状态机(Not Ready/Switch On Disabled/Ready/Switched On/Operation Enabled/Quick Stop/Fault),自动使能序列含故障处理 |
| CiA 402 运动模式 | ETG.6010 | 支持全部标准运动模式:PP(轮廓位置)、VL(速度)、PV(轮廓速度)、PT(轮廓转矩)、HM(回零)、CSP(周期同步位置)、CSV(周期同步速度)、CST(周期同步转矩) |
| CiA 402 运动参数 | ETG.6010 | 运动参数配置:目标位置/目标速度/目标转矩、轮廓速度/轮廓加速度/轮廓减速度 |
| CiA 402 控制 | ETG.6010 | 使能/禁用/快速停止/故障复位控制命令,Statusword/Controlword 直接访问 |
ETG.8200 邮箱网关
| 功能 | 标准 | 说明 |
|---|---|---|
| 邮箱网关服务 | ETG.8200 | UDP/IP 邮箱网关(默认端口 34980),支持外部工具通过网络透传访问从站 CoE/SoE/FoE/VoE 协议 |
| 多协议转发 | ETG.8200 | 邮箱协议封装/解封装,请求/响应构建器(CoE 上传下载、SoE 读写、FoE 数据/应答/错误、VoE) |
| 主站/从站分离 | ETG.8200 | 区分主站请求(地址 0x0000)和从站请求的独立处理路径 |
CiA 401 通用 I/O 模块
| 功能 | 标准 | 说明 |
|---|---|---|
| 数字量 I/O | CiA 401 / IEC 61131-9 | 数字输入/输出通道读写,支持按通道索引访问 |
| 模拟量 I/O | CiA 401 | 模拟输入/输出通道读写,支持按通道索引访问 |
| I/O 错误处理 | CiA 401 | 错误模式配置,通信中断时 I/O 安全状态管理 |
主站核心功能
| 功能 | 标准 | 说明 |
|---|---|---|
| Fluent API 初始化 | - | 链式配置 API,逐步完成网络、ENI、ESI 等配置,支持元组解构 |
| 多实例支持 | - | 多主站实例并行运行,网络适配器绑定/释放机制,防止同一网卡重复绑定 |
| 自动启动配置 | - | 自动从站配置,未配置从站自动发现与初始化 |
| ENI/DENI 配置文件 | - | 支持 ENI 和 DENI 扩展格式的 XML 配置文件解析,包含周期时间、适配器配置、VLAN、DC 设置、PDO 组、CPU 亲和性 |
| 自适应超时 | - | 自动采样网络 RTT 计算最优 PDO 超时,可配置的帧丢失阈值 |
| 线程安全 | - | 可配置的互斥锁保护,静态委托 GC 保护,线程安全的邮箱操作 |
| 网络冗余 ⚙️ | ETG.1500 FP 6.1 | 可选 双端口冗余管理,支持 Primary/Secondary/Both 状态,故障转移计数与健康检查 |
| Device Replacement ⚙️ | ETG.1500 FP 6.6 | 可选 在线设备替换,运行中更换故障从站后自动重配置(FMMU/SM/启动参数)并恢复到 OP 状态 |
事件系统
| 功能 | 标准 | 说明 |
|---|---|---|
| PDO 周期事件 | - | 双模式 PDO 回调:异步模式(非阻塞推荐)和同步模式(实时直接执行) |
| 从站状态事件 | - | 从站状态变化通知,支持主站级和从站级事件过滤 |
| Emergency 事件 | ETG.1000.6 | 紧急消息事件,从站故障实时通知 |
| 热插拔事件 | - | 从站上线/下线事件,检测从站热插拔 |
| 帧丢失事件 | - | 连续 PDO 帧丢失告警,可配置触发阈值,自动日志记录 |
| DC 同步丢失事件 | - | DC 时钟同步丢失告警,自动日志记录 |
PDO 高性能访问
| 功能 | 标准 | 说明 |
|---|---|---|
| 零拷贝结构体映射 | - | 零拷贝结构体映射,输入/输出数据直接映射(约 5-10 纳秒访问延迟) |
| 模块化设备切片 | - | 支持 MDP 模块化设备的分段数据访问 |
| 事件驱动绑定 | - | 事件驱动数据绑定,自动变化检测 |
| 索引访问 | - | 数组式 PDO 字节级索引访问 |
日志系统
| 功能 | 标准 | 说明 |
|---|---|---|
| 分类日志 | - | 7 类日志级别(Error、Warning、Message、Mailbox、PDO、Debug、Local),支持分类过滤 |
| 日志管理 | - | 最多 10000 条日志缓冲,自动裁剪(溢出时删除最旧 20%),线程安全锁保护,保留模式(Retain)支持 |
拓扑管理
| 功能 | 标准 | 说明 |
|---|---|---|
| 层级拓扑导航 | - | 支持 MII/E-Bus 耦合器识别的层级拓扑结构,根从站检测,父子关系映射 |
| 嵌套索引访问 | - | 嵌套索引访问模块化设备子从站,支持根从站/子从站/子从站数量属性 |
驱动层
| 功能 | 标准 | 说明 |
|---|---|---|
| Windows 内核驱动 | - | C/C++ 实现的 Windows DLL,P/Invoke 封装 200+ 原生函数 |
| WinPcap/Npcap 集成 | - | |
| CPU 亲和性 | - | 多实例感知的 CPU 亲和性自动配置,实时优化(内存锁定、进程优先级提升) |
| 性能监控 | - | 自适应超时系统、循环周期记录、PDO 周期起始标记、WKC 记录、诊断快照捕获 |