The general concepts laid out above enable the following features and advantages:
- The Structure of the SerializationScope is preserved. This means that the relationship of the Objects and Variables contributing to the SerializationValue is preserved.
- Servers can provide different serializations by providing different SerializationEntities, e.g. for process values or for configuration data as shown in Figure 4. Different SerializationScopes defined on the same data can be tailored to serve different use cases.
- SerializationScopes can comprise other SerializationScopes for one SerializationValue as described in chapter 6.3.6 and shown in Figure 9.
- Access to the SerializationValue is guaranteed to yield a consistent Value unless the NonatomicRead and NonatomicWrite flags of the AccessLevelExType part of the SerializedData Variable’s Attributes are set to 1 (Server specific, see OPC 10000-3).
- When writing of the SerializationValue with NonatomicWrite flag set to 0, the update of the original Values in the SerializationScope is like a transaction. This means if update of one original Values fails, all previously written Values are restored, and no change takes place. Note: Servers unable to support this shall set the NonatomicWrite flag of the SerializedData Variable to 1.
- Writing of the SerializationValue yields one Result Code which is Good only if all original Values in the SerializationScope are successfully updated, otherwise the Result Code is Bad.