问题描述
我正在开始使用 OPCUA 和 eclipse milo,我试图了解如何最好地通知客户端服务器中的值或节点已更改。
到目前为止我的猜测是我需要在发生变化的节点中触发一个事件,然后客户端应该监视/订阅该节点中的事件。我说得对吗?
如果我的理解是正确的,哪个事件最适合为此目的触发?
我正在使用免费的 UI OPCUA 客户端来测试我的服务器更改,我需要手动刷新以观察我的更改。我期待通过触发正确的(OPCUA 标准)事件来指示客户端自动刷新,这可能吗?
谢谢!
解决方法
您不需要事件来通知客户端属性更改 - 这就是订阅和监控项的全部内容。
客户端为 Value 属性(或任何其他属性)创建一个 MonitoredItem,服务器将在该属性更改时报告更改。
至于作为 Milo Server SDK 的用户您需要做什么 - 请参阅 ExampleNamespace。您的命名空间实现了 onDataItemCreated
和其他相关方法,以便在客户端创建了 MonitoredItem 并且您应该开始为其采样值时收到通知。