类 MDP
java.lang.Object
com.darra.ethercat.slave.MDP
MDP (Modular Device Profile) 辅助类
对齐 C# MdpInstance: 模块检测、槽位读取、PDO 布局、自动配置
实现 ETG.5001 模块化设备协议的核心功能。
访问方式: slave.MDP()
-
嵌套类概要
嵌套类修饰符和类型类说明static classMDP 可选模块信息(从 ESI 获取)static classMDP 模块在从站 IOmap 中的 PDO 布局信息static classMDP 模块槽位信息(ETG.5001) -
字段概要
字段修饰符和类型字段说明static final short已配置模块标识列表 (0xF030)static final short已检测模块标识列表 (0xF050)static final shortMDP 设备信息 (0xF000) -
构造器概要
构造器 -
方法概要
修饰符和类型方法说明ESI 中定义的可选模块列表。int校验 0xF030 vs 0xF050 (转调 native MDPCheckModuleMatch).int[]直读 0xF030 ConfigModuleIdent 数组 (转调 native)已配置模块列表 (0xF030)。int[]直读 0xF050 DetectedModuleIdent 数组 (转调 native)已检测模块列表 (0xF050)。检测当前在线模块列表 (别名方法, 等同于 DetectedModules)获取各模块在从站 IOmap 中的 PDO 布局。void清除静态缓存short最大模块数量 (0xF000:02)short模块索引间距 (0xF000:01)。Rescan()重新扫描模块列表并清除缓存toString()
-
字段详细资料
-
OD_MODULAR_DEVICE_PROFILE
public static final short OD_MODULAR_DEVICE_PROFILEMDP 设备信息 (0xF000)- 另请参阅:
-
OD_CONFIGURED_MODULE_LIST
public static final short OD_CONFIGURED_MODULE_LIST已配置模块标识列表 (0xF030)- 另请参阅:
-
OD_DETECTED_MODULE_LIST
public static final short OD_DETECTED_MODULE_LIST已检测模块标识列表 (0xF050)- 另请参阅:
-
-
构造器详细资料
-
MDP
-
-
方法详细资料
-
ModuleIndexDistance
public short ModuleIndexDistance()模块索引间距 (0xF000:01)。 每个槽位的对象字典地址 = ModuleIndexDistance * SlotIndex。 默认值: 0x0010 (ETG.5001.1)。 -
MaxModuleCount
public short MaxModuleCount()最大模块数量 (0xF000:02) -
ConfiguredModules
已配置模块列表 (0xF030)。 转调 native MDPGetConfigModuleList, 不再走 SDORead 0xF030. -
DetectedModules
已检测模块列表 (0xF050)。 转调 native MDPGetDetectedModuleList, 不再走 SDORead 0xF050. -
ConfigModuleIdents
public int[] ConfigModuleIdents()直读 0xF030 ConfigModuleIdent 数组 (转调 native) -
DetectedModuleIdents
public int[] DetectedModuleIdents()直读 0xF050 DetectedModuleIdent 数组 (转调 native) -
CheckModuleMatch
public int CheckModuleMatch()校验 0xF030 vs 0xF050 (转调 native MDPCheckModuleMatch). 返回 first mismatch slot, 1=完全匹配 -
AvailableModules
ESI 中定义的可选模块列表。[审计修复 roundSDKSAN2 死声明清理] 原实现直调 native
MdpGetAvailableModuleNames/Idents— 这两个函数运行库未导出 (C# SDK 亦无此 API), 且其返回类型String[]/int[]本身就是非法的 JNA native 签名. 死声明已从DarraCore接口删除."ESI 中声明的可选模块" 需 managed 端解析 ESI
<Modules>XML 节点 (对应 C#MDP.ReadAvailableModules路径). Java SDK 当前未实装该 ESI 解析能力, 故本方法诚实返回空列表 (不臆造数据, 不抛异常). 已检测模块请用DetectedModules(), 已配置模块请用ConfiguredModules()— 这两者走真实导出的 MDPGetDetectedModuleList / MDPGetConfigModuleList. -
GetModulePdoLayout
获取各模块在从站 IOmap 中的 PDO 布局。 通过 CoE SDORead 读取 PDO Assignment (0x1C12/0x1C13) 和 PDO Mapping 条目, 累积计算各模块在 IOmap 中的字节偏移。- 返回:
- PDO 布局列表, 失败返回 null
-
detectModules
检测当前在线模块列表 (别名方法, 等同于 DetectedModules)- 返回:
- 检测到的模块列表
-
Rescan
重新扫描模块列表并清除缓存- 返回:
- 检测到的模块列表
-
InvalidateStaticCache
public void InvalidateStaticCache()清除静态缓存 -
toString
-