The PubSubDiagnosticsType is the base type for the diagnostics objects and is formally defined in Table 283.
Table 283 – PubSubDiagnosticsType
Attribute |
Value |
||||
BrowseName |
PubSubDiagnosticsType |
||||
IsAbstract |
True |
||||
References |
Node Class |
BrowseName |
DataType |
TypeDefinition |
Modelling Rule |
Subtype of BaseObjectType defined in OPC 10000-5. |
|||||
HasComponent |
Variable |
DiagnosticsLevel |
DiagnosticsLevel |
BaseDataVariableType |
Mandatory |
HasComponent |
Variable |
TotalInformation |
UInt32 |
PubSubDiagnosticsCounterType |
Mandatory |
HasComponent |
Variable |
TotalError |
UInt32 |
PubSubDiagnosticsCounterType |
Mandatory |
HasComponent |
Method |
Reset |
Defined in 9.1.11.3. |
Mandatory |
|
HasComponent |
Variable |
SubError |
Boolean |
BaseDataVariableType |
Mandatory |
HasComponent |
Object |
Counters |
|
BaseObjectType |
Mandatory |
HasComponent |
Object |
LiveValues |
|
BaseObjectType |
Mandatory |
Conformance Units |
|||||
PubSub Model Diagnostics |
The DiagnosticsLevel Variable configures the current diagnostics level used for the Object. The DiagnosticsLevel DataType is defined in 9.1.11.4.
The TotalInformation Variable provides the sum of all diagnostics counters with classification Information.
The TotalError Variable provides the sum of all diagnostics counters with classification Error.
The SubError Variable indicates if any statistics Object of the next PubSub layer Objects shows a value > 0 in TotalError.
The Object Counters contains all diagnostics counters for the diagnostics Object. The counters use the VariableType PubSubDiagnosticsCounterType defined in 9.1.11.5. The counter Variables of the PubSubDiagnosticsType are defined in Table 284.
Table 284 – Counters for PubSubDiagnosticsType
BrowseName |
Modelling Rule |
Diagnostics Level |
Class |
Description |
StateError |
Mandatory |
Basic |
Error |
PubSubState state machine defined in 6.2.1 changed to Error state |
StateOperationalByMethod |
Mandatory |
Basic |
Information |
State changed to Operational state triggered by Enable Method call. |
StateOperationalByParent |
Mandatory |
Basic |
Information |
State changed to Operational state triggered by an operational parent |
StateOperationalFromError |
Mandatory |
Basic |
Information |
State changed from Error to Operational. |
StatePausedByParent |
Mandatory |
Basic |
Information |
State changed to Paused state triggered by a paused or disabled parent. |
StateDisabledByMethod |
Mandatory |
Basic |
Information |
State changed to Disabled state triggered by Disable Method call. |
The Object LiveValues contains all live values of the diagnostics Object. If not further specified, the live values Variables use the VariableType BaseDataVariableType.
The nodes in the Objects Counters and LiveValues may be activated/deactivated by the parameter DiagnosticsLevel in the PubSubDiagnosticsType.
The value of a node in the Object Counters shall be set to 0 whenever the counter changes from inactive to active.
The Server should dynamically remove inactive nodes from the Address Space in order to avoid confusion of the user by long lists of counters where only a few of them might be active. In case inactive nodes cannot be removed from the Address Space the Server shall set the StatusCode of the Variable Value to Bad_OutOfService.