类 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=启用)shortAL 状态码byte脏标志int版本计数器byte0 = 禁用, 1 = 启用intDC 诊断监控基准周期(纳秒)longDC 时间(实时值)int判断滤波阈值byte帧高优先级 (0=禁用, 1=启用)byte帧重复次数byte[]组配置原始数据.byte[]IO 映射缓冲区byte[]双缓冲区com.sun.jna.PointerIOmap 访问同步互斥锁int循环周期时间(纳秒)byte1 = 自动锁定, 0 = 无自动锁定byte重叠组 (0=禁用, 1=启用)bytePacked PDO 映射 (0=字节对齐, 1=bit紧密)bytePDO 线程 CPU 核心绑定 (-1 = 未配置)int网络中的从站数量short当前 EtherCAT 状态intINIT->PREOP 超时 (ms)intPREOP->SAFEOP 超时 (ms)intSAFEOP->OP 超时 (ms)byte0 = 标准帧, 1 = UDP 帧shortVLAN ID (0=禁用)byteVLAN 优先级 (0-7)short过程数据看门狗超时 (ms)shortPDI 看门狗超时 (ms)从类继承的字段 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 状态码 -
slavecount
public int slavecount网络中的从站数量 -
LoopCycle
public int LoopCycle循环周期时间(纳秒) -
DcCycle
public int DcCycleDC 诊断监控基准周期(纳秒) -
DCtime
public long DCtimeDC 时间(实时值) -
IOmap
public byte[] IOmapIO 映射缓冲区 -
iomap_mutex
public com.sun.jna.Pointer iomap_mutexIOmap 访问同步互斥锁 -
IOmap_buffer
public byte[] IOmap_buffer双缓冲区 -
buffer_version
public int buffer_version版本计数器 -
buffer_dirty
public byte buffer_dirty脏标志 -
mutex_protection
public byte mutex_protection1 = 自动锁定, 0 = 无自动锁定 -
pdo_cpu_affinity
public byte pdo_cpu_affinityPDO 线程 CPU 核心绑定 (-1 = 未配置) -
dc_auto_shift_enabled
public byte dc_auto_shift_enabled0 = 禁用, 1 = 启用 -
use_udp
public byte use_udp0 = 标准帧, 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_modePacked PDO 映射 (0=字节对齐, 1=bit紧密) -
frame_high_priority
public byte frame_high_priority帧高优先级 (0=禁用, 1=启用) -
vlan_id
public short vlan_idVLAN ID (0=禁用) -
vlan_priority
public byte vlan_priorityVLAN 优先级 (0-7) -
timeout_init_to_preop
public int timeout_init_to_preopINIT->PREOP 超时 (ms) -
timeout_preop_to_safeop
public int timeout_preop_to_safeopPREOP->SAFEOP 超时 (ms) -
timeout_safeop_to_op
public int timeout_safeop_to_opSAFEOP->OP 超时 (ms) -
wd_pd_timeout_ms
public short wd_pd_timeout_ms过程数据看门狗超时 (ms) -
wd_pdi_timeout_ms
public short wd_pdi_timeout_msPDI 看门狗超时 (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)
-