Skip to end of metadata
Go to start of metadata


What Is a Tag Group?

Tag Groups dictate the rate of execution of Tags, and therefore play a crucial role in the design of large and high-performance systems. Highly optimized systems generally use multiple Tag Groups which allows for each data point to be polled only as fast as it needs to be. For example some Tags may need to updated every 500ms, while others may only need to be updated every 30 seconds.

Creating different Tag Groups allows you to organize your Tags into groups that subscribe or poll at different rates.



Tag Groups Modes

Tags are assigned to a Tag Group that determine how often they update. For example, how often an OPC value is polled from the PLC, how often an Expression Tag calculates its expression, and how often a Query Tag runs its query. It's easy to create Tag Groups in Ignition for just about any scenario you can think of. Tag Groups are extremely powerful and flexible, and you can create them based entirely on your individual business requirements.

There are three different Tag Group modes in Ignition that you can use. Each mode works a bit differently. 

Direct

Executes at one fixed rate, as determined by the Rate property in milliseconds. This is the most simplistic option, as the rate of the group doesn't intentionally change between two different rates. The default tag group on newly installed Ignition systems uses this mode. It's the simplest mode in that there is only a single rate for this mode. 

Driven

Driven Tag Groups switch between two different rates based on a condition you configure directly onto the Tag Group. The condition in this case is an expression on the Driving Expression property. The result of the expression is then compared to the Comparision Value property. If the comparison of the two values is equivalent, then the entire tag group executers at the Leased/Driven Rate in milliseconds, otherwise it executes at the Rate

Thus, you can have a tag group that switches between a fast and slow rate under certain conditions. 

Furthermore, Driven Tag Groups have a One Shot property. When set to true, means the group only executes every time the comparison is equivalent. Furthermore, it only executes once every time that comparison transitions from false to true: this is sometimes called "a rising edge". 

The One Shot property allows for more interesting tag executions. Instead of running at set rates, you can trigger an execution for all tags on the group by incorporating a tag value as part (or all) of the driving expression, allowing a single tag value change to cause many other tags to update. 

Leased

Leased groups have two different execution rates, much like a Driven group. However Leased groups don't rely on a comparison to determine rate. Instead, the driving mechanism is whether a Tag is being displayed on an open window or session: generally via a Tag Binding of some sort, but being visible in the Tag Browser from a Designer session also counts as being "displayed".

 Tags that are displayed will run at the fast rate (Leased/Driven Rate value), while those Tags on the same Leased group that aren't displayed will run at the slow rate (Rate value).

Leased groups are unique in that Tags on the same group may execute at different rates while being in the same group. For example, if Tags and are both on the same Leased group, and all Designer,
Vision Client, and Perspective Sessions are closed, then both tags execute using the Rate value. If a user launches a Perspective Session and switches to a view where the value of 
A is displayed on a component binding, then A will switch to the Leased/Driven Rate. However, since B isn't displayed anywhere, it will continue to execute using the Rate value. 


On this page ...

IULocgo


Tag Group Overview


IULocgo


Driven Tag Group


IULocgo


Leased Tag Group



Adding and Editing Tag Groups

Adding and editing Tag Groups is easy in the Designer once you understand how the different Tag Group modes work. It's just a matter of choosing which Tag Group mode you want to use for your Tag, and entering the properties for your Tag Group.

  1. In the Tag Browser, click on the Edit Tag Group   icon under the Options Menu to open the Tag Group Editor window.



  2. A list of already configured Tag Groups appear on the left side of the window and configuration settings on the right. To add a Tag Group, click the Add   icon. (Alternatively, you can click on an existing Tag Group to edit it.)



When a Tag Group in the list is selected, the properties for the group will appear on the Properties Table. Each mode will have slightly different settings that will need to be configured. You can find descriptions for those properties in the Tag Group Properties section below. 


Setting a Tag Group on a Tag

The example below demonstrates how to find the Tag Group on a tag, and change it to something else. 

  1. In the Tag Browser, right-click on any Tag, and click the Edit tag  icon. The Tag Editor window opens. A list of Tag properties is displayed. 
  2. Under Basic Properties, on the right side of the Tag Group property, click the dropdown list and a list of available Tag Groups will appear. Again, Tag Groups are configured per Tag Provider, so this list will only contain Tag Groups that are present in the Tag's Tag Provider. 



  3. If you wish to change the Tag Group. Select the new option, and click OK or Apply to apply the new Tag Group. The Tag will switch rates and start using the new Tag Group. 

As a reminder, you can select multiple Tags in the Tag Browser by right clicking to edit the Tags. This opens the Tag Editor, and sets the Tag Group for all the selected Tags at the same time. 


Tag Group Properties

The following table lists the properties for Tag Groups. Note that some properties are available only for specific modes.

PropertyDescriptionApplicable Modes
Common
NameUnique name of the Tag Group.All
Driven Mode

