【发布时间】:2018-01-02 10:11:07
【问题描述】:
假设我在 OPC UA 服务器中有 Node1 和 Node2,其对应的节点 ID 将是 ns=2;i=100 和 ns=2;i=101。
假设我想在 UI 中配置这些项目(节点名称和节点 ID)。如何验证用户输入的节点名称和节点ID是否正确?
有没有更简单的方法?
我的分析:我们可以创建一个订阅,并将这些节点作为监控项添加到订阅中。在该结果中,我们可以查看节点 ID 是否有效。
【问题讨论】:
假设我在 OPC UA 服务器中有 Node1 和 Node2,其对应的节点 ID 将是 ns=2;i=100 和 ns=2;i=101。
假设我想在 UI 中配置这些项目(节点名称和节点 ID)。如何验证用户输入的节点名称和节点ID是否正确?
有没有更简单的方法?
我的分析:我们可以创建一个订阅,并将这些节点作为监控项添加到订阅中。在该结果中,我们可以查看节点 ID 是否有效。
【问题讨论】:
您无需创建订阅和监控项。只需使用读取服务读取 BrowseName、DisplayName、Value 和/或您感兴趣的任何其他属性。
如果 NodeId 无效或不存在,服务器将返回一个 StatusCode 来表明这一点。否则,您将获得所需属性的值。
【讨论】:
手动尝试不同的 ID 并等待返回的 StatusCode 可能会让用户非常沮丧......一种盲目的选择。
对我来说正确的方法是在您的软件中实现某种方式来浏览节点树,然后用户可以直接选择节点。看看 OPC UA Browse 服务。
【讨论】: