在OPC UA Part 3规范中,关于`DataTypeRefinement`(数据类型细化)和`SubtypeRestriction`(子类型限制)在结构化数据类型字段上的应用,相关概念和机制的描述主要集中在以下几个方面:

**1. `SubtypeRestriction` 的应用:**
规范中提到了`SubtypeRestriction`(3.1.15)和在`ReferenceType`中的使用(7.28)。具体到结构化数据类型字段,规范有专门章节讨论了`SubtypeRestriction`在结构化数据类型字段上的应用,即“5.8.6.2 SubtypeRestriction on fields of Structured DataTypes”。

**2. `DataTypeRefinement` 的使用:**
`DataTypeRefinement`(3.1.6)用于数据类型的细化。规范中描述了其概述(5.8.5.1)和使用(5.8.5.3)。

**3. 结构化数据类型字段的约束与实例属性:**
* **`SubtypeRestriction` 的影响:** 规范明确讨论了在结构化数据类型字段上施加`SubtypeRestriction`(5.8.6.2)。
* **字段的强制性(Mandatory/Optional):** 关于父级`DataTypeRefinement`对象是否明确声明某个字段为Mandatory,以及子类型化后的实例是否允许将该字段设为OptionalPlaceholder或完全省略,这些细节属于模型规则和实例声明的范畴。规范提到了在`ModellingRules`中关于字段的定义,包括`Mandatory`(6.4.4.4.1)、`Optional`(6.4.4.4.2)、`OptionalPlaceholder`(6.4.4.4.4)和`MandatoryPlaceholder`(6.4.4.4.5)。

**总结:**
OPC UA Part 3 规范提供了关于`DataTypeRefinement`和`SubtypeRestriction`在结构化数据类型字段上应用的机制描述,特别是在5.8.6.2节有专门讨论。关于字段的强制性(Mandatory/Optional)和实例层面的省略或占位符设置,应参考模型规则(ModellingRules)在`Variable`和`VariableType`上的处理机制(如6.4.4节)。

信息来源