类 MasterEvents

java.lang.Object
com.darra.ethercat.master.MasterEvents

public class MasterEvents extends Object
主站事件集合 所有 DLL 回调事件和主站级事件的统一入口 通过 master.getEvents() 访问
  • 方法详细资料

    • addProcessDataCyclicSyncListener

      public void addProcessDataCyclicSyncListener(MasterEvents.ProcessDataCyclicSyncListener listener)
      添加 PDO 周期同步回调监听器
    • removeProcessDataCyclicSyncListener

      public void removeProcessDataCyclicSyncListener(MasterEvents.ProcessDataCyclicSyncListener listener)
      移除 PDO 周期同步回调监听器
    • addStateChangedListener

      public void addStateChangedListener(MasterEvents.StateChangedListener listener)
      添加主站状态变化监听器
    • removeStateChangedListener

      public void removeStateChangedListener(MasterEvents.StateChangedListener listener)
      移除主站状态变化监听器
    • addSlaveStateChangedListener

      public void addSlaveStateChangedListener(MasterEvents.SlaveStateChangedListener listener)
      添加从站状态变化监听器
    • removeSlaveStateChangedListener

      public void removeSlaveStateChangedListener(MasterEvents.SlaveStateChangedListener listener)
      移除从站状态变化监听器
    • addEmergencyEventListener

      public void addEmergencyEventListener(MasterEvents.EmergencyEventListener listener)
      添加紧急事件监听器
    • removeEmergencyEventListener

      public void removeEmergencyEventListener(MasterEvents.EmergencyEventListener listener)
      移除紧急事件监听器
    • addSlaveOfflineListener

      public void addSlaveOfflineListener(MasterEvents.SlaveOfflineListener listener)
      添加从站离线监听器
    • removeSlaveOfflineListener

      public void removeSlaveOfflineListener(MasterEvents.SlaveOfflineListener listener)
      移除从站离线监听器
    • addSlaveOnlineListener

      public void addSlaveOnlineListener(MasterEvents.SlaveOnlineListener listener)
      添加从站上线监听器
    • removeSlaveOnlineListener

      public void removeSlaveOnlineListener(MasterEvents.SlaveOnlineListener listener)
      移除从站上线监听器
    • addPDOFrameLossListener

      public void addPDOFrameLossListener(MasterEvents.PDOFrameLossListener listener)
      添加 PDO 丢帧监听器
    • removePDOFrameLossListener

      public void removePDOFrameLossListener(MasterEvents.PDOFrameLossListener listener)
      移除 PDO 丢帧监听器
    • addDCSyncLostListener

      public void addDCSyncLostListener(MasterEvents.DCSyncLostListener listener)
      添加 DC 同步丢失监听器
    • removeDCSyncLostListener

      public void removeDCSyncLostListener(MasterEvents.DCSyncLostListener listener)
      移除 DC 同步丢失监听器
    • addRedundancyModeChangedListener

      public void addRedundancyModeChangedListener(MasterEvents.RedundancyModeChangedListener listener)
      添加冗余模式变化监听器
    • removeRedundancyModeChangedListener

      public void removeRedundancyModeChangedListener(MasterEvents.RedundancyModeChangedListener listener)
      移除冗余模式变化监听器
    • addSlaveIdentityMismatchListener

      public void addSlaveIdentityMismatchListener(MasterEvents.SlaveIdentityMismatchListener listener)
      添加从站身份不符监听器 (v2 热插拔自修复)
    • removeSlaveIdentityMismatchListener

      public void removeSlaveIdentityMismatchListener(MasterEvents.SlaveIdentityMismatchListener listener)
      移除从站身份不符监听器
    • addSlavePortLinkChangedListener

      public void addSlavePortLinkChangedListener(MasterEvents.SlavePortLinkChangedListener listener)
      添加从站端口链路变化监听器 (断线检测)
    • removeSlavePortLinkChangedListener

      public void removeSlavePortLinkChangedListener(MasterEvents.SlavePortLinkChangedListener listener)
      移除从站端口链路变化监听器
    • ClearAll

      public void ClearAll()
      清除所有事件订阅, 防止内存泄漏 在销毁主站或重新初始化前调用
    • addErrorListener

      public void addErrorListener(MasterEvents.EmergencyEventListener listener)
      添加错误监听器 (别名, 等同于 addEmergencyEventListener) 用于接收从站 CoE Emergency 紧急错误事件
    • removeErrorListener

      public void removeErrorListener(MasterEvents.EmergencyEventListener listener)
      移除错误监听器 (别名, 等同于 removeEmergencyEventListener)
    • isSlaveOffline

      public boolean isSlaveOffline(int slaveIndex)
      查询从站是否处于事件确认的离线状态
      参数:
      slaveIndex - 从站索引 (1-based)
      返回:
      true=从站已确认离线, false=从站在线或未知
    • getOfflineSlaves

      public Set<Integer> getOfflineSlaves()
      获取所有离线从站编号集合 (只读副本)
      返回:
      离线从站编号集合
    • initializeCallbacks

      public static void initializeCallbacks()
      初始化回调系统 - 在第一次创建主站时自动调用 注册所有 DLL 回调, 将事件路由到对应主站实例
    • shutdownCallbacks

      public static void shutdownCallbacks()
      注销全部 DLL 回调 dispatcher (与 initializeCallbacks() 对称)。

      [审计补齐 roundSDKSAN2 对齐 C# Events.ShutdownCallbacks] 进程内反复 new 主站 / 多 SDK 混用时, 注册侧 listener slot 会枯竭, 需在最后一个 主站释放时摘除 dispatcher。逐个 try, 单个注销失败 (旧 DLL 无对应导出) 不阻断其余, 降级 no-op 不上抛。仅注销 initializeCallbacks 实际注册过的回调: async PDO / InputDataChanged 架构清理后未注册, 故不注销。