从 node-opcua 服务器动态删除变量
Remove variable dynamically from node-opcua server
我正在尝试在 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);
提前致谢。
找到解决方案:
namespace.deleteNode(variable);
我正在尝试在 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);
提前致谢。
找到解决方案:
namespace.deleteNode(variable);