Errata exists for this version of the document.
ProgressEvents are generated to identify the progress of an operation. An operation can be a Service call or something application specific like a program execution.
The EventType for Progress Events is formally defined in Table 56.
Table 56 – ProgressEventType Definition
Attribute |
Value |
||||||
BrowseName |
ProgressEventType |
||||||
IsAbstract |
True |
||||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
||
Subtype of the BaseEventType defined in 6.4.2, which means it inherits the InstanceDeclarations of that Node. |
|||||||
HasProperty |
Variable |
Context |
BaseDataType |
PropertyType |
Mandatory |
||
HasProperty |
Variable |
Progress |
UInt16 |
PropertyType |
Mandatory |
This EventType inherits all Properties of the BaseEventType. Their semantic is defined in 6.4.2. The SourceNode Property for Events of this type shall be assigned to the NodeId of the Session Object where the operation was initiated. The SourceName for Events of this type shall be “Service/<Service Name as defined in OPC 10000-4>” when the progress of a Service call is exposed.
The additional Property Context contains context information about what operation progress is reported. In the case of Service calls it shall be a UInt32 containing the requestHandle of the RequestHeader of the Service call.
The additional Property Progress contains the percentage completed of the progress. The value shall be between 0 and 100, where 100 identifies that the operation has been finished.
It is recommended that Servers only expose ProgressEvents for Service calls to the Session that invoked the Service.