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