opc - 将节点添加到 OPC UA ANSI C 堆栈中服务器的地址空间

标签 opc ansi-c opc-ua

我对 OPC UA ANSI C 堆栈有一个问题,这是一个非常简单的主题项目:只需将一个节点添加到服务器的地址空间,以便客户端可以读取它。

我知道有开源 ANSI C 堆栈 (open62541),但我需要使用官方的。

我在堆栈中找到了这两个对象:结构体OpcUa_AddNodesItem (stackcore/opcua_types.h) 和函数OpcUa_ServerApi_AddNodes (proxystub/serverstub/opcua_serverapi.c)。

我认为这个结构必须插入到函数内部,但是我在设置这两个对象的参数时遇到一些问题。

ansicservermain.c 中,我如何填充这两个对象以动态添加节点(例如,整数变量)?

最佳答案

OPC 基金会仅发布 ANSI C 版本的 OPC UA 堆栈。这只允许您拥有通信层。要拥有一个功能齐全的 OPC UA 服务器,您需要在其上开发自己的服务器,它将管理诸如地址空间(您拥有节点的地方)、 session 、订阅等内容。 您可以尝试购买一些已实现或开发您自己的所有内容的 OPC UA 服务器 SDK。

如果您基本上想使用 OPC UA 堆栈“演示服务器”添加一些节点,则有 2 种可能性。

  • 通过在addressspace_init.h文件中添加节点来添加静态节点
  • 实现 OpcUa_ServerApi_AddNodes(),它将由 OPC UA AddNodes 服务调用,允许 OPC UA 客户端在 OPC UA 服务器中动态添加一些新节点(目前没有那么多 OPC UA 客户端或服务器支持)据我所知有这个功能)

关于opc - 将节点添加到 OPC UA ANSI C 堆栈中服务器的地址空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39622675/

相关文章:

c - 在 C 中使用 strcmp() 函数

hadoop - Apache Nifi 和 OPC 集成问题(GetValue 处理器)

c++ - OPC-UA open62541 sdk 运行服务器后动态添加变量节点

python-2.7 - 适用于 Python 3.4 的 OpenOPC

c - UAEexpert 找不到 OPC UA 服务器证书

client-server - 写我自己的OPC

automation - 在 .NET 中创建通过 OPC 进行通信的应用程序的最佳起点在哪里?

函数可以更改调用函数范围内的变量值吗?

c - 我应该使用 ANSI C (C89) 吗?

mysql - 根据外键链接的表插入数据