在节点OPCUA中创建表

时间:2016-06-09 13:33:09

标签: node.js opc-ua

如何使用双向镜像将地址空间扩展到SQL数据库中,这反映了对端的变量或数据库端的任何值更改。 因此,如果我在数据库中有一个表,其值可以从外部更改(例如,可以添加,删除或更新示例数据),我的node-opcua服务器将如何通知?

1 个答案:

答案 0 :(得分:0)

在OPC UA中,创建的任何服务器都将遵循SoA架构。含义服务器仅在某些服务请求时处理请求。

在您的情况下,您可以在订阅数据更改和监视节点的帮助下实现这一点,该节点将数据库中的表公开给客户端。只有当该节点向客户端公开时,才可能订阅数据更改。

订阅数据更改节点后,服务器从客户端需要2个值。

  • 采样间隔:服务器应从源上刷新数据的频率
  • 发布间隔:客户端要求服务器发出通知的频率。

让我们说例如采样间隔是100毫秒,发布间隔是1分钟。含义服务器必须每100毫秒从源(在您的情况下,它可能是数据库)收集样本,但客户将每1分钟请求所有这些收集的样本。

在您将能够使用数据库中表的更改值来更新服务器。

如果SDK支持多线程,那么还有另一种方法可以实现所讨论的内容。

  • 在服务器应用程序中,让数据源(即数据库)对象在一个线程中运行。
  • 使用此回调创建对服务器应用程序层的回调并初始化数据源对象。
  • 当数据库中的数据发生更改时,从数据库触发对数据源线程的调用。如果是必需的数据并且需要通知服务器,请调用之前初始化的回调函数。

我希望这能回答你的问题。