类 Other

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

public class Other extends Object
主站其他便捷方法 对应 C# Master/Other.cs 包含批量SDO预加载、看门狗、CPU亲和性等功能
  • 构造器详细资料

    • 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 - 日志级别