您现在的位置是:首页 >技术教程 >UA-ModelCompiler 的编译和使用网站首页技术教程

UA-ModelCompiler 的编译和使用

姚家湾 2024-08-28 12:01:03
简介UA-ModelCompiler 的编译和使用

    UA-ModelCompiler 是OPCFoundation的开源程序,它实现将NodeSet 的xml 文件编译成C# 的类,以便结合到UA Server 中。同时,它也能够将一种简便的模型xml 文档(ModelDesgin.xml) 转换成为NodeSet2.xml 。

最近的项目中要使用UA-ModelCompiler ,尝试它的编译和使用。

该项目的 GitHub :https://github.com/OPCFoundation/UA-ModelCompiler

   遇到问题   

     按照之前的方法,直接下载zip 然后解压下来,使用VS2022 编译没有上面问题,然后按照readme的方法使用发现出现:

 尝试很长时间无法解决。

解决方法

后来按照该文章操作

https://opcua.rocks/step-2-setup-ua-modelcompiler-with-visual-studio/#comment-920

使用Git 下载源代码

git clone https://github.com/OPCFoundation/UA-ModelCompiler.git
cd UA-ModelCompiler
git checkout 8817477c7b481fd6eb6e9cccc05b76e83c7329ba

下载 OPCFoundation UA-Nodeset 的子模型

我们知道OPCFoundation提供了标准的NodeSet ,它们在:

https://github.com/OPCFoundation/UA-Nodeset

      内容是基本的NodeSet 以及行业配套NodeSet,这些NodeSet 在编译ModelCompiler的时候是不需要的,但是在使用的时候是需要的,我上面遇到的问题可能就是没有这些NodeSet。

同样地,使用git下载这些:

PS C:UA-ModelCompiler> git submodule update --init --recursive

 完成后发现多了一个Published 文件夹。

使用VS2022 打开ModelCompile项目,改为release 模式,生成。

项目属性中,配置改为release

 生成

成功

PS C:UA-ModelCompilerBinRelease> .Opc.Ua.ModelCompiler.exe compile -d2 E:yao2023Model/DemoModel.xml -cg E:yao2023Model/DemoModel.csv -o2 E:yao2023Model -version v104
PS C:UA-ModelCompilerBinRelease>

在Model 文档中,看到了我想要的东西

 小结

    我并不清楚使用zip下载和git 下载的区别到底在哪里,但是它们确实不太一样。包括下载下列的文件夹都不同。

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。