类 Structures.EcSlave

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

@FieldOrder({"state","ALstatuscode","configadr","aliasadr","fsoe","output","input","SM","FMMU","smFmmu","mbx","topo","dc","eepromConfig","runtime","PO2SOconfig","handler","coe","soe","foe","eoe","voe","aoe","mbxstatus","metadata","pdoConfig","capabilities"}) public static class Structures.EcSlave extends com.sun.jna.Structure
从站结构体 - 对应 C 端 slave_t (Phase 2-A/B/C/D 重构后) 字段顺序严格对齐 C 端 slave_t (64 位自然对齐). 平面字段 (eep_man/eep_id/Itype/Dtype/CoEdetails 等) 已收敛到子结构, 不再在 EcSlave 顶层平铺. 用户面通过子结构路径读取: slave.metadata.identity.vendorId (原 eep_man) slave.metadata.identity.itype (原 Itype) slave.capabilities.coeDetails (原 CoEdetails) slave.runtime.ebusCurrent (原 Ebuscurrent) slave.runtime.isLost (原 islost) slave.smFmmu.smType[i] (原 SMtype) slave.smFmmu.fmmuFunc[0..3] (原 FMMU0func..FMMU3func) slave.coe.in / slave.coe.inFull / slave.coe.overrun (原 coembxin/coembxinfull/coembxoverrun) (同样适用于 soe / foe / eoe / voe / aoe) DLL slave_t 字段顺序基准: state, ALstatuscode, configadr, aliasadr, fsoe, output, input, SM[], FMMU[], sm_fmmu, mbx, topo, dc, eeprom_config, runtime, PO2SOconfig, handler, coe, soe, foe, eoe, voe, aoe, mbxstatus, metadata, pdo_config, capabilities, (startup_queue/mbx_lock_handle/mbx_stats — 不在 SDK 镜像) 注意: JNA Structure 按自然对齐映射 (与 C 编译器行为一致). 指针 64 位下 8 字节.
  • 嵌套类概要

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

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

    字段
    修饰符和类型
    字段
    说明
    short
    别名地址
    short
    AL 状态码
    AoE 协议接收邮箱 — 替换原 aoembxin/aoembxinfull/aoembxoverrun
    is_optional / supports_frame_repeat / mailbox_side + coe/foe/eoe/soe details bitmap.
    CoE 协议接收邮箱 (in/in_full/overrun) — 替换原 coembxin/coembxinfull/coembxoverrun
    short
    配置地址
    DC 信息 (recvtime[4]/propagation_delay/next/prev/cycle0/cycle1/shift/active)
    SII 配置索引 + EEPROM 读宽度 + PDI 标志 (4 字节)
    EoE 协议接收邮箱 — 替换原 eoembxin/eoembxinfull/eoembxoverrun
    byte[]
    fmmu_t FMMU[MAXFMMU] — 4 个 FMMU 条目 (每个 16 字节, Pack=1)
    FoE 协议接收邮箱 — 替换原 foembxin/foembxinfull/foembxoverrun
    FSoE 子状态 (capable/connection/sm_context/connection_id/safety_address/safe_input_size/safe_output_size/pdo_input_offset/pdo_output_offset).
    邮箱 handler 状态 (state/rmp_state/instate_ex)
    输入 (PDO Rx to master) — 原 Ibits/Ibytes/inputs/Ioffset/Istartbit
    邮箱长度/偏移/协议/计数器 (length/write_offset/read_length/read_offset/supported_proto/cnt)
    com.sun.jna.Pointer
    输出邮箱状态寄存器缓冲区指针
    identity (vendor/product/revision/serial/itype/dtype) + group_name + device_name + sm_count.
    输出 (PDO Tx from master) — 原 Obits/Obytes/outputs/Ooffset/Ostartbit
    PDO Assignment/Config 开关 + CA 支持
    com.sun.jna.Pointer
    registered configuration function PO->SO
    ebus_current/block_lrw/group/is_lost — 替换原 Ebuscurrent/blockLRW/group/islost.
    byte[]
    sm_t SM[MAXSM] — 8 个 SyncManager 条目 (每个 8 字节, Pack=1)
    SM 类型 / 应用层长度覆盖 / FMMU 用途数组 / 第一个未使用的 FMMU 替换原 SMtype[8] / SM_app_length[8] / FMMU0func..FMMU3func / FMMUunused
    SoE 协议接收邮箱 — 替换原 soe_mbx_in/soe_mbx_in_full/soe_mbx_overrun
    short
    当前 EtherCAT 状态
    拓扑信息 (has_dc/phy_type/link_count/active_ports/consumed_ports/parent/parent_port/entry_port)
    VoE 协议接收邮箱 — 替换原 voembxin/voembxinfull/voembxoverrun

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

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

    构造器
    构造器
    说明
     
    EcSlave(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 状态码
    • configadr

      public short configadr
      配置地址
    • aliasadr

      public short aliasadr
      别名地址
    • fsoe

      public Structures.SlaveFsoe fsoe
      FSoE 子状态 (capable/connection/sm_context/connection_id/safety_address/safe_input_size/safe_output_size/pdo_input_offset/pdo_output_offset). JNA 自然对齐会在 aliasadr 后插入 4 字节填充, 把 fsoe 对齐到 8 字节边界.
    • output

      public Structures.SlaveIoDesc output
      输出 (PDO Tx from master) — 原 Obits/Obytes/outputs/Ooffset/Ostartbit
    • input

      public Structures.SlaveIoDesc input
      输入 (PDO Rx to master) — 原 Ibits/Ibytes/inputs/Ioffset/Istartbit
    • SM

      public byte[] SM
      sm_t SM[MAXSM] — 8 个 SyncManager 条目 (每个 8 字节, Pack=1)
    • FMMU

      public byte[] FMMU
      fmmu_t FMMU[MAXFMMU] — 4 个 FMMU 条目 (每个 16 字节, Pack=1)
    • smFmmu

      public Structures.SlaveSmFmmu smFmmu
      SM 类型 / 应用层长度覆盖 / FMMU 用途数组 / 第一个未使用的 FMMU 替换原 SMtype[8] / SM_app_length[8] / FMMU0func..FMMU3func / FMMUunused
    • mbx

      邮箱长度/偏移/协议/计数器 (length/write_offset/read_length/read_offset/supported_proto/cnt)
    • topo

      拓扑信息 (has_dc/phy_type/link_count/active_ports/consumed_ports/parent/parent_port/entry_port)
    • dc

      public Structures.SlaveDc dc
      DC 信息 (recvtime[4]/propagation_delay/next/prev/cycle0/cycle1/shift/active)
    • eepromConfig

      public Structures.SlaveEepromConfig eepromConfig
      SII 配置索引 + EEPROM 读宽度 + PDI 标志 (4 字节)
    • runtime

      public Structures.SlaveRuntime runtime
      ebus_current/block_lrw/group/is_lost — 替换原 Ebuscurrent/blockLRW/group/islost. CoE/FoE/EoE/SoE details 已合入 capabilities, 不再在 runtime 旁平铺.
    • PO2SOconfig

      public com.sun.jna.Pointer PO2SOconfig
      registered configuration function PO->SO
    • handler

      public Structures.SlaveHandler handler
      邮箱 handler 状态 (state/rmp_state/instate_ex)
    • coe

      CoE 协议接收邮箱 (in/in_full/overrun) — 替换原 coembxin/coembxinfull/coembxoverrun
    • soe

      SoE 协议接收邮箱 — 替换原 soe_mbx_in/soe_mbx_in_full/soe_mbx_overrun
    • foe

      FoE 协议接收邮箱 — 替换原 foembxin/foembxinfull/foembxoverrun
    • eoe

      EoE 协议接收邮箱 — 替换原 eoembxin/eoembxinfull/eoembxoverrun
    • voe

      VoE 协议接收邮箱 — 替换原 voembxin/voembxinfull/voembxoverrun
    • aoe

      AoE 协议接收邮箱 — 替换原 aoembxin/aoembxinfull/aoembxoverrun
    • mbxstatus

      public com.sun.jna.Pointer mbxstatus
      输出邮箱状态寄存器缓冲区指针
    • metadata

      public Structures.SlaveMetadata metadata
      identity (vendor/product/revision/serial/itype/dtype) + group_name + device_name + sm_count. 替换原平铺的 eep_man/eep_id/eep_rev/eep_ser/Itype/Dtype/group_name/device_name/sync_manager_count.
    • pdoConfig

      public Structures.SlavePdoConfig pdoConfig
      PDO Assignment/Config 开关 + CA 支持
    • capabilities

      public Structures.SlaveCapabilities capabilities
      is_optional / supports_frame_repeat / mailbox_side + coe/foe/eoe/soe details bitmap. 替换原平铺的 CoEdetails/FoEdetails/EoEdetails/SoEdetails.
  • 构造器详细资料

    • EcSlave

      public EcSlave()
    • EcSlave

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