Requesting data from Plant SCADA OPCUA Server with Browse Path

In typical use case OPCUA client subscribes to Server with direct Node ID to get specific point update. However in some requirement user may want to use direct browse path approach. Such way Client send out TranslateBrowsePathsToNodeIDsRequest and on Server side it converts browse path to Node ID. While attempt to implement this Plant SCADA Server side responds in TranslateBrowsePathsToNodeIDsResponse frame with this error "StatusCode: 0x806f0000 [BadNoMatch]". I am seeking more details on cause of this error and how we should form Browse Path array correctly to get this conversion correct on server side. 

  • Hi   - Thank you for your question, and we sincerely apologize for the delay in providing an answer. We are actively working internally to find the information you need and will get back to you as soon as possible. We appreciate your patience and understanding! In the meantime, we encourage you to submit a ticket to Tech Support here:  https://www.aveva.com/en/support-and-success/support-contact/ -Heroes HQ Admin

  • Hi  ,

    "StatusCode: 0x806f0000 [BadNoMatch]" stands for "The requested relative path cannot be resolved to a target to return."

    Plant SCADA OPC UA Server's characteristics

    • It supports BrowseDirection.Forward only, ie, Browse and BrowseNext. It means that TranslateBrowsePathsToNodeIDsRequest is not supported
    • It uses Name Space =3 with the string type of identifiers to compose a Node ID. Its Node ID syntax should be ns=3;s=a:<Cluster Name>.<Tag Name> where an identifier is global when a=0, and it could also have a>0 when being retrieved from an OPC UA browse session.
    • The returned “Browse Path” will include the path index (a>0) and Node ID when if tags are imported by an OPC UA client via browse operation. A resynch will be required if the structure of the tag name space is altered on the linked OPC UA server. For instance, a new piece of equipment is added in a SCADA project and referenced in variable tags. Any Node ID below the newly added equipment in hierarchy will change in a new OPC UA browse session. So, reading some attributes of the same NodeID will return incorrectly, such as NodeClass. If you read other attributes of a Node ID other than tag value or data type, you must re-browse the node if the OPC UA server is restarted.
    • It will ignore the browse path in node IDs in subscription requests if the type of nodes are variable.

    There is no need to call TranslateBrowsePathsToNodeIDsRequest on the client side for subscription requests. 

    Hope this would help.

    Regards,

    Jacky