- 11 Jan 2024
- 3 Minutes to read
- Print
- PDF
Tags Overview
- Updated on 11 Jan 2024
- 3 Minutes to read
- Print
- PDF
What is a Tag?
Tags are variables whose value can come from any of the following sources:
- Any Data Acquisition module, such as Modbus Client, DNP Client, OPC UA Client, MQTT, SQL Client, etc.
- Derived Tags (used for advanced calculations and data aggregation).
- Linked Tags (to link the values of two tags regardless of their origin).
- Scripting.
Tags can be displayed in WebUI and Web Vision, as well as be exchanged with other devices and third-party applications through any of the Data Delivery modules, such as Modbus Server, DNP Server, MQTT, Sparkplug, SQL Client, REST API Server, etc.
Tags provide a consistent data model across the N3uron IIoT platform and are the easiest way to get started by creating real-time status and control systems. However, despite their rapid initial learning curve, tags offer users a lot of power when it comes to system design and configuration. The ability to add tags from a variety of installations means it is easier than ever to build widely distributed and scalable systems with a highperformance level and relatively easy setup.
The goal of tags in N3uron is to create an easy yet powerful data model, which allows information to be exchanged between a variety of data providers and data consumers. Tags are created or imported in WebUI and every tag has three main attributes; value, timestamp and quality, as well as other functionalities such as alarms, history, metadata, etc. Once the tags are created, they can be used everywhere in N3uron.
Quality Codes
As stated above, one of the main attributes of a tag is its quality, which represents a level of confidence in the tag value. Quality codes are made up of a level (Good, Bad, Error, or Uncertain) and an integer. If a value's quality is not Good, the value should generally not be trusted. The codes used in N3uron are shown in the table below.
Quality | Decimal | Hexadecimal |
---|---|---|
Bad [Non-Specific] | 0 | 0x00 |
Bad [Configuration Error] | 4 | 0x04 |
Bad [Not Connected] | 8 | 0x08 |
Bad [Device Failure] | 12 | 0x0C |
Bad [Sensor Failure] | 16 | 0x10 |
Bad [Last Known Value] | 20 | 0x14 |
Bad [Communication Failure] | 24 | 0x18 |
Bad [Out of Service] | 28 | 0x1C |
Bad [Uninitialized] | 32 | 0x20 |
Uncertain [Non Specific] | 64 | 0x40 |
Uncertain [Last Usable Value] | 68 | 0x44 |
Uncertain [Sensor Not Accurate] | 80 | 0x50 |
Uncertain [EU Units Exceeded] | 84 | 0x54 |
Uncertain [Sub Normal] | 88 | 0x58 |
Good [Non Specific] | 192 | 0xC0 |
Good [Local Override] | 216 | 0xD8 |
One obvious indicator of whether the tag is of bad quality is if the information relative to the tag is displayed in red in the WebUI Real-Time data interface.
Local and Remote Tags
Two different types of tags can coexist in every N3uron node: Local Tags, which belong to the data model of the node itself and therefore can only be modified in this node, and Remote Tags whose origin is in a remote node that exchanges all or part of its data model through a Link. This ability opens up some very flexible architectures.
Templates
Templates provide an object-oriented approach to tag building, allowing you to define parameterized data structures and rapidly generate instances. Any changes to the template definition is then inherited by all instances, drastically saving time when making any changes. Click here for more information about Templates.
Tag Features
Tags work naturally and easily with N3uron to offer the following features:
- Performance and scalability: Tags offer great node performance in WebUI and in WebVision. The system can easily support several hundred thousand tag changes per second.
- Object-Oriented-Design: Use Templates to design re-usable, parameterized, and extendable complex data structures. New instances can be created and configured in a few seconds thus saving a great amount of time.
- Alarms System: As many Alarms as needed can be configured in each tag. There are many different alarm modes, accommodating both digital and analog alarms.
- Historical Logging: N3uron's Historian module makes it easy to store and use historical data. Historical data is stored in an efficient format in an internal or external MongoDB database. This data is then available for querying through scripting, the REST API Server module, or the WebUI Historical data interface . It's also possible to store historical data in a SQL database, using the SQL Client module.
Tag Naming
Tags names are flexible, meaning that it's not necessary for a Tag's name to be related in any way to its underlying data source (OPC path, for instance). This provides a level of indirection that is convenient for systems with many repeat Tag structures.
It is important to give Tags a meaningful structure and arrange them in hierarchical folders so that they are easy to understand, identify, and locate for everyone. We recommend using names that mean something to your process, such as "Inverter 1". Alternatively, you could create folders in your data model such as "Inverter 1/Frequency".
If a tag is renamed or moved to another folder and the tag is being used in other places, it is very likely that the reference will be broken. Hence, keeping the data model organized and defining the tag structure early in the project is critical.
Tag names can contain any character except the following: ., / and \.