OPCFoundation / UA-ModelCompiler

ModelCompiler converts XML files into C# and ANSI C
MIT License
151 stars 94 forks source link

Building proxy classes from NodeSet2.xml file #67

Closed pgrimmert closed 3 years ago

pgrimmert commented 3 years ago

I know, the model compiler does require the corresponding *model.xml file in order to create the NodeSet2.xml file and proxy classes.

Since companion specs must not provide the valid model.xml file, the UA-ModelCompiler is useless in that case. Unless we write the companion spec model by ourselves. I am talking about the machinery companion spec, which can be found here: https://github.com/OPCFoundation/UA-Nodeset/tree/v1.04/Machinery

My question is, is there any official OPCFoundation tool which is capable in creating the c# proxy classes based on the NodeSet2.xml files? or will there be support in the UA-ModelCompiler?

What i see is that we seem to be forced to used any commercial sdk which creates different proxy classes incompatible to the official OPCFoundation c# stack.

So whats the purpose of the C# Stack on github, by providing an incomplete toolchain?

If somebody has any information about the intention/current sate, i would be very thankful!

In the meantime we have managed to write the corresponding model for a few companion specs we want to support. But once the companion specs changes, we need to manually adjust those models...

eoursel commented 3 years ago

Hi @pgrimmert

I have the same issue with MachineVision NodeSet.

No, there is no official converter from NodeSet2 format to ModelDesign format. I already raised this issue during an OPC Foundation TAC meeting. Nevertheless, I know that @mpostol has a solution with ASMD to convert NodeSet2 to ModelDesign. My tests during last summer were not successful but we need to go forward.

This issue is also linked to #48. The problem is that the ModelDesign format was not updated completely to follow the NodeSet2 format. So even if we had a tool to convert NodeSet to ModelDesign, some modifications on the Model compiler shall be necessary.

I know that @randy-armstrong made a very good work with the design of the Model Compiler. I don't criticize. My point is that i am not sure a lot of guys are able to modify this model compiler.

I am really interested to continue the discussion on the subject.

mpostol commented 3 years ago

@eoursel, thanks for mentioning my work. I apologize to have to postpone further work with ASMD, but currently, my priority is to continue with Azure Gateway Implementation 1.0 and the description of my findings in an article. More you can get from: Azure Gateway DataRepository Implementation

@pgrimmert Instead of using the ASMD for conversion purpose try the tool Address Space Prototyping Tool (asp.exe) published as the:

Semantic-Data ModelDesign Export 5.1.0

The installation package is available as UAAddressSpacePrototyping-5-01.exe - added as an asset to the release.

To harmonize our activity let me know how urgent your work is.

My general concern is that the OPC UA IM model development process should be modified, but, unfortunately, OPC Foundation is driven by private companies so any innovation is very hard to deploy.

pgrimmert commented 3 years ago

Thank you for the feedback and helpful links. I will close this issue for now.

mpostol commented 3 years ago

@pgrimmert, @eoursel, let me inform you that I have just resumed work on OPC UA Information Models Compliance Testing. The result is open source so it will fill the gap hopefully. Review the list of tasks and let me know about your priorities.

Follow the mpostol/ASMD#120 to get details.

Concluding, I am pretty sure that in some cases recovering the ModelDesign files from UANotSet is impossible, therefore intentionally ModelDesign files are not officially available. @pgrimmert you are 100% right, but as a community the only we could do is making the recovery ModelDesign file as simple as possible. It is my goal.

I agree to close the issue. We can do nothing more about this issue here.

mpostol commented 3 years ago

Hi @pgrimmert, @eoursel I returned to work on Information Models. You will be available shortly to discuss your issue

Is it still valid?

Consider in mpostol/ASMD#158