EtherCATMaster
EtherCAT 主站的核心类,负责管理整个 EtherCAT 网络的初始化、状态管理、从站控制和 PDO 通信。
类结构
EtherCATMaster // 主站实例
│
├── GetConfig() → MasterConfig& // 通信配置
├── GetDiagnostics() → Diagnostics& // 主站诊断
│
├── GetSlave(n) → Slave& // 从站列表
│ │
│ ├── GetCoE() → CoE& // CANopen over EtherCAT
│ ├── GetSoE() → SoE& // Servo over EtherCAT
│ ├── GetFoE() → FoE& // File over EtherCAT
│ ├── GetEoE() → EoE& // Ethernet over EtherCAT
│ ├── GetAoE() → AoE& // ADS over EtherCAT
│ ├── GetVoE() → VoE& // Vendor over EtherCAT
│ ├── GetFSoE() → FSoE& // 功能安全协议
│ ├── GetCiA402() → CiA402& // 伺服驱动协议
│ └── GetMDP() → MDP* // 模块化设备 (可空)
│
└── Events() → MasterEvents& // 事件集合
├── ProcessDataCyclicAsync // PDO 周期回调 (异步)
├── ProcessDataCyclicSync // PDO 周期回调 (同步)
├── StateChanged // 主站状态变化
├── SlaveStateChanged // 从站状态变化
├── SlaveOffline / SlaveOnline // 热插拔
├── PDOFrameLoss // PDO 丢帧
├── DCSyncLost // DC 同步丢失
└── RedundancyModeChanged // 冗余模式变化
协议实例(CoE、SoE 等)按从站实际能力创建,不支持的协议抛出异常或返回空对象。