类 Other
java.lang.Object
com.darra.ethercat.master.Other
主站其他便捷方法
对应 C# Master/Other.cs
包含批量SDO预加载、看门狗、CPU亲和性等功能
-
构造器概要
构造器 -
方法概要
修饰符和类型方法说明void自动选择 CPU 核心并设置亲和性 策略: PDO 独占最高核心, DcDiag+StateGuard 共用次高核心void应用默认实时优化(高精度定时器、内存锁定、进程高优先级)static boolean应用实时优化 (高精度定时器、内存锁定、进程高优先级)static int获取系统可用的 CPU 核心数int获取主站 CPU 亲和性 (返回 PDO 线程绑定的核心)int获取 PDO 线程 CPU 亲和性int获取定时模式boolean获取 UDP 模式状态static voidinitConsoleInfo(int logLevel) 初始化控制台信息(设置日志级别等)static boolean获取实时优化是否已启用boolean检查 UDP 是否可用boolean检查 WDK 实时驱动是否可用boolean获取当前是否处于 WDK 驱动模式static boolean移除实时优化intsetAllSlavePdiWatchdog(int timeoutMs) 批量设置所有从站的PDI看门狗超时intsetAllSlaveWatchdog(int timeoutMs) 批量设置所有从站的过程数据看门狗超时(毫秒)booleansetCpuAffinity(int baseCpuCore) 设置主站线程 CPU 亲和性voidsetLoopCycleTime(int cycleTimeNs) 设置主站 PDO 循环时间 (纳秒)booleansetMasterCpuAffinity(int core) 设置主站线程 CPU 亲和性 以基准核心为起点, 向低核心号分配: PDO(基准) -> DC诊断(基准-1) -> StateGuard(基准-2)booleansetPDOThreadCpuAffinity(int core) 设置 PDO 线程 CPU 亲和性booleansetUdpMode(boolean enable) 设置 UDP 模式booleansetWdkMode(boolean enable) 设置 WDK 驱动模式booleanstartWdkRT(int cycleUs, int cpuIndex) 启动 WDK 实时线程boolean停止 WDK 实时线程
-
构造器详细资料
-
Other
public Other(short masterIndex) 创建其他功能实例- 参数:
masterIndex- 主站编号
-
-
方法详细资料
-
setAllSlaveWatchdog
public int setAllSlaveWatchdog(int timeoutMs) 批量设置所有从站的过程数据看门狗超时(毫秒)- 参数:
timeoutMs- 超时时间, 0=禁用- 返回:
- 成功设置的从站数量
-
setAllSlavePdiWatchdog
public int setAllSlavePdiWatchdog(int timeoutMs) 批量设置所有从站的PDI看门狗超时- 参数:
timeoutMs- 超时时间(毫秒),0 = 禁用- 返回:
- 成功设置的从站数量
-
getCpuCores
public static int getCpuCores()获取系统可用的 CPU 核心数- 返回:
- CPU 核心数
-
setCpuAffinity
public boolean setCpuAffinity(int baseCpuCore) 设置主站线程 CPU 亲和性- 参数:
baseCpuCore- 基准核心编号- 返回:
- 成功返回 true
-
applyAutoCpuAffinity
public void applyAutoCpuAffinity()自动选择 CPU 核心并设置亲和性 策略: PDO 独占最高核心, DcDiag+StateGuard 共用次高核心 -
applyDefaultOptimizations
public void applyDefaultOptimizations()应用默认实时优化(高精度定时器、内存锁定、进程高优先级) -
isWdkAvailable
public boolean isWdkAvailable()检查 WDK 实时驱动是否可用- 返回:
- true=WDK 驱动已安装并可用
-
isWdkMode
public boolean isWdkMode()获取当前是否处于 WDK 驱动模式- 返回:
- true=WDK 模式, false=Npcap 模式
-
setWdkMode
public boolean setWdkMode(boolean enable) 设置 WDK 驱动模式- 参数:
enable- true=启用 WDK, false=使用 Npcap- 返回:
- 是否成功
-
startWdkRT
public boolean startWdkRT(int cycleUs, int cpuIndex) 启动 WDK 实时线程- 参数:
cycleUs- 周期时间 (微秒)cpuIndex- 绑定的 CPU 核心编号- 返回:
- 是否成功
-
stopWdkRT
public boolean stopWdkRT()停止 WDK 实时线程- 返回:
- 是否成功
-
isUdpAvailable
public boolean isUdpAvailable()检查 UDP 是否可用- 返回:
- true=UDP 可用
-
setUdpMode
public boolean setUdpMode(boolean enable) 设置 UDP 模式- 参数:
enable- true=启用 UDP, false=禁用- 返回:
- 是否成功
-
getUdpMode
public boolean getUdpMode()获取 UDP 模式状态- 返回:
- true=UDP 模式已启用
-
setMasterCpuAffinity
public boolean setMasterCpuAffinity(int core) 设置主站线程 CPU 亲和性 以基准核心为起点, 向低核心号分配: PDO(基准) -> DC诊断(基准-1) -> StateGuard(基准-2)- 参数:
core- 基准 CPU 核心编号- 返回:
- 是否成功
-
getMasterCpuAffinity
public int getMasterCpuAffinity()获取主站 CPU 亲和性 (返回 PDO 线程绑定的核心)- 返回:
- CPU 核心编号, -1=未设置
-
setPDOThreadCpuAffinity
public boolean setPDOThreadCpuAffinity(int core) 设置 PDO 线程 CPU 亲和性- 参数:
core- CPU 核心编号- 返回:
- 是否成功
-
getPDOThreadCpuAffinity
public int getPDOThreadCpuAffinity()获取 PDO 线程 CPU 亲和性- 返回:
- CPU 核心编号, -1=未设置
-
applyRealtimeOptimizations
public static boolean applyRealtimeOptimizations()应用实时优化 (高精度定时器、内存锁定、进程高优先级)- 返回:
- 是否成功
-
removeRealtimeOptimizations
public static boolean removeRealtimeOptimizations()移除实时优化- 返回:
- 是否成功
-
isRealtimeOptimized
public static boolean isRealtimeOptimized()获取实时优化是否已启用- 返回:
- true=已启用
-
getTimingMode
public int getTimingMode()获取定时模式- 返回:
- 定时模式值: 0=未知, 1=硬件(APIC), 2=软件(QPC), 3=降级
-
setLoopCycleTime
public void setLoopCycleTime(int cycleTimeNs) 设置主站 PDO 循环时间 (纳秒)- 参数:
cycleTimeNs- 循环时间 (纳秒)
-
initConsoleInfo
public static void initConsoleInfo(int logLevel) 初始化控制台信息(设置日志级别等)- 参数:
logLevel- 日志级别
-