rust - 如何使用 Rust 浏览 OPC UA 服务器的节点?

标签 rust opc

我想浏览已知的 OPC UA 服务器端点以获取节点,以便稍后使用 Rust 轮询它们。

我一直在使用 locka99/opcua crate并设法使用他们的示例来读取(示例服务器的)已知节点的值,但我无法进行任何浏览。

session 结构上有一个 browse 方法,但它需要一个 BrowseDescription 作为参数,它本身就需要一个 NodeId:

session.browse(BrowseDescription {
    // how can I know the parameters?
})

如果 NodeId 是我正在寻找的内容,如何构建 BrowseDescription 结构(带有 NodeId)?

最佳答案

我知道这是一个非常古老的问题,但由于我也偶然发现了这个问题,所以这是我在链接存储库的问题中发现的内容。这帮助我开始了:

https://github.com/locka99/opcua/issues/105#issuecomment-813046915

let results = session.browse(&[BrowseDescription {
  node_id: ObjectId::RootFolder.into(),
  browse_direction: BrowseDirection::Forward,
  reference_type_id:  ReferenceTypeId::Organizes,
  include_subtypes: true,
  node_class_mask: 0,
  result_mask: BrowseDescriptionResultMask::all().bits() as u32,
}]);

关于rust - 如何使用 Rust 浏览 OPC UA 服务器的节点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55482442/

相关文章:

rust - 为什么 `move`不将引用的数据与引用一起移动?

json - 反序列化JSON并将叶子数据放入Rc结构的最佳方法是什么? [复制]

rust - 变量生命周期不够长 : matching Option type

c# - OPC UA .NET 客户端 - 使用浏览路径获取 OPCUA 节点 ID

java - 使用 OPC UA Java Legacy 连接到 Matrikon 服务器

java - eclipse 米洛 : How to define Complex Datatypes?

scala - 类型删除 : Rust vs Scala

optimization - 我可以将 "null pointer optimization"用于我自己的非指针类型吗?

java - Unitronics OPC 服务器 -> JIException 访问被拒绝

java - 使用 Java 访问 OPC 数据