OPC UA client driver cyclically sends a createmonitoreditem request with node ID "0" for variables that do not exist on the server

OPC UA client driver cyclically sends a createmonitoreditem request with node ID "0" for variables that do not exist on the server

Summary

When the browsename for variable of the OPCUA client driver is incorrect or does not match an item in the OPCUA server, the TranslateBrowseNameToNodeId request of the OPCUA client driver in the runtime results in an invalid NodeId "0" returned by the OPCUA server, with a corresponding error in the status code.

The OPCUA client driver does not correctly verify the status code for the received NodeID, and attempts every 500 ms to create a monitored item for the active subscrition with the NodeId "0", which fails on the server.

Description

When the browsename for variable of the OPCUA client driver is incorrect or does not match an item in the OPCUA server, the TranslateBrowseNameToNodeId request of the OPCUA client driver in the runtime results in an invalid NodeId "0" returned by the OPCUA server, with a corresponding error in the status code.

The OPCUA client driver does not correctly verify the status code for the received NodeID, and attempts every 500 ms to create a monitored item for the active subscrition with the NodeId "0", which fails on the server.

Solution

An issue has been addressed in the OPCUA client driver. When the Browsename does not result in a valid NodeId, in the translation repsonse, the driver now no longer tries to create a MonitoredItem with the NodeId 0. The driver now sends cyclically every 500ms a new translate request to retrieve the correct NodeId, when the item does become available on the server, so that a MonitoredItem can be created with the correct NodeID.

A corresponding error messge is logged in the Diagnosis Server that the BrowseName could not correctly be translated into a NodeId.



Issue Number: 31113
Fixed on Date: 6.2.2014
Versions: 7.10 0 BUILD 10378 | 7.11 0 BUILD 10238