Two types of ModelChangeEventsare defined: the BaseModelChangeEventthat does not contain any information about the changes and the GeneralModelChangeEventthat identifies the changed Nodesvia an array. The precision used depends on both the capability of the OPC UA Serverand the nature of the update. An OPC UA Servermay use either ModelChangeEventtype depending on circumstances. It may also define subtypes of these EventTypesadding additional information.

To ensure interoperability, the following guidelines for Eventsshould be observed.

  • If the array of theGeneralModelChangeEvent is present, then it should identify every Node that has changed since the preceding ModelChangeEvent.
  • The OPC UA Server should emit exactly one ModelChangeEvent for an update or series of updates. It should not issue multiple types of ModelChangeEvent for the same update.
  • Any Clientthat responds to ModelChangeEvents should respond to any Event of the BaseModelChangeEventTypeincluding its subtypes like the GeneralModelChangeEventType.

If a Clientis not capable of interpreting additional information of the subtypes of the BaseModelChangeEventType, it should treat Eventsof these types the same way as Eventsof the BaseModelChangeEventType.