本文主要是介绍Opcua学习笔记-NodeId,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
NodeId
在过去,经典的 DA 服务器使用简单的“字符串”标识符。所谓的“ItemID”是一个完全限定的名称,在整个服务器中是唯一的(只有一个“命名空间”)。此外,经典的 DA 服务器仅具有简单层次结构的能力,即具有分支和叶子的树状结构。因此,许多供应商使用完整的文件夹层次结构来创建唯一的 ItemID(例如“Folder1.Folder2.Folder3.MyTemperature”)。这会导致大量冗余字符串、浪费内存并降低查找或搜索单个项目时的性能。有了 OPC UA,这个概念就被抛弃了。
NodeId 总是由三个元素组成:
命名空间索引
OPC UA 服务器用于命名空间 URI 的索引。命名空间 URI 标识了定义 NodeId 标识符的命名机构,例如 OPC 基金会、其他标准机构和联盟、底层系统、本地服务器。它们存储在所谓的命名空间数组(也称为命名空间表)中。命名空间索引是用于标识命名空间以优化传输和处理的数值。命名空间索引是命名空间 URI 在命名空间数组中的索引。
标识符类型
标识符的格式和数据类型。它可以是数值、字符串、全局唯一标识符 (GUID) 或不透明值(ByteString 中的命名空间特定格式)。首选哪种类型取决于用例。如果节省内存或带宽很重要,则使用更小且解析速度更快的数字 NodeId 是有意义的。OPC 基金会定义的 OPC UA 命名空间使用数字 NodeId。系统范围和全球唯一的标识符允许客户端跟踪节点,例如工作订单,在 OPC UA 服务器之间移动,因为它们在系统中进行。
标识符
OPC UA 服务器地址空间中节点的标识符。
字符串表示法
NodeId 有一个字符串表示法,它定义为 OPC UA XML 模式的一部分,它表示完全限定的 NodeId。字符串的格式是:
ns=<命名空间索引>;<标识符类型>=<标识符>
<命名空间索引>
命名空间索引格式为以 10 为底的数字。如果索引为0,那么整个“ns=0;” 子句被省略。
<标识符类型>
指定标识符类型的标志。该标志具有以下值:
ns=2;s=MyTemperature
namespace index 2, string identifier
i=2045
namespace index 0, numeric identifier
ns=1;g=09087e75-8e5e-499b-954f-f2a9603db28a
namespace index 1, GUID identifier
ns=1;b=M/RbKBsRVkePCePcx24oRA==’
namespace index 1, Opaque/ByteString identifier
这篇关于Opcua学习笔记-NodeId的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!