最近一直在研究OPC UA .NET的官方库,但是为了实现数据的采集,按照官方的标准生成代码是非常必要的。
我使用了几款目前常见的建模软件,但是都不是很尽如人意
软件名称 | 优点 | 缺点 |
---|---|---|
UaModeler | 最为强大的建模软件,功能齐备且稳定 | 用的是他们自己的软件库,需要授权费 |
opcua-modeler | 完全免费且开源 | 不能读取官方的xml,全是bug |
相应的还有一些Code Generator
名称 | 优点 | 缺点 |
---|---|---|
UA-ModelComiler | 官方的代码生成工具,可以根据xml文档生成C#和ANSIC代码 | 新版本有bug不能生成 |
Prosys Code Generator | Prosys公司的代码生成工具,集成在其官方库中,生成Java代码 | 和其授权库高度耦合,不能够单独使用 |
这些都是我这几天来踩过的坑,直到我发现了这一款神器的软件,可以在我的空间里面找到我的空间
这是软件的图示:
我们在File里面选择打开
在你的UMX的安装路径里面有一个sample,里面是OPC UA官方定义的模型,我们选择OpcUaDiModel.xml打开
深色的表示是自定义的Type或者Object。接下来我们进行代码生成:
在Project里面选择Compile,然后选择输出的路径还有编辑节点的Identifier.csv的名称,选择代码生成的类型。
最后可以得到按照OPC .NET Standard标准定义的类,至于这些类应该怎么用,目前正在研究中。
PS:这个软件由于是用的ModelCompiler,因此问题非常多,最好不要更改输出的路径。