【问题标题】:Missing data change events缺少数据更改事件
【发布时间】:2021-10-07 23:19:31
【问题描述】:

我有一个数据源提供我想通过 OPCUA 服务器公开的值。数据源是事件驱动的,可以在单个通知中为一个变量提供多个值。我想配置一个 OPCUA 客户端以接收所有值,而不考虑时间段(只是没有损失)。

我尝试了什么:

模拟

我有变量,每 100 毫秒从 1 增加到 10。数据源发出 n 个包含 m 值更改的事件。当服务器接收到事件时,他将所有更改写入相应的 OPCUA 节点。

客户端配置

客户端有一个发布间隔为 1000 毫秒的订阅,一个队列大小为 100 的监控项,采样间隔为 0 毫秒。服务器正在发回一个 50 毫秒的修正采样间隔。

预期结果

我想接收从 1 到 10 的所有数据变化。

结果

我缺少一些价值观。我认为这是因为我在收到 OPCUA 节点时写入了所有值,而服务器无法对其进行采样,但我不确定。

问题

是否可以使用 opcua 来实现? 我需要对服务器进行特殊处理吗?它是规范化的还是实现细节? 客户端需要其他设置吗?

【问题讨论】:

    标签: opc-ua


    【解决方案1】:

    好的,客户端配置没问题,但服务器不支持空采样间隔。将 0 添加到可用采样间隔列表后,服务器发回修订后的 SamplingInterval 为 0 并且它可以工作。

    【讨论】:

      【解决方案2】:

      您通过创建具有更大队列大小的 MonitoredItem 在客户端中做正确的事情,但不幸的是,其余部分是否有效将是服务器的实现细节以及它如何实现采样和订阅.

      【讨论】:

      • 那么有没有办法做到这一点?我应该使用事件还是其他东西?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多