Skip to content
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

Error trying to compile the LADS nodeset #159

Open
Limula-PMA opened this issue Feb 6, 2024 · 4 comments
Open

Error trying to compile the LADS nodeset #159

Limula-PMA opened this issue Feb 6, 2024 · 4 comments

Comments

@Limula-PMA
Copy link

I'm currently facing some issue compiling a nodeset from the UA-Nodeset repository, the LADS one.

I'm trying to build a representation of our laboratory instrument using this nodeset, but before I can even compile my XML, the model compiler is having issue with the LADS nodeset.
I'm running the following command :
compile -d2 C:\dev\Firmware.SensingModule\SensingController\NodeSet\Opc.Ua.LADS.NodeSet2.xml -d2 C:\dev\Firmware.SensingModule\SensingController\NodeSet\Opc.Ua.AMB.NodeSet2.xml -d2 C:\dev\Firmware.SensingModule\SensingController\NodeSet\Opc.Ua.Machinery.NodeSet2.xml -d2 C:\dev\Firmware.SensingModule\SensingController\NodeSet\Opc.Ua.Di.NodeSet2.xml -version v105 -o2 .\output

And getting the following error:
image

The LADS nodeset depends on the AMB, Machinery and DI nodesets, which compile just fine.
Is there something I'm missing? (I'm trying to understand the exception, but the node in question "Default XML" and its reference looks ok..

@opcfoundation-org
Copy link
Contributor

Can I get the files for testing?

@Limula-PMA
Copy link
Author

Limula-PMA commented Apr 18, 2024

Of course, sorry for not including them earlier.

Here is the list of models I'm using:
SensingModule.NodeSet2.xml (my model)
Opc.Ua.LADS.NodeSet2.xml (LADS, from the official repository)
Opc.Ua.DI.NodeSet2.xml (DI, dependency from the official repository)
Opc.Ua.AMB.NodeSet2.xml (AMB, dependency from the official repository)
Opc.Ua.Machinery.NodeSet2.xml (Machinery, dependency from the official repository)

I haven't updated the models recently... I don't know if they changed.
NodeSet.zip

I've also used this command (which seems more appropriate for multiple nodesets) but it gives me the same issue..
compile-nodesets -input C:\dev\NodeSet -o2 C:\dev\Generated -uri http://opcfoundation.org/UA/Machinery/ -uri http://opcfoundation.org/UA/DI/ -uri http://opcfoundation.org/UA/AMB/ -uri http://opcfoundation.org/UA/LADS/ -uri http://limula.ch/SensingModule/

@opcfoundation-org
Copy link
Contributor

opcfoundation-org commented Apr 18, 2024

In SensingModule.NodeSet2.xml you have Node ns=5;i=5171 with component ns=5;i=5004 which is owned by ns=5;i=1000.

Conceptually this is not wrong but the ModelCompiler can't deal with it because it has to reconstruct the implicit hierarchy using the ParentNodeId attribute.

There are other examples of technically valid NodeSets that cannot be ingested by the ModelCompiler because of the strict hierarchy imposed by the ModelDesign schema. It may be possible to fix this particular issue but it will take more time.

@Limula-PMA
Copy link
Author

Thank you for the answer!
I will see what I can do to simplify my own nodeset... however, I'm afraid that even if I fix it, the LADS nodeset (which I will need anyway) also does not compile...

image

I can workaround the first issue by commenting two deprecated nodes (in the official LADS nodeset, ns=4;i=6310 and ns=4;i=6311)... but I will unfortunately end up in another exception a few milliseconds later:
image

Would it be possible to check if the official LADS nodeset can be compiled?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants