在Winforms应用程序(C#)中使用open62541读写OPC UA服务器数据

olmpazwi  于 2022-12-23  发布在  C#
关注(0)|答案(1)|浏览(690)

我用winform写了一个应用程序。我的客户端应用程序必须连接到一个OPC UA服务器,然后写/读OPC UA协议的变量。我选择open 62541的这种情况下,因为open 62541是免费的,易于使用(如果有人有更好的解决方案,请说)。在第一步我下载了open 62541源代码。我改变了这一行的CMakeLists.txt得到dll和.c/.h文件:

option(UA_ENABLE_AMALGAMATION "Concatenate the library to a single file open62541.h/.c" ON)
option(BUILD_SHARED_LIBS "Enable building of shared libraries (dll/so)" ON)

然后使用以下命令编译源代码:

cd open62541
mkdir build
cd build
cmake.exe .. -G "Visual Studio 16 2019"

然后在“Visual Studio 16 2019”中打开open62541.sln并使用64位配置版本进行编译。现在我有open62541.dll/.c/.h/.lib并将dll文件复制到“WindowsFormsApp1\WindowsFormsApp1\Libraries”,但当我尝试将open62541.dll添加到我的项目(项目〉引用〉添加引用〉浏览)时,我收到此消息

o4tp2gmn

o4tp2gmn1#

如果你需要一个C#本地堆栈,使用OPC Foundation stack。它也是免费的,并且是一个参考实现。你可以找到堆栈here的示例
open 62541很棒,但是它是用C写的,而不是C#。所以我认为你需要管理/ Package 代码。也许reopen62541 project可以帮助你。

相关问题