根据 OPC UA Part 3: Address Space Model (v1.05.06) 的规定,当 DataVariable 关联的 EngineeringUnits 属性发生值变更时,该属性属于具有语义属性的 Property。文档明确指出,SemanticChange 标志用于定义父节点的语义方面,例如 EngineeringUnits 描述 DataVariable 的语义,而 Icon 则不描述语义。因此,如果 Server 在运行期间能够确定 EngineeringUnits 属性可能会改变,它应当将该属性的 SemanticChange 标志设置为 true。
对于订阅处理策略,文档规定:如果 Server 支持事件订阅,每当具有 SemanticChange 标志设置的 Property 值发生改变时,Server 应生成一个 SemanticChangeEvent。当客户端订阅此类变量并接收到数据更新时,若该变更触发了语义变化,返回的 StatusCode 中必须设置 SemanticsChanged 位(如 OPC UA 标准定义)。客户端在收到包含此位的响应后,应检查相关属性以获取正确的工程单位语义信息,而不应仅处理数值本身。