Search

User Manual

GETTING STARTED


MODULES AND PLATFORM


APPENDIX


TUTORIALS & HELPFUL TRICKS


GLOSSARY


STRATEGIC PARTNER LINKS

Sepasoft - MES Modules
Cirrus Link - MQTT Modules

RESOURCES

Inductive University
Ignition Demo Project
Knowledge Base Articles
Forum
IA Support
SDK Documentation
SDK Examples

ALL MANUAL VERSIONS

Ignition 8.1
Ignition 7.9
Ignition 7.8

Deprecated Pages

Skip to end of metadata
Go to start of metadata


Tags are points of data and may have static values or dynamic values that come from an OPC address, an Expression, or a SQL query. The values can be used on screens, in Transaction Groups, and more. Additionally, Tags offer a core set of features above and beyond simple values, such as scaling, alarming, and history logging. Depending on the specific type of Tag, even more options are available. In general, Tags provide a common interface for tying together many types of data in Ignition.

Tag Configuration in the Designer

Tags are managed in the Tag Editor. To configure a Tag, right-click on it and select Edit Tag. Or create a new Tag by right-clicking on the Tags folder in the Tag Browser and use the New Tag option to select a new Tag type. For more information, see Creating Tags.

Once the Tag Editor window is displayed you can set the properties for that Tag. The Tag Editor window has the following sections depending on the type of Tag you are creating:

  • Basic Properties
  • Value
  • Numeric Properties
  • Meta Data Properties
  • Security
  • Scripting
  • Alarms
  • History


On this page ...

Tag Object Types

Some features, such as system.tag.browse, can access the Object Type of the tag (sometimes called "tagType"). Below is a table representing the possible types. 

Tag ObjectType
Property
A single value underneath a node.
Node
An entity that may have a value and may have children. "Node" is a generic term for other objects in this table, such as a Folder or AtomicTag. 
Folder
Represented by a folder in the Tag Browser. Folders generally have child nodes, but don't have values or other properties that make up a tag. 
AtomicTag

A "normal" type of tag. Objects with this type can be one of the following (based on the Value Source property):

  • OPC Tag
  • Query Tag
  • Expression Tag
  • Derived Tag
  • Reference Tag
  • Memory Tag
UdtInstance

An instance of a complex tag instance (UDT Instance). It's important to note that UdtInstances contain other nodes, so this type is generally only seen at the root of a UDT instance.

Thus, nodes under a UdtInstance are not considered to have a type of "UdtInstance", unless the child node is actually a UdtInstance: in other words, a nested UDT instance. 

UdtType
Represents the root of a complex tag definition (UDT Definition). Similar to UdtInstance, nodes under a UdtType have their own object type, so a UdtType represents the root of a complex tag.
Provider
Represents a Tag Provider. 

Tag Properties Table

This following table provides detail on each Tag Property, including the binding name, description, datatype, and the Tag Types that use the property.

Property 

Binding/Scripting Name 

Description

Datatype

Applicable Tag Type

Basic Properties
Name name How the Tag will be presented and referenced in the system. The Tag path will be the provider, the folder structure, and this name.

StringOPC, Query, Expression, Derived, Client, Reference, Memory
Tag GrouptagGroup The Tag Group that will execute the Tag. The Tag Group dictates the rate and conditions on which the Tag will be evaluated. For more details, see Tag Groups.StringOPC, Query, Expression, Derived, Reference, Memory
Enabledenabled Whether the Tag will be evaluated by the Tag Group. If false, the Tag will still be present, but will have a bad quality.BooleanOPC, Query, Expression, Derived, Reference, Memory

Value

Value SourcevalueSource

Specifies how the Tag determines its value. In other words, sets the type of the Tag (Memory, OPC, Expression, etc).

String

 Click here to see valid values
Value SourceJSON Name
Derived
derived
Expression
expr
Memorymemory
OPCopc
Querydb
Reference
reference
OPC, Query, Expression, Derived, Reference, Memory
Data TypedataType The data type of the Tag. It is important that this be set as correctly as possible with regards to the Tag's underlying data source. The Tags system will attempt to coerce any raw incoming value (for example, from OPC or a SQL query) into the desired type. For detailed information, see Tag Data Types.

String

