Variable enumeration when
the OPC-UA device starts
When an OPC-UA Client device is started, the driver must make multiple requests across the network to gather information about the tags that reside in the OPC-UA server represented by that device. The information gathered allows the driver to set the tag's name, description, and data type, as well as the tag's read/write access rights. This can be a time consuming process, especially for large data models that are represented on the OPC-UA server.
Supported device tags will be enumerated, and shown in the deviceWISE Workbench Variables tab, using the same folder hierarchy defined on the OPC-UA server.
Variable enumeration filtering
The objects that are enumerated from the OPC-UA server can be filtered using the device Enumeration Option parameter. The default for the parameter is All, which will enumerate all objects from the OPC-UA server.
There are two options to limit, or filter, the objects that are enumerated: Allowlist and Denylist:
- Allowlist, the driver will enumerate the specified objects and members of those objects including nested objects and variables.
- Denylist, the driver will block the specified objects and members of those objects including nested objects and variables.
The Enumeration List parameter is used to limit the objects.
Examples of Enumeration List values
Single Object: Objects.Server.ServerStatus
Multiple Objects:Objects.Server.ServerStatus, Objects.deviceWISE.Global
With Wild Card: Objects.Server.Server*, Objects.deviceWISE.G*
Error cases with no matches on start of device
Allowlist: If no matches are found from the Enumeration List, the device is changed to the Disabled state.
Denylist: If no matches are found from the Enumeration List, all the tags are enumerated from the server and a warning message is written to the Exceptions Log.
Errors during device validation
Value |
Result
|
Notes
|
---|---|---|
Empty value | Validation fails. | No valid entries. |
*. *. * | Validation fails. | No valid entries. |
Objects.Server,.,Objects.deviceWISE | Validation fails. | Invalid (using just a '.' is not allowed for an object name). |
Objects.Server,Objects.*.deviceWISE | Validation fails. | Invalid ( the wild card character '*' is not allowed for object name in the middle of path). |
Obje*.Server | Validation fails. | Invalid ( the wild card character '*' is not allowed for object name in the middle of path). |
Objects.Server.* | Validation fails. | Invalid (only '*' not allowed for
path for an entry of object in the last
object). Valid path: Objects.Server works to enumerate all the nested members inside Objects.Server |