在 OPC Unified Architecture (OPC UA) Part 3: Address Space Model 的规范中,为了在工业控制器配置中实现对基础数据类型的字段级约束,规范定义了 `DataTypeRefinement` 对象和 `SubtypeRestriction` 机制。这些机制允许模型在不改变基础数据类型定义的前提下,为特定场景或特定数据变量设置更精细的约束。

**DataTypeRefinement 的应用:**
`DataTypeRefinement` 对象用于对已有的数据类型进行细化定义。其使用允许用户在地址空间模型中,针对某一基础数据类型(如结构体或复合类型)的特定属性或字段,应用额外的、更具体的类型约束或语义限制。这使得模型能够支持不同工业场景下对控制器参数定制化的需求,即在通用数据模型之上叠加特定领域的业务规则。

**SubtypeRestriction 的作用:**
`SubtypeRestriction` 机制则负责在数据类型定义层面,限制该类型可以继承或引用的子类型。当一个结构体或数据变量的某个字段需要严格限制其数据范围时,可以通过此机制指定允许的子类型集合,从而实现字段级别的类型约束。这确保了在数据交换和模型配置时,数据流的类型符合预设的、更严格的工业标准。

**总结:**
综上所述,OPC UA Part 3 通过组合使用 `DataTypeRefinement`(用于对数据类型进行细化和扩展定义)和 `SubtypeRestriction`(用于限制数据类型的子类型范围),为工业控制器配置提供了强大的机制,支持在基础数据类型之上实现字段级的、场景化的约束和定制化管理。

信息来源