类 EcatSlaveDiag.EcAlStatusMirror
java.lang.Object
com.darra.ethercat.data.EcatSlaveDiag.EcAlStatusMirror
- 封闭类:
EcatSlaveDiag
从站 AL 状态镜像解析结果.
native short GetSlaveAlStatusMirror(mi, si) 返回 16bit raw 镜像:
低字节 = AL State (bit4=Error), 有 Error 位时高字节 = AL Status Code.
Java short 有符号, 调用方需先 & 0xFFFF 还原 unsigned 再传入
fromRaw(int). 0 = 未知 (无 wdk_shm / 越界).
本类只做位拆分 + 枚举映射 (复用 EcState / EtherCATTypes.EcALState),
不篡改不补值; raw==0 时 isKnown() 为 false, UI 应显示 "未知".
-
方法概要
修饰符和类型方法说明fromRaw(int rawUnsigned) 从 native 16bit 原始镜像构造 (调用方需先& 0xFFFF还原 unsigned short).AL State 基础枚举 (低字节低 4 位, 不含 Error 标志)AL Status Code 枚举 (仅 Error 置位时有效, 否则 NO_ERROR)intgetRaw()原始 16bit 镜像值 (unsigned, 0..65535)booleanhasError()低字节 bit4 是否置位 (从站在错误状态)booleanisKnown()数据是否可信. raw==0 = 无 wdk_shm / 越界 (内核未提供), UI 应显 "未知".toString()
-
方法详细资料
-
fromRaw
从 native 16bit 原始镜像构造 (调用方需先& 0xFFFF还原 unsigned short).- 低字节 (raw & 0xFF): AL State — 基础状态走
EcState.fromValue(int)(丢 Error 位取低 4 位), Error 位走EcState.hasError(int). - 高字节 ((raw >> 8) & 0xFF): 仅在 Error 位置位时才是有效 AL Status Code,
经
EtherCATTypes.EcALState.fromValue(int)映射; 无 Error 时为 NO_ERROR.
- 参数:
rawUnsigned- native short 经& 0xFFFF还原后的 0..65535 值
- 低字节 (raw & 0xFF): AL State — 基础状态走
-
getRaw
public int getRaw()原始 16bit 镜像值 (unsigned, 0..65535) -
getAlState
AL State 基础枚举 (低字节低 4 位, 不含 Error 标志) -
hasError
public boolean hasError()低字节 bit4 是否置位 (从站在错误状态) -
getAlStatusCode
AL Status Code 枚举 (仅 Error 置位时有效, 否则 NO_ERROR) -
isKnown
public boolean isKnown()数据是否可信. raw==0 = 无 wdk_shm / 越界 (内核未提供), UI 应显 "未知". 注意: 合法 AL State INIT 值为 0x01, 故 raw==0 (含 State=NONE) 才判未知. -
toString
-