What is "uncertain" tag quality? I am getting it randomly for different tags of a same device.

What is "uncertain" tag quality? I am getting it randomly for different tags of a same device.

  • Hi ,
    This could be due to a number of reasons. From the online help on Tag Quality:
    https://gcsresource.aveva.com/Citect/WebHelp/citect2018R2/Content/Cicode%20Reference/Content/QualityGetPart.html

    I can see that UNCERTAIN (0x1) quality has the possible substatus:

    Cicode label name Substatus Value Quality Value Description
    QUAL_UNCR_NON_SPECIFIC 0x00 0x00000040 The value is uncertain but no specific reason is known.
    QUAL_UNCR_LAST_USABLE_VALUE 0x01 0x00000044 Whatever was writing this value has stopped doing so. Regard the returned value as ‘stale’. This differs from a BAD value with Substatus 5 (0x14) (Last Known Value). This status is associated specifically with a detectable communication error on a ‘fetched’ value and indicates the failure of some external source to ‘put’ something into the value within an acceptable period of time. The age of the value can be determined from the TIMESTAMP in OPCITEMSTATE.
    QUAL_UNCR_SENSOR_NOT_ACCURATE 0x04 0x00000050 Either the value has ‘pegged’ at one of the sensor limits (in which case, set the limit field to 1 or 2) or the sensor is otherwise known to be out of calibration via some form of internal diagnostics (in which case, set the limit field to 0).
    QUAL_UNCR_ENG_UNIT_EXCEEDED 0x05 0x00000054 The returned value is outside the limits defined for this parameter. In this case the Limits field indicates which limit has been exceeded but does NOT necessarily imply that the value cannot move farther out of range.
    QUAL_UNCR_SUBNORMAL 0x06 0x00000058 The value is derived from multiple sources and has less than the necessary number of Good sources.

    So you would need to call QualityGetPart(TagName.Q, 1) to get the substatus information.

    See the Example project TagExtensionsProperties page which provides some useful examples.

    If I had to guess, it could be due to value being outside of limits (QUAL_UNCR_ENG_UNIT_EXCEEDED).