Browsing service and ReferenceTypeId

Questions regarding the use of the C++ SDK for Server or Client development or integration into customer products ...

Moderator: uasdkcpp

Post Reply
MAJS
Jr. Member
Jr. Member
Posts: 3
Joined: 27 Jul 2021, 16:41

Browsing service and ReferenceTypeId

Post by MAJS »

I have followed the example code in https://documentation.unified-automation.com/uasdkcpp/1.4.3/html/L3GettingStartedClientLesson03.html, but find the OPC UA server I am working with provides duplicates of some of its tags, which differ by the ReferenceTypeId. One set of tags have the HasProperty ReferenceTypeId, the others have the HasEventSource ReferenceTypeId. Should the tags with the HasEventSource ReferenceTypeId be discarded?

I find the part of the OPC UA specification that describes the ReferenceTypeId very difficult to understand!

User avatar
Support Team
Hero Member
Hero Member
Posts: 3072
Joined: 18 Mar 2011, 15:09

Re: Browsing service and ReferenceTypeId

Post by Support Team »

Hi,

having multiple references or even multiple paths leading to the same node in the address space is common in OPC UA. The different ReferenceTypes provide a different kind of information.
HasProperty can be read as "this property belongs to the instance" while HasEventSource is interesting for clients monitoring events and can be read as "this property can be the source node of an event".
(see https://reference.opcfoundation.org/Core/Part3/v105/docs/7.17)

The example in lesson 3 shows how to use the browse service using our client SDK. If you keep nodes or discard them is out of scope the of example because the nodes are not used for anything after browsing. Using or discarding the browsed information is part of the business logic you implement in the client application, we just show how to get the information.
Best regards
Unified Automation Support Team

Post Reply