DataAccess Namespace

Overview

The OPC UA address space is comprised of "namespaces", which are used to organize related nodes.  The namespace that contains ACM related nodes is named "DataAccess" and is index 2 in the OPC UA address space.  The index number is how OPC UA references the namespace. 

Definitions

Node

ACM objects and items in the DataAccess namespace are referred to as nodes. There are two types of nodes: object nodes, which represent the $Server object, devices, folders, and connections as defined in ACM; and variable nodes, which represent ACM items that can be associated with an object node. The Value, StatusCode, and Timestamp attributes of a variable node directly correspond to the value, status, and timestamp of an item in ACM. Nodes in the DataAccess namespace are automatically added by the server when the first Monitored Item is created for the ACM object and item.

Node ID

Each variable node in the DataAccess namespace has a Node ID that is comprised of the namespace index, object name and item name.  The Node ID is in the following format:

ns=2;s=acmObject.itemname

  • ns=2:  indicates namespace 2, the DataAccess namespace
  • s=:  indicates the Node ID is a string 
  • acmObject – the device, Server, or connection object name as defined in ACM.
  • itemname – the item name as defined in the ACM user manuals

Example: ns=2;s=MyRtu.40001, ns=2;s=MyRtu.Demand

This format must be used when manually creating ACM monitored items in the client.

Monitored Items

Clients create Monitored Items for variable nodes in the OPC UA address space to subscribe to data, status, or timestamp changes. Monitored Items in the DataAccess namespace are used by OPC UA Clients to obtain real-time data from nodes associated with ACM items. When the real-time value is updated in ACM, the monitored item's value is updated, which subsequently updates the OPC Client.  Monitored items can be created using the Node ID of the DataAccess variable node to monitor, or by browsing the virtual list in the client.  Any item in the virtual list may have a monitored item created for it which in turn will create the associated node in the address space.

A single node in the namespace space can be referenced by multiple monitored items for any client that requires updates.

Case Sensitivity

Object names and Item names in OPC UA are case sensitive, but are not case sensitive within ACM. All client applications should use the same case when defining a monitored item so that multiple nodes for the same object and item are not created in the address space. For example, “myRtu.40001” and “MyRtu.40001” refer to the same object and item in ACM but will result in two separate nodes being created on the server.

Virtual Browsing

The OPC UA Server supports "virtual" browsing of the DataAccess namespace by a client application.  While all available ACM items and objects are represented visually in the client, a node for each will not exist on the OPC UA server until a Monitored Item has been created. This is similar to the way items are added in OPC DA Clients.

Some OPC UA Clients assume the entire browse list to represent nodes that already exist in the address space. This is not the case with virtual browsing.  If the client tries to perform an attribute read on a node that has not yet had a monitored item created, that read will fail. 

Virtual browsing does not support browse continuation points nor browsing of custom Views.

BadNodeIdUnknown

A "BadNodeIdUnknown" error may be returned for the following reasons:

  • Attempting to read the attributes for a node in the browse list that does not have a monitored item. 
  • The Node ID of a monitored item requested is not a valid ACM item name.


For assistance, please submit a ticket via our Support Portal, email autosol.support@autosoln.com or call 281.286.6017 to speak to a support team member.