namespace ZB.MOM.WW.LmxProxy.Host.Domain { /// /// OPC quality codes mapped to domain-level values. /// The byte value matches the low-order byte of the OPC UA StatusCode, /// so it can be persisted or round-tripped without translation. /// public enum Quality : byte { // ─────────────── Bad family (0-31) ─────────────── /// 0x00 – Bad [Non-Specific] Bad = 0, /// 0x01 – Unknown quality value Unknown = 1, /// 0x04 – Bad [Configuration Error] Bad_ConfigError = 4, /// 0x08 – Bad [Not Connected] Bad_NotConnected = 8, /// 0x0C – Bad [Device Failure] Bad_DeviceFailure = 12, /// 0x10 – Bad [Sensor Failure] Bad_SensorFailure = 16, /// 0x14 – Bad [Last Known Value] Bad_LastKnownValue = 20, /// 0x18 – Bad [Communication Failure] Bad_CommFailure = 24, /// 0x1C – Bad [Out of Service] Bad_OutOfService = 28, // ──────────── Uncertain family (64-95) ─────────── /// 0x40 – Uncertain [Non-Specific] Uncertain = 64, /// 0x41 – Uncertain [Non-Specific] (Low Limited) Uncertain_LowLimited = 65, /// 0x42 – Uncertain [Non-Specific] (High Limited) Uncertain_HighLimited = 66, /// 0x43 – Uncertain [Non-Specific] (Constant) Uncertain_Constant = 67, /// 0x44 – Uncertain [Last Usable] Uncertain_LastUsable = 68, /// 0x45 – Uncertain [Last Usable] (Low Limited) Uncertain_LastUsable_LL = 69, /// 0x46 – Uncertain [Last Usable] (High Limited) Uncertain_LastUsable_HL = 70, /// 0x47 – Uncertain [Last Usable] (Constant) Uncertain_LastUsable_Cnst = 71, /// 0x50 – Uncertain [Sensor Not Accurate] Uncertain_SensorNotAcc = 80, /// 0x51 – Uncertain [Sensor Not Accurate] (Low Limited) Uncertain_SensorNotAcc_LL = 81, /// 0x52 – Uncertain [Sensor Not Accurate] (High Limited) Uncertain_SensorNotAcc_HL = 82, /// 0x53 – Uncertain [Sensor Not Accurate] (Constant) Uncertain_SensorNotAcc_C = 83, /// 0x54 – Uncertain [EU Exceeded] Uncertain_EuExceeded = 84, /// 0x55 – Uncertain [EU Exceeded] (Low Limited) Uncertain_EuExceeded_LL = 85, /// 0x56 – Uncertain [EU Exceeded] (High Limited) Uncertain_EuExceeded_HL = 86, /// 0x57 – Uncertain [EU Exceeded] (Constant) Uncertain_EuExceeded_C = 87, /// 0x58 – Uncertain [Sub-Normal] Uncertain_SubNormal = 88, /// 0x59 – Uncertain [Sub-Normal] (Low Limited) Uncertain_SubNormal_LL = 89, /// 0x5A – Uncertain [Sub-Normal] (High Limited) Uncertain_SubNormal_HL = 90, /// 0x5B – Uncertain [Sub-Normal] (Constant) Uncertain_SubNormal_C = 91, // ─────────────── Good family (192-219) ──────────── /// 0xC0 – Good [Non-Specific] Good = 192, /// 0xC1 – Good [Non-Specific] (Low Limited) Good_LowLimited = 193, /// 0xC2 – Good [Non-Specific] (High Limited) Good_HighLimited = 194, /// 0xC3 – Good [Non-Specific] (Constant) Good_Constant = 195, /// 0xD8 – Good [Local Override] Good_LocalOverride = 216, /// 0xD9 – Good [Local Override] (Low Limited) Good_LocalOverride_LL = 217, /// 0xDA – Good [Local Override] (High Limited) Good_LocalOverride_HL = 218, /// 0xDB – Good [Local Override] (Constant) Good_LocalOverride_C = 219 } }