This Structure provides the status of a Connection in a ConnectionConfigurationSet.
The ConnectionDiagnosticsDataType is formally defined in Table 162.
Table 162 – ConnectionDiagnosticsDataType structure
Name |
Type |
Description |
ConnectionDiagnosticsDataType |
Structure |
Subtype of Structure defined in OPC 10000-5 |
Name |
0:QualifiedName |
BrowseName of the related <Connection > Node in the ConnectionConfigurationSet. |
LastActivity |
4:LastActivityMask |
The last activity taken by the ConnectionManager on the Connection indicated by Name, including results of the activity. A zero indicates no activity has been taken on this Connection. |
ConnectionState |
4:ConnectionStateEnum |
Current state of the Connection is indicated by Name. ConnectionStateEnum as defined in 10.20. |
ErrorEndpoint1 |
4:FxErrorEnum |
An enumeration that describes an error related to Endpoint1 in the Connection indicated by Name. FxErrorEnum is defined in 10.25. |
Endpoint1Status |
0:StatusCode |
A StatusCode associated with ErrorEndpoint1. In some cases, this will just be a generic Bad. The LogObject should be used for additional detail and the sequence of steps. If the value of ErrorEndpoint1 is NoError, this field shall be set to Good. |
ErrorEndpoint2 |
4:FxErrorEnum |
An enumeration that describes an error related to Endpoint2 in the Connection indicated by Name. FxErrorEnum is defined in 10.25. |
Endpoint2Status |
0:StatusCode |
A StatusCode associated with ErrorEndpoint2. In some cases, this will just be a generic Bad. The LogObject should be used for additional detail and the sequence of steps. If the value of ErrorEndpoint2 is NoError, this field shall be set to Good. |
The following rules apply to updating the LastActivity and all ConnectionEndpoint-related fields (ErrorEndpoint1, etc.).
- When a ConnectionManager finishes processing a ConnectionConfigurationSet, it shall set the corresponding bit in the LastActivity and clear the remaining bits to indicate the kind of processing that has just finished.
- For all Connections for which all required operations were successfully finished, a ConnectionManager shall clear the Error bit in LastActivity and shall set ErrorEndpoint (1 and/or 2) to NoError and shall set EndpointStatus (1 and/or 2) to Good.
- For all Connections for which not all operations required in the last processing were successfully finished, a ConnectionManager shall set the Error bit in the LastActivity.
- For all Connections which were affected by any failure in the last processing, a ConnectionManager shall set the ErrorEndpoint (1 and/or 2) and EndpointStatus (1 and/or 2).
- If, in the last processing, some operations related to a Connection were skipped due to a failure not directly related to this Connection, a ConnectionManager shall set the corresponding ErrorEndpoint (1 and/or 2) to ProcessingStopped and EndpointStatus (1 and/or 2) to Good.
- If, in the last processing, a Connection was first successfully established but then removed due to rollback, a ConnectionManager shall set the Error bit in the LastActivity. Additionally, it shall set the corresponding ErrorEndpoint (1 and/or 2) to Rollback and EndpointStatus (1 and/or 2) to Good.
- When a ConnectionManager detects an error not related to the processing of a ConnectionConfigurationSet, it can overwrite the ErrorEndpoint (1 and/or 2) and EndpointStatus (1 and/or 2) with specific error information at any time. This may include errors related to monitored ConnectionEndpoints (see FxErrorEnum RuntimeError) or errors related to the operation of a local SKS (see FxErrorEnum LocalSksKeyPushError).
NOTE: While processing a ConnectionConfigurationSet, a ConnectionManager potentially needs to execute many operations. Failures of some of the operations might affect all Connections in the set, e.g. failure to communicate with GDS. Failures of some other operations affect only a subset of all Connections in the set, e.g. failure to verify Assets on a single AutomationComponent affects all Connections that have ConnectionEndpoints in that AutomationComponent. Finally, some failures affect only single ConnectionEndpoints, e.g. failure to create a ConnectionEndpoint.
The ConnectionDiagnosticsDataType representation in the AddressSpace is formally defined in Table 163.
Table 163 – ConnectionDiagnosticsDataType definition
Attribute |
Value |
|||
BrowseName |
4:ConnectionDiagnosticsDataType |
|||
IsAbstract |
False |
|||
References |
NodeClass |
BrowseName |
Definition |
|
Subtype of the 0:Structure defined in OPC 10000-5 |
||||
ConformanceUnits |
||||
UAFX ConnectionManager Diagnostics |