When you duplicate an opc tag that has an opcitempath, then press on button to edit the new tag’s opcitempath by browsing the OPC-UA server, the browser starts at the root of everything. It would make life much easier if it would auto-browse to the existing opcitempath.
It’s not possible to correlate an OPC UA NodeId (OPC Item Path) to its position in the hierarchical address space.
Some/most servers will have their own convention but there is nothing that would work without prior knowledge of what server you are connected to and what convention it uses.
Hmm, maybe something can be done. It’s possible with a series of browse/read calls to eventually search out the path to the Objects or Root folder, so maybe another button that can be used to locate the Node in the Address Space could be added. It would need to be an explicit additional action so that simply opening the OPC browser while editing didn’t fire off a bunch of operations against the server.
Good luck. There’s nothing that makes an OPC Item contain heirarchy details. Browsing can inject arbitrary folder structures. And nothing prevents a driver from reporting a given item in more than one place in the heirarchy.
Right, that’s what I was saying initially.
But I can do a depth-first series of browses for inverse hierarchical references starting at a given NodeId and eventually find the Objects folder and then the Root folder. And then I can save that path and have the tree browse/open each node going forward in the path.
Not seeing how this will work reliably or quickly. Unless you enforce uniqueness of the path to a node, and maintain an index.
It won’t be quick, it will require at least 2*N browse calls, where N is the depth of that Node relative to the Objects folder. That’s why I was so quick to poo-poo the idea and even if I don’t it needs to be an explicit action.
It is also possible to manually create valid opc items that don’t appear in the browse at all. Like a couple different Modbus drivers.
Yes, anything like that simply won’t be locatable. The first browse call would return 0 inverse references.
Don’t hold your breath waiting for this one.
This is all closely related to why you can’t “just search” for some tag in the OPC browser by name, which is another common request.