一个节点扩展只对定义了扩展的节点有效。带有扩展的元素必须放在节点中的正确位置,因为顺序是由模式指定的。
关于模式的详细定义,请参阅 信息模型的XML模式 。
嵌入式OPC UA服务器目前支持的扩展在下一节中描述。
ACL
ACL扩展定义了一个节点的访问权限。如果一个节点上没有定义ACL,那么ACL将从父节点上继承。父节点是用属性ParentNodeId定义的。属性ParentNodeId在XML模式信息模型中描述
元素/属性
|
说明
|
ACL
|
描述了一个访问控制列表,以确定一个角色列表的访问权限。
|
ACE
|
为单个角色定义一个访问控制条目。 关于每个节点的最大角色数,请参见 限制 。
|
Role
|
标明条目所分配的角色。 必须在这里指定 来自 用户角色系统的相应 角色的角色ID 。
|
Allow
|
定义了所选角色允许的权限。这个值由下表中列出的所需的权利组合产生。
值
|
值
|
描述
|
None
|
0x0000
|
角色没有该节点的权限。
|
Visible
|
0x0001
|
节点对该角色是可见的。这意味着该节点作为浏览器或翻译服务的结果被返回。该权利只限于这些导航服务。如果一个节点不可见,也可以读或写。
|
Browse
|
0x0002
|
该角色被允许在节点上执行浏览服务。
|
Subscribe
|
0x0004
|
该角色被允许将节点创建为订阅中的MonitoredItem。
|
Execute
|
0x0008
|
该角色被允许执行该方法。
|
Read
|
0x0010
|
该角色被允许读取具有变量NodeClass或VariableType的节点的值属性。
|
Write
|
0x0020
|
该角色被允许写入具有变量NodeClass或VariableType的节点的值属性。
|
HistoryRead
|
0x0040
|
该角色被允许读取一个节点的历史数据。
|
HistoryWrite
|
0x0080
|
该角色被允许写入节点的历史数据。目前,B&R嵌入式OPC UA服务器不支持这方面的服务。
|
AttrWrite
|
0x0100
|
该角色被允许写节点的属性。这适用于节点的所有属性,除了值属性。值属性的权利是用读和写定义的。
|
继承允许在一个节点上分配相应的NodeClass不支持的权限,例如,读和写也可以分配给一个对象,以便它们被传递到对象封装的变量上。
|
ACL扩展的例子:
<ACL>
<ACE Role="1" Allow="0x017f" />
<ACE Role="2" Allow="0x015f" />
</ACL>