OPC, Query, Expression, Derived, Reference, Memory
Value
value
The value of the Tag. Can only be modified if the Tag allows value writing and the user has sufficient privileges.Object (depends on the data type of the Tag)Memory
OPC ServeropcServer Only present for OPC Tags. The server against which to subscribe the data point. Only present for OPC Tags.StringOPC
OPC Item PathopcItemPath Only present for OPC Tags. The path to subscribe to on the server. The point will be subscribed at the rate dictated by the Tag Group.StringOPC
Source Tag PathsourceTagPathThe path to the Tag that this Tag is referencing. Only present for Reference and Derived Tags.StringDerived, Reference
Execution ModeexecutionMode

Only present for Query and Expression Tags. Determines how when the Tag executes.

  • Event Driven - Updates when something happens (i.e., value event or alarm event) within the expression.
  • Fixed Rate - Tag will be executed at the set or fixed rate. Adds the Execution Rate property, which determines how often the Tag executes in milliseconds.
  • Tag Group - Tags are executed by Tag Groups, which dictate the rate of execution.
 Click here to see valid values
Execution ModeJSON Name
Event Driven
EventDriven
Fixed Rate
FixedRate
Tag Group
TagGroupRate
Expression, Query
Expression
expression
The expression the Tag will use to determine its value.StringExpression
Read Expression
deriveExpressionGetter
The expression that determines how the value on the Derived Tag is displayed.StringDerived
Write Expression
deriveExpressionSetter
The expression that determines how the value on the Derived Tag is displayed.StringDerived
Datasource
datasource
The database connection that the query Tag will execute against.StringQuery
Numeric Properties
Deadband deadband A numerical value used to prevent unnecessary updates for Tags whose values change by small amounts.NumericOPC, Query, Expression, Derived, Reference, Memory
Deadband ModedeadbandMode

Defines how the deadband value is used.

  • Absolute - The deadband setting is considered to be an absolute value.
  • Percent - The actual deadband is calculated as a percent of the Tag's engineering unit span.
String
 Click here to see valid values
Deadband ModeJSON Name
Absolute
Absolute
Percent
Percent

OPC, Query, Expression, Derived, Reference, Memory

Scale ModescaleMode If and how the Tag value will be scaled between the source, and what is reported for the Tag.

String

 Click here to see valid values
ModeJSON NameInt Value
Off
Off
0
Linear
Linear
1
Square Root
SquareRoot
2
Exponential Filter
ExponentialFilter
3
Bit Inversion
BitInversion
4
OPC, Query, Expression, Derived, Reference, Memory
Raw LowrawLowStart of the "raw" value range. Only present if Scale Mode is set to Linear or Square Root.NumericOPC, Query, Expression, Derived, Reference, Memory
Raw HighrawHigh

End of the "raw" value range. Only present if Scale Mode is set to Linear or Square Root.

NumericOPC, Query, Expression, Derived, Reference, Memory
Scaled LowscaledLowStart of "scaled" value range. Raw low will map to Scaled low for the Tag. Only present if Scale Mode is set to Linear or Square Root.NumericOPC, Query, Expression, Derived, Reference, Memory
Scaled HighscaledHighEnd of "scaled" value range. Raw high will map to Scaled high for the Tag. Only present if Scale Mode is set to Linear or Square Root.NumericOPC, Query, Expression, Derived, Reference, Memory
Clamp ModeclampModeHow values that fall outside of the ranges will be treated. "Clamped" values will be adjusted to the low/high scaled value as appropriate. Only present if Scale Mode is set to Linear or Square Root.

String

 Click here to see valid values
Clamp ModeJSON NameInt Value
No_Clamp
No_Clamp
0
Clamp_Low
Clamp_Low
1
Clamp_High
Clamp_High
2
Clamp_Both
Clamp_Both
3
OPC, Query, Expression, Derived, Reference, Memory
Scale FactorscaleFactorFor single parameter modes (currently only Exponential Filter), the factor parameter for the equation. Used when the Scale Mode property is set to Exponential FilterNumeric

