枚举 EcState.Status
- 所有已实现的接口:
Serializable,Comparable<EcState.Status>,java.lang.constant.Constable
- 封闭类:
EcState
EtherCAT 从站完整状态 (基础状态 + Error 标志位 0x10 复合).
相比 EcState (只列基础状态), Status 把工业现场实际会出现的
"OP+Error" / "SafeOp+Error" 等复合状态作为显式命名成员列出,
用户不再看到 raw 数字 24 这种困惑值, 而是看到 OP_FAULT / SAFE_OP_FAULT 等清晰名称.
命名约定: XXX_FAULT = 该基础状态 + Error bit, 即 "在 XXX 状态下报错了".
用法:
int raw = slave.getRawState();
EcState.Status s = EcState.Status.fromRaw(raw);
System.out.println(s.pretty()); // "OP_FAULT (OP+Error)" 而不是 "24"
if (s.hasFault()) { ... 从站报错 ... }
if (s.isRunning()) { ... PDO 正在跑 ... }
EcState base = s.baseState(); // 取基础状态 (OP/SAFE_OP/...)
-
嵌套类概要
从类继承的嵌套类/接口 java.lang.Enum
Enum.EnumDesc<E extends Enum<E>> -
枚举常量概要
枚举常量 -
方法概要
修饰符和类型方法说明获取基础状态 (低 4 位, 不含 Error 标志)static EcState.StatusfromRaw(int raw) 从原始 wire 字节 / int 构造 Status (**保留 Error 位**, 与EcState.fromValue(int)不同).intgetValue()获取原始数值 (含 Error 位)booleanhasFault()是否包含 Error 标志位 (0x10)booleanisOp()是否在 OP 真运行 (OP 且不带 Error)boolean是否在运行 (SAFE_OP 或 OP, 且不带 Error)pretty()人类可读字符串.static EcState.Status返回带有指定名称的该类型的枚举常量。static EcState.Status[]values()返回包含该枚举类型的常量的数组, 顺序与声明这些常量的顺序相同
-
枚举常量详细资料
-
NONE
-
INIT
-
PRE_OP
-
BOOT
-
SAFE_OP
-
OP
-
ERROR_FLAG
-
INIT_FAULT
-
PRE_OP_FAULT
-
BOOT_FAULT
-
SAFE_OP_FAULT
-
OP_FAULT
-
-
方法详细资料
-
values
返回包含该枚举类型的常量的数组, 顺序与声明这些常量的顺序相同- 返回:
- 包含该枚举类型的常量的数组,顺序与声明这些常量的顺序相同
-
valueOf
返回带有指定名称的该类型的枚举常量。 字符串必须与用于声明该类型的枚举常量的 标识符完全匹配。(不允许有多余 的空格字符。)- 参数:
name- 要返回的枚举常量的名称。- 返回:
- 返回带有指定名称的枚举常量
- 抛出:
IllegalArgumentException- 如果该枚举类型没有带有指定名称的常量NullPointerException- 如果参数为空值
-
getValue
public int getValue()获取原始数值 (含 Error 位) -
fromRaw
从原始 wire 字节 / int 构造 Status (**保留 Error 位**, 与EcState.fromValue(int)不同). 未命名值兜底返回基础状态 + ERROR_FLAG 合成不到时返回 NONE. -
baseState
获取基础状态 (低 4 位, 不含 Error 标志) -
hasFault
public boolean hasFault()是否包含 Error 标志位 (0x10) -
isRunning
public boolean isRunning()是否在运行 (SAFE_OP 或 OP, 且不带 Error) -
isOp
public boolean isOp()是否在 OP 真运行 (OP 且不带 Error) -
pretty
人类可读字符串. 命名状态返回如 "OP_FAULT (OP+Error)", 未命名返回 "0x1A". 推荐 GUI / 日志使用, 替代 toString() (避免暴露 raw 数字).
-