类 Structures.EcState

java.lang.Object
com.sun.jna.Structure
com.darra.ethercat.data.Structures.EcState
封闭类:
Structures

@FieldOrder({"State","ALstatuscode","slavecount","LoopCycle","DcCycle","DCtime","IOmap","iomap_mutex","IOmap_buffer","buffer_version","buffer_dirty","mutex_protection","pdo_cpu_affinity","dc_auto_shift_enabled","use_udp","adaptive_timeout_enabled","overlapping_groups","packed_mode","frame_high_priority","vlan_id","vlan_priority","timeout_init_to_preop","timeout_preop_to_safeop","timeout_safeop_to_op","wd_pd_timeout_ms","wd_pdi_timeout_ms","filter_threshold","frame_repeat_count","active_group_count","_group_pad","group_config_raw"}) public static class Structures.EcState extends com.sun.jna.Structure
主站状态结构 - 对应 C# 主站状态结构 所有主站配置属性都存储在此结构中 通过 GetMasterState() 获取指针后直接读写字段 注意: 此结构体使用自然对齐(与 C 端一致),不使用 Pack=1。 IOmap 和 IOmap_buffer 各 65536 字节,用 byte[] 表示。
  • 嵌套类概要

    从类继承的嵌套类/接口 com.sun.jna.Structure

    com.sun.jna.Structure.ByReference, com.sun.jna.Structure.ByValue, com.sun.jna.Structure.FieldOrder, com.sun.jna.Structure.StructField
  • 字段概要

    字段
    修饰符和类型
    字段
    说明
    byte[]
    对齐填充
    byte
    活跃组数量
    byte
    自适应超时 (0=禁用, 1=启用)
    short
    AL 状态码
    byte
    脏标志
    int
    版本计数器
    byte
    0 = 禁用, 1 = 启用
    int
    DC 诊断监控基准周期(纳秒)
    long
    DC 时间(实时值)
    int
    判断滤波阈值
    byte
    帧高优先级 (0=禁用, 1=启用)
    byte
    帧重复次数
    byte[]
    组配置原始数据.
    byte[]
    IO 映射缓冲区
    byte[]
    双缓冲区
    com.sun.jna.Pointer
    IOmap 访问同步互斥锁
    int
    循环周期时间(纳秒)
    byte
    1 = 自动锁定, 0 = 无自动锁定
    byte
    重叠组 (0=禁用, 1=启用)
    byte
    Packed PDO 映射 (0=字节对齐, 1=bit紧密)
    byte
    PDO 线程 CPU 核心绑定 (-1 = 未配置)
    int
    网络中的从站数量
    short
    当前 EtherCAT 状态
    int
    INIT->PREOP 超时 (ms)
    int
    PREOP->SAFEOP 超时 (ms)
    int
    SAFEOP->OP 超时 (ms)
    byte
    0 = 标准帧, 1 = UDP 帧
    short
    VLAN ID (0=禁用)
    byte
    VLAN 优先级 (0-7)
    short
    过程数据看门狗超时 (ms)
    short
    PDI 看门狗超时 (ms)

    从类继承的字段 com.sun.jna.Structure

    ALIGN_DEFAULT, ALIGN_GNUC, ALIGN_MSVC, ALIGN_NONE, CALCULATE_SIZE
  • 构造器概要

    构造器
    构造器
    说明
     
    EcState(com.sun.jna.Pointer p)
     
  • 方法概要

    从类继承的方法 com.sun.jna.Structure

    allocateMemory, allocateMemory, autoAllocate, autoRead, autoRead, autoWrite, autoWrite, cacheTypeInfo, calculateSize, clear, createFieldsOrder, createFieldsOrder, createFieldsOrder, createFieldsOrder, dataEquals, dataEquals, ensureAllocated, equals, fieldOffset, getAutoRead, getAutoWrite, getFieldList, getFieldOrder, getFields, getNativeAlignment, getNativeSize, getNativeSize, getPointer, getStringEncoding, getStructAlignment, hashCode, newInstance, newInstance, read, readField, readField, setAlignType, setAutoRead, setAutoSynch, setAutoWrite, setStringEncoding, size, sortFields, toArray, toArray, toString, toString, useMemory, useMemory, write, writeField, writeField, writeField

    从类继承的方法 java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • 字段详细资料

    • State

      public short State
      当前 EtherCAT 状态
    • ALstatuscode

      public short ALstatuscode
      AL 状态码
    • slavecount

      public int slavecount
      网络中的从站数量
    • LoopCycle

      public int LoopCycle
      循环周期时间(纳秒)
    • DcCycle

      public int DcCycle
      DC 诊断监控基准周期(纳秒)
    • DCtime

      public long DCtime
      DC 时间(实时值)
    • IOmap

      public byte[] IOmap
      IO 映射缓冲区
    • iomap_mutex

      public com.sun.jna.Pointer iomap_mutex
      IOmap 访问同步互斥锁
    • IOmap_buffer

      public byte[] IOmap_buffer
      双缓冲区
    • buffer_version

      public int buffer_version
      版本计数器
    • buffer_dirty

      public byte buffer_dirty
      脏标志
    • mutex_protection

      public byte mutex_protection
      1 = 自动锁定, 0 = 无自动锁定
    • pdo_cpu_affinity

      public byte pdo_cpu_affinity
      PDO 线程 CPU 核心绑定 (-1 = 未配置)
    • dc_auto_shift_enabled

      public byte dc_auto_shift_enabled
      0 = 禁用, 1 = 启用
    • use_udp

      public byte use_udp
      0 = 标准帧, 1 = UDP 帧
    • adaptive_timeout_enabled

      public byte adaptive_timeout_enabled
      自适应超时 (0=禁用, 1=启用)
    • overlapping_groups

      public byte overlapping_groups
      重叠组 (0=禁用, 1=启用)
    • packed_mode

      public byte packed_mode
      Packed PDO 映射 (0=字节对齐, 1=bit紧密)
    • frame_high_priority

      public byte frame_high_priority
      帧高优先级 (0=禁用, 1=启用)
    • vlan_id

      public short vlan_id
      VLAN ID (0=禁用)
    • vlan_priority

      public byte vlan_priority
      VLAN 优先级 (0-7)
    • timeout_init_to_preop

      public int timeout_init_to_preop
      INIT->PREOP 超时 (ms)
    • timeout_preop_to_safeop

      public int timeout_preop_to_safeop
      PREOP->SAFEOP 超时 (ms)
    • timeout_safeop_to_op

      public int timeout_safeop_to_op
      SAFEOP->OP 超时 (ms)
    • wd_pd_timeout_ms

      public short wd_pd_timeout_ms
      过程数据看门狗超时 (ms)
    • wd_pdi_timeout_ms

      public short wd_pdi_timeout_ms
      PDI 看门狗超时 (ms)
    • filter_threshold

      public int filter_threshold
      判断滤波阈值
    • frame_repeat_count

      public byte frame_repeat_count
      帧重复次数
    • active_group_count

      public byte active_group_count
      活跃组数量
    • _group_pad

      public byte[] _group_pad
      对齐填充
    • group_config_raw

      public byte[] group_config_raw
      组配置原始数据.

      [审计修复 2026-05-20 跨语言核查] 原为 8 组 × 8 字节 = 64 字节, 与 C 端 实际布局错位. 2026-04-24 C 端把每组扩展到 20 字节 (加 per-group WKC + 诊断 字段), C# Structures.cs group_config_raw[160] 同步. Java 漏改 -> EcState 整体 尺寸偏小 96 字节, GetMasterState 指针解析 group_config_raw 读到错位垃圾. 现修正为 8 组 × 20 字节 = 160 字节. 每组布局: [enabled:1][cycle_divider:1][expected_wkc:2][slave_count:2] [frame_repeat_eligible:1][reserved:1][actual_wkc:2][consecutive_miss:2] [total_frames:4][mismatch_frames:4]

  • 构造器详细资料

    • EcState

      public EcState()
    • EcState

      public EcState(com.sun.jna.Pointer p)