Skip to main content
Version: 7.9

Tag Properties

Inductive University

Tags in Ignition

Watch the video

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

o configure a Tag, right-click a Tag and select Edit Tag, or right-click the Tags folder in the Tag Browser and use the New Tag option to select a new Tag type (The example below is an OPC Tag). The Tag Editor window is displayed and you can now set the properties for that Tag. The Tag Editor window has the following sections depending on the type of Tag you are creating: General, Numeric, Metadata, Permissions, History, Alarming, SQL Query, Expression, and Tag Events.

" "

General Properties

Properties common to most Tags are as follows:

PropertyBinding/Scripting NameDescriptionDatatypeApplicable Tag Type
NameNameHow 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
ValueValueThe value of the Tag. Can only be modified if the Tag allows value writing and the user has sufficient privileges.
This property is conditionally writeable meaning the system.tag.addTag has a parameter specifically for changing the value of a Tag on creation, but system.tag.editTag may not change the Value of Tag. Instead, use system.tag.write.
Object (depends on the datatype of the Tag)OPC, Query, Expression, Derived, Client
Data TypeDatatypeThe 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.String or Integer

See valid values.
OPC, Query, Expression, Derived, Client
EnabledEnabledWhether the Tag will be evaluated by the scan class. If false, the Tag will still be present, but will have a bad quality.BooleanOPC, Query, Expression, Derived, Client
Access RightsAccessRightsSpecifies the access level allowed to the Tag: Read/Write, Read only, or Custom. If Custom, the Tag will use the permission settings.N/A
The Access Rights of a Tag is not directly editable. However, the value can be modified manually through the Tag Editor window.
In regard to scripting, both system.tag.addTag and system.tag.editTag have dedicated parameters that allow Access Rights manipulation.
OPC, Query, Expression, Derived, Client

Data Type Valid Values

DatatypeString ValueInteger Value
ByteInt10
ShortInt21
IntegerInt42
LongInt83
FloatFloat44
DoubleFloat85
BooleanBoolean6
StringString7
DatedateTime8
Byte ArrayInt1Array17
Short ArrayInt2Array18
Integer ArrayInt4Array11
Long ArrayInt8Array12
Float ArrayFloat4Array19
Double ArrayFloat8Array13
Boolean ArrayBooleanArray14
String ArrayStringArray15
DatasetDataSet9

Additional Properties - OPC Tags

PropertyBinding/Scripting NameDescriptionDatatypeApplicable Tag Type
OPC ServerOPCServerThe server against which to subscribe the data point.StringOPC
OPC Item PathOPCItemPathThe path to subscribe to on the server. The point will be subscribed at the rate dictated by the scan class.StringOPC
Source Data TypeSourceDataTypeThe data type used by the Tag: Byte, Short, Integer, Long, Float, Double, Boolean, etc..String or Integer

See valid values.
OPC, Query, Expression, Derived

Source Data Type Valid Values

DatatypeString ValueInteger Value
ByteInt10
ShortInt21
IntegerInt42
LongInt83
FloatFloat44
DoubleFloat85
BooleanBoolean6
StringString7
DatedateTime8
Byte ArrayInt1Array17
Short ArrayInt2Array18
Integer ArrayInt4Array11
Long ArrayInt8Array12
Float ArrayFloat4Array19
Double ArrayFloat8Array13
Boolean ArrayBooleanArray14
String ArrayStringArray15
Date ArrayDateTimeArray16

Scan Class Properties

PropertyBinding/Scripting NameDescriptionDatatypeApplicable Tag Type
Scan ClassScanClassThe scan class that will execute the Tag. The scan class dictates the rate and conditions on which the Tag will be evaluated.StringOPC, Query, Expression, Derived

Additional Properties - Tag in External Providers

PropertyBinding/Scripting NameDescriptionDatatypeApplicable Tag Type
DriverDriverNameThe name of the Ignition Gateway that will be responsible for the execution of the Tag. All other Gateways will monitor the value.StringOPC
Last ChangeLastChangeThe last time the Tag was written to or changed. This Tag attribute is not writeable.DateOPC, Query, Expression, Derived
QualityQualityIdentifies if the Tag's data is of good quality, and should be trusted. This Tag attribute is not writeable.QualityDataOPC, Query, Expression, Derived

