3

From looking at the node ids file , you'll notice that node ids skip the range 951 - 1999 i.e. there are no OPC UA nodes with nodeids within that range.

Is the range reserved for application use ? Is it safe for my server implementation to use nodeids in the range 950 - 1999 ?

I'm also seeking a part of the specification that mentions about the nodeid range.

halfer
  • 19,824
  • 17
  • 99
  • 186
salimsaid
  • 3,186
  • 4
  • 15
  • 20

1 Answers1

6

What you are referring to are node IDs in the namespace 0 (with URI being http://opcfoundation.org/UA/ ). The whole namespace is reserved for use by OPC Foundation. You are not allowed to define any new NodeIDs in this namespace - no matter what their numeric or other identifier.

For nodes specific to your server, you should define your own namespace - and then it's all yours. You can then use any node identifiers inside this namespace - even numeric ones "colliding" with namespace 0 (which, in fact, is no collision at all, as the namespaces are there for the purpose of preventing the collisions).

ZbynekZ
  • 1,532
  • 10
  • 16
  • thanks for taking time to answer. Can you please share the part of the specification that mentions what you've just said ? I would need it for personal reference. – salimsaid Jul 24 '18 at 13:56
  • Interestingly, I cannot find a full coverage of this in the UA specs. It might still be there though. You may ask on https://opcfoundation.org/forum/ if you are seriously interested. The closest I could find (in version 1.03 of the OPC UA specs) is in Part 3, 8.2.2 NamespaceIndex where it defines the OPC UA namespace as being “http://opcfoundation.org/UA/” with an index in the namespace table being 0. I think the fact the namespace is an URI implies that only the owner of "opcfoundation.org" is entitled to define stuff "below" it, but cannot provide an evidence for that now. – ZbynekZ Jul 25 '18 at 14:35
  • Just found what i was looking for in the spec, looking at Chapter 3 of the spec, page no. 59, section 8.2 (Nodeid) you'll see a clear description of how namespace uri's should be used to prevent collisions within the namespace. – salimsaid Jul 31 '18 at 07:53