OPC, Query, Expression, Derived, Reference, Memory
Engineering UnitsengUnit The engineering units of the value.StringOPC, Query, Expression, Derived, Reference, Memory
Engineering Low LimitengLow The lowest expected value of the Tag.NumericOPC, Query, Expression, Derived, Reference, Memory
Engineering High LimitengHigh The highest expected value of the Tag.NumericOPC, Query, Expression, Derived, Reference, Memory
Engineering Limit ModeengLimitMode Dictates how the engineering range should be enforced on the Tag. If not "Off", the Tag will change to bad quality ("limit exceeded"), when the value falls outside the specified range.

Numeric

 Click here to see valid values
Limit EnforcementJSON NameInt Value
No_Clamp
No_Clamp
0
Clamp_Low
Clamp_Low
1
Clamp_High
Clamp_High
2
Clamp_Both
Clamp_Both
3
OPC, Query, Expression, Derived, Reference, Memory
Format StringformatString 

How the value should be formatted when converted to a string (only applies to numerical data types). Uses # and 0 characters to describe the format.

# : If the number in this position is non-zero, then do not show the position. Otherwise, show the number. Useful when you only want to show a decimal position if the value is non-zero.

0 : If the number in this position is non-zero, then show that number. Otherwise, show a zero. Useful to add leading and trailing zeros to a value.

StringOPC, Query, Expression, Derived, Reference, Memory
Meta Data Properties
Tooltip tooltip The tooltip provides a hint to visual components as to what should be displayed when the user hovers their mouse cursor over the component that is being driven by the value of this Tag.StringOPC, Query, Expression, Derived, Reference, Memory
Documentation documentation 

A freeform text property for information about the Tag.

StringOPC, Query, Expression, Derived, Reference, Memory
Security

Access Rights

accessRights

  This feature was removed from Ignition in version 8.0.13

Specifies the access level allowed to the Tag: Read/Write, Read only, or Custom. If Custom, the Tag will use the permission settings.

String

 Click here to see valid values
Access LevelJSON Name
Read Only
Read_Only
Read/Write
Read_Write
Custom
Custom
OPC, Query, Expression, Derived, Reference, Memory

Custom Permissions

permissionModel

  This feature was removed from Ignition in version 8.0.13

An array of JSON objects, each object contains the following properties:

NameJSON NameDescription
Role
role
A role that should have read or write access to the Tag. Leave blank to specify any role.
Zone
zone
A zone that should have read or write access to the Tag. Leave blank to specify any zone.
Custom
writeAccess
Whether or not Role-Zone combination should be able to write to the Tag.


 Click here to see an example in JSON...
"permissionModel": [
    {
      "role": "myRole",
      "zone": "myZone",
      "writeAccess": false
    }
  ]
JSON ArrayOPC, Query, Expression, Derived, Reference, Memory

Read Permissions


readPermissions

This feature is new in Ignition version 8.0.13
Click here to check out the other new features

Defines thesecuritylevels required in order to read values from a Tag.  For more information, see Tag Security. Contains the following elements:

NameJSON NameDescription
Type
type

Represents the selected radio button on the security level UI, determining if all of the elements in the securityLevels array are required, or if any of the elements are allowed. Possible values are:

AnyOf
AllOf
Security LevelssecurityLevels

Represents allowed security levels for this permission. Each level is represented as a JSON object, containing a "name" value that represents the name of a security level, and a "children" array which represents any levels under the current. The actual "selected" levels are any levels that have an empty "children" object. See the example below for more information. 



 Click here to see an example in JSON...

The JSON in this example uses the configuration shown in the image below. Permission is granted if the security levels on the request are from either an "Administrator" user, or if the request originated from the "Zone A" Security Zone. 

"readPermissions": {
    "type": "AnyOf",
    "securityLevels": [
      {
        "name": "Authenticated",
        "children": [
          {
            "name": "Roles",
            "children": [
              {
                "name": "Administrator",
                "children": []
              }
            ]
          }
        ]
      },
      {
        "name": "SecurityZones",
        "children": [
          {
            "name": "Zone A",
            "children": []
          }
        ]
      }
    ]
  }
JSON ObjectOPC, Query, Expression, Derived, Reference, Memory

Read Only


readOnly

This feature is new in Ignition version 8.0.13
Click here to check out the other new features

Defines whether a Tag is read-only or writeable. For more information, see Tag Security

value: booleanOPC, Query, Expression, Derived, Reference, Memory
Write Permissions 
writePermissions

This feature is new in Ignition version 8.0.13
Click here to check out the other new features

