The PubSubDiagnosticsType is the base type for the diagnostics objects and is formally defined in Table 134.

Table 134 – 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

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 counters in this in the Object diagnostics counters with classification Information_0.

The TotalError Variable provides the sum of all counters in this in the Object diagnostics counters with classification Error_1.

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 135.

Table 135 – Counters for PubSubDiagnosticsType

BrowseName

Modelling Rule

Diagnostics

Level

Class

Description

StateError

Mandatory

Basic_0

Error_1

PubSubState state machine defined in 6.2.1 changed to Error_3 state

StateOperationalByMethod

Mandatory

Basic_0

Information_0

State changed to Operational_2 state triggered by Enable Method call.

StateOperationalByParent

Mandatory

Basic_0

Information_0

State changed to Operational_2 state triggered by an operational parent

StateOperationalFromError

Mandatory

Basic_0

Information_0

State changed from Error_3 to Operational_2.

StatePausedByParent

Mandatory

Basic_0

Information_0

State changed to Paused_1 state triggered by a paused or disabled parent.

StateDisabledByMethod

Mandatory

Basic_0

Information_0

State changed to Disabled_0 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 PubSubDiangosticsType.

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.