如何验证 OPC UA 节点项?
How to validate OPC UA Node Items?
比方说,我在 OPC UA 服务器中有 Node1 和 Node2,其对应的节点 ID 为 ns=2;i=100 和 ns=2;i=101。
假设我想在 UI(节点名称和节点 ID)中配置这些项目。如何验证用户输入的节点名称和节点ID是否正确?
有没有更简单的方法呢?
我的分析:我们可以创建一个订阅并将这些节点作为监控项添加到订阅中。在该结果中,我们可以查看节点 ID 是否有效。
您不需要创建订阅和监控项。只需使用读取服务读取 BrowseName、DisplayName、Value,and/or 您感兴趣的任何其他属性。
如果 NodeId 无效或不存在,服务器将 return 一个 StatusCode 表明如此。否则,您将获得所需属性的值。
手动尝试不同的 ID 并等待返回的 StatusCode 对用户来说可能非常令人沮丧....一种盲目 selection。
对我来说正确的方法是在您的软件中实现某种方式来导航节点树,然后用户可以直接 select 节点。查看 OPC UA 浏览 服务。
比方说,我在 OPC UA 服务器中有 Node1 和 Node2,其对应的节点 ID 为 ns=2;i=100 和 ns=2;i=101。
假设我想在 UI(节点名称和节点 ID)中配置这些项目。如何验证用户输入的节点名称和节点ID是否正确?
有没有更简单的方法呢?
我的分析:我们可以创建一个订阅并将这些节点作为监控项添加到订阅中。在该结果中,我们可以查看节点 ID 是否有效。
您不需要创建订阅和监控项。只需使用读取服务读取 BrowseName、DisplayName、Value,and/or 您感兴趣的任何其他属性。
如果 NodeId 无效或不存在,服务器将 return 一个 StatusCode 表明如此。否则,您将获得所需属性的值。
手动尝试不同的 ID 并等待返回的 StatusCode 对用户来说可能非常令人沮丧....一种盲目 selection。
对我来说正确的方法是在您的软件中实现某种方式来导航节点树,然后用户可以直接 select 节点。查看 OPC UA 浏览 服务。