Tag Types

PropertyBinding/Scripting NameDescriptionDatatypeApplicable Tag Type
Tag TypeTagTypeTag types that can be created in Ignition are OPC, Memory, Expression, Query and Derived. They are identical in their configurations apart from defining how the value is generated.Integer

See supported values.
OPC, Query, Expression, Derived

Tag Type Supported Values

Tag TypeInteger Value
OPC Tag0
Memory Tag, Expression Tag, or Query Tag1
Folder6
Derived Tag13

Numeric Properties

The Numeric properties are available to OPC, DB, and Client Tags whose data types are numeric.

PropertyBinding/Scripting NameDescriptionDatatypeApplicable Tag Type
Scale ModeScaleModeIf and how the Tag value will be scaled between the source, and what is reported for the Tag.Integer

See valid values.
OPC
Raw LowRawLowStart of the "raw" value range.DoubleOPC
Raw HighRawHighEnd of the "raw" value range.DoubleOPC
Scaled LowScaledLowStart of "scaled" value range. Raw low will map to Scaled low for the Tag.DoubleOPC
Scaled HighScaledHighEnd of "scaled" value range. Raw high will map to Scaled high for the tag.DoubleOPC
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.Integer

See valid values.
OPC
Scale FactorScaleFactorFor single parameter modes (currently only Exponential Filter), the factor parameter for the equation.Double

Used when the Scale Mode property is set to Exponential Filter
OPC
DeadbandDeadbandA floating point value used to prevent unnecessary updates for Tags whose values "float" by small amounts.DoubleOPC
Deadband ModeDeadbandModeThere are two modes to choose from: Absolute or Percent.Integer

See valid values.
OPC

Scale Mode Valid Values

ModeInteger Value
Off0
Linear1
Square Root2
Exponential Filter3
Bit Inversion4

Clamp Mode Valid Values

Clamp ModeInteger Value
None0
Low1
High2
Both3

Deadband Mode Valid Values

Deadband ModeInteger Value
Absolute0
Percent1

Metadata Properties

Inductive University

Tag Metadata Properties

Watch the video

The Metadata properties provide informational properties for a Tag. The values of these fields can be read and modified through scripting, or bound to properties such as Format, Engineering Units, Tooltips, Documentation, and more.

PropertyBinding/Scripting NameDescriptionDatatypeApplicable Tag Type
Format StringFormatStringHow the value should be formatted when converted to a string (only applies to numerical data types).StringOPC, Query, Expression, Derived, Memory
Eng UnitEngUnitThe engineering units of the value.StringOPC, Query, Expression, Derived, Memory
Engineering Limits LowEngLowThe lowest expected value of the Tag.DoubleOPC, Query, Expression, Derived, Memory
Engineering Limits HighEngHighThe highest expected value of the Tag.DoubleOPC, Query, Expression, Derived, Memory
Engineering Limit EnforcementEngLimitModeDictates how the engineering range should be enforced on the Tag. If not "none", the Tag will change to bad quality ("limit exceeded"), when the value exceeds the specified range.Integer

See valid values.
OPC, Query, Expression, Derived, Memory
TooltipTooltipThe 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, Memory
DocumentationDocumentationA freeform text property for information about the Tag.StringOPC, Query, Expression, Derived, Memory

Engineering Limit Enforcement Valid Values

Limit EnforcementInteger Value
Off0
Low1
High2
Both3

Permissions Properties

By default, a Tag's Access Rights property is set to Read/Write, which means that any user can read the value of the Tag and write to the Tag. Read-only mode makes the Tag non-writeable for all users. Custom mode allows the Tag to assign Read/Write or Read-Only privileges to individual roles. Any roles not explicitly granted a right by using the Custom Permissions Editor will not be able to read the Tag's value or write to the Tag.