Defines thesecuritylevels required in order to read values from a Tag.  For more information, see Tag Security. Contains the following elements:

NameJSON NameDescription
Type
type

Represents the selected radio button on the security level UI, determining if all of the elements in the securityLevels array are required, or if any of the elements are allowed. Possible values are:

AnyOf
AllOf
Security LevelssecurityLevelsRepresents allowed security levels for this permission. Each level is represented as a JSON object, containing a "name" value that represents the name of a security level, and a "children" array which represents any levels under the current. The actual "selected" levels are any levels that have an empty "children" object. See the example below for more information. 
 Click here to see an example in JSON...

The JSON in this example uses the configuration shown in the image below. Permission is granted if the security levels on the request are from either an "Administrator" user, or if the request originated from the "Zone A" Security Zone. 

"writePermissions": {
    "type": "AnyOf",
    "securityLevels": [
      {
        "name": "Authenticated",
        "children": [
          {
            "name": "Roles",
            "children": [
              {
                "name": "Administrator",
                "children": []
              }
            ]
          }
        ]
      },
      {
        "name": "SecurityZones",
        "children": [
          {
            "name": "Zone A",
            "children": []
          }
        ]
      }
    ]
  }
JSON ObjectOPC, Query, Expression, Derived, Reference, Memory
Scripting
Tag Event Scripts
eventScripts

Each Tag has the option to have Tag Event Scripts on it. When you edit a Tag, you can navigate to the Tag Events screen to see a list of all of the Tag scripts. You can then select which event you would like to write a script for. You can even write a script for multiple events if you like. For detailed information, see Tag Event Scripts.

When interacting with a Tag from a script, the Tag Event Scripts are represented as an array of JSON objects. Each JSON object is described in the expandable area below:

 Click here to expand...

Key Description

KeyDescription
eventidA value representing the type of event script
scriptA value representing the content of the script

Possible eventid values

Event Scripteventid value
Quality Changed
qualityChanged
Value Changed
valueChanged
Alarm Active
alarmActive
Alarm Cleared
alarmCleared
Alarm Acknowledged
alarmAcked

JSON Array

OPC, Query, Expression, Derived, Reference, Memory
Alarms
Alarms
alarms

Tags have the ability to define any number of alarms. Each alarm is a condition that will be evaluated when the value of the Tag changes. When the condition becomes true, the alarm is said to be active. When it becomes false, the alarm is said to be cleared.  

For detailed information, see Tag Alarm Properties.

JSON Array of JSON objects. For detailed information, see Tag Alarm Properties.OPC, Query, Expression, Derived, Reference, Memory
Alarm Eval Enabled
alarmEvalEnabled

This feature is new in Ignition version 8.0.3
Click here to check out the other new features

Determines if alarms will be evaluated on this tag. 

BooleanOPC, Query, Expression, Derived, Reference, Memory
History
History EnabledhistoryEnabledWhether the Tag will report its history to the Tags Historian system.BooleanOPC, Query, Expression, Derived, Reference, Memory
Storage ProviderhistoryProviderWhich Tag Historian data store the Tag will target. A particular Tag can only target one history store. For more information, refer to History Providers on the Tag History Gateway Settings page.StringOPC, Query, Expression, Derived, Reference, Memory
Deadband StylehistoricalDeadbandStyle

There are three styles to choose from: Auto, Analog, or Discrete.

When set to Auto, this setting will automatically pick from Analog or Discrete, based on the datatype of the Tag.

  • If the datatype of the Tag is set to a float or double, then Auto will use the Analog Style
  • If the datatype of the Tag is any other type, then the Discrete style will be used.

More information on the Analog and Discrete types can be found on the Configuring Tag History page.

String

 Click here to expand...

Deadband Style

JSON Name

Auto
Auto
Analog
Analog
Discrete
Discrete

OPC, Query, Expression, Derived, Reference, Memory

Deadband ModedeadbandMode

Defines how the deadband value is used.

  • Absolute - The deadband setting is considered to be an absolute value.
  • Percent - The actual deadband is calculated as a percent of the Tag's engineering unit span.


String

 Click here to expand...

Deadband Mode

JSON Name

Absolute
Absolute
Percent
Percent

OPC, Query, Expression, Derived, Reference, Memory

