Ignition has Quality built into Tags automatically. Data Quality is the measure of how reliable a particular Tag's data is. If a Tag's quality is not Good (192), the value generally should not be trusted, and an overlay is shown to make the Tag's bad quality visible. There are a wide variety of causes of bad data, from network disconnections, to software failure, to invalid Tag configurations.
Quality is extremely important and exists on every Tag. It is visible in the Designer and in the Runtime through an Overlay system. There are a few of ways to check Tag Quality.
The following table outlines the primary data qualities. The most important is Good, and that has a value of 192. There are more values, but these represent the most common:
|Good||192||The data has met all criteria for being considered reliable.|
|OPC_Bad_Data||0||The data is not reliable, further data isn't available.|
|OPC_Not_Connected||8||The OPC server driving the tag is not currently connected OR a value has not yet been received by the tag from the server.|
There is a problem with the tag's configuration. The error log may provide more information as to the exact problem.
There is a problem in communication somewhere between the tag and its data source.
The expression in the tag generated an error during execution. The error log should provide more information on the error.
|Good (Provisional)||320||Temporary "Good" value. The value isn't cached because the underlying quality may differ than what appears on the tag.|
|Tag_Exec_Error||330||There was an error when evaluating the tag.|
The value of the tag could not be converted to the requested data type. Check the assigned data type of the tag.
|Driver_Demo_Timeout||900||The system driving the tag is operating in demo mode and has timed out.|
|Access_Denied||403||The tag permission settings do not allow the current user to view the tag.|
|Not_Found||404||The tag, or a tag referenced from inside of it, could not be found (incorrect reference path).|
|Disabled||410||The tag's "enabled" property has been set to false.|
The tag has not been evaluated within the expected time frame. There is likely a deeper problem with the tag provider.
|GW_Comm_Off||901||When viewing Tags in the Designer, the tags will have this value if communication with the Gateway is turned off from the toolbar.|
When Tags reference other Tags, such as in expressions, they will often pass the worst sub-quality up as their own. For example, even though a particular Tag's expression executes without problem, if the expression references a Tag whose quality is "Bad", the expression Tag will also report "Bad."
It is especially important in HMIs to be able to gauge the health and accuracy of what is displayed at a glance. In a highly distributed system like Ignition, it is especially important, as the client may be located at quite a distance (maybe across the world) from the physical process it is monitoring and controlling.
For these reasons, components display visual overlays (as shown below) for various reasons to indicate that the data they are displaying is not good, or pending a reply from the device. Each data binding that drives a component is evaluated for quality. If any of these qualities becomes poor, the component will show an overlay. The different overlays can mean different things, denoting their underlying cause. What they indicate is based on the Quality properties of Tags. The table below shows all the available overlays Ignition provides.
Choosing the Overlay Opt-out option will ignore the quality of the chosen Tag, making it have no effect on the component's quality overlay. The Overlay Op-out option is located in the Tag bindings for components. If this option is enabled, the operator will not see any overlays and will have no indication that the underlying Tag quality is something other than good. A word of caution when you use the Opt-out option because you always want to give the operator some indication that the values they are seeing on the screen can be trusted, and by opting out, you are removing that indicator for the operator.