9:15, EEST
December 21, 2011
Since the OPC UA address space is a “free mesh” type of structure, it is not feasible to try to browse all nodes. It is difficult for the client to know when all the nodes have been browsed. Also, when you just follow the references between the nodes, you may find loops in the address space.
In practice, though, it may be safe to only follow all hierarchical references forward recursively, and consider that all nodes are found when you have got to the end of each “browse path” like this. Note that you may still find the same node(s) several times with this strategy.
8:53, EEST
March 22, 2013
Jouni Aro said
Since the OPC UA address space is a “free mesh” type of structure, it is not feasible to try to browse all nodes. It is difficult for the client to know when all the nodes have been browsed. Also, when you just follow the references between the nodes, you may find loops in the address space.
In practice, though, it may be safe to only follow all hierarchical references forward recursively, and consider that all nodes are found when you have got to the end of each “browse path” like this. Note that you may still find the same node(s) several times with this strategy.
Thanks Jouni. So this means user has to recursively browse through each and every nodes in an address space , by providing each and every node id. This will be an interactive activity. We cannot get all the nodes at one go.
9:34, EEST
April 9, 2013
This function could be hidden from users but done on the client side.
For example KEPServer OPC UA Driver has a “add branch” that add all the children nodes from a selected root node…
In fact it just Browse the root node and then Browse the forward References of that root node and then browse the forward References of that one and so on.
It is not so efficient but its the only way to browse a full AddressSpace with OPC UA…
11:50, EEST
December 21, 2011
Yes, it is of course possible to do this programmatically by following the hierarchical forward references and “collecting” all the nodes that are found. But it is also necessary to detect loops (i.e. if a node is already collected, stop there).
We might consider such a method to the client SDK as well.
Most Users Ever Online: 1919
Currently Online:
26 Guest(s)
Currently Browsing this Page:
1 Guest(s)
Top Posters:
Heikki Tahvanainen: 402
hbrackel: 144
rocket science: 88
pramanj: 86
Francesco Zambon: 83
Ibrahim: 78
Sabari: 62
kapsl: 57
gjevremovic: 49
Xavier: 43
Member Stats:
Guest Posters: 0
Members: 735
Moderators: 7
Admins: 1
Forum Stats:
Groups: 3
Forums: 15
Topics: 1523
Posts: 6449
Newest Members:
rust, christamcdowall, redaahern07571, nigelbdhmp, travistimmons, AnnelCib, dalenegettinger, howardkennerley, Thomassnism, biancacraft16Moderators: Jouni Aro: 1026, Pyry: 1, Petri: 0, Bjarne Boström: 1026, Jimmy Ni: 26, Matti Siponen: 346, Lusetti: 0
Administrators: admin: 1