Tag's Access Writes

Make sure your Tag's Access Rights (in the General section of the Tag Editor window) is set to Custom for these permissions to have an effect. Users must have at least one role in this list in order to have access to the Tag. If a user has more than one of the roles in the list, the role with the highest privilege will apply.

History Properties

The properties on the History tab of the Tag Editor window specify if and how the Tag's history will be stored in the Tags Historian system.

PropertyBinding/Scripting NameDescriptionDatatypeApplicable Tag Type
Store HistoryHistoryEnabledWhether the Tag will report its history to the Tags Historian system.BooleanOPC, Query, Expression, Derived, Memory
History ProviderPrimaryHistoryProviderWhich Tag Historian data store the Tag will target. A particular Tag can only target one history store. For more information, refer to Historian Providers in Configuring Tag Historian.String

The string name of the Historical Provider
OPC, Query, Expression, Derived, Memory
Historical ScanclassHistoricalScanclassThe scan class to use to evaluate Tag history. This allows the Tag's history to be stored at a slower rate than the status is updated at.StringOPC, Query, Expression, Derived, Memory
Historical DeadbandHistoricalDeadbandA deadband that applies only to historical evaluation.DoubleOPC, Query, Expression, Derived, Memory
Max Time between RecordsHistoryMaxAgeModeThe maximum amount of time that can pass before a new record is logged for the Tag. The "Max Time between Records" property header contains the property, HistoryMaxAgeMode, which can be set using the Radio Button for "Unlimited" number of executions.

Note: The HistoryMaxAgeMode and the HistoryMaxAge properties have the same property name, but the two are distinctly separate properties that work together: Unlimited and Number of Executions. To learn more, refer to Max Time Between Records in Configuring Tag Historian.
Integer

See valid values.
OPC, Query, Expression, Derived, Memory
Max Time between Records (cont.)HistoryMaxAgeThe maximum amount of time that can pass before a new record is logged for the Tag. The "Max Time between Records" property header contains the property, HistoryAgeMode, which can be set using the Radio Button and the Spinner for a specified number of executions, and the Dropdown for the type of execution (Milliseconds, Seconds, Minutes, etc.).

Note: The HistoryMaxAgeMode and the HistoryMaxAge properties have the same property name, but the two are distinctly separate properties that work together: Unlimited and Number of Executions. To learn more, refer to Max Time Between Records in Configuring Tag Historian.
IntegerOPC, Query, Expression, Derived, Memory
Historical Deadband ModeDeadbandModeThere are two modes to choose from: Absolute or Percent.Integer

See valid values.
OPC, Query, Expression, Derived, Memory
Timestamp SourceHistoryTimestampSourceWhich timestamp is used for the value of the Tag. Refer to Timestamp Source in Configuring Tag Historian.Integer

