Opc.Ua.Com.ComUtils.GetQualityCode C# (CSharp) Method

GetQualityCode() public static method

Converts a DA quality code to a status code.
public static GetQualityCode ( short quality ) : StatusCode
quality short
return StatusCode
		public static StatusCode GetQualityCode(short quality)
		{
			StatusCode code = 0;

			// convert quality status.
			switch ((short)(quality & 0x00FC))
			{			
                case OpcRcw.Da.Qualities.OPC_QUALITY_GOOD:                     { code = StatusCodes.Good;                              break; }
                case OpcRcw.Da.Qualities.OPC_QUALITY_LOCAL_OVERRIDE:           { code = StatusCodes.GoodLocalOverride;                 break; }
                case OpcRcw.Da.Qualities.OPC_QUALITY_UNCERTAIN:                { code = StatusCodes.Uncertain;                         break; }
                case OpcRcw.Da.Qualities.OPC_QUALITY_SUB_NORMAL:               { code = StatusCodes.UncertainSubNormal;                break; }
                case OpcRcw.Da.Qualities.OPC_QUALITY_SENSOR_CAL:               { code = StatusCodes.UncertainSensorNotAccurate;        break; }
                case OpcRcw.Da.Qualities.OPC_QUALITY_EGU_EXCEEDED:             { code = StatusCodes.UncertainEngineeringUnitsExceeded; break; }
                case OpcRcw.Da.Qualities.OPC_QUALITY_LAST_USABLE:              { code = StatusCodes.UncertainLastUsableValue;          break; }
                case OpcRcw.Da.Qualities.OPC_QUALITY_BAD:                      { code = StatusCodes.Bad;                               break; }
                case OpcRcw.Da.Qualities.OPC_QUALITY_CONFIG_ERROR:             { code = StatusCodes.BadConfigurationError;             break; }
                case OpcRcw.Da.Qualities.OPC_QUALITY_NOT_CONNECTED:            { code = StatusCodes.BadNotConnected;                   break; }
                case OpcRcw.Da.Qualities.OPC_QUALITY_COMM_FAILURE:             { code = StatusCodes.BadNoCommunication;                break; }
                case OpcRcw.Da.Qualities.OPC_QUALITY_DEVICE_FAILURE:           { code = StatusCodes.BadDeviceFailure;                  break; }
                case OpcRcw.Da.Qualities.OPC_QUALITY_SENSOR_FAILURE:           { code = StatusCodes.BadSensorFailure;                  break; }
                case OpcRcw.Da.Qualities.OPC_QUALITY_LAST_KNOWN:               { code = StatusCodes.BadOutOfService;                   break; }
                case OpcRcw.Da.Qualities.OPC_QUALITY_OUT_OF_SERVICE:           { code = StatusCodes.BadOutOfService;                   break; }
                case OpcRcw.Da.Qualities.OPC_QUALITY_WAITING_FOR_INITIAL_DATA: { code = StatusCodes.BadWaitingForInitialData;          break; }
			}
            
			// convert the limit status.
			switch ((short)(quality & 0x0003))
			{		
				case OpcRcw.Da.Qualities.OPC_LIMIT_LOW:   { code.LimitBits = LimitBits.Low;      break; }
				case OpcRcw.Da.Qualities.OPC_LIMIT_HIGH:  { code.LimitBits = LimitBits.High;     break; }
				case OpcRcw.Da.Qualities.OPC_LIMIT_CONST: { code.LimitBits = LimitBits.Constant; break; }
			}

			// return the combined code.
			return code;
		}

Same methods

ComUtils::GetQualityCode ( StatusCode input ) : short