EtherCATMaster
EtherCAT 主站的核心类,负责管理整个 EtherCAT 网络的初始化、状态管理、从站控制和 PDO 通信。
类结构
EtherCATMaster # 主站实例
│
├── config -> MasterConfig # 通信配置
├── diagnostics -> Optional[dict] # ETG.1510 基础诊断数据
├── diagnostics_info -> MasterDiagnosticsInfo # 高级诊断(帧计数、抖动等)
├── logs -> LogView # 日志视图
├── master_od -> MasterObjectDictionary # ETG.1510 主站对象字典
├── mailbox_gateway -> MailboxGatewayService # ETG.8200 邮箱网关
│
├── HotConnect 类 (master.hot_connect 子模块) # Hot-Connect 组管理 (Alias-based, 可选成员组)
│
├── master[n] -> Slave # 从站访问(1-based 索引)
│ │
│ ├── coe -> CoE | None # CANopen over EtherCAT (SDO 读写)
│ ├── soe -> SoE | None # Servo over EtherCAT
│ ├── foe -> FoE | None # File over EtherCAT
│ ├── eoe -> EoE | None # Ethernet over EtherCAT
│ ├── aoe -> AoE | None # ADS over EtherCAT
│ ├── voe -> VoE | None # Vendor over EtherCAT
│ ├── fsoe -> FSoE | None # 功能安全协议
│ ├── cia402 -> CiA402 | None # 伺服驱动协议
│ ├── pdo -> SlavePdo # PDO 数据读写
│ ├── events -> SlaveEvents # 从站级事件
│ ├── dc_config -> DcConfig # DC 分布式时钟配置
│ └── startup -> StartupParameterList # 启动参数
│
├── on_pdo_cycle() # PDO 周期回调(同步/异步)
├── on_state_change() # 从站状态变化回调
├── on_emergency() # 紧急事件回调
├── on_slave_discovery() # 从站发现/丢失回调
├── on_pdo_frame_loss() # PDO 丢帧回调
├── on_input_changed() # 输入 PDO 数据变化回调
├── on_redundancy_mode_changed() # 冗余模式变化回调
├── set_dc_sync_lost_callback() # DC 同步丢失回调
└── set_log_callback() # 日志回调
协议实例(CoE、SoE 等)按从站实际能力创建,不支持的协议返回
None。 CiA402 也可通过CiA402Advanced独立创建,支持 PDO 映射扫描。