9 PubSub configuration model ToC Previous Next

9.1 Common configuration model ToC Previous Next

9.1.11 PubSub Diagnostics Objects ToC Previous Next

9.1.11.1 General ToC

The following types are used to expose diagnostics information in the PubSub information model. Each level of the PubSub hierarchy shall contain its own diagnostics element in a standardized format. An overview over the proposed diagnostics architecture is given in Figure 46.

readme_files/image049.png Figure 46 – PubSub Diagnostics overview

Figure 47 shows the structure of a Variable which holds a diagnostics counter with defined Properties. The PubSubDiagnosticsCounterType is formally defined in 9.1.11.5.

readme_files/image050.png Figure 47 – PubSubDiagnosticsCounterType

9.1.11.2 PubSubDiagnosticsType ToC Model

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

Table 221 – 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 222.

Table 222 – Counters for PubSubDiagnosticsType

BrowseName Modelling Rule    DiagnosticsLevel 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.

9.1.11.3 Reset Method ToC

This Method is used to set all counters in the Object diagnostics counters to the initial value.

The Client shall be authorized to modify the configuration for the PubSub functionality when invoking this Method on the Server.

Signature

Reset ();

Method Result Codes

ResultCode Description
Bad_UserAccessDenied The Session user is not allowed to configure the Object.

9.1.11.4 DiagnosticsLevel ToC

PubSub diagnostics are intended to assure users about the correct operation of a PubSub system and to help in the discovery of potential faults. Depending on the situation, not all diagnostic Objects might be needed, and on the other hand providing them requires resources. As a result, diagnostic objects are assigned to different diagnostic levels. Only diagnostic Objects belonging to the currently set diagnostic level or a more severe level shall be provided. This mechanism provides the user with the ability to select a suitable diagnostic configuration depending on the application.

The DiagnosticsLevel is an enumeration that specifies the possible diagnostics levels. The possible enumeration values are described in Table 223.

Table 223 – DiagnosticsLevel values

Value Value Description
Basic 0 Diagnostic objects from this level cannot be disabled, and thus objects from this level are the minimum diagnostic feature set that can be expected on any device that supports PubSub diagnostics at all.
Advanced 1 Diagnostic objects related to exceptional behaviour are contained in the Advanced diagnostic level.
Info 2 The Info diagnostic level contains high-level diagnostic objects related to the normal operation of a PubSub system.
Log 3 Diagnostic objects for the detailed logging of the operation of a PubSub system are contained in the Log diagnostic level.
Debug 4 Diagnostic objects with debug information specific to a given implementation of PubSub are contained in the Debug diagnostic level. As this level is intended for implementation-specific diagnostics, no such objects are specified by the document.

9.1.11.5 PubSubDiagnosticsCounterType ToC Model

The PubSubDiagnosticsCounterType is formally defined in Table 224.

Table 224 – PubSubDiagnosticsCounterType

Attribute Value
BrowseName PubSubDiagnosticsCounterType
IsAbstract False
ValueRank -1 (-1 = ‘Scalar’)
DataType UInt32

Subtype of BaseDataVariableType defined in OPC 10000-5.

References NodeClass BrowseName DataType TypeDefinition ModellingRule
HasProperty Variable Active Boolean PropertyType Mandatory
HasProperty Variable Classification PubSubDiagnosticsCounterClassification PropertyType Mandatory
HasProperty Variable DiagnosticsLevel DiagnosticsLevel PropertyType Mandatory
HasProperty Variable TimeFirstChange DateTime PropertyType Optional
Conformance Units          
PubSub Model Diagnostics          

The Value shall be reset to 0 when the Method Reset of the parent PubSubDiagnosticsType Object is called.

The Value shall be incremented by 1 for each corresponding event.

The Value shall not be incremented anymore when the maximum is reached (0xFFFFFFFF).

If the maximum is reached and a new event occurs, the SourceTimestamp of the Value shall be updated, even if the Value does not change. The Property Active indicates if the counter is active.

The Property Classification indicates whether this counter counts errors or other events according to PubSubDiagnosticsCounterClassification defined in 9.1.11.6.

The Property DiagnosticsLevel indicates the diagnostics level the counter belongs to. The DiagnosticsLevel is defined in 9.1.11.4.

The Property TimeFirstChange contains the Server time when the counter value changed from 0 to 1. If the counter value is 0 the Value is null.

9.1.11.6 PubSubDiagnosticsCounterClassification ToC

The PubSubDiagnosticsCounterClassification is an enumeration that specifies the possible diagnostics counter classifications. The possible enumeration values are described in Table 225.

Table 225 – PubSubDiagnosticsCounterClassification values

Name Value Description
Information 0 The semantic of this diagnostics counter indicates expected events, which are not considered as errors.
Error 1 The semantic of this diagnostics counter indicates errors.

9.1.11.7 PubSubDiagnosticsRootType ToC Model