Historical DeadbandhistoricalDeadbandA deadband that applies only to historical evaluation.NumericOPC, Query, Expression, Derived, Reference, Memory
Sample ModesampleMode

Determines how often a historical record should be collected.

  • On Change - Collects a record whenever the value on the Tag changes.
  • Periodic - Collects a record based on the Sample Rate and Sample Rate Units properties.
  • Tag Group - Collects a record based on the Tag Group specified under the Historical Tag Group property.

String

 Click here to see valid values
Max Time Between Records ModeJSON Name
On Change
OnChange
Periodic
Periodic
Tag Group
TagGroup
OPC, Query, Expression, Derived, Reference, Memory
Sample Rate

historySampleRate

When the Sample Mode property is set to "Periodic", this property (working in conjunction with the Sample Rate Units property) determines how often a record should be collected.NumericOPC, Query, Expression, Derived, Reference, Memory
Sample Rate Units

historySampleRateUnits

When the Sample Mode property is set to "Periodic", this property (working in conjunction with the Sample Rate property) determines the unit of time that will be use in record collection.

String

 Click here to see valid values
Unit of TimeJSON Name
Milliseconds
MS
Seconds
SEC
Minutes
MIN
HourHOUR
DayDAY
WeekWEEK
MonthMONTH
YearYEAR
OPC, Query, Expression, Derived, Reference, Memory
Historical Tag Group

historyTagGroup

When the Sample Mode property is set to "Tag Group", this property determines which Tag Group will be used to collect records.StringOPC, Query, Expression, Derived, Reference, Memory
Min Time Between SampleshistoryTimeDeadband

Minimum time between records. Useful in restricting the number of records collected when the Sample Mode is set to "Tag Change". Prevents multiple consecutive Tag changes from triggering consecutive record collections. Works in conjunctions with the Min Time Units property.

This feature is new in Ignition version 8.0.13
Click here to check out the other new features

As of version 8.0.13, value is calculated off of the value timestamp. (Before version 8.0.13, value is calculated based on time of arrival to the local system

IntegerOPC, Query, Expression, Derived, Reference, Memory
Min Time UnitshistoryTimeDeadbandUnitsUnits of time to use with the Min Time Between Samples property.

String

 Click here to see valid values
Unit of TimeJSON Name
Milliseconds
MS
Seconds
SEC
Minutes
MIN
HourHOUR
DayDAY
WeekWEEK
MonthMONTH
YearYEAR
OPC, Query, Expression, Derived, Reference, Memory
Max Time between SampleshistoryMaxAge
Maximum time between samples. Works in conjunction with the Max Time Units property. If a sample has not been collected by the time range specified by these two properties, then a record will be collected on the next sample interval.IntegerOPC, Query, Expression, Derived, Reference, Memory
Max Time UnitshistoryMaxAgeUnitsMaximum time in units is defined as: Milliseconds, Seconds, Minutes, Hours, Days, Weeks, Months, and Years.

String

 Click here to see valid values
Unit of TimeJSON Name
Milliseconds
MS
Seconds
SEC
Minutes
MIN
HourHOUR
DayDAY
WeekWEEK
MonthMONTH
YearYEAR
OPC, Query, Expression, Derived, Reference, Memory


Vision Client Tags

Client Tags have the ability to be used as either Expression or SQL Query Tags. There is an Expression/SQL page in the Tag editor that allows you to select what type it is.

Query/Expression Attributes

Property

Binding/Scripting Name

Description

Datatype

Applicable Tag Type

OPC ServerOPCWriteBackServerThe server against which to subscribe the data point.StringQuery, Expression
OPC Item PathOPCWriteBackItemPathThe path to subscribe to on the server.StringQuery, Expression
QueryExpressionText area to build your query or expression.

String

This is the code used by the Tag: either a SQL Query for Query Tags, or an Expression for Expression Tags.

Query, Expression
Query Type

QueryType

When the TagType property is set to 1, this property determines if the Tag should be a Memory, Expression, or Query Tag.


Integer

 Click here to see supported values
Tag TypeInteger Value
Memory Tag
0

Expression Tag

1
Query Tag2
Query, Expression, Memory
DatasourceSQLBindingDatasourceThe default data source of the Tag provider.StringQuery




  • No labels