节点寻址
节点是 OPC UA 的基本元素,它们相当于面向对象编程中的对象。举例来说,可为用户数据(变量)或其它元数据使用节点。节点用于建立同样包含类型模型和类型定义的 OPC UA 地址空间的模型。
节点 ID (NodeId)
OPC UA 地址空间内的节点由一个 NodeId(节点标识符)进行一标识。
NodeId 由一个标识符、标识符类型和一个命名空间索引构成。使用命名空间可避免命名时发生冲突。
OPC 基金会定义了大量节点,用于提供* OPC UA 服务器的有关信息。这些节点可以在 OPC Foundation 的命名空间中找到且索引为 0。
OPC Foundation 还定义有数据类型和变量类型。
命名空间 (Namespace)
除了上述 OPC 基金会命名空间之外,还要关注用于访问 CPU 数据的命名空间:S7‑1500 OPC UA 服务器的所有变量或方法都包括在标准服务器接口的命名空间 (Namespace)/simatic-s7-opcua”中。
系统默认,该命名空间的索引为 3。如果在服务器中插入其它命名空间或删除现有的某个命名空间,则索引将随之更改。因此 OPC UA 客户端需要在读取或写入其数值之前向服务器请求命名空间(例如/simatic-s7-opcua”)的当前索引。
下图举例说明了此类请求的结果。
Identifier
Identifier 对应于引号内的 PLC 变量名称。在 STEP 7 中,引号是一不能用作名称的符号。引号可避免发生命名冲突。
在以下示例中介绍了如何读取“StartTimer”变量的值:
Identifier 可包含多个组成部分。各个组成部分之间以句点进行分隔。
下图举例说明了“MyDB”数组数据块的完整读取。该数据块包含带十个整数值的数组。全部十个值应一次性读取。因此,需在数组范围中输入“0:9”。
NodeId、标识符和命名空间示例
下图说明了 NodeId、标识符和命名空间之间的相互关系:两个节点使用相同标识符但属于不同命名空间时不会出现问题。
STEP 7 (TIA Portal) 可通过服务器接口轻松导入命名空间。
OPC UA 服务器地址空间中的 PLC 变量
下图所示为示例程序的 PLC 变量在 OPC UA 服务器地址空间中所处的位置(摘自 UA 客户端):
“MyDB”数据块是一个全局数据块。因此,该数据块位于节点“DataBlocksGlobal”下。“StartTimer”是一个内存变量,存储在“Memory”节点下。
OPC UA 服务器地址空间中的方法
如果通过用户程序实现某个方法,则在 OPC UA 服务器的地址空间中将采用以下形式
(请参见):
shtxjd.cn.b2b168.com/m/