枚举 EcState

java.lang.Object
java.lang.Enum<EcState>
com.darra.ethercat.data.EcState
所有已实现的接口:
Serializable, Comparable<EcState>, java.lang.constant.Constable

public enum EcState extends Enum<EcState>
EtherCAT 从站状态枚举 对应 ETG.1000 状态机定义
  • 嵌套类概要

    嵌套类
    修饰符和类型
    说明
    static enum 
    EtherCAT 从站完整状态 (基础状态 + Error 标志位 0x10 复合).

    从类继承的嵌套类/接口 java.lang.Enum

    Enum.EnumDesc<E extends Enum<E>>
  • 枚举常量概要

    枚举常量
    枚举常量
    说明
    0x10 是 bit 4 标志位, 在不同寄存器有不同语义: - AL Status (0x0130) bit 4 = Error (从站在错误状态) - AL Control (0x0120) bit 4 = Ack (主站确认错误) 是同一个 bit, 不同上下文使用不同名称 — 故 ACK 和 ERROR 共享 0x10 是有意为之的别名, 不是冗余.
    Bootstrap 状态
    错误标志 (与 ACK 相同值, 见 ACK 注释)
    初始化状态
    无状态
    运行状态
    预运行状态
    安全运行状态
  • 方法概要

    修饰符和类型
    方法
    说明
    static String
    format(int rawState)
    格式化状态为可读字符串, 支持复合状态如 0x14 = "SAFE_OP+Error".
    static EcState
    fromValue(int val)
    从数值转换为基础状态枚举 (**不保留 Error 位**, 仅返回低 4 位对应的基础状态).
    byte
    获取原始数值
    static boolean
    hasError(int rawState)
    检查状态是否包含错误标志 (bit 4 = 0x10).
    static EcState
    返回带有指定名称的该类型的枚举常量。
    static EcState[]
    返回包含该枚举类型的常量的数组, 顺序与声明这些常量的顺序相同

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

    getClass, notify, notifyAll, wait, wait, wait
  • 枚举常量详细资料

    • NONE

      public static final EcState NONE
      无状态
    • INIT

      public static final EcState INIT
      初始化状态
    • PRE_OP

      public static final EcState PRE_OP
      预运行状态
    • BOOT

      public static final EcState BOOT
      Bootstrap 状态
    • SAFE_OP

      public static final EcState SAFE_OP
      安全运行状态
    • OP

      public static final EcState OP
      运行状态
    • ACK

      public static final EcState ACK
      0x10 是 bit 4 标志位, 在不同寄存器有不同语义: - AL Status (0x0130) bit 4 = Error (从站在错误状态) - AL Control (0x0120) bit 4 = Ack (主站确认错误) 是同一个 bit, 不同上下文使用不同名称 — 故 ACK 和 ERROR 共享 0x10 是有意为之的别名, 不是冗余. 解析复合状态请用 EcState.format() (它正确处理 (state 无效输入:'&' 0x10) bit 标志).
    • ERROR

      public static final EcState ERROR
      错误标志 (与 ACK 相同值, 见 ACK 注释)
  • 方法详细资料

    • values

      public static EcState[] values()
      返回包含该枚举类型的常量的数组, 顺序与声明这些常量的顺序相同
      返回:
      包含该枚举类型的常量的数组,顺序与声明这些常量的顺序相同
    • valueOf

      public static EcState valueOf(String name)
      返回带有指定名称的该类型的枚举常量。 字符串必须与用于声明该类型的枚举常量的 标识符完全匹配。(不允许有多余 的空格字符。)
      参数:
      name - 要返回的枚举常量的名称。
      返回:
      返回带有指定名称的枚举常量
      抛出:
      IllegalArgumentException - 如果该枚举类型没有带有指定名称的常量
      NullPointerException - 如果参数为空值
    • getValue

      public byte getValue()
      获取原始数值
    • fromValue

      public static EcState fromValue(int val)
      从数值转换为基础状态枚举 (**不保留 Error 位**, 仅返回低 4 位对应的基础状态).

      注意: 本方法故意丢弃 Error 位 (0x10), 想要保留 Error 信息请用:

      参数:
      val - 状态数值 (低 4 位为基础状态, 高位 0x10 为 Error 标志)
      返回:
      对应的基础 EcState (NONE/INIT/PRE_OP/BOOT/SAFE_OP/OP), 未知值返回 NONE
    • hasError

      public static boolean hasError(int rawState)
      检查状态是否包含错误标志 (bit 4 = 0x10). 直接传 wire 上的原始 byte / int 即可.
    • format

      public static String format(int rawState)
      格式化状态为可读字符串, 支持复合状态如 0x14 = "SAFE_OP+Error". 推荐 GUI / 日志使用 — 用户看 "OP+Error" 而不是 raw "24".