缺少数据更改事件

Missing data change events

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

我试过的:

模拟

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

客户端配置

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

预期结果

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

结果

我遗漏了一些值。我认为这是因为我在收到它们时将所有值写入 OPCUA 节点并且服务器无法对其进行采样但我不确定。

问题

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

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

好的,客户端配置没问题,但服务器不支持空采样间隔。将 0 添加到可用采样间隔列表后,服务器发回一个修改为 0 的采样间隔,它起作用了。