NodeOPCUA API Documentation
    Preparing search index...

    Function narrowInstanceDataTypes

    • make every instance variable's DataType at least as narrow as its declaration.

      OPC 10000-3 lets an instance use the DataType its type definition declares for the member, or a subtype of it; a supertype is not conformant. Companion nodesets that predate a narrowing of the standard types carry the supertype anyway (every NamespaceMetadata object written against UA 1.04 declares ModelVersion as String, which UA 1.05 narrowed to SemanticVersionString), so every server loading them fails the type-conformance check of the CTT (Base Info Core Structure) and no server can fix it per nodeset. The declared type is what the model means: an instance whose DataType is a strict supertype of the declared one is moved to the declared one.

      Nothing else moves: an instance whose DataType is the declared one, a subtype of it, or unrelated is left alone, values are never touched, and the children of types are declarations, not instances. A variable whose current value would not fit the declared built-in type is left alone as well, and reported: narrowing it would make the value lie about its type.

      Parameters

      Returns NarrowedDataType[]

      the variables that were narrowed