我正在使用 eclipse milo 构建一个 OPC-UA 服务器。为订阅服务提供多个节点的不同方式有哪些?我可以为此定义一个具有基本数据类型属性的自定义数据对象吗?如何?
我想要一个服务,它提供不同数据类型(整数、双精度、布尔值等)的数据作为输出。每个值都应该被命名为不同的名称,而不是像数组输出那样对所有值都具有单一名称的单一名称。为此,有没有办法定义具有不同类型属性的自定义数据对象类?这在 OPC 中是否可以将自定义数据对象类型作为服务的输出?
从概念上讲,添加具有您所询问的每种不同数据类型的节点与创建文件夹节点并向其添加节点没有什么不同。
项目ExampleNamespace
中的milo-examples
向您展示了如何做到这一点。
如果你真的想使用一个自定义实例ObjectType
而不是一个实例,FolderType
那么你需要做一些簿记工作。
然后,当您创建原始 ObjectNode 时,您需要将类型定义指定为新创建的 ObjectTypeNode,而不是说,FolderType。
您可以在规范的第 3 部分和第 5 部分中更好地了解所有这些是如何工作的,或者通过使用像 UaExpert 这样的客户端来检查服务器中一些预先存在的 ObjectType,例如ServerType
.
编辑:现在有一个如何在此处执行此操作的示例。如果这看起来有点笨重......你是对的。通常 ObjectTypes 和 VariableTypes 是在建模工具中设计的,并通过 NodeSet XML 文件导入,但这超出了现在的范围......