类 MasterEvents
java.lang.Object
com.darra.ethercat.master.MasterEvents
主站事件集合
所有 DLL 回调事件和主站级事件的统一入口
通过 master.getEvents() 访问
-
嵌套类概要
嵌套类修饰符和类型类说明static interfaceDC 同步丢失static interface紧急事件 (CoE Emergency)static interfacePDO 连续丢帧static interfacePDO 周期同步回调static interface冗余模式变化static interface从站身份不符 (v2 热插拔自修复) 触发后从站进入 IDENT_REJECTED 状态, 需调用 EtherCATMaster.AcknowledgeSlaveReplacement 恢复static interface从站离线static interface从站上线static interface从站端口链路变化 (断线检测) port: 0-3 对应 P0/P1/P2/P3, isUp: true=恢复, false=断开static interface从站状态变化static interface主站状态变化 -
方法概要
修饰符和类型方法说明void添加 DC 同步丢失监听器void添加紧急事件监听器void添加错误监听器 (别名, 等同于 addEmergencyEventListener) 用于接收从站 CoE Emergency 紧急错误事件void添加 PDO 丢帧监听器void添加 PDO 周期同步回调监听器void添加冗余模式变化监听器void添加从站身份不符监听器 (v2 热插拔自修复)void添加从站离线监听器void添加从站上线监听器void添加从站端口链路变化监听器 (断线检测)void添加从站状态变化监听器void添加主站状态变化监听器voidClearAll()清除所有事件订阅, 防止内存泄漏 在销毁主站或重新初始化前调用获取所有离线从站编号集合 (只读副本)static void初始化回调系统 - 在第一次创建主站时自动调用 注册所有 DLL 回调, 将事件路由到对应主站实例booleanisSlaveOffline(int slaveIndex) 查询从站是否处于事件确认的离线状态void移除 DC 同步丢失监听器void移除紧急事件监听器void移除错误监听器 (别名, 等同于 removeEmergencyEventListener)void移除 PDO 丢帧监听器void移除 PDO 周期同步回调监听器void移除冗余模式变化监听器void移除从站身份不符监听器void移除从站离线监听器void移除从站上线监听器void移除从站端口链路变化监听器void移除从站状态变化监听器void移除主站状态变化监听器static void注销全部 DLL 回调 dispatcher (与initializeCallbacks()对称)。
-
方法详细资料
-
addProcessDataCyclicSyncListener
添加 PDO 周期同步回调监听器 -
removeProcessDataCyclicSyncListener
public void removeProcessDataCyclicSyncListener(MasterEvents.ProcessDataCyclicSyncListener listener) 移除 PDO 周期同步回调监听器 -
addStateChangedListener
添加主站状态变化监听器 -
removeStateChangedListener
移除主站状态变化监听器 -
addSlaveStateChangedListener
添加从站状态变化监听器 -
removeSlaveStateChangedListener
移除从站状态变化监听器 -
addEmergencyEventListener
添加紧急事件监听器 -
removeEmergencyEventListener
移除紧急事件监听器 -
addSlaveOfflineListener
添加从站离线监听器 -
removeSlaveOfflineListener
移除从站离线监听器 -
addSlaveOnlineListener
添加从站上线监听器 -
removeSlaveOnlineListener
移除从站上线监听器 -
addPDOFrameLossListener
添加 PDO 丢帧监听器 -
removePDOFrameLossListener
移除 PDO 丢帧监听器 -
addDCSyncLostListener
添加 DC 同步丢失监听器 -
removeDCSyncLostListener
移除 DC 同步丢失监听器 -
addRedundancyModeChangedListener
添加冗余模式变化监听器 -
removeRedundancyModeChangedListener
public void removeRedundancyModeChangedListener(MasterEvents.RedundancyModeChangedListener listener) 移除冗余模式变化监听器 -
addSlaveIdentityMismatchListener
添加从站身份不符监听器 (v2 热插拔自修复) -
removeSlaveIdentityMismatchListener
public void removeSlaveIdentityMismatchListener(MasterEvents.SlaveIdentityMismatchListener listener) 移除从站身份不符监听器 -
addSlavePortLinkChangedListener
添加从站端口链路变化监听器 (断线检测) -
removeSlavePortLinkChangedListener
移除从站端口链路变化监听器 -
ClearAll
public void ClearAll()清除所有事件订阅, 防止内存泄漏 在销毁主站或重新初始化前调用 -
addErrorListener
添加错误监听器 (别名, 等同于 addEmergencyEventListener) 用于接收从站 CoE Emergency 紧急错误事件 -
removeErrorListener
移除错误监听器 (别名, 等同于 removeEmergencyEventListener) -
isSlaveOffline
public boolean isSlaveOffline(int slaveIndex) 查询从站是否处于事件确认的离线状态- 参数:
slaveIndex- 从站索引 (1-based)- 返回:
- true=从站已确认离线, false=从站在线或未知
-
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 架构清理后未注册, 故不注销。
-