The PubSubDiagnosticsRootType defines the diagnostic information for the PublishSubscribe Object and is formally defined in Table 226.

Table 226 – PubSubDiagnosticsRootType

Attribute Value
BrowseName PubSubDiagnosticsRootType
IsAbstract False

Subtype of PubSubDiagnosticsType defined in 9.1.11.2.

References NodeClass BrowseName DataType TypeDefinition ModellingRule
HasComponent Object LiveValues   BaseObjectType Mandatory
Conformance Units          
PubSub Model Diagnostics          

The Object LiveValues contains all live values of the diagnostics Object. If not further specified, the live values Variables use the VariableType BaseDataVariableType. The live values Variables of the PubSubDiagnosticsRootType are defined in Table 227.

Table 227 – LiveValues for PubSubDiagnosticsRootType

BrowseName Modelling Rule    DiagnosticsLevel DataType Description
ConfiguredDataSetWriters Mandatory Basic UInt16 Number of configured DataSetWriters on this Server
ConfiguredDataSetReaders Mandatory Basic UInt16 Number of configured DataSetReaders on this Server
OperationalDataSetWriters Mandatory Basic UInt16 Number of DataSetWriters with state Operational
OperationalDataSetReaders Mandatory Basic UInt16 Number of DataSetReaders with state Operational

9.1.11.8 PubSubDiagnosticsConnectionType ToC Model

The PubSubDiagnosticsConnectionType defines the diagnostic information for a PubSubConnectionType Object and is formally defined in Table 228.

Table 228 – PubSubDiagnosticsConnectionType

Attribute Value
BrowseName PubSubDiagnosticsConnectionType
IsAbstract False

Subtype of PubSubDiagnosticsType defined in 9.1.11.2.

References NodeClass BrowseName DataType TypeDefinition ModellingRule
HasComponent Object LiveValues   BaseObjectType Mandatory
Conformance Units          
PubSub Model Diagnostics          

The Object LiveValues contains all live values of the diagnostics Object. If not further specified, the live values Variables use the VariableType BaseDataVariableType. The live values Variables of the PubSubDiagnosticsConnectionType are defined in Table 229.

Table 229 – LiveValues for PubSubDiagnosticsConnectionType

BrowseName Modelling Rule    DiagnosticsLevel DataType Description
ResolvedAddress Mandatory Basic String Resolved address of the connection (e.g. IP Address)

9.1.11.9 PubSubDiagnosticsWriterGroupType ToC Model

The PubSubDiagnosticsWriterGroupType defines the diagnostic information for a WriterGroupType Object and is formally defined in Table 230.

Table 230 – PubSubDiagnosticsWriterGroupType

Attribute Value
BrowseName PubSubDiagnosticsWriterGroupType
IsAbstract False

Subtype of PubSubDiagnosticsType defined in 9.1.11.2.

References NodeClass BrowseName DataType TypeDefinition ModellingRule
HasComponent Object Counters   BaseObjectType Mandatory
HasComponent Object LiveValues   BaseObjectType Mandatory
Conformance Units          
PubSub Model Diagnostics          

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 PubSubDiagnosticsWriterGroupType are defined in Table 231.

Table 231 – Counters for PubSubDiagnosticsWriterGroupType

BrowseName Modelling Rule    DiagnosticsLevel Class Description
Inherited counters from PubSubDiagnosticsType        
SentNetworkMessages Mandatory Basic Information Sent NetworkMessages
FailedTransmissions Mandatory Basic Error Error on NetworkMessage transmission
EncryptionErrors Optional Advanced Error Error on signing or encrypting NetworkMessage

The Object LiveValues contains all live values of the diagnostics Object. If not further specified, the live values Variables use the VariableType BaseDataVariableType. The live values Variables of the PubSubDiagnosticsWriterGroupType are defined in Table 232.

Table 232 – LiveValues for PubSubDiagnosticsWriterGroupType

BrowseName Modelling Rule    DiagnosticsLevel DataType Description
ConfiguredDataSetWriters Mandatory Basic UInt16 Number of configured DataSetWriters in this group
OperationalDataSetWriters Mandatory Basic UInt16 Number of DataSetWriters with state Operational
SecurityTokenID Optional Info UInt32 Currently used SecurityTokenID
TimeToNextTokenID Optional Info Duration Time until the next key change is expected

9.1.11.10 PubSubDiagnosticsReaderGroupType ToC Model

The PubSubDiagnosticsReaderGroupType defines the diagnostic information for a ReaderGroupType Object and is formally defined in Table 233.

Table 233 – PubSubDiagnosticsReaderGroupType

Attribute Value
BrowseName PubSubDiagnosticsReaderGroupType
IsAbstract False

Subtype of PubSubDiagnosticsType defined in 9.1.11.2.

References NodeClass BrowseName DataType TypeDefinition ModellingRule
HasComponent Object Counters   BaseObjectType Mandatory
HasComponent Object LiveValues   BaseObjectType Mandatory
Conformance Units          
PubSub Model Diagnostics          

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 PubSubDiagnosticsReaderGroupType are defined in Table 234.

