类 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别名地址shortAL 状态码AoE 协议接收邮箱 — 替换原 aoembxin/aoembxinfull/aoembxoverrunis_optional / supports_frame_repeat / mailbox_side + coe/foe/eoe/soe details bitmap.CoE 协议接收邮箱 (in/in_full/overrun) — 替换原 coembxin/coembxinfull/coembxoverrunshort配置地址DC 信息 (recvtime[4]/propagation_delay/next/prev/cycle0/cycle1/shift/active)SII 配置索引 + EEPROM 读宽度 + PDI 标志 (4 字节)EoE 协议接收邮箱 — 替换原 eoembxin/eoembxinfull/eoembxoverrunbyte[]fmmu_t FMMU[MAXFMMU] — 4 个 FMMU 条目 (每个 16 字节, Pack=1)FoE 协议接收邮箱 — 替换原 foembxin/foembxinfull/foembxoverrunFSoE 子状态 (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/OstartbitPDO Assignment/Config 开关 + CA 支持com.sun.jna.Pointerregistered configuration function PO->SOebus_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 / FMMUunusedSoE 协议接收邮箱 — 替换原 soe_mbx_in/soe_mbx_in_full/soe_mbx_overrunshort当前 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 -
构造器概要
构造器 -
方法概要
从类继承的方法 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
-
字段详细资料
-
state
public short state当前 EtherCAT 状态 -
ALstatuscode
public short ALstatuscodeAL 状态码 -
configadr
public short configadr配置地址 -
aliasadr
public short aliasadr别名地址 -
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
输出 (PDO Tx from master) — 原 Obits/Obytes/outputs/Ooffset/Ostartbit -
input
输入 (PDO Rx to master) — 原 Ibits/Ibytes/inputs/Ioffset/Istartbit -
SM
public byte[] SMsm_t SM[MAXSM] — 8 个 SyncManager 条目 (每个 8 字节, Pack=1) -
FMMU
public byte[] FMMUfmmu_t FMMU[MAXFMMU] — 4 个 FMMU 条目 (每个 16 字节, Pack=1) -
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
DC 信息 (recvtime[4]/propagation_delay/next/prev/cycle0/cycle1/shift/active) -
eepromConfig
SII 配置索引 + EEPROM 读宽度 + PDI 标志 (4 字节) -
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 PO2SOconfigregistered configuration function PO->SO -
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
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
PDO Assignment/Config 开关 + CA 支持 -
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)
-