See valid values.
OPC, Query, Expression, Derived, Memory
Value ModeInterpolationModeValue Mode dictates the type of value that the Tag represents, how the deadband will apply to the values, and how interpolation should be performed when querying.

  • Analog values are values that can change such as temperature or tank level.
  • Discrete values are values that are either "on" or "off" such as a machine state or "fault" condition.

  • To learn more about Analog and Discrete values, refer to Value Mode in Configuring Tag Historian.
    Integer

    See valid values.
    OPC, Query, Expression, Derived, Memory

    Max Time between Records Valid Values

    Max Time Between Records ModeInteger Value
    Unlimited0
    Executions1
    Milliseconds2
    Seconds3
    Minutes4
    Hours5
    Days6

    Historical Deadband Mode Valid Values

    Historical Deadband ModeInteger Value
    Absolute0
    Percent1

    Timestamp Source Valid Values

    Timestamp SourceInteger Value
    System0
    Value1

    Value Mode Valid Values

    Value ModeInteger Value
    Discrete0
    Analog3

    UDT Properties

    User Defined Types (UDTs) are essentially data templates that can be configured to easily control multiple instances. UDTs can hold multiple other basic types of Tags (Integers, Strings, etc.) as well as other UDTs. Changes made to the parent UDT will automatically be propagated to all children.

    PropertyBinding/Scripting NameDescriptionDatatypeApplicable Tag Type
    UDT Parent TypeUDTParentTypeUDTs are similar to data templates where a particular structure of a Tag is defined. A UDT can be created as if it were a single Tag to create Tag instances.String
    States the UDT Definition associated with a UDT instance
    UDT Instance

    Alarming Properties

    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.

    Here is a list of Alarm Properties that you can edit or bind when creating or editing a Tag.

    Main

    Property NameBinding/Scripting NameDescriptionDatatypeApplicable Tag Type
    NamenameEach alarm has it's own name. For example, if the Tag is representing a level, the alarm name might be High Level.StringOPC, Query, Expression, Derived, Memory
    EnabledenabledThis boolean determines whether or not the alarm will be evaluated. A disabled alarm's condition will not be evaluated, and thus will not generate any alarm events.BooleanOPC, Query, Expression, Derived, Memory
    PrioritypriorityAn alarm's priority can affect how is appears in an Alarm Status table, or can affect how it is escalated through a pipeline. The priorities, which can be referenced by their integer equivalent in scripts and expressions, are: Diagnostic [0], Low [1], Medium [2], High [3], Critical [4].StringOPC, Query, Expression, Derived, Memory
    Timestamp SourcetimestampSourceChooses where the timestamp for the alarm event should come from: the system time of when the event was generated, or the timestamp of the value that tripped the event.Integer
    See valid values.
    OPC, Query, Expression, Derived, Memory
    Labellabel
    New in 7.9.8
    An optional name that will be used for display purposes. Provides a dynamic alternative to the static name property. If left blank, the name will be used.
    StringOPC, Query, Expression, Derived, Memory
    Display PathdisplayPathThis is a string value that will be used to display the alarm to operators. If this is blank, the operator will see the path to the Tag instead. Please use the forward-slash character to separate hierarchy levels in this path, for example: East Area/Boilers/Boiler5StringOPC, Query, Expression, Derived, Memory
    Ack ModeackModeDictates how acknowledgement works for the alarm.

  • Unused - Acknowledgement will not be used for this Tag, and any alarm that is generated will automatically be marked as acknowledged.
  • Auto - The alarm is acknowledged automatically when the alarm becomes cleared.
  • Manual - The alarm is never set to be acknowledged by the system, and it is up to the user to manually acknowledge alarms.
  • StringOPC, Query, Expression, Derived, Memory
    NotesnotesA place for any free-form documentation about the alarm that can be displayed to operators.StringOPC, Query, Expression, Derived, Memory
    Ack Notes RequiredackNotesReqdIf this setting is true, the operators will be unable to acknowledge this alarm without entering some notes.BooleanOPC, Query, Expression, Derived, Memory
    Shelving AllowedshelvingAllowedIf this setting is true, the shelving feature will be unavailable for this alarm.BooleanOPC, Query, Expression, Derived, Memory

    Timestamp Source Valid Values

    Timestamp SourceInteger Value
    System0
    Value1

    Alarm Mode Settings

    Property NameBinding/Scripting NameDescriptionDatatypeApplicable Tag Type
    ModemodeThis setting controls what condition this alarm is evaluating. The available modes are as follows:

  • Equal - Active when the Tag's value equals the alarm's setpoint.
    Not Equal - Active when the Tag's value does not equal the alarm's setpoint.
  • Above Setpoint - Active when the Tag's value is above the alarm's setpoint.
  • Below Setpoint - Active when the Tag's value is below the alarm's setpoint.
  • Between Setpoints - Active when the Tag's value is between the low and high setpoints. If any change is true, an event will be generated for each value change between the setpoints.
  • Outside Setpoints - Active when the Tag's value falls outside the low and high setpoints. If any change is true, an event will be generated for each value change outside the setpoints.
  • Out of Range - The same as Outside Setpoints, but uses the Tag's Engineering High and Engineering Low as the high and low setpoints.
  • Bad Quality - Active if the Tag value becomes a bad quality, for example, on communication loss.
  • Any Change - An alarm event is generated every time the Tag value changes. Note that this alarm will never be "active" because each active event is paired with a matching clear event, instantly.
  • Bit State - This alarm mode is used to alarm when a specific bit out of an integer Tag becomes high. You must specify which bit position to use, with zero being the least significant bit. The On Zero property is used to invert the logic and alarm when the bit is low.
  • On Condition - This free-form alarm mode is used for when you want to specify the condition using an expression or another Tag. To do this, bind the "Is Active" property to an appropriate expression or Tag.
  • StringOPC, Query, Expression, Derived, Memory
    Setpoint / Low SetpointsetpointAThe value used to initiate an alarm. If the alarm mode calls for two setpoints, this is the low value.DoubleOPC, Query, Expression, Derived, Memory
    Inclusive / Low InclusiveinclusiveAIf true, the Setpoint or Low Setpoint value is used inclusively for the condition to alarm.BooleanOPC, Query, Expression, Derived, Memory
    High SetpointsetpointBThe high value used to initiate an alarm when the alarm mode calls for two setpoints. Available for modes: Between Setpoint, Outside Setpoints.DoubleOPC, Query, Expression, Derived, Memory
    High InclusiveinclusiveBIf true, the High Setpoint value is used inclusively for the condition to alarm. Available for modes: Between Setpoint, Outside Setpoints.BooleanOPC, Query, Expression, Derived, Memory
    Any ChangeanyChangeIf true, will alarm on each value change given the alarm mode conditions are met. Note: This alarm will NEVER be "active" because each active event is paired with a matching clear event, instantly. Available for modes: Above Setpoint, Below Setpoint, Between Setpoints, and Outside Setpoints.BooleanOPC, Query, Expression, Derived, Memory
    On ZerobitOnZeroIf true, will alarm when the specified bit is not high (when the bit is 0). Available for modes: Bit State.BooleanOPC, Query, Expression, Derived, Memory
    Bit PositionbitPositionThe position of the bit, starting at 0 that will be watched. Available for modes: Bit State.IntegerOPC, Query, Expression, Derived, Memory
    Is ActiveactiveConditionWhen this property is active, the alarm will be active. Typically has a binding of some sort that will be used to determine when the alarm goes active. If the expression evaluates to True, the alarm is active. If the expression evaluates to False, the alarm is not active. Available for mode: On Condition.BooleanOPC, Query, Expression, Derived, Memory

    Deadbands and Time Delays

    Property NameBinding/Scripting NameDescriptionDatatypeApplicable Tag Type
    DeadbanddeadbandThe value for the deadband, interpreted according to the Deadband mode. Note that all alarms are only evaluated after the Tag's value changes, which means that the Tag's own deadband will be considered first. When the deadband is positive, an active alarm condition needs to clear its setpoint(s) by the amount of the deadband for the alarm to clear. For example, suppose you had a Between Setpoints alarm with a low setpoint of 50 and a high setpoint of 70, and with a deadband of 2. The alarm will go active if the value is between 50 and 70, but will only clear if the value falls below 48 or rises above 72.DoubleOPC, Query, Expression, Derived, Memory
    Deadband ModedeadbandModeDefines 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.
  • Integer

    See valid values.
    OPC, Query, Expression, Derived, Memory
    Active DelaytimeOnDelaySecondsThe time, in seconds, before the alarm will be considered active after the alarm's condition becomes true. Also known as a "rising edge time deadband."DoubleOPC, Query, Expression, Derived, Memory
    Clear DelaytimeOffDelaySecondsThe time, in seconds, before an active alarm will be considered clear after the alarm's condition becomes false. Also known as a "falling edge time deadband."DoubleOPC, Query, Expression, Derived, Memory

    Deadband Mode Valid Values

    Alarming Deadband ModeInteger Value
    Absolute0
    Percent1

    Notification

    Property NameBinding/Scripting NameDescriptionDatatypeApplicable Tag Type
    Active PipelineactivePipelineThe name of an alarm notification pipeline to put this alarm into when it becomes active in order to send out active alarm messages. Many alarms may share a single pipeline.StringOPC, Query, Expression, Derived, Memory
    Clear PipelineclearPipelineThe name of an alarm notification pipeline to put this alarm into when it becomes cleared in order to send out cleared messages.StringOPC, Query, Expression, Derived, Memory
    Ack PipelineackPipelineThe name of the alarm notification pipeline to put this alarm into when the alarm has been acknowledged.StringOPC, Query, Expression, Derived, Memory

    Email Notification Properties

    Property NameBinding/Scripting NameDescriptionDatatypeApplicable Tag Type
    Custom SubjectCustomEmailSubjectA string that will be used as the subject line of an email notification message. If blank, the message settings defined on the notification block that sent the email out will be used instead.StringOPC, Query, Expression, Derived, Memory
    Custom MessageCustomEmailMessageA string that will be used as the body of this alarm's email notification message. If blank, the message settings defined on the notification block that sent the email out will be used instead.StringOPC, Query, Expression, Derived, Memory

    SMS Notification Properties

    Property NameBinding/Scripting NameDescriptionDatatypeApplicable Tag Type
    Custom MessageCustomMessageIf specified, will be used for the SMS message. If blank, the message defined in the notification block will be used.StringOPC, Query, Expression, Derived, Memory

    Associated Data

    Property NameBinding/Scripting NameDescriptionDatatypeApplicable Tag Type
    User Defined DataAssociated Data are custom alarm properties that can be added to any alarm. These properties will often be bound to other Tags that represent associated contextual data that may be related to the alarm. A snapshot of the values of these properties will be taken when the alarm becomes active. These values will be attached to the alarm event as it moves through the rest of the alarming system, meaning that the values will be available from the alarm status system, the alarm journal system, and in the alarm notification system.StringOPC, Query, Expression, Derived, Memory

    Binding

    Many alarm properties are bindable, which means they can be bound to other Tags in the system, or expressions. For example, you might bind the enabled property to another Tag which represents whether or not your process is running, thereby, disabling the alarm when production is stopped. Or, you might bind the setpoint of an alarm to a Tag that operators can manipulate, thereby, letting the setpoint be changed at runtime.

    To bind a Tag, simply click on the binding icon (" "), and the binding UI will slide in from the right. From here, you can select the binding type (No Binding, Tag, Expression, or UDT Parameter, if applicable). Note, that the expression can reference many useful values such as the Tag's value and other settings of the alarm. When you configured the binding to your liking, click on the Back button.

    Expression/SQL Properties

    Query Tags and Expression Tags have the ability to use an SQL query or expression (respectively) as their value instead of an OPC item path. This can be used to select information from the database or create your own formulas to manipulate other Tag values.

    Expression Properties

    In Expression Tags, the Tag can use all of the features available in the expression language. It can refer to other Tags, and use operators and functions to calculate a value for the Tag.

    SQL Query Properties

    In SQL Query Tags, the Tag's value will be the result of the specified SQL query. The query can be any valid query, but should result in only one value. Note, that insert and update queries can be used, and will often result in an integer value, so the Tag's data type should be set accordingly.

    Like SQL Query bindings in the Vision module, the queries for Tags can refer to other Tag values. The values of referenced Tags will be inserted as literal text in the query before being sent to the database.

    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

    PropertyBinding/Scripting NameDescriptionDatatypeApplicable 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 TypeQueryTypeWhen the TagType property is set to 1, this property determines if the Tag should be a Memory, Expression, or Query Tag.Integer

    See supported values.
    Query, Expression, Memory
    DatasourceSQLBindingDatasourceThe default data source of the Tag provider.StringQuery
    Query Type Supported Values
    Tag TypeInteger Value
    Memory Tag0
    Expression Tag1
    Query Tag2

    Tag Events

    Each Tag has the option to have Tag Event Scripts on it. When you edit a Tag, you can navigate to the Tag Events section 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.