ZBLOG

UA_Client_addVariableNode请举例使用

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

#include <open62541/client_config_default.h>
#include <open62541/client_highlevel.h>

int main() {
    UA_Client *client = UA_Client_new();
    UA_ClientConfig_setDefault(UA_Client_getConfig(client));

    // 建立与服务器的连接
    UA_StatusCode retval = UA_Client_connect(client, "opc.tcp://localhost:4840");
    if (retval != UA_STATUSCODE_GOOD) {
        printf("连接到服务器失败\n");
        UA_Client_delete(client);
        return -1;
    }

    // 定义变量属性结构体
    UA_VariableAttributes varAttr = UA_VariableAttributes_default;
    varAttr.displayName = UA_LOCALIZEDTEXT("en-US", "MyVariable");
    varAttr.description = UA_LOCALIZEDTEXT("en-US", "This is a sample variable.");
    
    // 添加变量节点
    const char* nodeName = "ns=2;s=MyVariable";  // 变量节点的名称
    const char* parentNodeName = "Objects";      // 父节点的名称

    retval = UA_Client_addVariableNode(
        client,
        UA_NODEID_STRING(2, nodeName),
        UA_NODEID_STRING(0, parentNodeName),
        UA_NODEID_NUMERIC(0, UA_NS0ID_ORGANIZES),
        nodeName,
        NULL,
        &varAttr,
        NULL
     );
     
     if(retval == UA_STATUSCODE_GOOD) {
         printf("成功添加了变量节点\n");
     } else {
         printf("添加变量节点失败: %s\n", UA_StatusCode_name(retval));
     }
     
     // 断开与服务器的连接并释放资源
     UA_Client_disconnect(client);
     UA_Client_delete(client);
     
     return 0;
}

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


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

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

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

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

联系我们

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

微信号:3007537140

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

关注我们
x

注册

已经有帐号?