(Optional) Using the OPC UA Client priority_level Property

With SmartServer Pi 4.2 and higher, OPC UA is a Beta release.
Using the priority_level property is available with SmartServer 3.0 and higher.
THE DATAPOINTs WIDGET IS AVAILABLE WITH SMARTSERVER 2.5 AND HIGHER. FOR SMartServer 3.3 and prior releases, this widget is called the Datapoint Browser widget.

The OPC UA Server provides an OPC/UA-compliant interface to all IAP-accessible datapoints on SmartServer IoT-to-OPC UA client applications (e.g., OPC UA compliant SCADA workstations AVEVA Edge HMI and GE Cimplicity HMI/SCADA).

This section describes how to use the priority_level property with the OPC UA client.

Every input datapoint node has a priority_level property as shown in the example figure below.

The priority_level parameter is a Read/Write (R/W) property node with type Int8. Valid values are as follows:

  • 1 to 16 denotes a priority level 1 to 16
  • -1 to -16 relinquishes priority levels 1 to 16
  • 17 (default) denotes a normal priority

A read to this property node will return the current active (from-IAP/MQ) priority level for the corresponding data point. The example below shows an input datapoint nviValue (SNVT_switch) with a priority_level of 15 and a current preset value of Off.  

The SmartServer CMS Datapoints widget View Overrides table displays the value associated with priority levels. (See Managing Overrides in the Testing Devices and Managing Datapoints section for more information.)

A write to the priority_level  property is cached into the corresponding datapoint object (to-IAP/MQ) in the OPC UA server. However, this newly updated priority_level may or may not be shown in the subsequent read of the (from-IAP/MQ) priority property node. 

The cached (to-IAP/MQ) priority level will be used following an immediate/first write to the datapoint node resulting in a value update with the specified priority override level. Immediately after the write, the cached (to-IAP/MQ) priority_level will be reset to the normal priority for any subsequent writes. This cached priority_level will not be reflected in the user interface until the next override/relinquish operation.

Negative values -1 to -16 are used to relinquish the specified priority level. 

For example, if -15 (shown below) is written to the above nviValue datapoint’s priority_level, priority 15 will be cleared. 

This operation is equivalent to the datapoint relinquish routine performed from the Datapoints widget. See Managing Overrides in the Testing Devices and Managing Datapoints section for more information.

As shown in the figure below, a read shows the current active priority 17 (normal) and a preset value of On.

To summarize the priority_level routines, the (to-IAP/MQ) priority override flag works as a one-time operation write to the datapoint node. After the (to-IAP/MQ) priority override flag has been reset, the system maintains the override priority_level value for a given datapoint until the override priority_level value is cleared by relinquishing it. To relinquish an override priority_level, a negative value (-1 to -16) must be written to the priority_level property node. Doing so clears the (to-IAP/MQ) priority override flag.