Table 234 – Counters for PubSubDiagnosticsReaderGroupType

BrowseName Modelling Rule    DiagnosticsLevel Class Description
Inherited counters from PubSubDiagnosticsType        
ReceivedNetworkMessages Mandatory Basic Information Received and processed NetworkMessages
ReceivedInvalidNetworkMessages Optional Advanced Error Invalid format of NetworkMessage Header
DecryptionErrors Optional Advanced Error Decryption or signature check errors

The Object LiveValues contains all live values of the diagnostics Object. If not further specified, the live values Variables use the VariableType BaseDataVariableType. The live values Variables of the PubSubDiagnosticsReaderGroupType are defined in Table 235.

Table 235 – LiveValues for PubSubDiagnosticsReaderGroupType

BrowseName Modelling Rule    DiagnosticsLevel DataType Description
ConfiguredDataSetReaders Mandatory Basic UInt16 Number of configured DataSetReaders in this group
OperationalDataSetReaders Mandatory Basic UInt16 Number of DataSetReaders with state Operational

9.1.11.11 PubSubDiagnosticsDataSetWriterType ToC Model

The PubSubDiagnosticsDataSetWriterType defines the diagnostic information for a DataSetWriterType Object and is formally defined in Table 236.

Table 236 – PubSubDiagnosticsDataSetWriterType

Attribute Value
BrowseName PubSubDiagnosticsDataSetWriterType
IsAbstract False

Subtype of PubSubDiagnosticsType defined in 9.1.11.2.

References NodeClass BrowseName DataType TypeDefinition ModellingRule
HasComponent Object Counters   BaseObjectType Mandatory
HasComponent Object LiveValues   BaseObjectType Mandatory
Conformance Units          
PubSub Model Diagnostics          

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 PubSubDiagnosticsDataSetWriterType are defined in Table 237.

Table 237 – Counters for PubSubDiagnosticsDataSetWriterType

BrowseName Modelling Rule    DiagnosticsLevel Class Description
Inherited counters from PubSubDiagnosticsType        
FailedDataSetMessages Mandatory Basic Error Number of failed DataSetMessages

The Object LiveValues contains all live values of the diagnostics Object. If not further specified, the live values Variables use the VariableType BaseDataVariableType. The live values Variables of the PubSubDiagnosticsDataSetWriterType are defined in Table 238.

Table 238 – LiveValues for PubSubDiagnosticsDataSetWriterType

BrowseName Modelling Rule    DiagnosticsLevel DataType Description
MessageSequenceNumber Optional Info UInt16 Sequence number of last DataSetMessage
StatusCode Optional Info StatusCode Status of last DataSetMessage
MajorVersion Optional Info UInt32 MajorVersion   used for DataSet
MinorVersion Optional Info UInt32 MinorVersion   used for DataSet

9.1.11.12 PubSubDiagnosticsDataSetReaderType ToC Model

The PubSubDiagnosticsDataSetReaderType defines the diagnostic information for a DataSetReaderType Object and is formally defined in Table 239.

Table 239 – PubSubDiagnosticsDataSetReaderType

Attribute Value
BrowseName PubSubDiagnosticsDataSetReaderType
IsAbstract False

Subtype of PubSubDiagnosticsType defined in 9.1.11.2.

References NodeClass BrowseName DataType TypeDefinition ModellingRule
HasComponent Object Counters   BaseObjectType Mandatory
HasComponent Object LiveValues   BaseObjectType Mandatory
Conformance Units          
PubSub Model Diagnostics          

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 PubSubDiagnosticsDataSetReaderType are defined in Table 240.

Table 240 – Counters for PubSubDiagnosticsDataSetReaderType

BrowseName Modelling Rule    DiagnosticsLevel Class Description
Inherited counters from PubSubDiagnosticsType        
FailedDataSetMessages Mandatory Basic Error e.g. because of unknown MajorVersion
DecryptionErrors Optional Advanced Error  

The Object LiveValues contains all live values of the diagnostics Object. If not further specified, the live values Variables use the VariableType BaseDataVariableType. The live values Variables of the PubSubDiagnosticsDataSetReaderType are defined in Table 241.

Table 241 – LiveValues for PubSubDiagnosticsDataSetReaderType

BrowseName Modelling Rule    DiagnosticsLevel DataType Description
MessageSequenceNumber Optional Info UInt16 SequenceNumber of last DataSetMessage
StatusCode Optional Info StatusCode Status of last DataSetMessage
MajorVersion Optional Info UInt32 MajorVersion   of available DataSetMetaData
MinorVersion Optional Info UInt32 MinorVersion   of available DataSetMetaData
SecurityTokenID Optional Info UInt32 Currently used SecurityTokenID
TimeToNextTokenID Optional Info Duration Time until the next key change is expected

Previous Next