gpt4 book ai didi

OPC UA 如何从服务器读取数据类型

转载 作者:行者123 更新时间:2023-12-04 00:06:42 31 4
gpt4 key购买 nike

我似乎无法弄清楚这一点:

在写入标记之前,我需要知道它期望的数据类型(mywrite 函数接收的值始终是字符串)。

我意识到您必须从服务器读取数据类型,这是我的代码,但我不知道如何使用返回的信息:

var nodesToRead = BuildReadValueIdCollection(node.DisplayName, Attributes.DataType);

DataValueCollection readResults;
DiagnosticInfoCollection diag;
_session.Read(
requestHeader: null,
maxAge: 0,
timestampsToReturn: TimestampsToReturn.Neither,
nodesToRead: nodesToRead,
results: out readResults,
diagnosticInfos: out diag);
var val = readResults[0];

我该怎么办 val 确定数据类型是什么?

我是否使用 Val.Value Val.WrappedValue Val.WrappedValue.Value (无论有什么区别?)

我用来测试的标签返回 Val = "i=6".....

这是指什么?

什么数据类型是“6”和

我如何将 val 转换为我可以使用的东西。

任何帮助将不胜感激。

谢谢

最佳答案

从 DataType 属性读取将返回 OPC UA 类型的 NodeID。它可以是 OPC UA 规范中定义的“标准”类型之一,或者特定于服务器的类型。标准类型驻留在命名空间 0 中,这就是您的情况(因为显示的节点 ID 中没有“ns=...”部分),而“i=6”代表 Int32。

有许多具有预定义节点 ID 的类型,您需要查阅 OPC UA 规范或堆栈/SDK 附带的节点集文件(例如 Opc.Ua.NodeSet.xml),以了解它们的含义。

关于OPC UA 如何从服务器读取数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40259919/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com