Tag Actors
The following features are exposed in the Designer’s Tag Browser, and supplement or alter the data flow for the tags to which they are applied.
The Republish and Bulk Script actions take copies of fresh data arriving from a tag’s value source and duplicate the copies to an OPC item or to a designated script function.
The Divert Write actions intercept the value being written to a tag and deliver to a specified OPC item instead. The user may configure diversion of either the engineering value or the raw value. (If both diversions are configured, only the engineering value diversion will occur.)
Republish Action
This feature, when enabled on a tag (any kind), will cause the final value to be transmitted to an arbitrary target OPC Server and Item Path. Batching is applied with a fifty (50) millisecond delay. Batching is per OPC Server, or if the Item Path contains a square-bracketed device name, per OPC Server and Device.
Any failures to deliver are discarded. The delivery to the given OPC target occurs in parallel with the further operation of the Tag Actor pipeline.
Tag Properties
JSON Property | Data Type | |
---|---|---|
republishEnabled | Boolean | When true, the following server and item path properties are applied. |
republishToServer | String | The name of the OPC Server connection containing the following Item Path. |
republishToItem | String | The Item Path (Node ID) to which the value it to be delivered. Only non-null values with Good quality will be delivered. |
Bulk Script Action
This feature, when enabled on a tag (any kind), will cause the final value to be handed off to a script function in the Gateway Scripting Project. The function must accept a single argument, which will be a list of the values that were batched together. Batching is applied with a fifty (50) millisecond delay. Batching is per complete package.module.function name.
Any failures to locate script functions, or when executing a script function, are discarded. Bulk scripts should perform their own error handling and/or logging. Script execution occurs in parallel with the further operation of the Tag Actor pipeline.
Tag Properties
JSON Property | Data Type | |
---|---|---|
bulkScriptEnabled | Boolean | When true, the following package.module.function setting is applied. |
bulkScriptFunction | String | The full package.module.function name of the script function in the Gateway Scripting Project that will be called to handle the batched values. The function must take one positional parameter: the list of items to handle. The item object is documented below. |
Bulk Item Objects
Java Field | Data Type | |
---|---|---|
entryTS | Long | The value of `System.nanoTime()` when this item was placed in the batch queue. |
source | TagPath | The complete tag path object identifying the source of the value. |
qv | QualifiedValue | The same value, with associated quality and timestamp, that is delivered to the tag, essentially the same as a tag event's `currentValue`. |
Divert Engineering Write Action
This feature, when enabled on a tag (excluding memory tags), will cause the written value, before scaling in the write direction, but after clamping (either raw or engineering clamps), to be transmitted to an arbitrary target OPC Server and Item Path. Batching is applied with a five (5) millisecond delay. Batching is per OPC Server, or if the Item Path contains a square-bracketed device name, per OPC Server and Device.
If set up on a memory tag, the diversion will simply not occur, with no notice.
Any other failures to deliver yield a failure of the overall value write. The tag’s normal value source will not receive the written value via the normal pipeline.
Tag Properties
JSON Property | Data Type | |
---|---|---|
divertEngWriteEnabled | Boolean | When true, the following server and item path properties are applied. |
divertEngWriteToServer | String | The name of the OPC Server connection containing the following Item Path. |
divertEngWriteToItem | String | The Item Path (Node ID) to which the value is to be delivered. |
Divert Raw Write Action
This feature, when enabled on a tag (excluding memory tags), will cause the written value, after scaling in the write direction, to be transmitted to an arbitrary target OPC Server and Item Path. Batching is applied with a five (5) millisecond delay. Batching is per OPC Server, or if the Item Path contains a square-bracketed device name, per OPC Server and Device.
If set up on a memory tag, the diversion will simply not occur, with no notice.
Any other failures to deliver yield a failure of the overall value write. The tag’s normal value source will not receive the written value via the normal pipeline.
While the other actions can be used together, this action will not work if the Divert Engineering Write action is configured, as that action will consume the write value before this action sees it.
Tag Properties
JSON Property | Data Type | |
---|---|---|
divertRawWriteEnabled | Boolean | When true, the following server and item path properties are applied. |
divertRawWriteToServer | String | The name of the OPC Server connection containing the following Item Path. |
divertRawWriteToItem | String | The Item Path (Node ID) to which the value is to be delivered. |