-
Notifications
You must be signed in to change notification settings - Fork 88
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
improvement: use OPC Foundation UANodeSet files #93
Comments
Yes we use these nodesets. But for the server it was faster to generate python code from them instead of importing everything from xml every time. They seem to be backwards compatible so maybe we can just keep them up to date |
Thank you very much for your patient reply. As reference for myself and others reading this: One thing I noticed on a quick glance is, that "your" Opc.Ua.Di.NodeSet2.xml is missing the |
hello Guys, I am trying to import the Robotics section of OpcUa but I always get the same issue: |
We need to update the standard namespace in python-opcua. unfortunately they changed the format a little and we need to fix something deep in parser. See FreeOpcUa/python-opcua#1000 |
hep welcome |
should be fixed now. added last nodeset in both pyton-opcu and opcua-asyncio |
Hey guys, |
Just tried it with https://github.com/OPCFoundation/UA-Nodeset/blob/v1.04/Robotics/Opc.Ua.Robotics.NodeSet2.xml in the 'package' and in the 'Dev version'. Always gives the same error:
|
strange I just tested the examples in opcua-asyncio and python-opcua and the robot nodeset seems to import fine. Can you update opcua and try to run example at: https://github.com/FreeOpcUa/python-opcua/blob/master/examples/server-import-robot-nodeset.py |
Problem seems to come from not correctly loading the required model dependency on OPC-UA DI. Form the Robotics IM file: http://opcfoundation.org/UA/Robotics/ http://opcfoundation.org/UA/DI/Namespace 2 is for DI and the error on importing the Robotics file states an invalid parent node id. MotionDeviceSystemType Contains the set of controllers and motion devices in a closely-coupled motion device system. https://reference.opcfoundation.org/v104/Robotics/v100/docs/7.1.2 ns=1;i=5002 ns=1;i=5001 ns=1;i=5010 ns=2;i=15063Parent ns=2;i=15063 is the ComponentType from DI, that's obvisouly not loaded |
@JMayrbaeurl what do you mean by dev version? |
@oroulet Finally found a working setup with the modeler:
The problem or issue is that opening a nodes set xml file, that depends on other nodes set xml files as the Robotics has with DI, doesn't automatically open and parse the depending xml files, causing errors when referencing nodes from them. |
Ok. Now I understand what your issue was. Not sure we can automate that. They may be at different places |
Can you at least ad a warning on importing a nodes set xml file that has dependencies? Something like 'Warning: This file has dependencies on .... Please import them before importing this file" |
good point.. |
Got a similar problem (I just opened python-opcua #1166) while importing PackML official NodeSet.
|
@pbertoni89 Sorry, I have never used the official node sets so I can't help you there. I always made my own custom models with modeler. |
When I try to load the CNC Nodeset, I get the following error: |
Hi, for reference/information: PackML is a companion specification. Companion specifications are industry-specific specifications/models developed by industrial partners in cooperation with OPC Foundation. You can find a list of companion specifications here: Adding them to the default set of models shipped with opcua-modeler would certainly be a big step up for opcua-modeler users. |
The OPC Foundation is maintaining a collection of UANodeSet files at
https://github.com/OPCFoundation/UA-Nodeset
It would be helpful to include those as git submodule to make them easily available to the user.
Related (Correct me if I am wrong):
When creating a new model, the standard UANodeSet Opc.UA.NodeSet2.xml visible in the sub-window "Node Sets" seems to be generated with python code from
opcua/server/standard_address_space/standard_address_space_part5.py
instead of being loaded from a nodeset file. Consequently, only models that happen to be compatible to that version (1.04 at the moment according to Root > Objects > Server > Namespaces > http://opcfoundation.org/UA/ > NamespaceVersion) can be successfully loaded with Free OPC UA modeler. Correct?The text was updated successfully, but these errors were encountered: