节点OPC UA监控项。如何在给定时间后获取数据

时间:2017-03-29 07:05:16

标签: javascript node.js monitoring opc-ua node-opcua

我正在使用节点opc ua客户端连接到opc ua服务器。我在服务器上添加了一个项目订阅,如下所示:

...

addMonitoringFor(opcNode, callback) {
  const monitoredItem = opcSession.monitor({
      nodeId: opcua.resolveNodeId(opcNode.nodeId),
      attributeId: opcua.AttributeIds.Value
    }, {
      samplingInterval: 100,
      discardOldest: true,
      queueSize: 10
    },
    opcua.read_service.TimestampsToReturn.Both
  );

  monitoredItem.on("changed", dataValue => {
    if (dataValue === undefined || dataValue.value === null) {
      callback(`The subscription for the Opc Servernode ${opcNode.nodeId.replace(/\./g, " ")} failed.`);
    } else {
      callback(null, dataValue.value.value);
    }
  });
}

...

仅在数据实际发生变化时调用on change change函数,但我希望获得具体时间序列的数据。

如何实现这一目标?

0 个答案:

没有答案