There are several different types or scopes of Tags you can create in Ignition: Gateway Executed Tags, System Tags, and Client Tags. Each Tag belongs to a scope, and each scope plays a role in how Tags behave. All these Tag types are available in the Tag Browser.

When discussing "Tags", we commonly mean Gateway Executed Tags, but System and Client Tags also play an important role in the overall design of a project.

Let's examine the different types of Tags.

Gateway Executed Tags

Tags executed in the Gateway support all of the primary features of Tags: scaling, alarming, history, and role-based permissions. These Tags are all Gateway scoped, and the values of the Tags are shared among all running clients. They are identical in their configurations, apart from defining how the value is generated.

You can create each of these Tags in the Tag Browser by right clicking on the Tags folder, scroll down to New Tag and select the desired Gateway Executed Tag.

OPC Tags

An OPC Tag is an OPC server and address which drives values. The OPC server is typically a PLC or device, such as Ignition's OPC-UA server, or any third party POC-UA server. 

In the Tag Browser, double click on any existing OPC Tag, to see the the OPC Server name and Item Path.  

Memory Tags

The Memory Tags are simply values. The value is specified during configuration, and is stored when written (if the Tag allows writing).

Expression Tags

The Expression Tags are driven by an expression, and its values are derived from a calculation. The expression syntax is the same as for property bindings, and allows mathematical operations, references to other Tags, logic operations, functions, and more. This expression converts Celsius to Fahrenheit.

SQL Query Tags

The SQL Query Tags execute a SQL Query, whose result provides the value for the Tag from the SQL database. Like SQL binding in Vision, SQL Query tags can reference other Tags to build dynamic queries. This query is getting the average of Ramp 1 from the History table. 

Complex Tags (UDTs)

Complex Tags are created out of standard Tag types, but offer a variety of additional features. In simple terms, you can think of them as a way to create "data templates", where a particular structure of Tags is defined, and can then be created as if it were a single Tag.







Gateway System Tags

The Gateway System tags provide status about the system, such as memory usage, performance metrics, and so on. They exist for the Client and the Gateway. You can modify the Gateway System tags to use alarming, history, and scaling but additional System tags cannot be added to the System folder. The tag names and folder structure is managed by the Ignition Gateway.


Client Tags

The Client tags, as the name implies, are only available for use in Clients. They are scoped at the client level unlike the Gateway executed tags. All clients will have the same client tags however the actual values the client tags represent will be independent of each other. In other words even though they are created in the Designer, each client will create their own instances. This makes them very useful as in-project variables, for passing information between screens, and between other parts of the clients, such as scripting.

Client tags do not have a scan class. When set to run as an expression or query, a poll rate is specified dictating how often the value should be calculated.

Client tags support datasets in addition to all the other datatypes such as integers and date-times.