接口 DarraCore

所有超级接口:
com.sun.jna.Library

public interface DarraCore extends com.sun.jna.Library
Darra.Core 原生库 JNA 接口, 定义全部原生函数签名。

Java 接口方法名保持业务语义 (例如 Initialize / SetState); JNA 在加载时通过 OPTIONS 中的 FunctionMapper 将方法名解析为库内对应的导出符号, 调用方按业务方法名调用即可, 无需关心底层符号命名。

  • 字段详细资料

    • ORDINALS

      static final Map<String,Integer> ORDINALS
    • OPTIONS

      static final Map<String,Object> OPTIONS
      JNA 加载选项: 安装 FunctionMapper, 在加载时把 Java 业务方法名解析为库内对应的导出符号。 映射表中未列出的方法按原方法名解析。
    • INSTANCE

      static final DarraCore INSTANCE
      原生库单例实例 (使用 OPTIONS 中的 FunctionMapper 自动解析导出符号)
    • CORE_OP_21

      static final int CORE_OP_21
      另请参阅:
    • CORE_OP_22

      static final int CORE_OP_22
      另请参阅:
    • CORE_OP_23

      static final int CORE_OP_23
      另请参阅:
    • CORE_OP_24

      static final int CORE_OP_24
      另请参阅:
    • CORE_OP_25

      static final int CORE_OP_25
      另请参阅:
    • CORE_OP_26

      static final int CORE_OP_26
      另请参阅:
    • CORE_OP_27

      static final int CORE_OP_27
      另请参阅:
    • CORE_OP_28

      static final int CORE_OP_28
      另请参阅:
    • CORE_FLAG_01

      static final int CORE_FLAG_01
      另请参阅:
  • 方法详细资料

    • GetDriverVersion

      com.sun.jna.Pointer GetDriverVersion()
      取内核驱动版本信息 (Core.dll 端缓存, 多次调用免费, 失败时 Available=0).
    • InvalidateDriverVersionCache

      void InvalidateDriverVersionCache()
      装/卸驱动后调, 清除运行库内缓存的驱动版本结果.
    • EnsureDriversRunning

      int EnsureDriversRunning()
      探测并启动内核驱动服务 (DarraRT/DarraRT_Eth). 返回 0=OK, 负数=错误.
    • GetSerialNumber

      com.sun.jna.Pointer GetSerialNumber()
      获取设备序列号
    • GetDeviceName

      com.sun.jna.Pointer GetDeviceName()
      获取设备名称
    • GetUserEmail

      com.sun.jna.Pointer GetUserEmail()
      获取用户邮箱
    • GetWindowsProductKey

      com.sun.jna.Pointer GetWindowsProductKey()
      获取 Windows 产品密钥
    • GetDriverList

      com.sun.jna.Pointer GetDriverList()
      获取驱动列表
    • D1586Entry

      int D1586Entry()
      roundDEEP1 内部入口 (序号绑定)
    • D1590Entry

      void D1590Entry()
      roundDEEP1 内部入口 (序号绑定)
    • D1589Entry

      boolean D1589Entry()
      roundDEEP1 内部入口 (序号绑定)
    • LicenseActivate

      int LicenseActivate(String activationCode, byte[] errBuf, int errBufLen)
      激活授权。激活处理由运行库内部完成, 联网校验有约 3 秒超时。

      roundSDKSAN2 返回值: 0=成功, 非 0=失败 (具体语义由运行库内部定义), -1=异常。 失败原因文本经 errBuf 返回。

      参数:
      activationCode - 激活码 (UTF-8 字节)
      errBuf - 错误消息缓冲区 (UTF-8)
      errBufLen - 缓冲区大小
    • D_1737

      int D_1737()
      roundSDKSAN2 内部入口。返回内部状态码: 0=未校验, 1=校验中, 2=已授权(唯一有效), 3=失败, 4=已过期, 5=机器不匹配, 6=时间回拨。
    • Initialize

      short Initialize()
      初始化主站, 返回主站编号
    • InitializeSpecificMaster

      short InitializeSpecificMaster(short masterIndex)
      初始化指定编号的主站, 返回主站编号 (uint16).

      注意: 返回 short 是 JNA 习惯, 实际为 uint16. 失败时 native 层返回 sentinel 0xFFFF, 在 Java 中表现为 -1 (符号位扩展). 调用方必须用 (result & 0xFFFF) 转换为无符号比较, 或显式判 result == (short)0xFFFF, 不要直接 result < 0.

    • Dispose

      void Dispose(short masterIndex)
      释放指定主站资源
    • GetMaxMasterInstances

      int GetMaxMasterInstances()
      获取最大主站实例数
    • FreeMemory

      void FreeMemory(com.sun.jna.Pointer ptr)
      释放 DLL 分配的内存
    • DumpSlaveStructOffsets

      void DumpSlaveStructOffsets()
      输出从站结构体偏移量 (调试用)
    • GetDllVersionInfo

      com.sun.jna.Pointer GetDllVersionInfo()
      获取 DLL 版本信息 (返回指针, 需用 DllVersionInfo 解析)
    • SetNetwork

      int SetNetwork(short masterIndex, String adapter, String redundant)
      设置网络适配器
      参数:
      masterIndex - 主站编号
      adapter - 主网卡名称 (pcap 设备名)
      redundant - 冗余网卡名称, 空串表示无冗余
      返回:
      从站数量, 负数表示错误
    • GetNetworkInfo

      int GetNetworkInfo(boolean isRedundant, boolean needSlavesNum)
      获取网络信息 (网卡列表数量)
    • GetNetworksPointer

      com.sun.jna.Pointer GetNetworksPointer()
      获取网络列表指针
    • QuickSlaveCount

      int QuickSlaveCount(String adapterName)
      快速检测网卡上的从站数量
    • QuickFindRedundantPairBatch

      int QuickFindRedundantPairBatch(String[] adapterNames, int adapterCount, com.sun.jna.ptr.IntByReference primaryIdx, com.sun.jna.ptr.IntByReference secondaryIdx, com.sun.jna.ptr.IntByReference ringCount, com.sun.jna.ptr.IntByReference totalCount)
      快速批量查找冗余网卡对
    • ScanSlaveInfo

      int ScanSlaveInfo(String primary, String secondary)
      完整扫描从站信息 (单端口/冗余通用, 与 SetNetwork/Build 完全相同的扫描逻辑).

      [审计修复] 替代已删除的 ScanSlaveCount/ScanSlaveCountRedundant. 对齐 C# DLL.ScanSlaveInfo.

      参数:
      primary - 主网卡名称
      secondary - 冗余网卡名称, null=单端口模式
      返回:
      扫描到的从站数量, <=0 表示无从站
    • ReadSlaveInfo

      int ReadSlaveInfo(String adapterName)
      读取从站详细信息
    • GetScannedSlaveCount

      int GetScannedSlaveCount()
      获取已扫描从站数量
    • GetScannedSlaveInfo

      boolean GetScannedSlaveInfo(int index, com.sun.jna.ptr.IntByReference vendorId, com.sun.jna.ptr.IntByReference productCode, com.sun.jna.ptr.IntByReference revision, com.sun.jna.ptr.IntByReference serial, byte[] name, int nameSize, com.sun.jna.ptr.ShortByReference configAddr, com.sun.jna.ptr.ShortByReference aliasAddr, com.sun.jna.ptr.ShortByReference parent, com.sun.jna.ptr.ByteByReference topology, com.sun.jna.ptr.ByteByReference activePorts, com.sun.jna.ptr.ByteByReference entryPort, com.sun.jna.ptr.ByteByReference parentPort, com.sun.jna.ptr.ByteByReference ptype)
      获取已扫描从站信息
    • GetRingSlaveCount

      int GetRingSlaveCount()
      获取环形拓扑从站数量
    • SetState

      boolean SetState(short masterIndex, int state)
      设置主站状态 (不带启动参数)
    • SetStateWithTimeout

      boolean SetStateWithTimeout(short masterIndex, int state, int timeoutMs)
      带超时的状态转换
    • SetSlaveStateWithTimeout

      boolean SetSlaveStateWithTimeout(short masterIndex, short slaveIndex, int state, int timeoutMs)
      单个从站状态转换 (带超时)
    • SetStateSequence

      boolean SetStateSequence(short masterIndex, int targetState, int timeoutMs)
      一步到位状态转换: 自动链式 (Init->PreOp->SafeOp->OP)
    • SetStateWithStartup

      boolean SetStateWithStartup(short masterIndex, int targetState, int timeoutMs)
      单步状态转换 + 自动执行 Before/After 启动参数
    • GetMasterState

      com.sun.jna.Pointer GetMasterState(short masterIndex)
      获取主站状态指针
    • GetMasterStateCache

      com.sun.jna.Pointer GetMasterStateCache(short masterIndex)
      获取线程安全状态缓存指针
    • GetLinkStatus

      byte GetLinkStatus(short masterIndex)
      获取链路状态
    • GetSlaveState

      byte GetSlaveState(short masterIndex, short slaveIndex)
      获取从站状态
    • GetSlaveALStatusCode

      short GetSlaveALStatusCode(short masterIndex, short slaveIndex)
      获取从站 ALStatusCode
    • GetSlaveStateLive

      byte GetSlaveStateLive(short masterIndex, short slaveIndex)
      获取从站状态 (强制实时读, 绕过缓存; 对应 GetSlaveStateLive)
    • GetSlaveALStatusCodeLive

      short GetSlaveALStatusCodeLive(short masterIndex, short slaveIndex)
      获取从站 ALStatusCode (强制实时读, 绕过缓存; 对应 GetSlaveALStatusCodeLive). unsigned, 上层 & 0xFFFF.
    • GetSlaveWcState

      byte GetSlaveWcState(short masterIndex, short slaveIndex)
      从站本周期是否贡献应有 WKC: 1=贡献(在线), 0=没贡献(疑似掉站), 0xFF(=-1)=未知(契约未就绪). Java byte 有符号, 0xFF 读作 -1, 上层用 & 0xFF 还原.
    • GetSlaveAlStatusMirror

      short GetSlaveAlStatusMirror(short masterIndex, short slaveIndex)
      从站 AL 状态镜像 (16bit raw): 低字节 AL State (bit4=Error), 有 Error 时高字节为 AL Status Code. Java short 有符号, 上层用 & 0xFFFF 按 unsigned 解析. 0 = 未知.
    • GetWcDeficit

      short GetWcDeficit(short masterIndex)
      WKC 缺口 (= WkcExpectedMirror - WkcActualMirror, 内核如实算永不下调 expected). >0 = 有从站掉 (缺口数); 0 = 全在线或未知. unsigned, 上层 & 0xFFFF.
    • GetWcStateSeq

      long GetWcStateSeq(short masterIndex)
      per-slave 诊断序列号 (内核每 PDO 周期 +1). SDK 据此判缓存新鲜度 (停增=内核未跑). 0=未知. Java long 可容纳 uint64 (内核计数远不会溢出符号位).
    • GetMappedSlaveCount

      short GetMappedSlaveCount(short masterIndex)
      DLL 已向内核下发映射的 slave 数 (契约就绪度). >0 = WcState 可信; 0 = 不可信(应显"未知"). unsigned, 上层 & 0xFFFF.
    • GetWkcActualMirror

      short GetWkcActualMirror(short masterIndex)
      聚合 LRW WKC 实测镜像 (= 本周期响应 slave 总数). 如实反映硬件现实, 永不篡改. unsigned, 上层 & 0xFFFF. 0 = 未知.
    • GetWkcExpectedMirror

      short GetWkcExpectedMirror(short masterIndex)
      期望 WKC 镜像 (配置期/进 OP 确定的固定真值, 拓扑固定即固定, 绝不篡改迁就劣化总线). unsigned, 上层 & 0xFFFF. 0 = 未知.
    • GetSlaveFreeRunDemoted

      byte GetSlaveFreeRunDemoted(short masterIndex, short slaveIndex)
      从站是否被降级为 free-run (邮箱半失效自动降级): 1=已降级, 0=正常, 0xFF=未知. Java byte 有符号, 上层 & 0xFF 还原 unsigned.
    • GetSlaveMailboxHealth

      byte GetSlaveMailboxHealth(short masterIndex, short slaveIndex)
      从站邮箱健康度: 1=健康, 0=半失效, 0xFF=未知. Java byte 有符号, 上层 & 0xFF.
    • GetSlaveHealthDegradedCount

      int GetSlaveHealthDegradedCount(short masterIndex, short slaveIndex)
      从站健康降级累计次数 (诊断计数, 单调递增). unsigned uint32, 上层 & 0xFFFFFFFFL.
    • RecoverSlaveMailboxHealth

      boolean RecoverSlaveMailboxHealth(short masterIndex, short slaveIndex)
      主动修复从站残留 A 邮箱半失效状态. @return true=修复尝试已触发.
    • GetPrimaryWKCEx

      short GetPrimaryWKCEx(short masterIndex)
      主发帧实测 WKC. unsigned, 上层 & 0xFFFF.
    • GetSecondaryWKCEx

      short GetSecondaryWKCEx(short masterIndex)
      副发帧实测 WKC. unsigned, 上层 & 0xFFFF.
    • GetTopoPriIntact

      short GetTopoPriIntact(short masterIndex)
      主拓扑环路完好性 (内核每周期实测). unsigned, 上层 & 0xFFFF.
    • GetTopoSecIntact

      short GetTopoSecIntact(short masterIndex)
      冗余拓扑环路完好性 (内核每周期实测). unsigned, 上层 & 0xFFFF.
    • HotSwapRebuild

      int HotSwapRebuild(short masterIndex)
      [roundHOTSWAP1 2026-06-08] 运行中一次性热插拔重建拓扑 (重扫从站+重建拓扑图+恢复 OP, 不停总线). 返回错误码: 0=成功, 负值=失败 (-20 BUSY / -21 RESCAN_0 / -22 SDO_ABORT / -23 NO_OP / -24 TIMEOUT / -25 IDX_FULL).
    • GetRtPreemptCount

      long GetRtPreemptCount(short mi)
      RT 线程被抢占累计次数 (uint64). 上层视为无符号.
    • GetRtPreemptPeakNs

      int GetRtPreemptPeakNs(short mi)
      RT 线程被抢占峰值时长 ns (uint32). 上层 & 0xFFFFFFFFL.
    • GetBigGapUnknownCount

      long GetBigGapUnknownCount(short mi)
      大间隙未知原因计数 (uint64). 上层视为无符号.
    • GetSmiMsrAvailable

      int GetSmiMsrAvailable(short mi)
      SMI MSR 是否可用 (uint32, 1=可用).
    • GetWdkRtCpuIndex

      int GetWdkRtCpuIndex(short mi)
      WDK RT 线程绑定 CPU 序号 (int, -1=未绑).
    • GetWdkRxCpuIndex

      int GetWdkRxCpuIndex(short mi)
      WDK RX 线程绑定 CPU 序号 (int, -1=未绑).
    • GetWdkJitterInstrumentVer

      int GetWdkJitterInstrumentVer(short mi)
      WDK 抖动仪表版本号 (uint32). 上层 & 0xFFFFFFFFL.
    • GetWdkJitterHistBin

      int GetWdkJitterHistBin(short mi, int binIndex)
      WDK 抖动直方图指定 bin 计数 (uint32). @param binIndex bin 索引 (uint32).
    • GetWdkJitterTotalSamples

      long GetWdkJitterTotalSamples(short mi)
      WDK 抖动样本总数 (uint64). 上层视为无符号.
    • GetWdkJitterMinNs

      int GetWdkJitterMinNs(short mi)
      WDK 抖动最小值 ns (uint32). 上层 & 0xFFFFFFFFL.
    • GetWdkJitterLastWakeDeltaNs

      int GetWdkJitterLastWakeDeltaNs(short mi)
      WDK 上次唤醒偏差 ns (int, 可正可负).
    • GetWdkPathCountFast

      int GetWdkPathCountFast(short mi)
      WDK 快路径处理计数 (uint32). 上层 & 0xFFFFFFFFL.
    • GetWdkPathCountMed

      int GetWdkPathCountMed(short mi)
      WDK 中路径处理计数 (uint32). 上层 & 0xFFFFFFFFL.
    • GetWdkPathCountSlow

      int GetWdkPathCountSlow(short mi)
      WDK 慢路径处理计数 (uint32). 上层 & 0xFFFFFFFFL.
    • GetWdkKtimerWakeNormalCnt

      int GetWdkKtimerWakeNormalCnt(short mi)
      WDK KTIMER 正常唤醒计数 (uint32). 上层 & 0xFFFFFFFFL.
    • GetWdkKtimerWakeOverrunCnt

      int GetWdkKtimerWakeOverrunCnt(short mi)
      WDK KTIMER 超时唤醒计数 (uint32). 上层 & 0xFFFFFFFFL.
    • GetWdkDispatchCycleMaxJitterNs

      int GetWdkDispatchCycleMaxJitterNs(short mi)
      WDK 调度周期最大抖动 ns (uint32). 上层 & 0xFFFFFFFFL.
    • GetWdkDrainCycleMaxJitterNs

      int GetWdkDrainCycleMaxJitterNs(short mi)
      WDK 排空周期最大抖动 ns (uint32). 上层 & 0xFFFFFFFFL.
    • GetWdkDiagCounter

      int GetWdkDiagCounter(short mi, int counterId)
      WDK 通用诊断计数器 (uint32). @param counterId 计数器 ID (uint32).
    • GetCycleEventHandle

      com.sun.jna.Pointer GetCycleEventHandle(short masterIndex)
      获取周期事件内核句柄 (用户态可 WaitForSingleObject 等待 PDO 周期边界).
    • GetCycleEventName

      com.sun.jna.Pointer GetCycleEventName(short masterIndex)
      获取周期事件命名 (跨进程打开同一 named event 用). @return C 字符串指针.
    • WaitForCycleEvent

      int WaitForCycleEvent(short masterIndex, int timeoutMs)
      等待下一个 PDO 周期事件. @return 0=收到事件, 非 0=超时/错误.
    • GetCycleCount

      long GetCycleCount(short masterIndex)
      获取已完成 PDO 周期总计数 (一致性读取判帧新鲜度用). unsigned uint64, Java long 容纳.
    • Start

      void Start(short masterIndex)
      启动 PDO 循环线程和状态监控线程 (OP 状态后调用)
    • Stop

      void Stop(short masterIndex)
      停止 PDO 循环线程和状态监控线程
    • GetIO

      byte GetIO(short masterIndex, short slave, com.sun.jna.ptr.IntByReference outByteSize, com.sun.jna.ptr.PointerByReference outByte, com.sun.jna.ptr.IntByReference inByteSize, com.sun.jna.ptr.PointerByReference inByte)
      获取从站 IO 数据指针
    • LockIOmap

      void LockIOmap(short masterIndex)
      锁定 IOmap (PDO 数据读写前调用)
    • UnlockIOmap

      void UnlockIOmap(short masterIndex)
      解锁 IOmap
    • WriteSlaveOutput

      void WriteSlaveOutput(short masterIndex, short slaveIndex, byte[] data, int size)
      无锁输出写入
    • WriteSlaveOutputByte

      void WriteSlaveOutputByte(short masterIndex, short slaveIndex, int offset, byte value)
      无锁输出字节写入
    • SetMutexProtection

      void SetMutexProtection(short masterIndex, boolean enable)
      设置 Mutex 保护
    • GetMutexProtection

      boolean GetMutexProtection(short masterIndex)
      获取 Mutex 保护状态
    • SDOwrite

      boolean SDOwrite(short masterIndex, short slave, short index, byte subindex, boolean CA, com.sun.jna.Pointer data, int length)
      SDO 写入
    • SDOread

      com.sun.jna.Pointer SDOread(short masterIndex, short slaveIndex, short index, byte subindex, boolean CA, com.sun.jna.ptr.IntByReference outByteSize)
      SDO 读取
    • GetSlaveSDOList

      com.sun.jna.Pointer GetSlaveSDOList(short masterIndex, short slaveIndex)
      获取从站 SDO 对象字典列表指针
    • GetSlaveSDOListBasic

      com.sun.jna.Pointer GetSlaveSDOListBasic(short masterIndex, short slaveIndex)
      获取从站 SDO 对象字典基本列表指针
    • GetMultiSlaveSDOList

      int GetMultiSlaveSDOList(short masterIndex, short[] slaveIndices, int count, com.sun.jna.Pointer[] results)
      批量读取多个从站的 SDO 对象字典 (流水线并行)
    • FreeMultiSlaveSDOList

      void FreeMultiSlaveSDOList(com.sun.jna.Pointer[] results, int count)
      释放批量 SDO 列表分配的内存
    • GetSlavePointer_SDO

      com.sun.jna.Pointer GetSlavePointer_SDO(short masterIndex, short slaveIndex, short oeIndex)
      获取从站 SDO 对象字典条目指针
    • GetSlavePointer_SDO_WithODList

      com.sun.jna.Pointer GetSlavePointer_SDO_WithODList(short masterIndex, short slaveIndex, short oeIndex, com.sun.jna.Pointer odlist)
      优化版 SDO 读取 (使用已有的 ODList)
    • GetSlavePointer_SDO_Value

      com.sun.jna.Pointer GetSlavePointer_SDO_Value(short masterIndex, short slaveIndex, short odIndex, byte oeIndex, com.sun.jna.ptr.IntByReference outByteSize)
      SDO 值读取 (按 OD 索引 + 子索引偏移)
    • GetSlavePointer_SDO_IndexValue

      com.sun.jna.Pointer GetSlavePointer_SDO_IndexValue(short masterIndex, short slaveIndex, short index, byte subidx, com.sun.jna.ptr.IntByReference outByteSize)
      SDO 值读取 (按 OD 索引 + 子索引)
    • GetSlave

      com.sun.jna.Pointer GetSlave(short masterIndex, short slaveIndex)
      获取从站结构体指针
    • GetSlaveDetailedInfo

      com.sun.jna.Pointer GetSlaveDetailedInfo(short masterIndex, short slaveIndex)
      获取从站详细信息 (JSON 指针)
    • GetSlaveIdentity

      boolean GetSlaveIdentity(short masterIndex, short slaveIndex, DarraCore.SlaveIdentity identity)
      获取从站身份信息
    • VerifySlaveIdentity

      boolean VerifySlaveIdentity(short masterIndex, short slaveIndex, DarraCore.SlaveIdentity expected, boolean checkRev, boolean checkSerial)
      验证从站身份
    • SetSlaveOptional

      boolean SetSlaveOptional(short masterIndex, short slaveIndex, boolean isOptional)
      设置从站为可选
    • GetSlaveOptional

      boolean GetSlaveOptional(short masterIndex, short slaveIndex)
      获取从站可选标志
    • SetSlaveSupportsFrameRepeat

      boolean SetSlaveSupportsFrameRepeat(short masterIndex, short slaveIndex, boolean supports)
      设置从站帧重发支持标志
    • GetSlaveSupportsFrameRepeat

      boolean GetSlaveSupportsFrameRepeat(short masterIndex, short slaveIndex)
      获取从站帧重发支持标志
    • AddStartupParameter

      int AddStartupParameter(short masterIndex, short slaveIndex, DarraCore.StartupParam param)
      添加一个启动参数
    • AddStartupParameterBatch

      int AddStartupParameterBatch(short masterIndex, short slaveIndex, DarraCore.StartupParam[] paramArray, int count)
      批量添加启动参数
    • ClearStartupParameters

      int ClearStartupParameters(short masterIndex, short slaveIndex)
      清除启动参数 (slaveIndex=0 清除所有从站)
    • GetStartupParameterCount

      int GetStartupParameterCount(short masterIndex, short slaveIndex)
      获取启动参数数量
    • ApplyStartupParameters

      int ApplyStartupParameters(short masterIndex, short slaveIndex, byte transition, byte timing)
      执行指定从站的启动参数
    • ApplyStartupParametersAll

      int ApplyStartupParametersAll(short masterIndex, byte transition, byte timing)
      对所有从站执行启动参数
    • EcInit

      short EcInit(String jsonConfig)
      一步初始化: JSON -> Initialize + SetNetwork + LoadConfig + SetStateSequence + Start
    • EcInitFromFile

      short EcInitFromFile(String jsonFilePath)
      一步初始化: 从 JSON 文件路径
    • EcClose

      void EcClose(short masterIndex)
      一步关闭: ClearStartupParams + Stop + Dispose
    • DarraCoreInvoke

      int DarraCoreInvoke(short masterIndex, int command, int arg0, int arg1, int arg2)
    • DarraCoreInvokeText

      int DarraCoreInvokeText(short masterIndex, int command, String text, int arg0, int arg1, int arg2)
    • LoadConfigJson

      int LoadConfigJson(short masterIndex, String jsonStr)
      从 JSON 加载配置
    • AutoConfigureSM

      int AutoConfigureSM(short masterIndex, short slaveIndex)
      自动配置 SM (slaveIndex=0 处理所有从站)
    • SetMasterDCCycleTime

      void SetMasterDCCycleTime(short masterIndex, int timeNs)
      设置主站 DC 循环时间 (纳秒)
    • SetSyncBySlaveIndex

      void SetSyncBySlaveIndex(short masterIndex, short slaveIndex, int sync0Ns, int sync1Ns, int shiftNs)
      设置从站 DC 同步参数
    • ConfigureDCAll

      int ConfigureDCAll(short masterIndex, int sync0Ns, int sync1Ns)
      为所有 DC 从站配置 DC 同步
    • AutoCalculateDCShift

      int AutoCalculateDCShift(short masterIndex)
      自动计算 DC 偏移
    • UpdatePropagationDelays

      int UpdatePropagationDelays(short masterIndex)
      更新传播延迟
    • EnableContinuousMeasurement

      void EnableContinuousMeasurement(short masterIndex, boolean enable, int intervalSec)
      启用/禁用持续传播延迟测量
    • EnableDriftCompensation

      void EnableDriftCompensation(short masterIndex, boolean enable, int thresholdNs, int gain)
      启用/禁用漂移补偿
    • SetDCAutoShiftEnabled

      void SetDCAutoShiftEnabled(short masterIndex, boolean enable)
      设置 DC 自动偏移启用
    • GetDCAutoShiftEnabled

      boolean GetDCAutoShiftEnabled(short masterIndex)
      获取 DC 自动偏移状态
    • GetSlavePropagationDelay

      int GetSlavePropagationDelay(short masterIndex, short slaveIndex)
      获取从站传播延迟 (纳秒)
    • GetMaxPropagationDelay

      int GetMaxPropagationDelay(short masterIndex)
      获取最大传播延迟 (纳秒)
    • GetSlaveSyncWindowStatus

      boolean GetSlaveSyncWindowStatus(short masterIndex, short slaveIndex, com.sun.jna.ptr.IntByReference diffNs, com.sun.jna.ptr.IntByReference maxDiffNs, com.sun.jna.ptr.IntByReference minDiffNs, com.sun.jna.ptr.IntByReference inSync, com.sun.jna.ptr.IntByReference outOfSyncCount)
      获取从站同步窗口状态
    • SetSyncWindowThreshold

      void SetSyncWindowThreshold(short masterIndex, int thresholdNs)
      设置同步窗口阈值 (纳秒)
    • GetSyncWindowThreshold

      int GetSyncWindowThreshold(short masterIndex)
      获取同步窗口阈值
    • ResetSlaveSyncWindowStats

      void ResetSlaveSyncWindowStats(short masterIndex, short slaveIndex)
      重置从站同步窗口统计
    • GetMaxSyncDifference

      int GetMaxSyncDifference(short masterIndex)
      获取最大同步偏差 (纳秒)
    • IsAllSlavesInSync

      boolean IsAllSlavesInSync(short masterIndex)
      检查所有从站是否同步
    • GetMasterDCTime

      long GetMasterDCTime(short masterIndex)
      主站最近一次 PDO 周期取回的 64-bit DC 系统时间 (纳秒, ETG 2000-01-01 纪元).
      Last 64-bit DC system time (ns, ETG 2000-01-01 epoch) read back via FRMW.
      返回:
      DC 时间 (纳秒); 0=DC 未激活.
    • GetReferenceClockSlaveIndex

      short GetReferenceClockSlaveIndex(short masterIndex)
      当前参考时钟从站索引 (1-based).
      Reference clock slave index (1-based). 0 = no DC-capable slave on the bus.
    • SoERead

      boolean SoERead(short masterIndex, short slave, byte driveNo, byte elementFlags, short idn, com.sun.jna.ptr.PointerByReference data, com.sun.jna.ptr.IntByReference dataSize, int timeout)
      SoE 读取
    • SoEWrite

      boolean SoEWrite(short masterIndex, short slave, byte driveNo, byte elementFlags, short idn, byte[] data, int dataSize, int timeout)
      SoE 写入
    • SoEReadAttributes

      boolean SoEReadAttributes(short masterIndex, short slave, byte driveNo, short idn, com.sun.jna.ptr.IntByReference attributes, int timeout)
      SoE 读取属性
    • SoEReadName

      boolean SoEReadName(short masterIndex, short slave, byte driveNo, short idn, com.sun.jna.ptr.PointerByReference name, com.sun.jna.ptr.IntByReference nameLength, int timeout)
      SoE 读取名称
    • SoEReadIDNList

      boolean SoEReadIDNList(short masterIndex, short slave, byte driveNo, com.sun.jna.ptr.PointerByReference idnList, com.sun.jna.ptr.IntByReference listCount, int timeout)
      SoE 读取 IDN 列表
    • SoEReadUnit

      boolean SoEReadUnit(short masterIndex, short slave, byte driveNo, short idn, com.sun.jna.ptr.PointerByReference unit, com.sun.jna.ptr.IntByReference unitLength, int timeout)
      SoE 读取单位
    • SoEReadMinMax

      boolean SoEReadMinMax(short masterIndex, short slave, byte driveNo, short idn, com.sun.jna.ptr.PointerByReference minValue, com.sun.jna.ptr.IntByReference minSize, com.sun.jna.ptr.PointerByReference maxValue, com.sun.jna.ptr.IntByReference maxSize, int timeout)
      SoE 读取最小值/最大值
    • RegisterSoENotificationCallback

      void RegisterSoENotificationCallback(DarraCore.SoENotificationCallback callback)
      注册 SoE Notification 回调 / register SoE Notification callback.
    • RegisterSoEEmergencyCallback

      void RegisterSoEEmergencyCallback(DarraCore.SoEEmergencyCallback callback)
      注册 SoE Emergency 回调 / register SoE Emergency callback.
    • UnregisterSoENotificationCallback

      void UnregisterSoENotificationCallback(DarraCore.SoENotificationCallback callback)
      注销 SoE Notification 回调 (与注册成对; 对齐 C# DLL.SoE.cs).
    • UnregisterSoEEmergencyCallback

      void UnregisterSoEEmergencyCallback(DarraCore.SoEEmergencyCallback callback)
      注销 SoE Emergency 回调 (与注册成对; 对齐 C# DLL.SoE.cs).
    • FOERead

      boolean FOERead(short masterIndex, short slave, String filename, int password, com.sun.jna.ptr.PointerByReference fileData, com.sun.jna.ptr.IntByReference fileSize, int timeout)
      FoE 读取文件
    • FOEWrite

      boolean FOEWrite(short masterIndex, short slave, String filename, int password, com.sun.jna.Pointer fileData, int fileSize, int timeout)
      FoE 写入文件
    • FOEReadEx

      boolean FOEReadEx(short masterIndex, short slave, String filename, int password, com.sun.jna.ptr.PointerByReference fileData, com.sun.jna.ptr.IntByReference fileSize, int timeout, DarraCore.FoEOptions options)
      FoE 扩展读取 (含选项)
    • FOEWriteEx

      boolean FOEWriteEx(short masterIndex, short slave, String filename, int password, com.sun.jna.Pointer fileData, int fileSize, int timeout, DarraCore.FoEOptions options)
      FoE 扩展写入 (含选项)
    • FOESetProgressHook

      boolean FOESetProgressHook(short masterIndex, DarraCore.FoEProgressCallback callback)
      设置 FoE 进度回调
    • FOEClearProgressHook

      boolean FOEClearProgressHook(short masterIndex)
      清除 FoE 进度回调
    • FOESetBusyHook

      boolean FOESetBusyHook(short masterIndex, DarraCore.FoEBusyCallback callback)
      设置 FoE BUSY 回调 / set FoE BUSY hook.
    • FOERequestCancel

      boolean FOERequestCancel(short masterIndex, short slave)
      请求取消 FoE 传输 / request cancel of an ongoing FoE transfer.
    • FOEClearCancel

      boolean FOEClearCancel(short masterIndex, short slave)
      清除 FoE 取消标志 / clear the FoE cancel flag.
    • EOESetIP

      boolean EOESetIP(short masterIndex, short slave, byte port, int ipAddress, int subnetMask, int defaultGateway, int timeout)
      EoE 设置 IP
    • EOEGetIP

      boolean EOEGetIP(short masterIndex, short slave, byte port, com.sun.jna.ptr.IntByReference ipAddress, com.sun.jna.ptr.IntByReference subnetMask, com.sun.jna.ptr.IntByReference defaultGateway, int timeout)
      EoE 获取 IP
    • EOESendFrame

      boolean EOESendFrame(short masterIndex, short slave, byte port, byte[] frameData, int frameSize, int timeout)
      EoE 发送帧
    • EOEReceiveFrame

      boolean EOEReceiveFrame(short masterIndex, short slave, byte port, com.sun.jna.ptr.PointerByReference data, com.sun.jna.ptr.IntByReference size, int timeout)
      EoE 接收帧
    • EOESetMAC

      boolean EOESetMAC(short masterIndex, short slave, byte port, byte[] mac, int timeout)
      EoE 设置 MAC 地址
    • EOEGetMAC

      boolean EOEGetMAC(short masterIndex, short slave, byte port, byte[] mac, int timeout)
      EoE 获取 MAC 地址
    • EOESetDNS

      boolean EOESetDNS(short masterIndex, short slave, byte port, int dnsIp, String dnsName, int timeout)
      EoE 设置 DNS
    • EOEGetDNS

      boolean EOEGetDNS(short masterIndex, short slave, byte port, com.sun.jna.ptr.IntByReference dnsIp, byte[] dnsName, int timeout)
      EoE 获取 DNS
    • EOEGetFullParam

      boolean EOEGetFullParam(short masterIndex, short slave, byte port, com.sun.jna.ptr.IntByReference ipAddress, com.sun.jna.ptr.IntByReference subnetMask, com.sun.jna.ptr.IntByReference defaultGateway, byte[] macAddress, com.sun.jna.ptr.IntByReference dnsIp, byte[] dnsName, int timeout)
      EoE 获取全部参数
    • EOESetFullParam

      boolean EOESetFullParam(short masterIndex, short slave, byte port, int ipAddress, int subnetMask, int defaultGateway, byte[] macAddress, int dnsIp, String dnsName, int timeout)
      EoE 设置全部参数
    • EOESetAddressFilter

      boolean EOESetAddressFilter(short masterIndex, short slave, byte port, byte filterCount, byte[] macFilters, int timeout)
      EoE 设置地址过滤
    • EOEGetAddressFilter

      boolean EOEGetAddressFilter(short masterIndex, short slave, byte port, com.sun.jna.ptr.ByteByReference filterCount, byte[] macFilters, int maxFilters, int timeout)
      EoE 获取地址过滤
    • AOESendCommand

      boolean AOESendCommand(short masterIndex, short slave, short targetPort, short commandId, byte[] commandData, int commandSize, com.sun.jna.ptr.PointerByReference responseData, com.sun.jna.ptr.IntByReference responseSize, int timeout)
      AoE 发送命令
    • AOEReadWrite

      boolean AOEReadWrite(short masterIndex, short slave, int indexGroup, int indexOffset, int readLength, int writeLength, byte[] writeData, com.sun.jna.ptr.PointerByReference readData, com.sun.jna.ptr.IntByReference bytesRead, int timeout)
      AoE 读写
    • AOEReadDeviceInfo

      boolean AOEReadDeviceInfo(short masterIndex, short slave, com.sun.jna.ptr.ByteByReference majorVer, com.sun.jna.ptr.ByteByReference minorVer, com.sun.jna.ptr.ShortByReference build, byte[] deviceName, int nameSize, int timeout)
      AoE 读取设备信息
    • AOEReadState

      boolean AOEReadState(short masterIndex, short slave, com.sun.jna.ptr.ShortByReference adsState, com.sun.jna.ptr.ShortByReference deviceState, int timeout)
      AoE 读取状态
    • AOEWriteControl

      boolean AOEWriteControl(short masterIndex, short slave, short adsState, short deviceState, byte[] data, int dataSize, int timeout)
      AoE 写入控制
    • AOEAddNotification

      boolean AOEAddNotification(short masterIndex, short slave, int indexGroup, int indexOffset, int length, int transMode, int maxDelay, int cycleTime, com.sun.jna.ptr.IntByReference handle, int timeout)
      AoE 添加通知
    • AOEDelNotification

      boolean AOEDelNotification(short masterIndex, short slave, int handle, int timeout)
      AoE 删除通知
    • AOESetConfig

      boolean AOESetConfig(short masterIndex, short slave, byte[] targetNetId, short targetPort, byte[] sourceNetId, short sourcePort)
      AoE 设置配置
    • AOEGetConfig

      boolean AOEGetConfig(short masterIndex, short slave, byte[] targetNetId, com.sun.jna.ptr.ShortByReference targetPort, byte[] sourceNetId, com.sun.jna.ptr.ShortByReference sourcePort)
      AoE 获取配置
    • AOEStartNotificationListener

      boolean AOEStartNotificationListener(short masterIndex)
      启动 AoE 通知监听线程
    • AOEStopNotificationListener

      boolean AOEStopNotificationListener()
      停止 AoE 通知监听线程
    • AOEIsNotificationListening

      boolean AOEIsNotificationListening()
      检查 AoE 通知监听线程是否运行
    • AOERegisterNotification

      int AOERegisterNotification(short slave, int handle, int indexGroup, int indexOffset, int dataLength, DarraCore.AOENotificationCallback callback, com.sun.jna.Pointer userData)
      注册 AoE 通知回调
    • AOEUnregisterNotification

      boolean AOEUnregisterNotification(int subscriptionIndex)
      注销 AoE 通知回调
    • VOESend

      boolean VOESend(short masterIndex, short slave, int vendorId, short vendorType, byte[] data, int dataSize, int timeout)
      VoE 发送数据
    • VOEReceive

      boolean VOEReceive(short masterIndex, short slave, com.sun.jna.ptr.IntByReference vendorId, com.sun.jna.ptr.ShortByReference vendorType, com.sun.jna.ptr.PointerByReference data, com.sun.jna.ptr.IntByReference dataSize, int timeout)
      VoE 接收数据
    • VOEIsSupported

      boolean VOEIsSupported(short masterIndex, short slave)
      VoE 是否支持
    • VOESendRaw

      boolean VOESendRaw(short masterIndex, short slave, byte[] frameData, int frameSize, int timeout)
      VoE 发送原始帧
    • VOEReceiveRaw

      boolean VOEReceiveRaw(short masterIndex, short slave, com.sun.jna.ptr.PointerByReference frameData, com.sun.jna.ptr.IntByReference frameSize, int timeout)
      VoE 接收原始帧
    • SetLogCallback

      void SetLogCallback(DarraCore.LogCallback callback)
      设置日志回调
    • SetCrashCallback

      void SetCrashCallback(DarraCore.CrashNotifyCallback callback)
      设置崩溃通知回调
    • RegisterProcessDataCyclicCallbackSync

      void RegisterProcessDataCyclicCallbackSync(DarraCore.ProcessDataCyclicCallback callback)
      注册 PDO 周期同步回调
    • RegisterProcessDataCyclicCallbackAsync

      void RegisterProcessDataCyclicCallbackAsync(DarraCore.ProcessDataCyclicCallback callback)
      注册 PDO 周期异步回调。 [2026-05-21 架构清理] 原生导出已转 dormant — PDO 数据通路改为纯 GlobalIO 指针轮询, SDK 事件层不再调用此方法。声明保留以与原生导出表序号一致。
    • RegisterSlaveStateChangeCallbackSync

      void RegisterSlaveStateChangeCallbackSync(DarraCore.SlaveStateChangeCallback callback)
      注册从站状态变化同步回调
    • RegisterSlaveStateChangeCallbackAsync

      void RegisterSlaveStateChangeCallbackAsync(DarraCore.SlaveStateChangeCallback callback)
      注册从站状态变化异步回调
    • RegisterEmergencyEventCallback

      void RegisterEmergencyEventCallback(DarraCore.EmergencyEventCallback callback)
      注册紧急事件回调
    • RegisterSlaveDiscoveryCallbackSync

      void RegisterSlaveDiscoveryCallbackSync(DarraCore.SlaveDiscoveryCallback callback)
      注册从站发现同步回调
    • RegisterSlaveDiscoveryCallbackAsync

      void RegisterSlaveDiscoveryCallbackAsync(DarraCore.SlaveDiscoveryCallback callback)
      注册从站发现异步回调
    • RegisterInputDataChangedCallback

      void RegisterInputDataChangedCallback(DarraCore.InputDataChangedCallback callback)
      注册输入数据变化回调。 [2026-05-21 架构清理] 原生导出已转 dormant — PDO 数据通路改为纯 GlobalIO 指针轮询, SDK 事件层不再调用此方法。声明保留以与原生导出表序号一致。
    • RegisterRedundancyModeChangedCallback

      void RegisterRedundancyModeChangedCallback(DarraCore.RedundancyModeChangedCallback callback)
      注册冗余模式变化回调
    • RegisterPDOFrameLossCallback

      void RegisterPDOFrameLossCallback(DarraCore.PDOFrameLossCallback callback)
      注册 PDO 丢帧回调
    • RegisterSlavePreOpReconfigCallback

      void RegisterSlavePreOpReconfigCallback(DarraCore.SlavePreOpReconfigCallback callback)
      注册从站 PreOP 重配置回调
    • SetDCSyncLostCallback

      void SetDCSyncLostCallback(DarraCore.DCSyncLostCallback callback)
      设置 DC 同步丢失回调
    • RegisterSlaveIdentityMismatchCallback

      void RegisterSlaveIdentityMismatchCallback(DarraCore.SlaveIdentityMismatchCallback callback)
      注册从站身份不符回调 (v2 热插拔自修复)
    • RegisterSlavePortLinkChangedCallback

      void RegisterSlavePortLinkChangedCallback(DarraCore.SlavePortLinkChangedCallback callback)
      注册从站端口链路变化回调 (断线检测)
    • UnregisterProcessDataCyclicCallbackSync

      void UnregisterProcessDataCyclicCallbackSync(DarraCore.ProcessDataCyclicCallback callback)
      注销 PDO 周期同步回调
    • UnregisterProcessDataCyclicCallbackAsync

      void UnregisterProcessDataCyclicCallbackAsync(DarraCore.ProcessDataCyclicCallback callback)
      注销 PDO 周期异步回调
    • UnregisterSlaveStateChangeCallbackSync

      void UnregisterSlaveStateChangeCallbackSync(DarraCore.SlaveStateChangeCallback callback)
      注销从站状态变化同步回调
    • UnregisterSlaveStateChangeCallbackAsync

      void UnregisterSlaveStateChangeCallbackAsync(DarraCore.SlaveStateChangeCallback callback)
      注销从站状态变化异步回调
    • UnregisterEmergencyEventCallback

      void UnregisterEmergencyEventCallback(DarraCore.EmergencyEventCallback callback)
      注销紧急事件回调
    • UnregisterSlaveDiscoveryCallbackSync

      void UnregisterSlaveDiscoveryCallbackSync(DarraCore.SlaveDiscoveryCallback callback)
      注销从站发现同步回调
    • UnregisterSlaveDiscoveryCallbackAsync

      void UnregisterSlaveDiscoveryCallbackAsync(DarraCore.SlaveDiscoveryCallback callback)
      注销从站发现异步回调
    • UnregisterPDOFrameLossCallback

      void UnregisterPDOFrameLossCallback(DarraCore.PDOFrameLossCallback callback)
      注销 PDO 丢帧回调
    • UnregisterRedundancyModeChangedCallback

      void UnregisterRedundancyModeChangedCallback(DarraCore.RedundancyModeChangedCallback callback)
      注销冗余模式变化回调
    • UnregisterSlavePreOpReconfigCallback

      void UnregisterSlavePreOpReconfigCallback(DarraCore.SlavePreOpReconfigCallback callback)
      注销从站 PreOP 重配置回调
    • UnregisterSlaveIdentityMismatchCallback

      void UnregisterSlaveIdentityMismatchCallback(DarraCore.SlaveIdentityMismatchCallback callback)
      注销从站身份不符回调
    • UnregisterInputDataChangedCallback

      void UnregisterInputDataChangedCallback(DarraCore.InputDataChangedCallback callback)
      注销输入数据变化回调
    • UnregisterSlavePortLinkChangedCallback

      void UnregisterSlavePortLinkChangedCallback(DarraCore.SlavePortLinkChangedCallback callback)
      注销从站端口链路变化回调
    • UnsetLogCallback

      void UnsetLogCallback(DarraCore.LogCallback callback)
      取消日志回调 (与 SetLogCallback 成对)
    • UnsetCrashCallback

      void UnsetCrashCallback(DarraCore.CrashNotifyCallback callback)
      取消崩溃通知回调 (与 SetCrashCallback 成对)
    • AcknowledgeSlaveReplacement

      boolean AcknowledgeSlaveReplacement(short masterIndex, short slaveIndex)
      用户确认从站替换: 将从站 ident FSM 从 IDENT_REJECTED 复位到 SCAN_ADDR, 下一个 recovery_due tick 重新走一遍完整状态机 若身份已纠正 (换回正确设备) -> 自动恢复并触发 SlaveOnline 若仍不匹配 -> 再次触发 SlaveIdentityMismatch, 回到 IDENT_REJECTED
      返回:
      true=已接受确认; false=参数无效或从站未处于 IDENT_REJECTED 状态
    • WriteSlaveDLPORT

      boolean WriteSlaveDLPORT(short masterIndex, short slaveIndex, byte dlportValue)
      写入从站 DL Port 控制寄存器 (0x0101). @return true=写成功
    • ReadSlaveDLPORT

      boolean ReadSlaveDLPORT(short masterIndex, short slaveIndex, com.sun.jna.ptr.ByteByReference dlportValue)
      读取从站 DL Port 控制寄存器 (0x0101), 读出值回填 dlportValue. @return true=读成功
    • SetSlaveGroup

      boolean SetSlaveGroup(short masterIndex, short slaveIndex, byte group)
      设置从站所属组
    • GetSlaveGroup

      byte GetSlaveGroup(short masterIndex, short slaveIndex)
      获取从站所属组
    • SetGroupCycleDivider

      boolean SetGroupCycleDivider(short masterIndex, byte group, byte divider)
      设置组周期分频
    • GetGroupCycleDivider

      byte GetGroupCycleDivider(short masterIndex, byte group)
      获取组周期分频
    • SetGroupEnabled

      boolean SetGroupEnabled(short masterIndex, byte group, boolean enabled)
      设置组启用/禁用
    • GetGroupEnabled

      boolean GetGroupEnabled(short masterIndex, byte group)
      获取组是否启用
    • GetGroupExpectedWKC

      short GetGroupExpectedWKC(short masterIndex, byte group)
      获取组预期 WKC
    • GetActiveGroupCount

      byte GetActiveGroupCount(short masterIndex)
      获取活动组数量
    • GetGroupSlaveCount

      short GetGroupSlaveCount(short masterIndex, byte group)
      获取组内从站数量
    • WriteSlaveRegister

      boolean WriteSlaveRegister(short masterIndex, short slaveIndex, short registerAddr, byte[] data, int dataLength)
      写入从站寄存器 (FPWR)
    • ReadSlaveRegister

      boolean ReadSlaveRegister(short masterIndex, short slaveIndex, short registerAddr, byte[] data, int dataLength)
      读取从站寄存器 (FPRD)
    • SIIReadWord

      int SIIReadWord(short masterIndex, short slaveIndex, short wordAddr, com.sun.jna.ptr.ShortByReference outValue)
      读取 SII EEPROM 单字 (返回 1=成功, 0=失败)
    • SIIWriteWord

      int SIIWriteWord(short masterIndex, short slaveIndex, short wordAddr, short value)
      写入 SII EEPROM 单字 (返回 1=成功, 0=失败)
    • ConfigureSyncManager

      boolean ConfigureSyncManager(short masterIndex, short slaveIndex, byte smIndex, short startAddr, short length, byte control, boolean enable)
      配置 SyncManager
    • ConfigureFMMU

      boolean ConfigureFMMU(short masterIndex, short slaveIndex, byte fmmuIndex, int logicalAddr, short length, byte logicalStartBit, byte logicalEndBit, short physicalAddr, byte physicalStartBit, byte fmmuType, boolean enable)
      配置 FMMU
    • EnableOutputSyncManager

      boolean EnableOutputSyncManager(short masterIndex, short slaveIndex)
      启用输出 SyncManager
    • DisableOutputSyncManager

      boolean DisableOutputSyncManager(short masterIndex, short slaveIndex)
      禁用输出 SyncManager
    • SetSlaveWatchdog

      boolean SetSlaveWatchdog(short masterIndex, short slaveIndex, int timeoutMs)
      设置从站看门狗超时 (毫秒)
    • SetSlavePdiWatchdog

      boolean SetSlavePdiWatchdog(short masterIndex, short slaveIndex, int timeoutMs)
      设置从站 PDI 看门狗超时 (毫秒)
    • GetSlaveWatchdogConfig

      boolean GetSlaveWatchdogConfig(short masterIndex, short slaveIndex, DarraCore.WatchdogConfig config)
      获取从站看门狗配置
    • GetSlaveWatchdogStatus

      boolean GetSlaveWatchdogStatus(short masterIndex, short slaveIndex, DarraCore.WatchdogStatus status)
      获取从站看门狗状态
    • SetAllSlaveWatchdog

      int SetAllSlaveWatchdog(short masterIndex, int timeoutMs)
      为所有从站设置统一看门狗超时
    • SetAllSlavePdiWatchdog

      int SetAllSlavePdiWatchdog(short masterIndex, int timeoutMs)
      为所有从站设置统一PDI看门狗超时
    • GetSlaveEsmTimeouts

      boolean GetSlaveEsmTimeouts(short masterIndex, short slaveIndex, DarraCore.EsmTimeouts timeouts)
      获取从站 ESM 超时配置
    • SetSlaveEsmTimeouts

      boolean SetSlaveEsmTimeouts(short masterIndex, short slaveIndex, DarraCore.EsmTimeouts timeouts)
      设置从站 ESM 超时配置
    • GetSlaveOpOnlyFlag

      boolean GetSlaveOpOnlyFlag(short masterIndex, short slaveIndex)
      获取从站 OpOnly 标志
    • SetSlaveErrorAck

      boolean SetSlaveErrorAck(short masterIndex, short slaveIndex, boolean setAck)
      设置从站错误确认
    • GetSlaveDeviceEmulationFlag

      boolean GetSlaveDeviceEmulationFlag(short masterIndex, short slaveIndex)
      获取从站设备仿真标志
    • GetSlaveNeedsStartupReconfig

      boolean GetSlaveNeedsStartupReconfig(short masterIndex, short slaveIndex)
      获取从站是否需要启动重配置
    • ClearSlaveNeedsStartupReconfig

      void ClearSlaveNeedsStartupReconfig(short masterIndex, short slaveIndex)
      清除从站启动重配置标志
    • GetCommunicationStats

      com.sun.jna.Pointer GetCommunicationStats(short masterIndex)
      获取通信统计信息指针
    • ResetCommunicationStats

      void ResetCommunicationStats(short masterIndex)
      重置通信统计
    • GetDetailedDiagnostics

      com.sun.jna.Pointer GetDetailedDiagnostics(short masterIndex)
      获取详细诊断信息指针
    • ResetDiagnostics

      void ResetDiagnostics(short masterIndex)
      重置诊断信息
    • GetExpectedWKC

      short GetExpectedWKC(short masterIndex)
      获取期望的工作计数器
    • SetExpectedWKC

      void SetExpectedWKC(short masterIndex, short expectedWkc)
      设置期望的工作计数器
    • GetPacketLossRate

      float GetPacketLossRate(short masterIndex)
      [2026-04-27] 丢包率 (0.0~1.0) — TX vs RX, 5 秒滑窗
    • GetLateFrameRate

      float GetLateFrameRate(short masterIndex)
      [2026-04-27] 过慢帧率 (0.0~1.0) — idx 出 8 帧窗 stale, 不计入丢包
    • GetSlaveLinkQuality

      short GetSlaveLinkQuality(short masterIndex, short slaveIndex)
      获取从站链路质量
    • RecordPDOCycleStart

      void RecordPDOCycleStart(short masterIndex)
      记录 PDO 周期开始
    • RecordWKC

      void RecordWKC(short masterIndex, short wkc)
      记录工作计数器
    • UpdateDiagnosticsSnapshot

      void UpdateDiagnosticsSnapshot(short masterIndex)
      更新诊断快照
    • ResetSlavePortErrorCounters

      boolean ResetSlavePortErrorCounters(short masterIndex, short slaveIndex)
      重置从站端口错误计数器
    • GetDiagnosticsPointer

      com.sun.jna.Pointer GetDiagnosticsPointer(short masterIndex)
      获取诊断指针 (零拷贝)
    • GetSummaryPointer

      com.sun.jna.Pointer GetSummaryPointer(short masterIndex)
      获取摘要指针 (零拷贝)
    • SetDiagnosticsEnabled

      void SetDiagnosticsEnabled(short masterIndex, boolean enable)
      启用/禁用诊断功能
    • GetDiagnosticsEnabled

      boolean GetDiagnosticsEnabled(short masterIndex)
      获取诊断功能启用状态
    • GetPDOFrameLossStats

      void GetPDOFrameLossStats(short masterIndex, byte group, com.sun.jna.ptr.IntByReference totalLost, com.sun.jna.ptr.IntByReference consecutiveLost, com.sun.jna.ptr.IntByReference maxConsecutiveLost)
      获取 PDO 丢帧统计
    • ResetPDOFrameLossStats

      void ResetPDOFrameLossStats(short masterIndex, byte group)
      重置 PDO 丢帧统计
    • GetBreakPoints

      int GetBreakPoints(short masterIndex, short[] outSlaves, byte[] outPorts, byte[] outTypes, short maxResults)
      获取断点信息
    • ReadSlavePortErrorCounters

      boolean ReadSlavePortErrorCounters(short masterIndex, short slaveIndex, byte[] rxError, byte[] invalidFrame, byte[] lostLink)
      读取从站端口错误计数器
    • ReadAllSlavePortErrorCounters

      int ReadAllSlavePortErrorCounters(short masterIndex)
      读取所有从站端口错误计数器
    • GetSlavePortErrorStats

      com.sun.jna.Pointer GetSlavePortErrorStats(short masterIndex, short slaveIndex)
      获取从站端口错误统计指针
    • UpdateDiagnosticsWithESCErrors

      void UpdateDiagnosticsWithESCErrors(short masterIndex)
      使用 ESC 错误更新诊断
    • SetPDOLogging

      void SetPDOLogging(boolean enable)
      启用/禁用 PDO 日志
    • SetMailboxLogging

      void SetMailboxLogging(boolean enable)
      启用/禁用邮箱日志
    • DarraValidateTimerAccuracy

      int DarraValidateTimerAccuracy(int expectedUsec, int toleranceUsec)
      验证定时器精度
    • SetDebugLogging

      void SetDebugLogging(boolean enable)
      启用/禁用调试日志
    • PDOReadDirect

      byte PDOReadDirect(short masterIndex, short slaveIndex, short pdoIndex, com.sun.jna.Pointer dataBuffer, int bufferSize, com.sun.jna.ptr.IntByReference bytesRead)
      PDO 直接读取. C 返回 boolean(uint8); Java 用 byte, 上层 != 0 判真.
    • PDOWriteDirect

      byte PDOWriteDirect(short masterIndex, short slaveIndex, short pdoIndex, com.sun.jna.Pointer dataBuffer, int dataSize)
      PDO 直接写入. C 返回 boolean(uint8); Java 用 byte, 上层 != 0 判真.
    • PDOBatchRead

      int PDOBatchRead(short masterIndex, short[] slaveIndices, int slaveCount, com.sun.jna.Pointer[] dataBuffers, int[] bufferSizes, int[] bytesRead)
      PDO 批量读取. C 返回 uint32 (成功操作的从站数).
    • PDOBatchWrite

      int PDOBatchWrite(short masterIndex, short[] slaveIndices, int slaveCount, com.sun.jna.Pointer[] dataBuffers, int[] dataSizes)
      PDO 批量写入. C 返回 uint32 (成功操作的从站数).
    • GetPDOStats

      com.sun.jna.Pointer GetPDOStats(short masterIndex, short slaveIndex)
      获取 PDO 统计信息指针 (指向 native pdo_stats_t, 用
      引用无效
      Structures.PDOStats
      解析).
    • ResetPDOStats

      void ResetPDOStats(short masterIndex, short slaveIndex)
      重置 PDO 统计
    • EnablePDOMonitoring

      void EnablePDOMonitoring(byte enable)
      启用/禁用 PDO 监控. C 形参为 boolean(uint8); Java 用 byte (1=启用, 0=禁用).
    • IsPDOMonitoringEnabled

      byte IsPDOMonitoringEnabled()
      获取 PDO 监控启用状态. C 返回 boolean(uint8); Java 用 byte, 上层 != 0 判真.
    • GetPDOMapping

      byte GetPDOMapping(short masterIndex, short slaveIndex, short pdoType, com.sun.jna.Pointer mappingBuffer, int bufferSize, com.sun.jna.ptr.IntByReference mappingCount)
      获取 PDO 映射. C 返回 boolean(uint8); Java 用 byte, 上层 != 0 判真.
    • SetRedProcessdata

      void SetRedProcessdata(int mode)
      设置冗余处理模式
    • GetRedProcessdata

      int GetRedProcessdata()
      获取冗余处理模式
    • EnableRedundancy

      boolean EnableRedundancy(short masterIndex, boolean enable)
      启用/禁用冗余
    • GetRedundancyStatus

      com.sun.jna.Pointer GetRedundancyStatus(short masterIndex)
      获取冗余状态指针
    • ForceRedundancyFailover

      boolean ForceRedundancyFailover(short masterIndex)
      强制冗余故障切换
    • CheckRedundancyHealth

      boolean CheckRedundancyHealth(short masterIndex)
      检查冗余健康状态
    • GetRingMode

      int GetRingMode(short masterIndex)
      获取环拓扑冗余模式 (0=Inactive, 1=Dual, 2=Degraded)
    • GetSecondaryLinkStatus

      boolean GetSecondaryLinkStatus(short masterIndex)
      获取冗余链路状态
    • ApplyRealtimeOptimizations

      boolean ApplyRealtimeOptimizations()
      应用实时优化
    • RemoveRealtimeOptimizations

      boolean RemoveRealtimeOptimizations()
      移除实时优化
    • GetRealtimeOptimizationsStatus

      boolean GetRealtimeOptimizationsStatus()
      获取实时优化状态
    • AbortScan

      void AbortScan()
      中止网络扫描
    • ResetScanAbort

      void ResetScanAbort()
      重置扫描中止标志
    • AbortNetwork

      void AbortNetwork()
      中止网络操作
    • ResetAbortNetwork

      void ResetAbortNetwork()
      重置网络中止标志
    • EmergencyCloseNics

      void EmergencyCloseNics()
      紧急关闭所有网卡句柄
    • SetMasterLoopCycleTime

      void SetMasterLoopCycleTime(short masterIndex, int timeNs)
      设置主站 PDO 循环时间 (纳秒)
    • GetTimingMode

      int GetTimingMode(short masterIndex)
      获取定时模式
    • GetAvailableCpuCores

      int GetAvailableCpuCores()
      获取可用 CPU 核心数
    • SetMasterCpuAffinity

      boolean SetMasterCpuAffinity(short masterIndex, int cpuCore)
      设置主站 CPU 亲和性
    • SetProcessCpuAffinity

      boolean SetProcessCpuAffinity(int cpuCore)
      设置进程 CPU 亲和性
    • SetPDOThreadCpuAffinity

      boolean SetPDOThreadCpuAffinity(short masterIndex, int cpuCore)
      设置 PDO 线程 CPU 亲和性
    • GetPDOThreadCpuAffinity

      int GetPDOThreadCpuAffinity(short masterIndex)
      获取 PDO 线程 CPU 亲和性
    • SetUdpMode

      boolean SetUdpMode(short masterIndex, boolean enable)
      设置 UDP 模式
    • GetUdpMode

      boolean GetUdpMode(short masterIndex)
      获取 UDP 模式
    • IsUdpAvailable

      boolean IsUdpAvailable(short masterIndex)
      检查 UDP 是否可用
    • IsWdkAvailable

      boolean IsWdkAvailable(short masterIndex)
      检查 WDK 是否可用
    • SetWdkMode

      boolean SetWdkMode(short masterIndex, boolean enable)
      设置 WDK 模式
    • GetWdkMode

      boolean GetWdkMode(short masterIndex)
      获取 WDK 模式
    • StartWdkRT

      boolean StartWdkRT(short masterIndex, int cycleUs, int cpuIndex)
      启动 WDK 实时线程
    • StopWdkRT

      boolean StopWdkRT(short masterIndex)
      停止 WDK 实时线程
    • CiA402_ParseState

      int CiA402_ParseState(short statusword)
      解析状态字, 返回 CiA 402 状态值
    • CiA402_GetEnableCommand

      short CiA402_GetEnableCommand(short statusword)
      根据当前状态字计算使能控制字
    • CiA402_SetMode

      boolean CiA402_SetMode(short master, short slave, byte mode)
      设置运行模式 (0x6060)
    • CiA402_GetMode

      byte CiA402_GetMode(short master, short slave)
      获取当前运行模式 (0x6061)
    • CiA402_ReadStatusWord

      short CiA402_ReadStatusWord(short master, short slave)
      读取状态字 (0x6041)
    • CiA402_WriteControlWord

      boolean CiA402_WriteControlWord(short master, short slave, short cw)
      写入控制字 (0x6040)
    • CiA402_Enable

      boolean CiA402_Enable(short master, short slave, int maxRetries)
      自动使能驱动器 (状态机链式推进)
    • CiA402_FaultReset

      boolean CiA402_FaultReset(short master, short slave)
      故障复位
    • EmcyGetHistory

      int EmcyGetHistory(short master, short slave, DarraCore.EmcyRecord[] out, int max)
      获取 EMCY 历史记录
    • EmcyClearHistory

      void EmcyClearHistory(short master, short slave)
      清除 EMCY 历史记录
    • EmcyGetCount

      int EmcyGetCount(short master, short slave)
      获取 EMCY 记录数量
    • PDOReadInputU8

      byte PDOReadInputU8(short mi, short si, int off)
      读取输入 PDO: 无符号 8 位
    • PDOReadInputI16

      short PDOReadInputI16(short mi, short si, int off)
      读取输入 PDO: 有符号 16 位
    • PDOReadInputU16

      short PDOReadInputU16(short mi, short si, int off)
      读取输入 PDO: 无符号 16 位
    • PDOReadInputI32

      int PDOReadInputI32(short mi, short si, int off)
      读取输入 PDO: 有符号 32 位
    • PDOReadInputU32

      int PDOReadInputU32(short mi, short si, int off)
      读取输入 PDO: 无符号 32 位
    • PDOReadInputF32

      float PDOReadInputF32(short mi, short si, int off)
      读取输入 PDO: 32 位浮点
    • PDOWriteOutputU8

      boolean PDOWriteOutputU8(short mi, short si, int off, byte val)
      写入输出 PDO: 无符号 8 位
    • PDOWriteOutputI16

      boolean PDOWriteOutputI16(short mi, short si, int off, short val)
      写入输出 PDO: 有符号 16 位
    • PDOWriteOutputU16

      boolean PDOWriteOutputU16(short mi, short si, int off, short val)
      写入输出 PDO: 无符号 16 位
    • PDOWriteOutputI32

      boolean PDOWriteOutputI32(short mi, short si, int off, int val)
      写入输出 PDO: 有符号 32 位
    • PDOWriteOutputU32

      boolean PDOWriteOutputU32(short mi, short si, int off, int val)
      写入输出 PDO: 无符号 32 位
    • PDOWriteOutputF32

      boolean PDOWriteOutputF32(short mi, short si, int off, float val)
      写入输出 PDO: 32 位浮点
    • PdoReadInt8

      byte PdoReadInt8(short master, short slave, int offset)
      类型化读取 PDO: 有符号 8 位 (int8_t). @return 读取值 (有符号字节)
    • PdoReadInt16

      short PdoReadInt16(short master, short slave, int offset)
      类型化读取 PDO: 有符号 16 位 (int16_t). @return 读取值
    • PdoReadInt32

      int PdoReadInt32(short master, short slave, int offset)
      类型化读取 PDO: 有符号 32 位 (int32_t). @return 读取值
    • PdoReadUint8

      byte PdoReadUint8(short master, short slave, int offset)
      类型化读取 PDO: 无符号 8 位 (uint8_t). Java byte 有符号, 上层 & 0xFF.
    • PdoReadUint16

      short PdoReadUint16(short master, short slave, int offset)
      类型化读取 PDO: 无符号 16 位 (uint16_t). Java short 有符号, 上层 & 0xFFFF.
    • PdoReadUint32

      int PdoReadUint32(short master, short slave, int offset)
      类型化读取 PDO: 无符号 32 位 (uint32_t). Java int 有符号, 上层 & 0xFFFFFFFFL.
    • PdoWriteInt8

      void PdoWriteInt8(short master, short slave, int offset, byte value)
      类型化写入 PDO: 有符号 8 位 (int8_t). C 端返回 void.
    • PdoWriteInt16

      void PdoWriteInt16(short master, short slave, int offset, short value)
      类型化写入 PDO: 有符号 16 位 (int16_t). C 端返回 void.
    • PdoWriteInt32

      void PdoWriteInt32(short master, short slave, int offset, int value)
      类型化写入 PDO: 有符号 32 位 (int32_t). C 端返回 void.
    • PdoWriteUint8

      void PdoWriteUint8(short master, short slave, int offset, byte value)
      类型化写入 PDO: 无符号 8 位 (uint8_t). C 端返回 void.
    • PdoWriteUint16

      void PdoWriteUint16(short master, short slave, int offset, short value)
      类型化写入 PDO: 无符号 16 位 (uint16_t). C 端返回 void.
    • PdoWriteUint32

      void PdoWriteUint32(short master, short slave, int offset, int value)
      类型化写入 PDO: 无符号 32 位 (uint32_t). C 端返回 void.
    • GetTopology

      int GetTopology(short master_index, com.sun.jna.Pointer out_nodes, int max_nodes)
      获取拓扑信息, 返回从站数量
    • TopologyBuild

      int TopologyBuild(short master, DarraCore.TopologyNode[] out, int max)
      构建网络拓扑
    • TopologyGetChildren

      int TopologyGetChildren(short master, short parent, short[] out, int max)
      获取指定从站的子节点列表
    • TopologyGetRoots

      int TopologyGetRoots(short master, short[] out, int max)
      获取拓扑根节点列表
    • GetSlaveDCReceiveTimeA

      int GetSlaveDCReceiveTimeA(short masterIndex, short slaveIndex)
      获取从站端口 A 接收时间 (纳秒)
    • GetSlaveDCReceiveTimeB

      int GetSlaveDCReceiveTimeB(short masterIndex, short slaveIndex)
      获取从站端口 B 接收时间 (纳秒)
    • GetSlaveDCReceiveTimeC

      int GetSlaveDCReceiveTimeC(short masterIndex, short slaveIndex)
      获取从站端口 C 接收时间 (纳秒)
    • GetSlaveDCReceiveTimeD

      int GetSlaveDCReceiveTimeD(short masterIndex, short slaveIndex)
      获取从站端口 D 接收时间 (纳秒)
    • GetSlaveRedundancyActivated

      boolean GetSlaveRedundancyActivated(short masterIndex, short slaveIndex)
      获取从站冗余是否已激活
    • GetSlavePrimaryLinkBroken

      boolean GetSlavePrimaryLinkBroken(short masterIndex, short slaveIndex)
      获取从站主线路是否断路
    • GetSlaveSecondaryLinkBroken

      boolean GetSlaveSecondaryLinkBroken(short masterIndex, short slaveIndex)
      获取从站冗余线路是否断路
    • GetSlaveHasEsi

      boolean GetSlaveHasEsi(short masterIndex, short slaveIndex)
      获取从站是否已加载 ESI
    • GetSlaveEsiVersion

      boolean GetSlaveEsiVersion(short masterIndex, short slaveIndex, byte[] buf, int bufSize)
      获取从站 ESI 版本 (写入缓冲区, 返回是否成功)
    • GetSlaveHasMDP

      boolean GetSlaveHasMDP(short masterIndex, short slaveIndex)
      获取从站是否支持 MDP
    • SetSlaveEsiFile

      int SetSlaveEsiFile(short masterIndex, short slaveIndex, String name)
      设置从站 ESI 文件路径
    • EcEsi_LoadFile

      int EcEsi_LoadFile(String filePath)
      加载单个 ESI XML 文件到 ESI 库. 返回加载的 device 数量, 无效输入:'<'0 失败.
    • EcEsi_LoadDirectory

      int EcEsi_LoadDirectory(String dirPath)
      递归加载目录下所有 .xml 文件到 ESI 库. 返回加载的 device 数量, 无效输入:'<'0 失败.
    • EcEsi_Clear

      void EcEsi_Clear()
      清空 ESI 库 (释放所有已加载的设备描述).
    • EcEsi_GetLoadedCount

      int EcEsi_GetLoadedCount()
      返回 ESI 库当前已加载的 device 数量.
    • EcEsi_BindToSlave

      int EcEsi_BindToSlave(short masterIndex, short slaveIndex, String filePath)
      把指定 ESI 文件绑定到指定从站 (按 VID/PID 显式覆盖自动匹配).
    • EcEsi_AutoMatchAll

      int EcEsi_AutoMatchAll(short masterIndex)
      自动给本主站所有从站匹配 ESI (按 VID/PID 在 ESI 库内找最高 Revision). 返回匹配成功数.
    • EcEsi_RegisterStartupParameters

      int EcEsi_RegisterStartupParameters(short masterIndex, short slaveIndex)
      把单个从站的 InitCmd / Mailbox / 启动 SDO 注册到 master 启动序列 (PreOp 前生效).
    • EcEsi_ApplyAllSlaves

      int EcEsi_ApplyAllSlaves(short masterIndex)
      对所有已匹配 ESI 的从站批量注册启动参数. 返回注册成功的从站数.
    • GetSlaveVendorName

      int GetSlaveVendorName(short masterIndex, short slaveIndex, com.sun.jna.Pointer buf, int bufLen)
      获取从站厂商名称 (写入缓冲区, 返回实际长度)
    • GetSlaveActivePorts

      byte GetSlaveActivePorts(short masterIndex, short slaveIndex)
      获取从站活动端口
    • GetSlaveParent

      short GetSlaveParent(short masterIndex, short slaveIndex)
      获取从站父节点索引 (uint16).

      注意: 返回 short 是 JNA 习惯, 实际为 uint16. 无父节点 (拓扑根) 时 native 层返回 sentinel 0xFFFF, 在 Java 中表现为 -1 (符号位扩展). 调用方必须用 (result & 0xFFFF) 转换为无 符号比较, 或显式判 result == (short)0xFFFF, 不要直接 result < 0.

    • VerifyAllSlaveIdentities

      boolean VerifyAllSlaveIdentities(short masterIndex, DarraCore.SlaveIdentity[] expectedIdentities, int slaveCount, boolean checkRevision, boolean checkSerial, long[] mismatchMask)
      批量验证所有从站身份
    • GetMasterIdentity

      boolean GetMasterIdentity(short masterIndex, DarraCore.MasterIdentity identity)
      获取主站身份信息 (ETG.1510 对象 0x1018)
    • GetMasterDiagData

      boolean GetMasterDiagData(short masterIndex, DarraCore.MasterDiagData diag)
      获取主站诊断数据 (ETG.1510 对象 0xF120)
    • ec_validate_config

      int ec_validate_config(short masterIndex)
      验证主站配置
    • ec_perf_export_csv

      int ec_perf_export_csv(short masterIndex, String filepath)
      导出性能统计到 CSV 文件
    • FSoEInitConnection

      boolean FSoEInitConnection(short masterIndex, short slaveIndex, DarraCore.FSoEConfig config)
      初始化从站的 FSoE 连接
    • FSoECloseConnection

      boolean FSoECloseConnection(short masterIndex, short slaveIndex)
      关闭 FSoE 连接
    • FSoEGetStatus

      boolean FSoEGetStatus(short masterIndex, short slaveIndex, DarraCore.FSoEStatus status)
      获取 FSoE 连接状态
    • FSoERequestState

      boolean FSoERequestState(short masterIndex, short slaveIndex, int targetState)
      请求 FSoE 状态转换
    • FSoEGetState

      int FSoEGetState(short masterIndex, short slaveIndex)
      获取当前 FSoE 状态
    • FSoEReset

      boolean FSoEReset(short masterIndex, short slaveIndex)
      重置 FSoE 连接到初始状态
    • FSoEWriteSafeOutput

      boolean FSoEWriteSafeOutput(short masterIndex, short slaveIndex, byte[] data, int size)
      写入安全输出数据
    • FSoEReadSafeInput

      boolean FSoEReadSafeInput(short masterIndex, short slaveIndex, byte[] data, com.sun.jna.ptr.IntByReference size)
      读取安全输入数据
    • FSoEDownloadParameters

      boolean FSoEDownloadParameters(short masterIndex, short slaveIndex, byte[] paramData, int paramSize, com.sun.jna.ptr.IntByReference sraCrc)
      下载安全参数 (在 PARAMETER 状态)
    • FSoESetFailsafeOutput

      boolean FSoESetFailsafeOutput(short masterIndex, short slaveIndex, byte[] data, int size)
      设置失效安全输出值
    • FSoECheckWatchdog

      boolean FSoECheckWatchdog(short masterIndex, short slaveIndex)
      检查看门狗状态
    • FSoEGetLastError

      int FSoEGetLastError(short masterIndex, short slaveIndex)
      获取最后的 FSoE 错误
    • FSoEClearError

      void FSoEClearError(short masterIndex, short slaveIndex)
      清除 FSoE 错误
    • FSoEIsSlaveCapable

      boolean FSoEIsSlaveCapable(short masterIndex, short slaveIndex)
      检查从站是否支持 FSoE
    • FSoEGetConnectionCount

      short FSoEGetConnectionCount(short masterIndex)
      获取主站的 FSoE 连接数
    • FSoEProcessCycle

      void FSoEProcessCycle(short masterIndex)
      处理 FSoE 帧 (由 PDO 循环调用)
    • DxSafeMdpInitConnection

      boolean DxSafeMdpInitConnection(short masterIndex, short slaveIndex, short connectionIndex, DarraCore.SafeMdpConfig config)
      初始化 MDP 从站的指定连接
    • DxSafeMdpCloseConnection

      boolean DxSafeMdpCloseConnection(short masterIndex, short slaveIndex, short connectionIndex)
      关闭 MDP 从站的指定连接
    • DxSafeMdpGetStatus

      boolean DxSafeMdpGetStatus(short masterIndex, short slaveIndex, short connectionIndex, DarraCore.FSoEStatus status)
      获取指定连接的状态
    • DxSafeMdpRequestState

      boolean DxSafeMdpRequestState(short masterIndex, short slaveIndex, short connectionIndex, int targetState)
      请求指定连接的状态转换
    • DxSafeMdpGetState

      int DxSafeMdpGetState(short masterIndex, short slaveIndex, short connectionIndex)
      获取指定连接的当前状态
    • DxSafeMdpReset

      boolean DxSafeMdpReset(short masterIndex, short slaveIndex, short connectionIndex)
      重置指定连接
    • DxSafeMdpWriteSafeOutput

      boolean DxSafeMdpWriteSafeOutput(short masterIndex, short slaveIndex, short connectionIndex, byte[] data, int size)
      写入指定连接的安全输出数据
    • DxSafeMdpReadSafeInput

      boolean DxSafeMdpReadSafeInput(short masterIndex, short slaveIndex, short connectionIndex, byte[] data, com.sun.jna.ptr.IntByReference size)
      读取指定连接的安全输入数据
    • DxSafeMdpDownloadParameters

      boolean DxSafeMdpDownloadParameters(short masterIndex, short slaveIndex, short connectionIndex, byte[] paramData, int paramSize, com.sun.jna.ptr.IntByReference sraCrc)
      下载指定连接的安全参数
    • DxSafeMdpSetFailsafeOutput

      boolean DxSafeMdpSetFailsafeOutput(short masterIndex, short slaveIndex, short connectionIndex, byte[] data, int size)
      设置指定连接的失效安全输出值
    • DxSafeMdpCheckWatchdog

      boolean DxSafeMdpCheckWatchdog(short masterIndex, short slaveIndex, short connectionIndex)
      检查指定连接的看门狗状态
    • DxSafeMdpGetLastError

      int DxSafeMdpGetLastError(short masterIndex, short slaveIndex, short connectionIndex)
      获取指定连接的最后错误
    • DxSafeMdpClearError

      void DxSafeMdpClearError(short masterIndex, short slaveIndex, short connectionIndex)
      清除指定连接的错误
    • DxSafeMdpGetSlaveConnectionCount

      short DxSafeMdpGetSlaveConnectionCount(short masterIndex, short slaveIndex)
      获取从站的 FSoE 连接数量
    • DxSafeMdpDetectConnections

      short DxSafeMdpDetectConnections(short masterIndex, short slaveIndex)
      检测从站是否为 MDP 设备并返回支持的 FSoE 连接数
    • DxSafeMdpGetDeviceAddress

      boolean DxSafeMdpGetDeviceAddress(short masterIndex, short slaveIndex, com.sun.jna.ptr.ShortByReference safetyAddress)
      读取从站的设备级 FSoE 安全地址 (0xF980:01)
    • DxSafeMdpGetModuleCommParam

      boolean DxSafeMdpGetModuleCommParam(short masterIndex, short slaveIndex, short moduleNumber, byte[] paramData, com.sun.jna.ptr.IntByReference paramSize)
      读取指定模块的 FSoE 通信参数 (0x9nn1)
    • DxSafeMdpGetModuleDiagnosis

      boolean DxSafeMdpGetModuleDiagnosis(short masterIndex, short slaveIndex, short moduleNumber, com.sun.jna.ptr.ShortByReference connectionState, com.sun.jna.ptr.ShortByReference connectionDiagnosis)
      读取指定模块的 FSoE 诊断数据 (0xAnn0)
    • GetSlaveAliasAddr

      short GetSlaveAliasAddr(short masterIndex, short slaveIndex)
      获取从站别名地址
    • GetSlaveName

      int GetSlaveName(short masterIndex, short slaveIndex, byte[] buf, int bufSize)
      获取从站名称 (EEPROM).

      C 原型: int GetSlaveName(uint16_t master, uint16_t slave, char* buf, int buf_size) — 调用方提供缓冲区, 返回写入字节数 (<=0 表示失败). 之前误声明为 String GetSlaveName(short, short), 缺失 buf/buf_size 两个实参, 导致 C 端从 R8/R9 寄存器读取垃圾指针/长度并写入 → 原生栈/内存破坏 → STATUS_STACK_OVERFLOW (0xC00000FD). 修正为 C# 基准一致的缓冲区签名.

    • GetSlaveDeviceName

      int GetSlaveDeviceName(short masterIndex, short slaveIndex, byte[] buf, int bufSize)
      获取从站设备名称 (SDO 0x1008).

      C 原型: int GetSlaveDeviceName(uint16_t master, uint16_t slave, char* buf, int buf_size). 见 GetSlaveName(short, short, byte[], int) 修复说明.

    • GetSlaveVendorId

      int GetSlaveVendorId(short masterIndex, short slaveIndex)
      获取从站厂商 ID
    • GetSlaveProductCode

      int GetSlaveProductCode(short masterIndex, short slaveIndex)
      获取从站产品代码
    • GetSlaveRevision

      int GetSlaveRevision(short masterIndex, short slaveIndex)
      获取从站修订版本号
    • GetSlaveSerialNumber

      int GetSlaveSerialNumber(short masterIndex, short slaveIndex)
      获取从站序列号
    • GetSlaveConfigAddr

      short GetSlaveConfigAddr(short masterIndex, short slaveIndex)
      获取从站配置地址
    • GetSlaveIsLost

      boolean GetSlaveIsLost(short masterIndex, short slaveIndex)
      获取从站是否丢失
    • GetSlaveHasDC

      boolean GetSlaveHasDC(short masterIndex, short slaveIndex)
      获取从站是否支持 DC
    • GetSlaveInputBits

      short GetSlaveInputBits(short masterIndex, short slaveIndex)
      获取从站输入位数
    • GetSlaveInputBytes

      int GetSlaveInputBytes(short masterIndex, short slaveIndex)
      获取从站输入字节数
    • GetSlaveInputOffset

      int GetSlaveInputOffset(short masterIndex, short slaveIndex)
      获取从站输入偏移
    • GetSlaveInputStartBit

      byte GetSlaveInputStartBit(short masterIndex, short slaveIndex)
      获取从站输入起始位
    • GetSlaveOutputBits

      short GetSlaveOutputBits(short masterIndex, short slaveIndex)
      获取从站输出位数
    • GetSlaveOutputBytes

      int GetSlaveOutputBytes(short masterIndex, short slaveIndex)
      获取从站输出字节数
    • GetSlaveOutputOffset

      int GetSlaveOutputOffset(short masterIndex, short slaveIndex)
      获取从站输出偏移
    • GetSlaveOutputStartBit

      byte GetSlaveOutputStartBit(short masterIndex, short slaveIndex)
      获取从站输出起始位
    • GetSlaveBlockLRW

      boolean GetSlaveBlockLRW(short masterIndex, short slaveIndex)
      获取从站 BlockLRW 标志
    • GetSlaveEbusCurrent

      short GetSlaveEbusCurrent(short masterIndex, short slaveIndex)
      获取从站 E-bus 电流 (mA)
    • GetSlaveEep8Byte

      boolean GetSlaveEep8Byte(short masterIndex, short slaveIndex)
      获取从站 EEPROM 8字节寻址
    • GetSlaveEepPDI

      byte GetSlaveEepPDI(short masterIndex, short slaveIndex)
      获取从站 PDI 类型
    • GetSlaveCoEDetails

      byte GetSlaveCoEDetails(short masterIndex, short slaveIndex)
      获取从站 CoE 详情
    • GetSlaveFoEDetails

      byte GetSlaveFoEDetails(short masterIndex, short slaveIndex)
      获取从站 FoE 详情
    • GetSlaveEoEDetails

      byte GetSlaveEoEDetails(short masterIndex, short slaveIndex)
      获取从站 EoE 详情
    • GetSlaveSoEDetails

      byte GetSlaveSoEDetails(short masterIndex, short slaveIndex)
      获取从站 SoE 详情
    • GetSlaveMailboxProto

      short GetSlaveMailboxProto(short masterIndex, short slaveIndex)
      获取从站邮箱协议类型
    • GetSlaveMailboxWriteLength

      short GetSlaveMailboxWriteLength(short masterIndex, short slaveIndex)
      获取从站邮箱写入长度
    • GetSlaveMailboxReadLength

      short GetSlaveMailboxReadLength(short masterIndex, short slaveIndex)
      获取从站邮箱读取长度
    • GetSlaveMailboxReadOffset

      short GetSlaveMailboxReadOffset(short masterIndex, short slaveIndex)
      获取从站邮箱读取偏移
    • GetSlaveMailboxWriteOffset

      short GetSlaveMailboxWriteOffset(short masterIndex, short slaveIndex)
      获取从站邮箱写入偏移
    • GetSlaveMbxCount

      byte GetSlaveMbxCount(short masterIndex, short slaveIndex)
      获取从站邮箱计数器
    • GetSlaveSMLength

      short GetSlaveSMLength(short masterIndex, short slaveIndex, byte smIdx)
      查询从站 SyncManager 长度 (字节, 主机字节序). 与 C# GetSlaveSMLength 对齐.

      PDO 能力检测: SM2 (Output PDO) / SM3 (Input PDO) 长度为 0 表示未配置 PDO 映射.

      参数:
      smIdx - SyncManager 索引 (0..7)
      返回:
      SM 长度 (字节), unsigned 上层 & 0xFFFF; 0=未配置/参数错
    • EcxMbxGetStats

      int EcxMbxGetStats(short masterIndex, short slave, byte protocolType, DarraCore.MbxStatsNative stats)
      查询 per-slave / per-protocol 邮箱统计.
      参数:
      protocolType - MBX 协议类型 (CoE=0x03, FoE=0x04, SoE=0x05, AoE=0x01, EoE=0x02, VoE=0x0F, FSoE=0x08; 0=全部累加)
      stats - 输出: 统计快照
      返回:
      1=成功 (MBX_STATUS_SUCCESS), 其他=错误
    • EcxMbxResetStats

      void EcxMbxResetStats(short masterIndex, short slave, byte protocolType)
      重置 per-slave / per-protocol 邮箱统计.
      参数:
      protocolType - 协议类型; 0=清空所有协议
    • EcxMbxSubmitAsync

      int EcxMbxSubmitAsync(short masterIndex, DarraCore.MbxTransactionNative.ByReference txn, com.sun.jna.ptr.IntByReference outTicket)
      异步投递邮箱事务. 立即返回, 凭 ticket 等待/取消.
      参数:
      txn - 事务对象 (调用者填 slave/protocol_type/request_frame 等)
      outTicket - 输出: 票据
      返回:
      1=成功, 其他=错误
    • EcxMbxWait

      int EcxMbxWait(short masterIndex, int ticket, int timeoutMs)
      等待异步邮箱事务完成.
      参数:
      ticket - submit 返回的票据
      timeoutMs - 超时 (毫秒), 负值=无限等待
      返回:
      1=成功, 其他=错误
    • EcxMbxCancel

      int EcxMbxCancel(short masterIndex, int ticket)
      取消异步邮箱事务.
      参数:
      ticket - submit 返回的票据
      返回:
      1=成功, 其他=错误
    • EcxMbxGetResult

      int EcxMbxGetResult(short masterIndex, int ticket, DarraCore.MbxTransactionNative.ByReference txn)
      查询异步邮箱事务的完整结果. 必须在 wait 返回后调用; ticket 仍 PENDING/RUNNING 时返回 INVALID_ARG.
      参数:
      ticket - submit 返回的票据
      txn - 输出: 完整事务快照
      返回:
      1=成功, 其他=错误
    • GetSlaveFMMU0Function

      byte GetSlaveFMMU0Function(short masterIndex, short slaveIndex)
      获取从站 FMMU0 功能
    • GetSlaveFMMU1Function

      byte GetSlaveFMMU1Function(short masterIndex, short slaveIndex)
      获取从站 FMMU1 功能
    • GetSlaveFMMU2Function

      byte GetSlaveFMMU2Function(short masterIndex, short slaveIndex)
      获取从站 FMMU2 功能
    • GetSlaveFMMU3Function

      byte GetSlaveFMMU3Function(short masterIndex, short slaveIndex)
      获取从站 FMMU3 功能
    • GetSlaveDCActive

      short GetSlaveDCActive(short masterIndex, short slaveIndex)
      获取从站 DC AssignActivate 值
    • GetSlaveDCCycle0

      int GetSlaveDCCycle0(short masterIndex, short slaveIndex)
      获取从站 SYNC0 周期 (纳秒)
    • GetSlaveDCCycle1

      int GetSlaveDCCycle1(short masterIndex, short slaveIndex)
      获取从站 SYNC1 周期 (纳秒)
    • GetSlaveDCShift

      int GetSlaveDCShift(short masterIndex, short slaveIndex)
      获取从站 DC 偏移 (纳秒)
    • GetSlaveDCNext

      short GetSlaveDCNext(short masterIndex, short slaveIndex)
      获取从站 DC 下一个索引
    • GetSlaveDCPrevious

      short GetSlaveDCPrevious(short masterIndex, short slaveIndex)
      获取从站 DC 上一个索引
    • GetSlavePDelay

      int GetSlavePDelay(short masterIndex, short slaveIndex)
      获取从站传播延迟
    • GetSlaveEntryPort

      byte GetSlaveEntryPort(short masterIndex, short slaveIndex)
      获取从站入口端口
    • GetSlaveParentPort

      byte GetSlaveParentPort(short masterIndex, short slaveIndex)
      获取从站父端口
    • GetSlaveParentStation

      short GetSlaveParentStation(short masterIndex, short slaveIndex)
      获取从站父站地址
    • GetSlavePhysicalType

      byte GetSlavePhysicalType(short masterIndex, short slaveIndex)
      获取从站物理类型
    • GetSlaveTopologyType

      byte GetSlaveTopologyType(short masterIndex, short slaveIndex)
      获取从站拓扑类型
    • GetSlaveConsumedPorts

      byte GetSlaveConsumedPorts(short masterIndex, short slaveIndex)
      获取从站已使用端口
    • FSoEValidateConnId

      boolean FSoEValidateConnId(short connId)
      校验 FSoE Connection ID 是否可用 / validate FSoE Connection ID availability.
      参数:
      connId - 候选 Connection ID (1..65535) / candidate Connection ID.
      返回:
      true=可用 (未占用且非 0) / true when the ID is free and non-zero.
    • coe_diag_poll_new_available

      int coe_diag_poll_new_available(short masterIndex, short slaveIndex, com.sun.jna.ptr.IntByReference outAbortCode)
      轮询 0x10F3:04 "NewAvailable" 标志 / poll 0x10F3:04 "NewAvailable".
      返回:
      1=有新消息 / new msg available, 0=无, -1=通信失败.
    • coe_diag_read_meta

      int coe_diag_read_meta(short masterIndex, short slaveIndex, com.sun.jna.ptr.ByteByReference maxMsgs, com.sun.jna.ptr.ByteByReference newest, com.sun.jna.ptr.ByteByReference acknowledged, com.sun.jna.ptr.ShortByReference flags16, com.sun.jna.ptr.IntByReference outAbortCode)
      读 0x10F3 元数据 / read 0x10F3:01..05 meta (MaxMessages / Newest / Acked / Flags).
      返回:
      1=OK, 其他=失败.
    • coe_diag_read_message

      int coe_diag_read_message(short masterIndex, short slaveIndex, byte msgSubidx, byte[] outBuf, int bufCap, com.sun.jna.ptr.IntByReference outLen, com.sun.jna.ptr.IntByReference outAbortCode)
      读 0x10F3:msg_subidx (6..255) 指定诊断消息 / read the specified diagnosis message.
      返回:
      1=OK, 其他=失败.
    • coe_diag_acknowledge

      int coe_diag_acknowledge(short masterIndex, short slaveIndex, byte ackSubidx, com.sun.jna.ptr.IntByReference outAbortCode)
      确认已处理消息 / acknowledge the newest-processed sub-index.
      返回:
      1=OK, 其他=失败.
    • coe_get_od_list

      com.sun.jna.Pointer coe_get_od_list(short masterIndex, short slaveIndex)
      读对象索引清单. 返回 ec_ODlistt*, coe_free_odlist 释放. NULL=失败.
    • coe_get_object_desc

      com.sun.jna.Pointer coe_get_object_desc(short masterIndex, short slaveIndex, short index)
      读单个对象 Description (DataType/MaxSub/Name). NULL=失败.
    • coe_get_entry_desc

      com.sun.jna.Pointer coe_get_entry_desc(short masterIndex, short slaveIndex, short index, byte subindex)
      读单个 Entry Description (DataType/BitLength/ObjAccess/Name). NULL=失败.
    • coe_free_odlist

      void coe_free_odlist(com.sun.jna.Pointer p)
      释放 coe_get_od_list / coe_get_object_desc 返回的指针.
    • coe_free_oelist

      void coe_free_oelist(com.sun.jna.Pointer p)
      释放 coe_get_entry_desc 返回的指针.
    • AL_StatusCode_GetDescription

      com.sun.jna.Pointer AL_StatusCode_GetDescription(short code)
    • AL_StatusCode_GetSeverity

      int AL_StatusCode_GetSeverity(short code)
    • AL_StatusCode_GetRecoveryHint

      com.sun.jna.Pointer AL_StatusCode_GetRecoveryHint(short code)
    • AL_StatusCode_IsVendorSpecific

      int AL_StatusCode_IsVendorSpecific(short code)
    • SDOAbort_GetDescription

      com.sun.jna.Pointer SDOAbort_GetDescription(int abortCode)
    • SDOAbort_GetCategory

      int SDOAbort_GetCategory(int abortCode)
    • SDOAbort_IsRetryable

      int SDOAbort_IsRetryable(int abortCode)
    • SDOAbort_GetHint

      com.sun.jna.Pointer SDOAbort_GetHint(int abortCode)
    • EmcyCode_GetDescription

      com.sun.jna.Pointer EmcyCode_GetDescription(short errorCode)
    • EmcyCode_GetClass

      int EmcyCode_GetClass(short errorCode)
    • EmcyCode_GetClassName

      com.sun.jna.Pointer EmcyCode_GetClassName(int classCode)
    • EmcyCode_FormatErrorRegister

      void EmcyCode_FormatErrorRegister(byte errorRegister, byte[] buf, int bufSize)
    • EmcyCode_IsRecovery

      int EmcyCode_IsRecovery(short errorCode)
    • EcState_IsValidTransition

      int EcState_IsValidTransition(short from, short to)
    • EcState_GetTransitionType

      int EcState_GetTransitionType(short from, short to)
    • EcState_GetTransitionPath

      int EcState_GetTransitionPath(short from, short to, short[] path, int pathCapacity)
    • EcState_IsBootstrapRequired

      int EcState_IsBootstrapRequired(short state)
    • EcState_GetName

      com.sun.jna.Pointer EcState_GetName(short state)
    • EcState_GetNameEn

      com.sun.jna.Pointer EcState_GetNameEn(short state)
    • EcState_HasErrorAck

      int EcState_HasErrorAck(short state)
    • EcState_StripErrorAck

      short EcState_StripErrorAck(short state)
    • EcPdoCodec_DataTypeBitSize

      int EcPdoCodec_DataTypeBitSize(int dt)
    • EcPdoCodec_DataTypeName

      com.sun.jna.Pointer EcPdoCodec_DataTypeName(int dt)
    • EcPdoCodec_ExtractU64

      int EcPdoCodec_ExtractU64(byte[] src, int srcSize, int bitOffset, int bitLength, com.sun.jna.ptr.LongByReference value)
    • EcPdoCodec_ExtractI64

      int EcPdoCodec_ExtractI64(byte[] src, int srcSize, int bitOffset, int bitLength, com.sun.jna.ptr.LongByReference value)
    • EcPdoCodec_InsertU64

      int EcPdoCodec_InsertU64(byte[] dst, int dstSize, int bitOffset, int bitLength, long value)
    • EcPdoCodec_InsertI64

      int EcPdoCodec_InsertI64(byte[] dst, int dstSize, int bitOffset, int bitLength, long value)
    • EcPdoCodec_ExtractReal32

      int EcPdoCodec_ExtractReal32(byte[] src, int srcSize, int bitOffset, com.sun.jna.ptr.FloatByReference value)
    • EcPdoCodec_ExtractReal64

      int EcPdoCodec_ExtractReal64(byte[] src, int srcSize, int bitOffset, com.sun.jna.ptr.DoubleByReference value)
    • EcPdoCodec_InsertReal32

      int EcPdoCodec_InsertReal32(byte[] dst, int dstSize, int bitOffset, float value)
    • EcPdoCodec_InsertReal64

      int EcPdoCodec_InsertReal64(byte[] dst, int dstSize, int bitOffset, double value)
    • EcPdoCodec_CountActivePorts

      int EcPdoCodec_CountActivePorts(byte activePorts)
    • EcPdoCodec_GetTopology

      int EcPdoCodec_GetTopology(byte activePorts)
    • EcPdoCodec_GetTopologyName

      com.sun.jna.Pointer EcPdoCodec_GetTopologyName(int topo)
    • EcPdoCodec_GetTopologyNameEn

      com.sun.jna.Pointer EcPdoCodec_GetTopologyNameEn(int topo)
    • EcPdoCodec_IsPortActive

      int EcPdoCodec_IsPortActive(byte activePorts, int port)
    • CiA402Modes_ModeToSupportedBit

      int CiA402Modes_ModeToSupportedBit(byte mode)
    • CiA402Modes_IsModeSupportedInMask

      int CiA402Modes_IsModeSupportedInMask(int mask, byte mode)
    • CiA402Modes_ExpandSupportedMask

      int CiA402Modes_ExpandSupportedMask(int mask, byte[] modes, int capacity)
    • CiA402Modes_GetModeName

      com.sun.jna.Pointer CiA402Modes_GetModeName(byte mode)
    • CiA402Modes_GetModeNameEn

      com.sun.jna.Pointer CiA402Modes_GetModeNameEn(byte mode)
    • CiA402Modes_GetModeDescription

      com.sun.jna.Pointer CiA402Modes_GetModeDescription(byte mode)
    • CiA402Modes_IsCyclicSyncMode

      int CiA402Modes_IsCyclicSyncMode(byte mode)
    • CiA402Modes_RequiresDC

      int CiA402Modes_RequiresDC(byte mode)
    • CiA402Modes_IsStandardHomingMethod

      int CiA402Modes_IsStandardHomingMethod(byte method)
    • CiA402Modes_GetHomingMethodName

      com.sun.jna.Pointer CiA402Modes_GetHomingMethodName(byte method)
    • CiA402Modes_GetHomingTrigger

      int CiA402Modes_GetHomingTrigger(byte method)
    • CiA402Modes_GetHomingDirection

      int CiA402Modes_GetHomingDirection(byte method)
    • CiA402Modes_ListStandardHomingMethods

      int CiA402Modes_ListStandardHomingMethods(byte[] array, int capacity)
    • EcMailbox_GetTypeName

      com.sun.jna.Pointer EcMailbox_GetTypeName(short type)
    • EcMailbox_GetTypeNameEn

      com.sun.jna.Pointer EcMailbox_GetTypeNameEn(short type)
    • EcMailbox_GetErrorDescription

      com.sun.jna.Pointer EcMailbox_GetErrorDescription(short mbxErrorCode)
    • EcMailbox_NextCounter

      byte EcMailbox_NextCounter(byte current)
    • EcSoE_GetErrorDescription

      com.sun.jna.Pointer EcSoE_GetErrorDescription(short soeError)
    • EcSii_FindCategory

      int EcSii_FindCategory(byte[] siiData, int siiSize, short catType, com.sun.jna.ptr.IntByReference outSizeBytes)
    • EcSii_EnumerateCategories

      int EcSii_EnumerateCategories(byte[] siiData, int siiSize, short[] catTypes, int capacity)
    • EcSii_GetStringByIndex

      int EcSii_GetStringByIndex(byte[] catData, int catSize, int idx, byte[] outBuf, int bufSize)
    • EcSii_GetStringCount

      int EcSii_GetStringCount(byte[] catData, int catSize)
    • EcSii_GetVendorId

      int EcSii_GetVendorId(byte[] siiData, int siiSize)
    • EcSii_GetProductCode

      int EcSii_GetProductCode(byte[] siiData, int siiSize)
    • EcSii_GetRevision

      int EcSii_GetRevision(byte[] siiData, int siiSize)
    • EcSii_GetSerialNumber

      int EcSii_GetSerialNumber(byte[] siiData, int siiSize)
    • EcSii_GetConfiguredAlias

      short EcSii_GetConfiguredAlias(byte[] siiData, int siiSize)
    • EcSii_CoeEnabled

      int EcSii_CoeEnabled(byte coeDetails)
    • EcSii_CoeSdoInfo

      int EcSii_CoeSdoInfo(byte coeDetails)
    • EcSii_CoePdoAssign

      int EcSii_CoePdoAssign(byte coeDetails)
    • EcSii_CoePdoConfig

      int EcSii_CoePdoConfig(byte coeDetails)
    • EcSii_CoeUploadAtStartup

      int EcSii_CoeUploadAtStartup(byte coeDetails)
    • EcSii_CoeCompleteAccess

      int EcSii_CoeCompleteAccess(byte coeDetails)
    • EcSii_FoeEnabled

      int EcSii_FoeEnabled(byte foeDetails)
    • EcSii_EoeEnabled

      int EcSii_EoeEnabled(byte eoeDetails)
    • EcCouplerId_DetectDeviceType

      int EcCouplerId_DetectDeviceType(int vendorId, int productCode)
    • EcCouplerId_IsCoupler

      int EcCouplerId_IsCoupler(int vendorId, int productCode)
    • EcCouplerId_IsTerminal

      int EcCouplerId_IsTerminal(int vendorId, int productCode)
    • EcCouplerId_GetVendorName

      com.sun.jna.Pointer EcCouplerId_GetVendorName(int vendorId)
    • EcCouplerId_GetVendorNameEn

      com.sun.jna.Pointer EcCouplerId_GetVendorNameEn(int vendorId)
    • EcCouplerId_GetDeviceTypeName

      com.sun.jna.Pointer EcCouplerId_GetDeviceTypeName(int type)
    • EcDiagStrings_TopologyDescription

      com.sun.jna.Pointer EcDiagStrings_TopologyDescription(byte topo)
    • EcDiagStrings_TimingMode

      com.sun.jna.Pointer EcDiagStrings_TimingMode(int mode)
    • EcDiagStrings_BreakpointType

      com.sun.jna.Pointer EcDiagStrings_BreakpointType(byte bp)
    • EcDiagStrings_FormatBreakpoint

      void EcDiagStrings_FormatBreakpoint(short slaveIdx, byte port, byte bp, byte[] buf, int bufSize)
    • GetPrimaryWKC

      short GetPrimaryWKC()
      全局 primary 工作计数器 (无 master 参数, kernel 全局共享)
    • GetSecondaryWKC

      short GetSecondaryWKC()
      全局 secondary 工作计数器
    • GetWdkPrimaryFrameTx

      int GetWdkPrimaryFrameTx(short masterIndex)
      主网卡 TX 帧累计 (kernel WDK 直读)
    • GetWdkPrimaryFrameRx

      int GetWdkPrimaryFrameRx(short masterIndex)
      主网卡 RX 帧累计
    • GetWdkSecondaryFrameTx

      int GetWdkSecondaryFrameTx(short masterIndex)
      副网卡 TX 帧累计
    • GetWdkSecondaryFrameRx

      int GetWdkSecondaryFrameRx(short masterIndex)
      副网卡 RX 帧累计
    • GetGroupActualWKC

      short GetGroupActualWKC(short masterIndex, byte group)
      组实际 WKC (与 GetGroupExpectedWKC 配对)
    • GetGroupDiag

      void GetGroupDiag(short masterIndex, byte group, com.sun.jna.ptr.ShortByReference miss, com.sun.jna.ptr.IntByReference total, com.sun.jna.ptr.IntByReference mismatch)
      组诊断: miss/total/mismatch (与 C# GetGroupDiag 签名对齐)
    • HotConnectAddGroup

      int HotConnectAddGroup(short masterIndex, short groupId, short alias, int vendorId, int productCode)
      注册 Hot-Connect 组. 返回 1=OK, 0=失败.
    • HotConnectRemoveGroup

      int HotConnectRemoveGroup(short masterIndex, short groupId)
      移除 Hot-Connect 组. 返回 1=OK, 0=失败.
    • HotConnectGetGroupStatus

      int HotConnectGetGroupStatus(short masterIndex, short groupId)
      查询组状态. 返回 1=Present, 0=Absent, -1=未知.
    • HotConnectEnumerate

      int HotConnectEnumerate(short masterIndex, com.sun.jna.Pointer outBuf, int max)
      枚举所有 Hot-Connect 组 (out_buf 必须是连续 hotconnect_group_t[max] 缓冲). 返回写入条数.
    • HotConnectClearAll

      void HotConnectClearAll(short masterIndex)
      清空所有 Hot-Connect 组.
    • HotConnectGetGroupCount

      int HotConnectGetGroupCount(short masterIndex)
      当前已注册组数.
    • EOESendFrameEx

      boolean EOESendFrameEx(short masterIndex, short slave, byte port, byte[] frameData, int frameSize, byte timeAppended, int timestamp, int timeoutUs)
      EoE 扩展发送 (ETG.1000.6 §5.7): 在第一片 frameinfo1 置 TIME_APPEND 并将 4B 时间戳追加到末尾. timeAppended=1 时启用 TIME_APPEND, 否则等价 EOESendFrame.
    • EOESetReceiveHook

      boolean EOESetReceiveHook(short masterIndex, DarraCore.EOEFrameCallback callback)
      注册 EoE 异步接收 Hook (callback=null 等价 Clear).
    • EOEClearReceiveHook

      boolean EOEClearReceiveHook(short masterIndex)
      清除 EoE 异步接收 Hook.
    • VOEStartNotificationListener

      boolean VOEStartNotificationListener(short masterIndex)
      启动 VoE 监听线程 (重入安全).
    • VOEStopNotificationListener

      boolean VOEStopNotificationListener()
      停止 VoE 监听线程 (全局, 非按 master).
    • VOEIsNotificationListening

      boolean VOEIsNotificationListening()
      查询 VoE 监听线程是否运行.
    • VOERegisterNotification

      int VOERegisterNotification(short slave, int vendorId, short vendorType, DarraCore.VoENotificationCallback callback, com.sun.jna.Pointer userData)
      注册 VoE 通知回调. slave=0 / vendorId=0 / vendorType=0 表示通配.
      返回:
      订阅索引 (>=0) 用于注销, 失败 -1.
    • VOEUnregisterNotification

      boolean VOEUnregisterNotification(int subscriptionIndex)
      注销 VoE 通知回调.
    • EnumerateDefaultPdo

      int EnumerateDefaultPdo(short masterIndex, short slaveIndex, int direction, short[] outIndices, int maxCount)
      枚举从站默认 PDO Assignment (协议下沉到 native)
      SDK 公开层不再循环 SDORead 0x1C12/0x1C13; 由 native 处理协议细节.
      参数:
      masterIndex - master 索引 (0..EC_MAX_MASTERNUM-1)
      slaveIndex - slave 索引 (1..slavecount)
      direction - 0=RxPDO (0x1C12), 1=TxPDO (0x1C13)
      outIndices - 调用者提供数组, 写入找到的 PDO 索引 (e.g. 0x1600..)
      maxCount - 数组容量
      返回:
      实际写入的 PDO 索引数 (>=0); 失败返回 -1
    • SetDcSyncMode

      boolean SetDcSyncMode(short masterIndex, short slaveIndex, byte syncType)
      配置从站 SyncManager 同步类型 (协议算法下沉到 native 层). 内部完成 SDO 0x1C32:01 / 0x1C33:01 的禁用 + 写入序列 (ETG.1020 §23.1.2).
      参数:
      masterIndex - 主站索引
      slaveIndex - 从站索引
      syncType - 0=FreeRun, 1=SmSynchron, 2=DcSynchron, 3=DcSynchron01
      返回:
      true 派发成功, false 入参非法或主站未初始化
    • GetDcSyncMode

      byte GetDcSyncMode(short masterIndex, short slaveIndex)
      读取从站当前 SyncManager 同步类型 (内部读 0x1C32:01 / 0x1C33:01).
      参数:
      masterIndex - 主站索引
      slaveIndex - 从站索引
      返回:
      0=FreeRun, 1=SmSynchron, 2=DcSynchron, 3=DcSynchron01; 读失败 / 不支持也返回 0 (FreeRun)
    • EcEsi_GetDevicePdoIndices

      int EcEsi_GetDevicePdoIndices(short masterIndex, short slaveIndex, int direction, short[] outIndices, int maxCount)
      列出 Device 的 PDO Index 列表 (从已绑定 ESI Device 派生).
      参数:
      direction - 0=RxPDO, 1=TxPDO
      返回:
      写入数 (>=0); -1 = Slave 未绑定 ESI 或参数非法
    • EcEsi_GetDevicePdoSizeBits

      int EcEsi_GetDevicePdoSizeBits(short masterIndex, short slaveIndex, short pdoIndex)
      获取指定 PDO 的总位长 (含 Padding). 未找到返回 -1
    • EcEsi_GetDeviceSmInfo

      int EcEsi_GetDeviceSmInfo(short masterIndex, short slaveIndex, byte smIdx, com.sun.jna.ptr.ShortByReference startAddr, com.sun.jna.ptr.ShortByReference defaultLen, com.sun.jna.ptr.ByteByReference controlByte)
      获取 Device 的 SyncManager 信息 (sm_idx 0..3).
      返回:
      0=成功, 非 0=失败
    • EcEsi_GetDeviceDcSyncMode

      int EcEsi_GetDeviceDcSyncMode(short masterIndex, short slaveIndex)
      获取 Device DC Sync 模式 (与 ec_dc_sync_mode_t 对齐)
    • EcEsi_GetDeviceMailboxTimeout

      int EcEsi_GetDeviceMailboxTimeout(short masterIndex, short slaveIndex, com.sun.jna.ptr.IntByReference requestMs, com.sun.jna.ptr.IntByReference responseMs)
      获取邮箱 Request/Response 超时 (毫秒).
      返回:
      0=成功, 非 0=失败
    • EcEsi_GetDeviceIdentity

      int EcEsi_GetDeviceIdentity(short masterIndex, short slaveIndex, com.sun.jna.ptr.IntByReference vendorId, com.sun.jna.ptr.IntByReference productCode, com.sun.jna.ptr.IntByReference revisionNo, byte[] nameBuf, int nameBufSize)
      获取 Vendor/Product/Revision/Name (UTF-8 写入 nameBuf).
      返回:
      0=成功, 非 0=失败
    • DarraEcat_KernelProbe

      int DarraEcat_KernelProbe()
      探测内核驱动 (DarraRT_Eth.sys) 当前可用性.
      返回:
      DarraKernelStatus 枚举原始码: 0=Ok, 1=NotInstalled, 2=Stopped, 3=AccessDenied, 4=SignatureFail, 5=Blocked, 6=DeviceMissing, 7=Disabled, 99=UnknownError
    • DarraEcat_KernelStatusMessage

      com.sun.jna.Pointer DarraEcat_KernelStatusMessage(int status)
      获取状态码对应的中文可读消息 (UTF-8, DLL 内部静态字符串). 调用方用 ptr.getString(0, "UTF-8") 解码, 不需要 FreeMemory.
    • DarraEcat_KernelInstallerUrl

      com.sun.jna.Pointer DarraEcat_KernelInstallerUrl()
      获取驱动安装包下载链接 (默认 https://www.darrart.com/downloads/drivers, 可通过环境变量 DARRA_INSTALLER_URL 覆盖). 调用方用 ptr.getString(0, "UTF-8") 解码, 不需要 FreeMemory.