首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从节点opcua服务器动态删除变量

从节点opcua服务器动态删除变量
EN

Stack Overflow用户
提问于 2019-11-21 15:57:22
回答 1查看 446关注 0票数 0

我试图动态地添加和删除节点-opcua服务器中的变量。

使用server.js,我能够模拟在post_initialize()末尾使用以下代码动态添加变量的过程

代码语言:javascript
复制
setTimeout(() => {
    var variable = 
        namespace.addVariable({
            componentOf: device,

            nodeId: "s=free_memory2", // a string nodeID
            browseName: "FreeMemory2",
            dataType: "Double",    
            value: {
                get: function () {return new opcua.Variant({dataType: opcua.DataType.Double, value: available_memory() });}
            }
        });

    console.log("New variable added");
}, 10000);

我的问题是,我如何删除一个变量?

名称空间文档中,我没有看到任何删除变量的方法。

更新前面的代码,我想要这样的东西:

代码语言:javascript
复制
setTimeout(() => {
    var variable = 
        namespace.addVariable({
            componentOf: device,

            nodeId: "s=free_memory2", // a string nodeID
            browseName: "FreeMemory2",
            dataType: "Double",    
            value: {
                get: function () {return new opcua.Variant({dataType: opcua.DataType.Double, value: available_memory() });}
            }
        });


        setTimeout(() => {
            // How to remove a variable?
            variable.removeReference(); // not working, throws "TypeError: Cannot read property 'hasOwnProperty' of undefined"

            console.log("variable.removeReference()");

        },10000);

    console.log("New variable added");
}, 10000);

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-21 17:27:20

找到了解决办法:

代码语言:javascript
复制
namespace.deleteNode(variable);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58978953

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档