【问题标题】:Remove variable dynamically from node-opcua server从 node-opcua 服务器动态删除变量
【发布时间】:2019-11-21 15:57:22
【问题描述】:

我正在尝试在 node-opcua 服务器中动态添加和删除变量。

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

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);

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

namespace documentation 中,我没有看到任何删除变量的方法。

更新之前的代码,我想要这样的:

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);

提前致谢。

【问题讨论】:

    标签: node.js node-opcua


    【解决方案1】:

    找到解决办法:

    namespace.deleteNode(variable);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-12
      • 1970-01-01
      • 2018-01-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多