The rate of the Tag Group is based on the value of a driving Tag. The condition is a simple comparison between a Tag value and a number. If the condition is true, the Tag Group will execute at the fast rate. If false, it will run at the slow rate. There are two exceptions to this: the Any Change operator, and  One-shot mode. Using either of these conditions will not run at a rate. Instead, it will be triggered by a change in the driving Tag's value. Keep in mind that the driving Tag can be an Expression Tag that performs complex calculations and references other Tags. In this way, it's possible to create robust Tag Group triggering.

All
Rate

Base update rate, specified in milliseconds, at which Tags will be executed.

Note: If the rate is set to 0, the Tag Group will not execute.

All
Leased/Driven RateUsed by both the Leased and Driven Modes to determine when the Tag Group should run at the fast rate.Leased, Driven
Driving ExpressionThe Tag Group executes based on the condition set on the Driving Expression: Tag or Expression. Driven
Driving Comparison

How the Comparison Value property should be compared to the Driving Tag's value. If the comparison is true, then the Fast Rate will be used by the Tag Group, otherwise, the Slow Rate will be used.

The Any Change operator works differently than the other operators: The Tag Group will execute immediately whenever the driving Tag changes value. Using the Any Change operator means that the Tag Group no longer uses the Slow Rate or Fast Rate properties. 

Driven
Comparison ValueUsed by the Driving Comparison property to determine if the Tag Group should execute at the slow or fast rate. Driven
One ShotOne-shot will execute once when the comparison condition is true, and not again until the condition becomes false, and subsequently true. Driven
OPC Settings
Data Mode

This mode dictates how OPC values are obtained. The default mode, Subscribed, is preferred because it is much more efficient than a read.

Subscribed
All OPC Tags in the Tag Group will be subscribed according to the Tag Group rate. Values will come in asynchronously as they change.

Polled
Tags will not be subscribed, but will instead be synchronously read each time the Tag Group executes. This operation is less efficient, but allows more precise control over when values are obtained. This mode is particularly useful when collecting data over a slow or expensive connection for display. When combined with the one-shot execution mode above, and a static Tag tied to a momentary button, it's easy to create a manual refresh button on a screen that pulls data on-demand.

All
Read After Write

When enabled, a read request will be sent immediately after a write request. This means that the value on the Tag will be updated much quicker to reflect the latest written value.

Enabling this property is less efficient as a single write to a Tag becomes two separate requests. This is especially helpful with slower Tag Groups as the Tags will show the latest value quicker than the normal execution would allow.

All
Optimistic Writes

Optimistic Writes are only valid on OPC Tags . Optimistic Writes set a newly written Tag value in Ignition before receiving confirmation of the write from the PLC. This helps the operators see their newly entered value right away and is useful if you have slow a Tag Group rate. A faster rate (1 second or quicker) will have less need to turn on Optimistic Writes.

If enabled, written values will be applied to the Tag in Ignition immediately. Normally, the system must receive confirmation that a write was successful from the device before the Tag in Ignition's value would change. The Optimistic Writes property changes the behavior by assuming the write went through until the next read value or subscription update proves otherwise. Enabling this will make writes appear to execute much quicker.

Works in conjunction with the  OPC Optimistic Write Timeout property below. If the Tag in Ignition does not receive confirmation that the new write was successful within the timeout, the Tag will change back to the last known value. While in an ambiguous state, the Tag with have a quality of "Good (Provisional)".

This setting can be paired with the  OPC Read After Write: the Ignition Tag will assume the newly written value, while an asynchronous read request is quickly sent out to confirm the write went through.

While the write is pending, values received from subscription activities will override the current value. Assuming an initial value of 0, if a write of 10 is applied to the Ignition Tag, then the Tag will show a value of 10 until the system can confirm the new value. If a subscription update then returns a value of 5, the Ignition Tag will change to 5.

All
Optimistic Write Timeout (MS)

The timeout period for Optimistic Writes. A value of 0 effectively disables the fallback functionality: the new value is maintained on the Tag until the next read or subscription activity.

All
OPC UA
Publishing Interval (ms)

The rate at which data is delivered to the OPC-UA client.

A value of -1 means automatic, allowing the OPC-UA client to determine the rate.

All
Queue Size

The OPC-UA specifications states that in cases where the sampling interval (the rate as which the server checks the data source for changes) is faster than the publishing interval (rate at which the the data is delivered to the client), the samples may be queued or batched together before publishing. This setting determines the maximum size of that queue. When the maximum is reached and a publish has not yet occurred, oldest samples are dropped first.

Currently, there are not many features in Ignition that utilize multiple entries in the queue, but 3rd party OPC-UA clients may be able to take advantage of this setting.

Note that values on Ignition Tags will only ever show one value at a time, regardless of what this property is set to. (If the value is 0, nothing will be queued.)

Support for this feature is dictated by the driver. 

  • DNP3 - See the DNP3 page for details on how buffered data and Sequence of Events works
All
History
Min Time Between SamplesMinimum time between samples (integer).All
Min Time UnitsMinimum time in units is defined as: Milliseconds, Seconds, Minutes, Hours, Days, Weeks, Months, and Years.All
Max Time Between SamplesMaximum time between samples (integer).All
Max Time UnitsMaximum time in units is defined as: Milliseconds, Seconds, Minutes, Hours, Days, Weeks, Months, and Years.All




  • No labels