To provide information about the maintenance of an asset, the alarming mechanism of OPC UA is used. This allows providing information on upcoming or not executed maintenance activities by making the conditions representing the upcoming maintenance activity active. Even if the maintenance activity has not been executed (planned or in execution), the information can already be provided to the Client. In this case, the 0:Retain Propertyof the condition shall be set to true, allowing Clientsto access the information.
Using the alarming mechanism of OPC UA also allows providing information about past maintenance activities by providing access to the history of Eventsfor those maintenance activities.
The conditions representing maintenance activities might be represented as Objectsin the AddressSpace, however, this is not required. If they are provided, it is recommended to use the 2:DeviceHealthAlarmsfolder defined in 2:IDeviceHealthType as container for those Objects.
This specification does not define a specific 0:ConditionTypefor maintenance activities. Companion specifications or vendors might define their own 0:ConditionTypesfor specific types of maintenance activities. It is recommended to create those as subtypes of 2:MaintenanceRequiredAlarmTypedefined in OPC 10000-100.
To allow clients to easily identify or filter for maintenance activities, the 0:ConditionClassIdis used as defined for conditions in OPC 10000-9. Maintenance activities shall use the 0:MaintenanceConditionClassTypeor a subtype as 0:ConditionClassId. In 12.4, specific 0:ConditionClassIdsare defined. Companion specifications or vendors might create subtypes of 0:MaintenanceConditionClassTypeor its subtypes for a more detailed classification.
For a recurring maintenance activity it is recommended to use one condition and change the state of the condition to the next planned occurrence of the maintenance activity once the maintenance activity has taken place.
When the execution of a maintenance activity fails (e.g., the correct part to exchange is not available) the message field of the event should be used to indicate the failure. The event may be extended with additional event fields for more specific information. However, this specification does not define more specific event fields for this case.