Variable Quality Codes

A quality code associated with a variable value provides some information about the reliability and validity of the value, offering indicators of accuracy, precision, completeness, and timeliness. These codes, which fit into the broad categories of "Good", "Uncertain", and "Bad", allow users to differentiate between high-quality, questionable, and unreliable data.

Quality codes can be assigned to a variable value by the physical device, the device driver, the Iotellect server, or a user defined expression (such as in a binding). A variable with a value, the “quality” property, and the “timestamp” property, has the three attributes necessary for conforming to the OPC Data Access specification for communicating real time data. The quality codes used by Iotellect are typically the same as the quality codes defined by the OPC DA specification, but differences can exist.

Quality Codes Used by Iotellect Core and Iotellect Device Drivers

The following table indicates the quality codes that can be assigned by the Iotellect core system and Iotellect device drivers in the case that a remote device does not assign a quality code for a value. If a remote device provides a quality code for a value received by Iotellect, that quality code will be saved with the value.

Integer Value

Name of Code

Typical Usage in Iotellect

4

Bad [Configuration Error]

Indicates a configuration error in the Iotellect device which prevented a value from being retrieved.

8

Bad [Not Connected]

Assigned when the Iotellect device provided a default value for the variable, indicating that the Iotellect device was not able to connect to the remote device.

12

Bad [Device Failure]

Assigned when there was a communication error between the Iotellect device and the remote device, for example a socket reset or disconnection error.

28

Bad [Out of Service]

Indicates that the Connection Status of the Iotellect device is suspended.

192

Good [Non-Specific]

Assigned when the remote device provided a value for the variable but did not assign any quality code.

Typical Quality Codes

The below table lists common quality codes provided by remote devices that communicate according to the OPC Data Access specification. This table is intended to be used only as a reference of typical codes provided by devices. Consult the technical specifications provided by the manufacturer of each remote device in order to understand exactly which quality codes can be assigned by the device, and the meaning assigned of each code.

Integer Value

Quality Code Name

0

Bad [Non-Specific]

4

Bad [Configuration Error]

8

Bad [Not Connected]

12

Bad [Device Failure]

16

Bad [Sensor Failure]

20

Bad [Last Known Value]

24

Bad [Communication Failure]

28

Bad [Out of Service]

64

Uncertain [Non-Specific]

65

Uncertain [Non-Specific] (Low Limited)

66

Uncertain [Non-Specific] (High Limited)

67

Uncertain [Non-Specific] (Constant)

68

Uncertain [Last Usable]

69

Uncertain [Last Usable] (Low Limited)

70

Uncertain [Last Usable] (High Limited)

71

Uncertain [Last Usable] (Constant)

80

Uncertain [Sensor Not Accurate]

81

Uncertain [Sensor Not Accurate] (Low Limited)

82

Uncertain [Sensor Not Accurate] (High Limited)

83

Uncertain [Sensor Not Accurate] (Constant)

84

Uncertain [EU Exceeded]

85

Uncertain [EU Exceeded] (Low Limited)

86

Uncertain [EU Exceeded] (High Limited)

87

Uncertain [EU Exceeded] (Constant)

88

Uncertain [Sub-Normal]

89

Uncertain [Sub-Normal] (Low Limited)

90

Uncertain [Sub-Normal] (High Limited)

91

Uncertain [Sub-Normal] (Constant)

192

Good [Non-Specific]

193

Good [Non-Specific] (Low Limited)

194

Good [Non-Specific] (High Limited)

195

Good [Non-Specific] (Constant)

216

Good [Local Override]

217

Good [Local Override] (Low Limited)

218

Good [Local Override] (High Limited)

219

Good [Local Override] (Constant)

Was this page helpful?