Problem with th reverse browse on the HasTypeDefinition ref.

Unified Architecture topics related to OPC UA Specification, compliant behavior and any technical issues of OPC UA, like Security, Information Model, Companion Specs DI, PLCopen, ADI, ...

Moderator: Support Team

Post Reply
acorbin
Full Member
Full Member
Posts: 6
Joined: 15 Jan 2016, 12:04

Problem with th reverse browse on the HasTypeDefinition ref.

Post by acorbin »

Hello,

I have a problem with the reverse browse from a node (which is an object type OffNormalAlarmExtType derived from OffNormalAlarmType class) with the HasTypeDefinition reference executed in my node manager based on an XML Model : the references list returned is empty whereas one object is of type OffNormalAlarmTypeExt ).

My aim is to refer all the nodes which are instanciated from this particular object type (OffNormalAlarmExtType).

To be sure, I tested other references from the object type node (OffNormalAlarmTypeExt ), for example :
- HasChild in direct : it works (all the nodes components and properties are found)
- HasSubtype in reverse : it works (it finds the node "mother class" (node id = OpcUaId_OffNormalAlarmType) of our created type).

To be more precise, our model was built with UaModeler (1.4.0), it a small one with 3 main Objects alarm (instances) and the version of the SDK is 1.4.3.

Do I have to do something particular with the reverse browse with the HasTypeDefinition reference ?
DId I forget something ?

I hope you will answer my problem.

Thank you in advance.

Regards.

A. CORBIN

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

Re: Problem with th reverse browse on the HasTypeDefinition

Post by Support Team »

Hi,

The invers references are optional for most of the reference types. The only reference type where inverse references are mandatory is the HasSubtype reference type.

Especially the HasTypeDefintion reference is often provided only in forward direction since a type like AnalogItemType can have several thousands of instances in one server. This reference type is often handled more like an attribute of an Object or Variable Node and the optional inverse reference is not provided in this case.

The C++ SDK is doing this optimization.

Best Regards,
Unified Automation Support Team

Post Reply