Difference between HasComponent and HasAddIn references|OPC UA Standard|Forum|OPC Foundation

Avatar
Search
Forum Scope


Match



Forum Options



Minimum search word length is 3 characters - maximum search word length is 84 characters
Lost password?
sp_Feed sp_PrintTopic sp_TopicIcon
Difference between HasComponent and HasAddIn references
Avatar
Thomas Wirtz-Baumann
Member
Members
Forum Posts: 19
Member Since:
06/02/2020
sp_UserOfflineSmall Offline
1
06/02/2020 - 08:34
sp_Permalink sp_Print

Hello,

Can someone tell me the difference(s) between HasComponent and HasAddIn references and the impact on the model?

Thank you for your help

Regards

Thomas

Avatar
Randy Armstrong
Admin
Forum Posts: 1438
Member Since:
05/30/2017
sp_UserOfflineSmall Offline
2
06/02/2020 - 13:59
sp_Permalink sp_Print

What is unclear about the description in the specification?

https://reference.opcfoundatio.....ent7/7.20/

Avatar
Thomas Wirtz-Baumann
Member
Members
Forum Posts: 19
Member Since:
06/02/2020
sp_UserOfflineSmall Offline
3
06/03/2020 - 00:08
sp_Permalink sp_Print sp_EditHistory

Well, it is not obvious to me what HasAddIn and AddIn concept resolve in practice compare to a regular component with a HasComponent reference. Is it a matter of ownership (similarly to composition in UML) or is there something else?

Avatar
Randy Armstrong
Admin
Forum Posts: 1438
Member Since:
05/30/2017
sp_UserOfflineSmall Offline
4
06/03/2020 - 04:33
sp_Permalink sp_Print sp_EditHistory

HasAddIn allows information modellers to create re-usable components that may belong to many different ObjectTypes.

The main difference from a simple component with a TypeDefinition is the default BrowseName for the AddIn is specified because it has semantic meaning.

In the example in the specification the AddIn has a BrowseName 'Lock' that is explicitly specified with the DefaultInstanceBrowseName in the TypeDefinition.

The HasAddIn reference tells clients that the semantics assigned to the BrowseName by the TypeDefinition apply rather than the semantics associated with a new component of MyDeviceType that happens to be named 'Lock'.

Avatar
Thomas Wirtz-Baumann
Member
Members
Forum Posts: 19
Member Since:
06/02/2020
sp_UserOfflineSmall Offline
5
06/03/2020 - 04:54
sp_Permalink sp_Print

Ok, I think I got it. Is this to support from the client an easy way to look up Addins of the same type within the model, using this default browse name and filtering, compare to component where you would need explicitly to know the component definition to find a particular object type?

Avatar
Randy Armstrong
Admin
Forum Posts: 1438
Member Since:
05/30/2017
sp_UserOfflineSmall Offline
6
06/03/2020 - 07:24
sp_Permalink sp_Print

It is more than just that.

The LockingServicesType ObjectType provides structure and semantics for a Lock Object but it not define what it locks.

The 'Lock' AddIn is a LockingServicesType Object which is a lock for its owner.

If the 'Lock' BrowseName was not used the target of the Lock would not be defined in the model. Many would assume it locks the parent but one of the objectives of UA is to eliminate the need to guess or assume semantics.

The additional semantics provided by an AddIn is subtle but can be important.

Avatar
Thomas Wirtz-Baumann
Member
Members
Forum Posts: 19
Member Since:
06/02/2020
sp_UserOfflineSmall Offline
7
06/03/2020 - 07:33
sp_Permalink sp_Print

Ok I see. Thank you very much Randy for your support.

Forum Timezone: America/Phoenix
Most Users Ever Online: 510
Currently Online:
Guest(s) 35
Currently Browsing this Page:
1 Guest(s)
Top Posters:
Forum Stats:
Groups: 2
Forums: 10
Topics: 1341
Posts: 4545