DarraEtherCAT
EtherCAT 主站的核心类,负责管理整个 EtherCAT 网络。
包括网络初始化、状态管理、从站控制、PDO 通信等核心功能。
部分类结构
DarraEtherCAT // 主站实例
│
├── Config → MasterConfig // 通信配置
├── Diagnostics → MasterDiagnosticsInfo // 主站诊断
│
├── Slaves[n] → Slave // 从站列表
│ │
│ ├── PDO → SlavePdo // PDO 数据读写
│ ├── DC → Slave // DC 配置
│ ├── Diagnostics → SlaveDiagnostics // 诊断信息
│ ├── Startup → StartupParameterList // 启动参数
│ │
│ ├── CoE → CoEInstance? // CANopen over EtherCAT
│ │ ├── CiA402 → CiA402Instance? // 伺服驱动协议
│ │ └── CiA401 → CiA401Instance? // 通用 I/O 协议
│ ├── SoE → SoEInstance? // Servo over EtherCAT
│ ├── FoE → FoEInstance? // File over EtherCAT
│ ├── EoE → EoEInstance? // Ethernet over EtherCAT
│ ├── AoE → AoEInstance? // ADS over EtherCAT
│ ├── VoE → VoEInstance? // Vendor over EtherCAT
│ ├── FSoE → FSoEInstance? // 功能安全协议
│ └── MDP → MdpInstance? // 模块化设备
│
└── Events → MasterEvents // 事件集合
├── ProcessDataCyclicAsync // PDO 周期回调(异步)
├── ProcessDataCyclicSync // PDO 周期回调(同步)
├── StateChanged // 主站状态变化
├── SlaveStateChanged // 从站状态变化 → 自动路由到 slave.Events
├── EmergencyEvent // 紧急事件 → 自动路由到 slave.Events
├── SlaveOffline / SlaveOnline // 热插拔 → 自动路由到 slave.Events
├── PDOFrameLoss // PDO 丢帧
└── DCSyncLost // DC 同步丢失 → 自动路由到 slave.Events
协议实例(CoE、SoE 等)按从站实际能力创建,不支持的协议返回 null。