ZBLOG

UA_Client_addVariableNode请举例使用

下面是一个使用 UA_Client_addVariableNode 函数的简单示例:

  1. #include <open62541/client_config_default.h>
  2. #include <open62541/client_highlevel.h>
  3. int main() {
  4. UA_Client *client = UA_Client_new();
  5. UA_ClientConfig_setDefault(UA_Client_getConfig(client));
  6. // 建立与服务器的连接
  7. UA_StatusCode retval = UA_Client_connect(client, "opc.tcp://localhost:4840");
  8. if (retval != UA_STATUSCODE_GOOD) {
  9. printf("连接到服务器失败\n");
  10. UA_Client_delete(client);
  11. return -1;
  12. }
  13. // 定义变量属性结构体
  14. UA_VariableAttributes varAttr = UA_VariableAttributes_default;
  15. varAttr.displayName = UA_LOCALIZEDTEXT("en-US", "MyVariable");
  16. varAttr.description = UA_LOCALIZEDTEXT("en-US", "This is a sample variable.");
  17. // 添加变量节点
  18. const char* nodeName = "ns=2;s=MyVariable"; // 变量节点的名称
  19. const char* parentNodeName = "Objects"; // 父节点的名称
  20. retval = UA_Client_addVariableNode(
  21. client,
  22. UA_NODEID_STRING(2, nodeName),
  23. UA_NODEID_STRING(0, parentNodeName),
  24. UA_NODEID_NUMERIC(0, UA_NS0ID_ORGANIZES),
  25. nodeName,
  26. NULL,
  27. &varAttr,
  28. NULL
  29. );
  30. if(retval == UA_STATUSCODE_GOOD) {
  31. printf("成功添加了变量节点\n");
  32. } else {
  33. printf("添加变量节点失败: %s\n", UA_StatusCode_name(retval));
  34. }
  35. // 断开与服务器的连接并释放资源
  36. UA_Client_disconnect(client);
  37. UA_Client_delete(client);
  38. return 0;
  39. }

请根据实际情况进行相应的修改,例如替换 OPC UA 服务器的地址和端口号、节点名称以及父节点名称等。此示例仅供参考,请确保在实际使用时仔细查阅相关库的文档和示例代码。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=15479

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?