Figure1_

 

 

 

Figure3_

 

     OPC UA Specification

OPC 10000-5

 

OPC Unified Architecture

Part 5: Information Model

 

 

Release 1.04

2017-11-22

 

 

 

 

 

 

 


 

Specification Type:

Industry Standard Specification

Comments:

Report or view errata: http://www.opcfoundation.org/errata

 

 

 

 

Document
Number

OPC 10000-5

 

 

 

Title:

OPC Unified Architecture

Part 5 :Information Model

Date:

2017-11-22

 

 

 

 

Version:

Release 1.04

Software:

MS-Word

 

 

Source:

OPC 10000-5 - UA Specification Part 5 - Information Model 1.04.docx

 

 

 

 

Author:

OPC Foundation

Status:

Release

 

 

 

 


 

 

CONTENTS

FIGURES. vii

TABLES. viii

1       Scope. 1

2       Normative references. 1

3       Terms, definitions and conventions. 2

3.1        Terms and definitions. 2

3.2        Abbreviations and symbols. 2

3.3        Conventions for Node descriptions. 2

4       NodeIds and BrowseNames. 4

4.1        NodeIds. 4

4.2        BrowseNames. 4

5       Common Attributes. 4

5.1        General 4

5.2        Objects. 4

5.3        Variables. 5

5.4        VariableTypes. 5

5.5        Methods. 5

6       Standard ObjectTypes. 5

6.1        General 5

6.2        BaseObjectType. 6

6.3        ObjectTypes for the Server Object 6

6.3.1          ServerType. 6

6.3.2          ServerCapabilitiesType. 9

6.3.3          ServerDiagnosticsType. 11

6.3.4          SessionsDiagnosticsSummaryType. 12

6.3.5          SessionDiagnosticsObjectType. 12

6.3.6          VendorServerInfoType. 13

6.3.7          ServerRedundancyType. 13

6.3.8          TransparentRedundancyType. 13

6.3.9          NonTransparentRedundancyType. 14

6.3.10        NonTransparentNetworkRedundancyType. 14

6.3.11        OperationLimitsType. 15

6.3.12        AddressSpaceFileType. 16

6.3.13        NamespaceMetadataType. 16

6.3.14        NamespacesType. 18

6.4        ObjectTypes used as EventTypes. 18

6.4.1          General 18

6.4.2          BaseEventType. 18

6.4.3          AuditEventType. 21

6.4.4          AuditSecurityEventType. 21

6.4.5          AuditChannelEventType. 22

6.4.6          AuditOpenSecureChannelEventType. 22

6.4.7          AuditSessionEventType. 23

6.4.8          AuditCreateSessionEventType. 23

6.4.9          AuditUrlMismatchEventType. 24

6.4.10        AuditActivateSessionEventType. 24

6.4.11        AuditCancelEventType. 25

6.4.12        AuditCertificateEventType. 25

6.4.13        AuditCertificateDataMismatchEventType. 25

6.4.14        AuditCertificateExpiredEventType. 26

6.4.15        AuditCertificateInvalidEventType. 26

6.4.16        AuditCertificateUntrustedEventType. 26

6.4.17        AuditCertificateRevokedEventType. 27

6.4.18        AuditCertificateMismatchEventType. 27

6.4.19        AuditNodeManagementEventType. 27

6.4.20        AuditAddNodesEventType. 28

6.4.21        AuditDeleteNodesEventType. 28

6.4.22        AuditAddReferencesEventType. 29

6.4.23        AuditDeleteReferencesEventType. 29

6.4.24        AuditUpdateEventType. 29

6.4.25        AuditWriteUpdateEventType. 30

6.4.26        AuditHistoryUpdateEventType. 30

6.4.27        AuditUpdateMethodEventType. 31

6.4.28        SystemEventType. 31

6.4.29        DeviceFailureEventType. 31

6.4.30        SystemStatusChangeEventType. 31

6.4.31        BaseModelChangeEventType. 32

6.4.32        GeneralModelChangeEventType. 32

6.4.33        SemanticChangeEventType. 32

6.4.34        EventQueueOverflowEventType. 33

6.4.35        ProgressEventType. 33

6.5        ModellingRuleType. 34

6.6        FolderType. 34

6.7        DataTypeEncodingType. 34

6.8        AggregateFunctionType. 34

7       Standard VariableTypes. 35

7.1        General 35

7.2        BaseVariableType. 35

7.3        PropertyType. 35

7.4        BaseDataVariableType. 36

7.5        ServerVendorCapabilityType. 36

7.6        ServerStatusType. 36

7.7        BuildInfoType. 37

7.8        ServerDiagnosticsSummaryType. 37

7.9        SamplingIntervalDiagnosticsArrayType. 38

7.10      SamplingIntervalDiagnosticsType. 38

7.11      SubscriptionDiagnosticsArrayType. 39

7.12      SubscriptionDiagnosticsType. 39

7.13      SessionDiagnosticsArrayType. 40

7.14      SessionDiagnosticsVariableType. 41

7.15      SessionSecurityDiagnosticsArrayType. 42

7.16      SessionSecurityDiagnosticsType. 42

7.17      OptionSetType. 43

7.18      SelectionListType. 44

7.19      AudioVariableType. 44

8       Standard Objects and their Variables. 45

8.1        General 45

8.2        Objects used to organise the AddressSpace structure. 45

8.2.1          Overview. 45

8.2.2          Root 45

8.2.3          Views. 46

8.2.4          Objects. 46

8.2.5          Types. 47

8.2.6          ObjectTypes. 47

8.2.7          VariableTypes. 48

8.2.8          ReferenceTypes. 49

8.2.9          DataTypes. 50

8.2.10        EventTypes. 51

8.3        Server Object and its containing Objects. 51

8.3.1          General 51

8.3.2          Server Object 52

8.4        ModellingRule Objects. 53

8.4.1          ExposesItsArray. 53

8.4.2          Mandatory. 53

8.4.3          Optional 53

8.4.4          OptionalPlaceholder 53

8.4.5          MandatoryPlaceholder 54

9       Standard Methods. 54

9.1        GetMonitoredItems. 54

9.2        ResendData. 54

9.3        SetSubscriptionDurable. 55

9.4        RequestServerStateChange. 55

10     Standard Views. 56

11     Standard ReferenceTypes. 56

11.1      References. 56

11.2      HierarchicalReferences. 57

11.3      NonHierarchicalReferences. 57

11.4      HasChild. 57

11.5      Aggregates. 57

11.6      Organizes. 58

11.7      HasComponent 58

11.8      HasOrderedComponent 58

11.9      HasProperty. 58

11.10   HasSubtype. 59

11.11   HasModellingRule. 59

11.12   HasTypeDefinition. 59

11.13   HasEncoding. 59

11.14   HasEventSource. 60

11.15   HasNotifier 60

11.16   GeneratesEvent 60

11.17   AlwaysGeneratesEvent 60

12     Standard DataTypes. 61

12.1      Overview. 61

12.2      DataTypes defined in OPC 10000-3. 61

12.3      DataTypes defined in OPC 10000-4. 66

12.4      BuildInfo. 67

12.5      RedundancySupport 67

12.6      ServerState. 68

12.7      RedundantServerDataType. 68

12.8      SamplingIntervalDiagnosticsDataType. 68

12.9      ServerDiagnosticsSummaryDataType. 69

12.10   ServerStatusDataType. 70

12.11   SessionDiagnosticsDataType. 70

12.12   SessionSecurityDiagnosticsDataType. 72

12.13   ServiceCounterDataType. 72

12.14   StatusResult 73

12.15   SubscriptionDiagnosticsDataType. 73

12.16   ModelChangeStructureDataType. 74

12.17   SemanticChangeStructureDataType. 75

12.18   BitFieldMaskDataType. 75

12.19   NetworkGroupDataType. 76

12.20   EndpointUrlListDataType. 76

12.21   KeyValuePair 76

12.22   EndpointType. 77

Annex A (informative)  Design decisions when modelling the server information. 78

A.1        Overview. 78

A.2        ServerType and Server Object 78

A.3        Typed complex Objects beneath the Server Object 78

A.4        Properties versus DataVariables. 78

A.5        Complex Variables using complex DataTypes. 78

A.6        Complex Variables having an array. 79

A.7        Redundant information. 79

A.8        Usage of the BaseDataVariableType. 79

A.9        Subtyping. 79

A.10     Extensibility mechanism.. 80

Annex B (normative)  StateMachines. 81

B.1        General 81

B.2        Examples of finite state machines. 81

B.2.1          Simple state machine. 81

B.2.2          State machine containing substates. 82

B.3        Definition of state machine. 83

B.4        Representation of state machines in the AddressSpace. 83

B.4.1          Overview. 83

B.4.2          StateMachineType. 84

B.4.3          StateVariableType. 85

B.4.4          TransitionVariableType. 86

B.4.5          FiniteStateMachineType. 86

B.4.6          FiniteStateVariableType. 88

B.4.7          FiniteTransitionVariableType. 89

B.4.8          StateType. 89

B.4.9          InitialStateType. 90

B.4.10       TransitionType. 91

B.4.11       FromState. 91

B.4.12       ToState. 91

B.4.13       HasCause. 92

B.4.14       HasEffect 92

B.4.15       HasSubStateMachine. 93

B.4.16       TransitionEventType. 93

B.4.17       AuditUpdateStateEventType. 94

B.4.18       Special Restrictions on subtyping StateMachines. 94

B.4.19       Specific StatusCodes for StateMachines. 94

B.5        Examples of StateMachines in the AddressSpace. 95

B.5.1          StateMachineType using inheritance. 95

B.5.2          StateMachineType with a sub-machine using inheritance. 96

B.5.3          StateMachineType using containment 97

B.5.4          Example of a StateMachine having Transition to SubStateMachine. 98

Annex C (normative)  File Transfer 100

C.1        Overview. 100

C.2        FileType. 100

C.2.1          Open. 101

C.2.2          Close. 102

C.2.3          Read. 102

C.2.4          Write. 103

C.2.5          GetPosition. 103

C.2.6          SetPosition. 104

C.3        File System. 104

C.3.1          FileDirectoryType. 104

C.3.2          FileSystem Object 105

C.3.3          CreateDirectory. 105

C.3.4          CreateFile. 106

C.3.5          Delete. 107

C.3.6          MoveOrCopy. 107

C.4        Temporary File Transfer 108

C.4.1          TemporaryFileTransferType. 108

C.4.2          File Transfer Sequences. 109

C.4.3          GenerateFileForRead. 110

C.4.4          GenerateFileForWrite. 110

C.4.5          CloseAndCommit 111

C.4.6          FileTransferStateMachineType. 112

C.4.7          Reset 114

Annex D (normative)  DataTypeDictionary. 115

D.1        Overview. 115

D.2        Data Type Model 115

D.3        DataTypeDictionary, DataTypeDescription, DataTypeEncoding and DataTypeSystem. 116

D.4        AddressSpace Organization. 118

D.5        Node Definitions. 119

D.5.1          HasDescription. 119

D.5.2          DataTypeDictionaryType. 120

D.5.3          DataTypeDescriptionType. 120

D.5.4          DataTypeSystemType. 120

D.5.5          OPC Binary. 121

D.5.6          XML Schema. 121

Annex E (normative)  OPC Binary Type Description System.. 122

E.1        Concepts. 122

E.2        Schema Description. 123

E.2.1          TypeDictionary. 123

E.2.2          TypeDescription. 123

E.2.3          OpaqueType. 123

E.2.4          EnumeratedType. 124

E.2.5          StructuredType. 124

E.2.6          FieldType. 125

E.2.7          EnumeratedValue. 126

E.2.8          ByteOrder 126

E.2.9          ImportDirective. 126

E.3        Standard Type Descriptions. 127

E.4        Type Description Examples. 127

E.5        OPC Binary XML Schema. 129

E.6        OPC Binary Standard TypeDictionary. 130

Annex F (normative)  User Authorization. 133

F.1        Overview. 133

F.2        RoleSetType. 133

F.2.1          RoleSetType Definition. 133

F.2.2          AddRole Method. 133

F.2.3          RemoveRole Method. 134

F.3        RoleType. 134

F.3.1          RoleType Definition. 134

F.3.2          IdentityMappingRuleType. 136

F.3.3          AddIdentity Method. 136

F.3.4          RemoveIdentity Method. 137

F.3.5          AddApplication Method. 137

F.3.6          RemoveApplication Method. 137

F.3.7          AddEndpoint Method. 138

F.3.8          RemoveEndpoint Method. 138

F.4        RoleMappingRuleChangedAuditEventType. 138

 

FIGURES

 

Figure 1 – Standard AddressSpace Structure.......................................... 45

Figure 2 – Views Organization............................................................. 46

Figure 3 – Objects Organization........................................................... 47

Figure 4 – ObjectTypes Organization.................................................... 48

Figure 5 – VariableTypes Organization.................................................. 49

Figure 6 – ReferenceType Definitions.................................................... 50

Figure 7 – EventTypes Organization...................................................... 51

Figure 8 – Excerpt of Diagnostic Information of the Server........................ 52

Figure B.1 – Example of a simple state machine...................................... 82

Figure B.2 – Example of a state machine having a sub-machine................. 82

Figure B.3 – The StateMachine Information Model................................... 84

Figure B.4 – Example of a FiniteStateMachine type.................................. 88

Figure B.5 – Example of a FiniteStateMachine instance............................ 88

Figure B.6 – Example of an initial State in a sub-machine......................... 90

Figure B.7 – Example of a StateMachineType using inheritance................. 95

Figure B.8 – Example of a StateMachineType with a SubStateMachine using inheritance....................................................................................... 96

Figure B.9 – Example of a StateMachineType using containment................ 97

Figure B.10 – Example of a state machine with transitions from sub-states... 98

Figure B.11 – Example of a StateMachineType having Transition to SubStateMachine.............................................................................. 99

Figure C.1 – FileSystem Example....................................................... 105

Figure C.2 – Read File Transfer Example Sequence............................... 109

Figure C.3 – Write File Transfer Example Sequence............................... 109

Figure C.4 – File Transfer States........................................................ 112

Figure C.5 – FileTransferStateMachineType.......................................... 113

Figure D.1 – DataType Model............................................................. 115

Figure D.2 – Example of DataType Modelling........................................ 118

Figure D.3 – DataTypes Organization.................................................. 119

Figure E.1 – OPC Binary Dictionary Structure....................................... 122

 

TABLES

 

Table 1 – Examples of DataTypes.......................................................... 3

Table 2 – Type Definition Table............................................................. 3

Table 3 – Common Node Attributes........................................................ 4

Table 4 – Common Object Attributes....................................................... 5

Table 5 – Common Variable Attributes.................................................... 5

Table 6 – Common VariableType Attributes.............................................. 5

Table 7 – Common Method Attributes..................................................... 5

Table 8 – BaseObjectType Definition...................................................... 6

Table 9 – ServerType Definition............................................................. 7

Table 10 – ServerCapabilitiesType Definition............................................ 9

Table 11 – ServerDiagnosticsType Definition.......................................... 11

Table 12 – SessionsDiagnosticsSummaryType Definition.......................... 12

Table 13 – SessionDiagnosticsObjectType Definition................................ 12

Table 14 – VendorServerInfoType Definition........................................... 13

Table 15 – ServerRedundancyType Definition......................................... 13

Table 16 – TransparentRedundancyType Definition.................................. 13

Table 17 – NonTransparentRedundancyType Definition............................ 14

Table 18 – NonTransparentNetworkRedundancyType Definition................. 14

Table 19 – OperationLimitsType Definition............................................. 15

Table 20 – AddressSpaceFileType Definition.......................................... 16

Table 21 – NamespaceMetadataType Definition...................................... 17

Table 22 – NamespacesType Definition................................................. 18

Table 23 – BaseEventType Definition.................................................... 19

Table 24 – AuditEventType Definition.................................................... 21

Table 25 – AuditSecurityEventType Definition......................................... 21

Table 26 – AuditChannelEventType Definition......................................... 22

Table 27 – AuditOpenSecureChannelEventType Definition........................ 22

Table 28 – AuditSessionEventType Definition......................................... 23

Table 29 – AuditCreateSessionEventType Definition................................ 23

Table 30 – AuditUrlMismatchEventType Definition................................... 24

Table 31 – AuditActivateSessionEventType Definition............................... 24

Table 32 – AuditCancelEventType Definition........................................... 25

Table 33 – AuditCertificateEventType Definition...................................... 25

Table 34 – AuditCertificateDataMismatchEventType Definition................... 26

Table 35 – AuditCertificateExpiredEventType Definition............................ 26

Table 36 – AuditCertificateInvalidEventType Definition............................. 26

Table 37 – AuditCertificateUntrustedEventType Definition......................... 27

Table 38 – AuditCertificateRevokedEventType Definition.......................... 27

Table 39 – AuditCertificateMismatchEventType Definition......................... 27

Table 40 – AuditNodeManagementEventType Definition............................ 28

Table 41 – AuditAddNodesEventType Definition...................................... 28

Table 42 – AuditDeleteNodesEventType Definition................................... 28

Table 43 – AuditAddReferencesEventType Definition............................... 29

Table 44 – AuditDeleteReferencesEventType Definition............................ 29

Table 45 – AuditUpdateEventType Definition.......................................... 29

Table 46 – AuditWriteUpdateEventType Definition................................... 30

Table 47 – AuditHistoryUpdateEventType Definition................................. 30

Table 48 – AuditUpdateMethodEventType Definition................................ 31

Table 49 – SystemEventType Definition................................................. 31

Table 50 – DeviceFailureEventType Definition........................................ 31

Table 51 – SystemStatusChangeEventType Definition.............................. 32

Table 52 – BaseModelChangeEventType Definition.................................. 32

Table 53 – GeneralModelChangeEventType Definition.............................. 32

Table 54 – SemanticChangeEventType Definition.................................... 33

Table 55 – EventQueueOverflowEventType Definition.............................. 33

Table 56 – ProgressEventType Definition............................................... 33

Table 57 – ModellingRuleType Definition............................................... 34

Table 58 – FolderType Definition.......................................................... 34

Table 59 – DataTypeEncodingType Definition......................................... 34

Table 60 – AggregateFunctionType Definition......................................... 35

Table 61 – BaseVariableType Definition................................................. 35

Table 62 – PropertyType Definition....................................................... 35

Table 63 – BaseDataVariableType Definition.......................................... 36

Table 64 – ServerVendorCapabilityType Definition................................... 36

Table 65 – ServerStatusType Definition................................................. 37

Table 66 – BuildInfoType Definition....................................................... 37

Table 67 – ServerDiagnosticsSummaryType Definition............................. 38

Table 68 – SamplingIntervalDiagnosticsArrayType Definition..................... 38

Table 69 – SamplingIntervalDiagnosticsType Definition............................ 38

Table 70 – SubscriptionDiagnosticsArrayType Definition........................... 39

Table 71 – SubscriptionDiagnosticsType Definition.................................. 40

Table 72 – SessionDiagnosticsArrayType Definition................................. 40

Table 73 – SessionDiagnosticsVariableType Definition............................. 41

Table 74 – SessionSecurityDiagnosticsArrayType Definition...................... 42

Table 75 – SessionSecurityDiagnosticsType Definition............................. 43

Table 76 – OptionSetType Definition..................................................... 43

Table 77 – SelectionListType Definition................................................. 44

Table 78 – AudioVariableType Definition................................................ 45

Table 79 – Root Definition................................................................... 46

Table 80 – Views Definition................................................................. 46

Table 81 – Objects Definition............................................................... 47

Table 82 – Types Definition................................................................. 47

Table 83 – ObjectTypes Definition........................................................ 48

Table 84 – VariableTypes Definition...................................................... 49

Table 85 – ReferenceTypes Definition................................................... 50

Table 86 – DataTypes Definition........................................................... 50

Table 87 – EventTypes Definition......................................................... 51

Table 88 – Server Definition................................................................ 53

Table 89 – ExposesItsArray Definition................................................... 53

Table 90 – Mandatory Definition........................................................... 53

Table 91 – Optional Definition.............................................................. 53

Table 92 – OptionalPlaceholder Definition.............................................. 53

Table 93 – MandatoryPlaceholder Definition........................................... 54

Table 94 – GetMonitoredItems Method AddressSpace Definition................ 54

Table 95 – ResendData Method AddressSpace Definition......................... 55

Table 96 – SetSubscriptionDurable Method AddressSpace Definition.......... 55

Table 97 – RequestServerStateChange Method AddressSpace Definition..... 56

Table 98 – References ReferenceType.................................................. 57

Table 99 – HierarchicalReferences ReferenceType.................................. 57

Table 100 – NonHierarchicalReferences ReferenceType........................... 57

Table 101 – HasChild ReferenceType.................................................... 57

Table 102 – Aggregates ReferenceType................................................ 58

Table 103 – Organizes ReferenceType.................................................. 58

Table 104 – HasComponent ReferenceType........................................... 58

Table 105 – HasOrderedComponent ReferenceType................................ 58

Table 106 – HasProperty ReferenceType............................................... 59

Table 107 – HasSubtype ReferenceType............................................... 59

Table 108 – HasModellingRule ReferenceType....................................... 59

Table 109 – HasTypeDefinition ReferenceType....................................... 59

Table 110 – HasEncoding ReferenceType.............................................. 60

Table 111 – HasEventSource ReferenceType......................................... 60

Table 112 – HasNotifier ReferenceType................................................. 60

Table 113 – GeneratesEvent ReferenceType.......................................... 60

Table 114 – AlwaysGeneratesEvent ReferenceType................................. 61

Table 115 – OPC 10000-3 DataType Definitions...................................... 62

Table 116 – BaseDataType Definition.................................................... 63

Table 117 – Structure Definition........................................................... 63

Table 118 – Enumeration Definition...................................................... 64

Table 119 – ByteString Definition.......................................................... 64

Table 120 – Number Definition............................................................. 64

Table 121 – Double Definition.............................................................. 64

Table 122 – Integer Definition.............................................................. 64

Table 123 – DateTime Definition........................................................... 65

Table 124 – String Definition................................................................ 65

Table 125 – UInteger Definition............................................................ 65

Table 126 – Image Definition............................................................... 65

Table 127 – UInt64 Definition............................................................... 65

Table 128 – DataTypeDefinition Definition.............................................. 66

Table 129 – EnumValueType Definition................................................. 66

Table 130 – OPC 10000-4 DataType Definitions...................................... 66

Table 131 – UserIdentityToken Definition............................................... 67

Table 132 – BuildInfo Structure............................................................ 67

Table 133 – BuildInfo Definition............................................................ 67

Table 134 – RedundancySupport Values................................................ 67

Table 135 – RedundancySupport Definition............................................ 67

Table 136 – ServerState Values........................................................... 68

Table 137 – ServerState Definition........................................................ 68

Table 138 – RedundantServerDataType Structure................................... 68

Table 139 – RedundantServerDataType Definition................................... 68

Table 140 – SamplingIntervalDiagnosticsDataType Structure..................... 69

Table 141 – SamplingIntervalDiagnosticsDataType Definition..................... 69

Table 142 – ServerDiagnosticsSummaryDataType Structure...................... 69

Table 143 – ServerDiagnosticsSummaryDataType Definition..................... 69

Table 144 – ServerStatusDataType Structure.......................................... 70

Table 145 – ServerStatusDataType Definition......................................... 70

Table 146 – SessionDiagnosticsDataType Structure................................. 70

Table 147 – SessionDiagnosticsDataType Definition................................ 71

Table 148 – SessionSecurityDiagnosticsDataType Structure...................... 72

Table 149 – SessionSecurityDiagnosticsDataType Definition..................... 72

Table 150 – ServiceCounterDataType Structure...................................... 72

Table 151 – ServiceCounterDataType Definition...................................... 72

Table 152 – StatusResult Structure....................................................... 73

Table 153 – StatusResult Definition...................................................... 73

Table 154 – SubscriptionDiagnosticsDataType Structure........................... 74

Table 155 – SubscriptionDiagnosticsDataType Definition.......................... 74

Table 156 – ModelChangeStructureDataType Structure............................ 75

Table 157 – ModelChangeStructureDataType Definition............................ 75

Table 158 – SemanticChangeStructureDataType Structure........................ 75

Table 159 – SemanticChangeStructureDataType Definition....................... 75

Table 160 – BitFieldMaskDataType Definition......................................... 76

Table 161 – NetworkGroupDataType Structure........................................ 76

Table 162 – NetworkGroupDataType Definition....................................... 76

Table 163 – EndpointUrlListDataType Structure...................................... 76

Table 164 – EndpointUrlListDataType Definition...................................... 76

Table 165 – KeyValuePair Structure...................................................... 76

Table 166 – EndpointType Structure..................................................... 77

Table B.1 – StateMachineType Definition............................................... 85

Table B.2 – StateVariableType Definition............................................... 85

Table B.3 – TransitionVariableType Definition......................................... 86

Table B.4 – FiniteStateMachineType Definition........................................ 87

Table B.5 – FiniteStateVariableType Definition........................................ 89

Table B.6 – FiniteTransitionVariableType Definition................................. 89

Table B.7 – StateType Definition.......................................................... 90

Table B.8 – InitialStateType Definition................................................... 91

Table B.9 – TransitionType Definition.................................................... 91

Table B.10 – FromState ReferenceType................................................. 91

Table B.11 – ToState ReferenceType.................................................... 92

Table B.12 – HasCause ReferenceType................................................. 92

Table B.13 – HasEffect ReferenceType................................................. 93

Table B.14 – HasSubStateMachine ReferenceType.................................. 93

Table B.15 – TransitionEventType........................................................ 93

Table B.16 – AuditUpdateStateEventType.............................................. 94

Table B.17 – Specific StatusCodes for StateMachines.............................. 94

Table C.1 – FileType........................................................................ 100

Table C.2 – Open Method AddressSpace Definition................................ 102

Table C.3 – Close Method AddressSpace Definition............................... 102

Table C.4 – Read Method AddressSpace Definition................................ 103

Table C.5 – Write Method AddressSpace Definition................................ 103

Table C.6 – GetPosition Method AddressSpace Definition....................... 104

Table C.7 – SetPosition Method AddressSpace Definition........................ 104

Table C.8 – FileDirectoryType............................................................ 105

Table C.9 – CreateDirectory Method AddressSpace Definition.................. 106

Table C.10 – CreateFile Method AddressSpace Definition....................... 107

Table C.11 – Delete Method AddressSpace Definition............................. 107

Table C.12 – MoveOrCopy Method AddressSpace Definition.................... 108

Table C.13 – TemporaryFileTransferType............................................. 108

Table C.14 – GenerateFileForRead Method AddressSpace Definition........ 110

Table C.15 – GenerateFileForWrite Method AddressSpace Definition........ 111

Table C.16 – CloseAndCommit Method AddressSpace Definition.............. 112

Table C.17 – FileTransferStateMachineType......................................... 113

Table C.18 – FileTransferStateMachineType transitions.......................... 114

Table D.1 – HasDescription ReferenceType.......................................... 120

Table D.2 – DataTypeDictionaryType Definition..................................... 120

Table D.3 – DataTypeDescriptionType Definition................................... 120

Table D.4 – DataTypeSystemType Definition......................................... 121

Table D.5 – OPC Binary Definition...................................................... 121

Table D.6 – XML Schema Definition.................................................... 121

Table E.1 TypeDictionary Components................................................. 123

Table E.2 – TypeDescription Components............................................ 123

Table E.3 – OpaqueType Components................................................. 124

Table E.4 – EnumeratedType Components........................................... 124

Table E.5 – StructuredType Components............................................. 125

Table E.6 – FieldType Components..................................................... 125

Table E.7 – EnumeratedValue Components.......................................... 126

Table E.8 – ImportDirective Components.............................................. 127

Table E.8 – Standard Type Descriptions............................................... 127

Table F.1– RoleSetType Definition...................................................... 133

Table F.2 – RoleType Definition.......................................................... 135

Table F.3 – IdentityMappingRuleType.................................................. 136

Table F.4 – RoleMappingRuleChangedAuditEventType Definition.............. 139

 


OPC Foundation

____________

 

UNIFIED ARCHITECTURE –

FOREWORD

This specification is the specification for developers of OPC UA applications. The specification is a result of an analysis and design process to develop a standard interface to facilitate the development of applications by multiple vendors that shall inter-operate seamlessly together.

Copyright © 2006-2018, OPC Foundation, Inc.

AGREEMENT OF USE

COPYRIGHT RESTRICTIONS

Any unauthorized use of this specification may violate copyright laws, trademark laws, and communications regulations and statutes. This document contains information which is protected by copyright. All Rights Reserved. No part of this work covered by copyright herein may be reproduced or used in any form or by any means--graphic, electronic, or mechanical, including photocopying, recording, taping, or information storage and retrieval systems--without permission of the copyright owner.

OPC Foundation members and non-members are prohibited from copying and redistributing this specification. All copies must be obtained on an individual basis, directly from the OPC Foundation Web site
HTUhttp://www.opcfoundation.orgUTH.

PATENTS

The attention of adopters is directed to the possibility that compliance with or adoption of OPC specifications may require use of an invention covered by patent rights. OPC shall not be responsible for identifying patents for which a license may be required by any OPC specification, or for conducting legal inquiries into the legal validity or scope of those patents that are brought to its attention. OPC specifications are prospective and advisory only. Prospective users are responsible for protecting themselves against liability for infringement of patents.

WARRANTY AND LIABILITY DISCLAIMERS

WHILE THIS PUBLICATION IS BELIEVED TO BE ACCURATE, IT IS PROVIDED "AS IS" AND MAY CONTAIN ERRORS OR MISPRINTS. THE OPC FOUDATION MAKES NO WARRANTY OF ANY KIND, EXPRESSED OR IMPLIED, WITH REGARD TO THIS PUBLICATION, INCLUDING BUT NOT LIMITED TO ANY WARRANTY OF TITLE OR OWNERSHIP, IMPLIED WARRANTY OF MERCHANTABILITY OR WARRANTY OF FITNESS FOR A PARTICULAR PURPOSE OR USE. IN NO EVENT SHALL THE OPC FOUNDATION BE LIABLE FOR ERRORS CONTAINED HEREIN OR FOR DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL, RELIANCE OR COVER DAMAGES, INCLUDING LOSS OF PROFITS, REVENUE, DATA OR USE, INCURRED BY ANY USER OR ANY THIRD PARTY IN CONNECTION WITH THE FURNISHING, PERFORMANCE, OR USE OF THIS MATERIAL, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

The entire risk as to the quality and performance of software developed using this specification is borne by you.

RESTRICTED RIGHTS LEGEND

This Specification is provided with Restricted Rights. Use, duplication or disclosure by the U.S. government is subject to restrictions as set forth in (a) this Agreement pursuant to DFARs 227.7202-3(a); (b) subparagraph (c)(1)(i) of the Rights in Technical Data and Computer Software clause at DFARs 252.227-7013; or (c) the Commercial Computer Software Restricted Rights clause at FAR 52.227-19 subdivision (c)(1) and (2), as applicable. Contractor / manufacturer are the OPC Foundation,. 16101 N. 82nd Street, Suite 3B, Scottsdale, AZ, 85260-1830

COMPLIANCE

The OPC Foundation shall at all times be the sole entity that may authorize developers, suppliers and sellers of hardware and software to use certification marks, trademarks or other special designations to indicate compliance with these materials. Products developed using this specification may claim compliance or conformance with this specification if and only if the software satisfactorily meets the certification requirements set by the OPC Foundation. Products that do not meet these requirements may claim only that the product was based on this specification and must not claim compliance or conformance with this specification.

Trademarks

Most computer and software brand names have trademarks or registered trademarks. The individual trademarks have not been listed here.

GENERAL PROVISIONS

Should any provision of this Agreement be held to be void, invalid, unenforceable or illegal by a court, the validity and enforceability of the other provisions shall not be affected thereby.

This Agreement shall be governed by and construed under the laws of the State of Minnesota, excluding its choice or law rules.

This Agreement embodies the entire understanding between the parties with respect to, and supersedes any prior understanding or agreement (oral or written) relating to, this specification.

ISSUE REPORTING

The OPC Foundation strives to maintain the highest quality standards for its published specifications, hence they undergo constant review and refinement. Readers are encouraged to report any issues and view any existing errata here: HTUhttp://www.opcfoundation.org/errataUTH

 


Revision 1.04 Highlights

The following table includes the Mantis issues resolved with this revision.

Mantis ID

Summary

Resolution

3120

Handling of DataType Encoding Information

Added new DataTypes defined in Part 3 to handle new attribute on DataType NodeClass.

Added Annex D describing the old approach of providing encoding information previously defined in Part 3. Moved definitions from this part to the annex.

Moved information in 8.2.9 about DataTypeDictionaries to Annex D.

Moved annex on OPC Binary from Part 3 to Annex E.

3219

Clarify what diagnostics nodes have to exist if diagnostics is turned off.

Changed description is 6.3.3 explaining what nodes have to exist and what nodes not.

3307

Remove reference to DataType Time

Table 115 had reference to DataType Time which does not exist, only DateTime and UtcTime. Removed entry.

3192

Missing description for Method

In 6.3.1 the description for Method ResendData was missing. Added description to paragraph.

2928 3146

Temporary File Transfer

Added concept allowing to temporary create file to write to or read from server in C.4.

3170

Clarification of ‘serverHandles’ parameter

In 9.1 corrected the Description of Argument ‘serverHandles’ to improve readability.

3349

Clarification of ResendData method

In 9.2 added additional description of functionality.

3469

Server’s current Time Zone

In 6.3.1 added optional property CurrentTimeZone to ServerType

3162

SetTriggering Service maximum items

In 6.3.11 added definition for SetTriggering Service.

3636

new property on DataTypeDictionaryType

In D.5.2 added “Deprecated” property.

3642

New Variable type for Selection List

In 7.18 added SelectionListType Variable type

3623

Inconsistency in SessionDiagnosticsDataType and SessionDiagnosticsVariableType

Removed currentPublishTimerExpiration from Table 146 – SessionDiagnosticsDataType Structure

3189

OptionSetType DataType should be "OptionSet"

In 7.17 OptionSetType added example explaining why OptionSet DataType can be used

3474

SourceNode term clarification

Added the term “Property” when SourceNode is used to reference the Property of the BaseEventType in various sections.

3670

AuditSecurityEventType doesn’t return actual occurring error

Added new property StatusCodeId to 6.4.4 AuditsecurityEventType.

3717

User Authentication

Added Annex F on UserAuthentication

3710

Allow Statemachine to expose currently available states and transitions

Added optional properties to FiniteStateMachineType and an example use of optional states B.4.5

3714

Add KeyValuePair DataType

Added KeyValuePair DataType as 12.21

3734

Decimal DataType

Added Decimal as a Part 3 DataType in Table 115 and  Table 120

3703

FileTransferStateMachineType modelling rule

Changed states and transitions to have a no modelling rule in C.4.6.

3781

Add AudioVariableType

Added VariableType AudioVariableType in 7.19.

3755

OperationLimits interpretation of value=0

Clarification added to 6.3.11.

3750

Standard Type Definitions do not match model compiler

Removed WideChar, CharArray, and WideCharArray. Updated String and WideString in E.3.

3790

SessionDiagnosticsVariableType names contradict generated code

Changed names in Table 73 to match what is used by generated code.

2323

Clarification of ServerShutdown definition and behavior

Clarification added to Table 136 and Table 144.

3826

Add UrisVersion Property to Server Object

Added UrisVersion Property to ServerType in 6.3.1

3851

MaxStringLength Clarify

Added clarification of MaxStringLength and MaxByteStringLength Properties in 6.3.2

 

 


OPC Unified Architecture Specification

 

Part 5: Information Model

 

 

 

1       Scope

This specification defines the Information Model of the OPC Unified Architecture. The Information Model describes standardised Nodes of a Server’s AddressSpace. These Nodes are standardised types as well as standardised instances used for diagnostics or as entry points to server-specific Nodes. Thus, the Information Model defines the AddressSpace of an empty OPC UA Server. However, it is not expected that all Servers will provide all of these Nodes.

2       Normative references

The following documents, in whole or in part, are normatively referenced in this document and are indispensable for its application. For dated references, only the edition cited applies. For undated references, the latest edition of the referenced document (including any amendments and errata) applies.

OPC 10000-1, OPC Unified Architecture - Part 1: Concepts and Overview

http://www.opcfoundation.org/UA/Part1/

OPC 10000-3, OPC Unified Architecture - Part 3: Address Space Model

http://www.opcfoundation.org/UA/Part3/

OPC 10000-4, OPC Unified Architecture - Part 4: Services

http://www.opcfoundation.org/UA/Part4/

OPC 10000-6, OPC Unified Architecture - Part 6: Mappings

http://www.opcfoundation.org/UA/Part6/

OPC 10000-7, OPC Unified Architecture - Part 7: Profiles

http://www.opcfoundation.org/UA/Part7/

OPC 10000-9, OPC Unified Architecture - Part 9: Alarms and conditions

http://www.opcfoundation.org/UA/Part9/

OPC 10000-10, OPC Unified Architecture - Part 10: Programs

http://www.opcfoundation.org/UA/Part10/

OPC 10000-11, OPC Unified Architecture - Part 11: Historical Access

http://www.opcfoundation.org/UA/Part11/

RFC 2045: Multipurpose Internet Mail Extensions (MIME) Part One:

http://www.ietf.org/rfc/rfc2045.txt

RFC 2046: Multipurpose Internet Mail Extensions (MIME) Part Two:

https://www.ietf.org/rfc/rfc2046.txt

RFC 2047: Multipurpose Internet Mail Extensions (MIME) Part Three:

 http://www.ietf.org/rfc/rfc2047.txt

ISO/IEC/IEEE 60559:2011 : Information technology – Microprocessor Systems – Floating-Point arithmetic

https://www.iso.org/standard/57469.html

XML Schema Part 1: Structures

http://www.w3.org/TR/xmlschema-1/

XML Schema Part 2: Datatypes

http://www.w3.org/TR/xmlschema-2/

XPATH: XML Path Language

http://www.w3.org/TR/xpath/

UTF-8: UTF-8, a transformation format of ISO 10646

http://www.ietf.org/rfc/rfc3629.txt

3       Terms, definitions and conventions

3.1         Terms and definitions

For the purposes of this document, the terms and definitions given in OPC 10000-1 and OPC 10000-3, as well as the following apply.

3.1.1            

ClientUserId

String that identifies the user of the client requesting an action

Note 1 to entry: The ClientUserId is obtained directly or indirectly from the UserIdentityToken passed by the Client in the ActivateSession Service call. See 6.4.3 for details.

3.2         Abbreviations and symbols

UA      Unified Architecture

XML    Extensible Markup Language

3.3         Conventions for Node descriptions

Node definitions are specified using tables (see Table 2).

Attributes are defined by providing the Attribute name and a value, or a description of the value.

References are defined by providing the ReferenceType name, the BrowseName of the TargetNode and its NodeClass.

·      If the TargetNode is a component of the Node being defined in the table the Attributes of the composed Node are defined in the same row of the table.

·      The DataType is only specified for Variables; “[<number>]” indicates a single-dimensional array, for multi-dimensional arrays the expression is repeated for each dimension (e.g. [2][3] for a two-dimensional array). For all arrays the ArrayDimensions is set as identified by <number> values. If no <number> is set, the corresponding dimension is set to 0, indicating an unknown size. If no number is provided at all the ArrayDimensions can be omitted. If no brackets are provided, it identifies a scalar DataType and the ValueRank is set to the corresponding value (see OPC 10000-3). In addition, ArrayDimensions is set to null or is omitted. If it can be Any or ScalarOrOneDimension, the value is put into “{<value>}”, so either “{Any}” or “{ScalarOrOneDimension}” and the ValueRank is set to the corresponding value (see OPC 10000-3) and the ArrayDimensions is set to null or is omitted. Examples are given in Table 1.

Table 1 – Examples of DataTypes

Notation

Data­Type

Value­Rank

Array­Dimensions

Description

Int32

Int32

1

omitted or null

A scalar Int32.

Int32[]

Int32

1

omitted or {0}

Single-dimensional array of Int32 with an unknown size.

Int32[][]

Int32

2

omitted or {0,0}

Two-dimensional array of Int32 with unknown sizes for both dimensions.

Int32[3][]

Int32

2

{3,0}

Two-dimensional array of Int32 with a size of 3 for the first dimension and an unknown size for the second dimension.

Int32[5][3]

Int32

2

{5,3}

Two-dimensional array of Int32 with a size of 5 for the first dimension and a size of 3 for the second dimension.

Int32{Any}

Int32

2

omitted or null

An Int32 where it is unknown if it is scalar or array with any number of dimensions.

Int32{ScalarOrOneDimension}

Int32

3

omitted or null

An Int32 where it is either a single-dimensional array or a scalar.

 

·      The TypeDefinition is specified for Objects and Variables.

·      The TypeDefinition column specifies a symbolic name for a NodeId, i.e. the specified Node points with a HasTypeDefinition Reference to the corresponding Node.

·      The ModellingRule of the referenced component is provided by specifying the symbolic name of the rule in the ModellingRule column. In the AddressSpace, the Node shall use a HasModellingRule Reference to point to the corresponding ModellingRule Object.

If the NodeId of a DataType is provided, the symbolic name of the Node representing the DataType shall be used.

Nodes of all other NodeClasses cannot be defined in the same table; therefore only the used ReferenceType, their NodeClass and their BrowseName are specified. A reference to another part of this document points to their definition.

Table 2 illustrates the table. If no components are provided, the DataType, TypeDefinition and ModellingRule columns may be omitted and only a Comment column is introduced to point to the Node definition.

Table 2 – Type Definition Table

Attribute

Value

Attribute name

Attribute value. If it is an optional Attribute that is not set “--“ will be used.

 

 

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

ReferenceType name

NodeClass of the TargetNode.

BrowseName of the target Node. If the Reference is to be instantiated by the server, then the value of the target Node’s BrowseName is “--“.

DataType of the referenced Node, only applicable for Variables.

TypeDefinition of the referenced Node, only applicable for Variables and Objects.

Referenced ModellingRule of the referenced Object.

NOTE Notes referencing footnotes of the table content.

 

Components of Nodes can be complex that is containing components by themselves. The TypeDefinition, NodeClass, DataType and ModellingRule can be derived from the type definitions, and the symbolic name can be created as defined in 4.1. Therefore those containing components are not explicitly specified; they are implicitly specified by the type definitions.

4       NodeIds and BrowseNames

4.1         NodeIds

The NodeIds of all Nodes described in this standard are only symbolic names. OPC 10000-6 defines the actual NodeIds.

The symbolic name of each Node defined in this standard is its BrowseName, or, when it is part of another Node, the BrowseName of the other Node, a “.”, and the BrowseName of itself. In this case “part of” means that the whole has a HasProperty or HasComponent Reference to its part. Since all Nodes not being part of another Node have a unique name in this standard, the symbolic name is unique. For example, the ServerType defined in 6.3.1 has the symbolic name “ServerType”. One of its InstanceDeclarations would be identified as “ServerType.ServerCapabilities”. Since this Object is complex, another InstanceDeclaration of the ServerType is “ServerType.ServerCapabilities.MinSupportedSampleRate”. The Server Object defined in 8.3.2 is based on the ServerType and has the symbolic name “Server”. Therefore, the instance based on the InstanceDeclaration described above has the symbolic name “Server.ServerCapabilities.MinSupportedSampleRate”.

The NamespaceIndex for all NodeIds defined in this standard is 0. The namespace for this NamespaceIndex is specified in OPC 10000-3.

Note that this standard not only defines concrete Nodes, but also requires that some Nodes have to be generated, for example one for each Session running on the Server. The NodeIds of those Nodes are server-specific, including the Namespace. However the NamespaceIndex of those Nodes cannot be the NamespaceIndex 0, because they are not defined by the OPC Foundation but generated by the Server.

4.2         BrowseNames

The text part of the BrowseNames for all Nodes defined in this standard is specified in the tables defining the Nodes. The NamespaceIndex for all BrowseNames defined in this standard is 0.

5       Common Attributes

5.1         General

For all Nodes specified in this standard, the Attributes named in Table 3 shall be set as specified in Table 3.

Table 3 – Common Node Attributes

Attribute

Value

DisplayName

The DisplayName is a LocalizedText. Each server shall provide the DisplayName identical to the BrowseName of the Node for the LocaleId “en”. Whether the server provides translated names for other LocaleIds is server-specific.

Description

Optionally a server-specific description is provided.

NodeClass

Shall reflect the NodeClass of the Node.

NodeId

The NodeId is described by BrowseNames as defined in 4.1 and defined in OPC 10000-6.

WriteMask

Optionally the WriteMask Attribute can be provided. If the WriteMask Attribute is provided, it shall set all non-server-specific Attributes to not writable. For example, the Description Attribute may be set to writable since a Server may provide a server-specific description for the Node. The NodeId shall not be writable, because it is defined for each Node in this standard.

UserWriteMask

Optionally the UserWriteMask Attribute can be provided. The same rules as for the WriteMask Attribute apply.

RolePermissions

Optionally server-specific role permissions can be provided.

UserRolePermissions

Optionally the role permissions of the current Session can be provided. The value is server-specifc and depend on the RolePermissions Attribute (if provided) and the current Session.

AccessRestrictions

Optionally server-specific access restrictions can be provided.

 

5.2         Objects

For all Objects specified in this standard, the Attributes named in Table 4 shall be set as specified in Table 4.

Table 4 – Common Object Attributes

Attribute

Value

EventNotifier

Whether the Node can be used to subscribe to Events or not is server-specific.

 

5.3         Variables

For all Variables specified in this standard, the Attributes named in Table 5 shall be set as specified in Table 5.

Table 5 – Common Variable Attributes

Attribute

Value

MinimumSamplingInterval

Optionally, a server-specific minimum sampling interval is provided.

AccessLevel

The access level for Variables used for type definitions is server-specific, for all other Variables defined in this standard, the access level shall allow reading; other settings are server-specific.

UserAccessLevel

The value for the UserAccessLevel Attribute is server-specific. It is assumed that all Variables can be accessed by at least one user.

Value

For Variables used as InstanceDeclarations, the value is server-specific; otherwise it shall represent the value described in the text.

ArrayDimensions

If the ValueRank does not identify an array of a specific dimension (i.e. ValueRank <= 0) the ArrayDimensions can either be set to null or the Attribute is missing. This behaviour is server-specific.

If the ValueRank specifies an array of a specific dimension (i.e. ValueRank > 0) then the ArrayDimensions Attribute shall be specified in the table defining the Variable.

Historizing

The value for the Historizing Attribute is server-specific.

AccessLevelEx

If the AccessLevelEx Attribute is provided, it shall have the bits 8, 9, and 10 set to 0, meaning that read and write operations on an individual Variable are atomic, and arrays can be partly written.

 

5.4         VariableTypes

For all VariableTypes specified in this standard, the Attributes named in Table 6 shall be set as specified in Table 6.

Table 6 – Common VariableType Attributes

Attributes

Value

Value

Optionally a server-specific default value can be provided.

ArrayDimensions

If the ValueRank does not identify an array of a specific dimension (i.e. ValueRank <= 0) the ArrayDimensions can either be set to null or the Attribute is missing. This behaviour is server-specific.

If the ValueRank specifies an array of a specific dimension (i.e. ValueRank > 0) then the ArrayDimensions Attribute shall be specified in the table defining the VariableType.

5.5         Methods

For all Methods specified in this standard, the Attributes named in Table 7 shall be set as specified in Table 7.

Table 7 – Common Method Attributes

Attributes

Value

Executable

All Methods defined in this specification shall be executable (Executable Attribute set to “True”), unless it is defined differently in the Method definition.

UserExecutable

The value of the UserExecutable Attribute is server-specific. It is assumed that all Methods can be executed by at least one user.

 

 

6       Standard ObjectTypes

6.1         General

Typically, the components of an ObjectType are fixed and can be extended by subtyping. However, since each Object of an ObjectType can be extended with additional components, this standard allows extending the standard ObjectTypes defined in this document with additional components. Thereby, it is possible to express the additional information in the type definition that would already be contained in each Object. Some ObjectTypes already provide entry points for server-specific extensions. However, it is not allowed to restrict the components of the standard ObjectTypes defined in this standard. An example of extending the ObjectTypes is putting the standard Property NodeVersion defined in OPC 10000-3 into the BaseObjectType, stating that each Object of the Server will provide a NodeVersion.

6.2         BaseObjectType

The BaseObjectType is used as type definition whenever there is an Object having no more concrete type definitions available. Servers should avoid using this ObjectType and use a more specific type, if possible. This ObjectType is the base ObjectType and all other ObjectTypes shall either directly or indirectly inherit from it. However, it might not be possible for Servers to provide all HasSubtype References from this ObjectType to its subtypes, and therefore it is not required to provide this information.

There are no References except for HasSubtype References specified for this ObjectType. It is formally defined in Table 8.

Table 8 – BaseObjectType Definition

Attribute

Value

BrowseName

BaseObjectType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

HasSubtype

ObjectType

ServerType

Defined in 6.3.1

HasSubtype

ObjectType

ServerCapabilitiesType

Defined in 6.3.2

HasSubtype

ObjectType

ServerDiagnosticsType

Defined in 6.3.3

HasSubtype

ObjectType

SessionsDiagnosticsSummaryType

Defined in 6.3.4

HasSubtype

ObjectType

SessionDiagnosticsObjectType

Defined in 6.3.5

HasSubtype

ObjectType

VendorServerInfoType

Defined in 6.3.6

HasSubtype

ObjectType

ServerRedundancyType

Defined in 6.3.7

HasSubtype

ObjectType

BaseEventType

Defined in 6.4.2

HasSubtype

ObjectType

ModellingRuleType

Defined in 6.5

HasSubtype

ObjectType

FolderType

Defined in 6.6

HasSubtype

ObjectType

DataTypeEncodingType

Defined in 6.7

 

6.3         ObjectTypes for the Server Object

6.3.1          ServerType

This ObjectType defines the capabilities supported by the OPC UA Server. It is formally defined in Table 9.

Table 9 – ServerType Definition

Attribute

Value

BrowseName

ServerType

IsAbstract

False

References

NodeClass

BrowseName

DataType / TypeDefinition

Modelling
Rule

Subtype of the BaseObjectType defined in 6.2

HasProperty

Variable

ServerArray

String[]

PropertyType

Mandatory

HasProperty

Variable

NamespaceArray

String[]

PropertyType

Mandatory

HasProperty

Variable

UrisVersion

VersionTime

PropertyType

Optional

HasComponent

Variable

ServerStatus1

ServerStatusDataType

ServerStatusType

Mandatory

HasProperty

Variable

ServiceLevel

Byte

PropertyType

Mandatory

HasProperty

Variable

Auditing

Boolean

PropertyType

Mandatory

HasProperty

Variable

EstimatedReturnTime

DateTime

PropertyType

Optional

HasProperty

Variable

LocalTime

TimeZoneDataType

PropertyType

Optional

HasComponent

Object

ServerCapabilities1

-

ServerCapabilitiesType

Mandatory

HasComponent

Object

ServerDiagnostics1

-

ServerDiagnosticsType

Mandatory

HasComponent

Object

VendorServerInfo

-

VendorServerInfoType

Mandatory

HasComponent

Object

ServerRedundancy1

-

ServerRedundancyType

Mandatory

HasComponent

Object

Namespaces

-

NamespacesType

Optional

HasComponent

Method

GetMonitoredItems

Defined in 9.1

Optional

HasComponent

Method

ResendData

Defined in 9.2

Optional

HasComponent

Method

SetSubscriptionDurable

Defined in 9.3

Optional

HasComponent

Method

RequestServerStateChange

Defined in 9.4

Optional

NOTE Containing Objects and Variables of these Objects and Variables are defined by their BrowseName defined in the corresponding TypeDefinitionNode. The NodeId is defined by the composed symbolic name described in 4.1.

 

ServerArray defines an array of Server URIs. This Variable is also referred to as the server table. Each URI in this array represents a globally-unique logical name for a Server within the scope of the network in which it is installed. Each OPC UA Server instance has a single URI that is used in the server table of other OPC UA Servers. Index 0 is reserved for the URI of the local Server. Values above 0 are used to identify remote Servers and are specific to a Server. OPC 10000-4 describes discovery mechanism that can be used to resolve URIs into URLs. The Server URI is case sensitive.

The URI of the ServerArray with Index 0 shall be identical to the URI of the NamespaceArray with Index 1, since both represent the local Server.

The indexes into the server table are referred to as server indexes or server names. They are used in OPC UA Services to identify TargetNodes of References that reside in remote Servers. Clients may read the entire table or they may read individual entries in the table. The Server shall not modify or delete entries of this table while any client has an open session to the Server, because clients may cache the server table. A Server may add entries to the server table even if clients are connected to the Server.

NamespaceArray defines an array of namespace URIs. This Variable is also referred as namespace table. The indexes into the namespace table are referred to as NamespaceIndexes. NamespaceIndexes are used in NodeIds in OPC UA Services, rather than the longer namespace URI. Index 0 is reserved for the OPC UA namespace, and index 1 is reserved for the local Server. Clients may read the entire namespace table or they may read individual entries in the namespace table. The Server shall not modify or delete entries of the namespace table while any client has an open session to the Server, because clients may cache the namespace table. A Server may add entries to the namespace table even if clients are connected to the Server. It is recommended that Servers not change the indexes of the namespace table but only add entries, because the client may cache NodeIds using the indexes. Nevertheless, it might not always be possible for Servers to avoid changing indexes in the namespace table. Clients that cache NamespaceIndexes of NodeIds should always check when starting a session to verify that the cached NamespaceIndexes have not changed.

UrisVersion defines the version of the ServerArray and the NamespaceArray. Everytime the ServerArray or the NamespaceArray is changed, the value of the UrisVersion shall be updated to a value greater than the previous value. The UrisVersion Property is used in combination with the SessionlessInvoke Service defined in OPC 10000-4. If a Server supports this Service, the Server shall support this Property. It is the responsibility of the Server to provide a consistent set of values for the ServerArray, NamespaceArray and the UrisVersion Properties. The VersionTime DataType is defined in OPC 10000-4.

ServerStatus contains elements that describe the status of the Server. See 12.10 for a description of its elements.

ServiceLevel describes the ability of the Server to provide its data to the client. The value range is from 0 to 255, where 0 indicates the worst and 255 indicates the best. OPC 10000-4 defines required sub-ranges for different scenarios. The intent is to provide the clients an indication of availability among redundant Servers.

Auditing is a Boolean specifying if the Server is currently generating audit events. It is set to TRUE if the Server generates audit events, otherwise to false. The Profiles defined in OPC 10000-7 specify what kind of audit events are generated by the Server.

EstimatedReturnTime indicates the time at which the Server is expected to have a ServerStatus.State of RUNNING_0. A Client that observes a shutdown or a ServiceLevel of 0 should either wait until after this time to attempt to reconnect to this Server or enter into slow retry logic. For example, most Clients will attempt to reconnect after a failure immediately and then progressively increase the delay between attempts until some maximum delay. This time can be used to trigger the Client to start its reconnect logic with some delay.

LocalTime is a structure containing the Offset and the DaylightSavingInOffset flag. The Offset specifies the time difference (in minutes) between the Server time in UTC and the local time at the Server location. If DaylightSavingInOffset is TRUE, then Standard/Daylight savings time (DST) at the Server location is in effect and Offset includes the DST correction. If FALSE then the Offset does not include DST correction and DST may or may not be in effect.

ServerCapabilities defines the capabilities supported by the OPC UA Server. See 6.3.2 for its description.

ServerDiagnostics defines diagnostic information about the OPC UA Server. See 6.3.3 for its description.

VendorServerInfo represents the browse entry point for vendor-defined Server information. This Object is required to be present even if there are no vendor-defined Objects beneath it. See 6.3.6 for its description.

ServerRedundancy describes the redundancy capabilities provided by the Server. This Object is required even if the Server does not provide any redundancy support. If the Server supports redundancy, then a subtype of ServerRedundancyType is used to describe its capabilities. Otherwise, it provides an Object of type ServerRedundancyType with the Property RedundancySupport set to none. See 6.3.7 for the description of ServerRedundancyType.

Namespaces provides a list of NamespaceMetadataType Objects with additional information about the namespaces used in the Server. See 6.3.14 for the description of NamespaceMetadataType.

The GetMonitoredItems Method is used to identify the MonitoredItems of a Subscription. It is defined in 9.1; the intended usage is defined in OPC 10000-4.

The ResendData Method is used to get the latest values of the data monitored items of a Subscription. It is defined in 9.2; the intended usage is defined in OPC 10000-4.

The SetSubscriptionDurable Method is used to set a Subscription into a mode where MonitoredItem data and event queues are stored and delivered even if an OPC UA Client was disconnected for a longer time or the OPC UA Server was restarted. It is defined in 9.3; the intended usage is defined in OPC 10000-4.

The RequestServerStateChange Method allows a Client to request a state change in the Server. It is defined in 9.4; the intended usage is defined in OPC 10000-4.

 

6.3.2          ServerCapabilitiesType

This ObjectType defines the capabilities supported by the OPC UA Server. It is formally defined in Table 10.

Table 10 – ServerCapabilitiesType Definition

Attribute

Value

BrowseName

ServerCapabilitiesType

IsAbstract

False

References

NodeClass

BrowseName

DataType / TypeDefinition

ModellingRule

Subtype of the BaseObjectType defined in 6.2

HasProperty

Variable

ServerProfileArray

String[]

PropertyType

Mandatory

HasProperty

Variable

LocaleIdArray

LocaleId[]

PropertyType

Mandatory

HasProperty

Variable

MinSupportedSampleRate

Duration

PropertyType

Mandatory

HasProperty

Variable

MaxBrowseContinuationPoints

UInt16

PropertyType

Mandatory

HasProperty

Variable

MaxQueryContinuationPoints

UInt16

PropertyType

Mandatory

HasProperty

Variable

MaxHistoryContinuationPoints

UInt16

PropertyType

Mandatory

HasProperty

Variable

SoftwareCertificates

SignedSoftwareCertificate[]

PropertyType

Mandatory

HasProperty

Variable

MaxArrayLength

UInt32

PropertyType

Optional

HasProperty

Variable

MaxStringLength

UInt32

PropertyType

Optional

HasProperty

Variable

MaxByteStringLength

UInt32

PropertyType

Optional

HasComponent

Object

OperationLimits

--

OperationLimitsType

Optional

HasComponent

Object

ModellingRules

--

FolderType

Mandatory

HasComponent

Object

AggregateFunctions

--

FolderType

Mandatory

HasComponent

Object

RoleSet

RoleSetType

Optional

HasComponent

Variable

<VendorCapability>

BaseDataType ServerVendorCapabilityType

OptionalPlaceholder

 

ServerProfileArray lists the Profiles that the Server supports. See OPC 10000-7 for the definitions of Server Profiles. This list should be limited to the Profiles the Server supports in its current configuration.

LocaleIdArray is an array of LocaleIds that are known to be supported by the Server. The Server might not be aware of all LocaleIds that it supports because it may provide access to underlying servers, systems or devices that do not report the LocaleIds that they support.

MinSupportedSampleRate defines the minimum supported sample rate, including 0, which is supported by the Server.

MaxBrowseContinuationPoints is an integer specifying the maximum number of parallel continuation points of the Browse Service that the Server can support per session. The value specifies the maximum the Server can support under normal circumstances, so there is no guarantee the Server can always support the maximum. The client should not open more Browse calls with open continuation points than exposed in this Variable. The value 0 indicates that the Server does not restrict the number of parallel continuation points the client should use.

MaxQueryContinuationPoints is an integer specifying the maximum number of parallel continuation points of the QueryFirst Services that the Server can support per session. The value specifies the maximum the Server can support under normal circumstances, so there is no guarantee the Server can always support the maximum. The client should not open more QueryFirst calls with open continuation points than exposed in this Variable. The value 0 indicates that the Server does not restrict the number of parallel continuation points the client should use.

MaxHistoryContinuationPoints is an integer specifying the maximum number of parallel continuation points of the HistoryRead Services that the Server can support per session. The value specifies the maximum the Server can support under normal circumstances, so there is no guarantee the Server can always support the maximum. The client should not open more HistoryRead calls with open continuation points than exposed in this Variable. The value 0 indicates that the Server does not restrict the number of parallel continuation points the client should use.

SoftwareCertificates is an array of SignedSoftwareCertificates containing all SoftwareCertificates supported by the Server. A SoftwareCertificate identifies capabilities of the Server. It contains the list of Profiles supported by the Server. Profiles are described in OPC 10000-7.

The MaxArrayLength Property indicates the maximum length of a one or multidimensional array supported by Variables of the Server. In a multidimensional array it indicates the overall length. For example, a three-dimensional array of 2x3x10 has the array length of 60. The Server might further restrict the length for individual Variables without notice to the client. Servers may use the Property MaxArrayLength defined in OPC 10000-3 on individual DataVariables to specify the size on individual values. The individual Property may have a larger or smaller value than MaxArrayLength.

The MaxStringLength Property indicates the maximum number of bytes in Strings supported by Variables of the Server. Servers may override this setting by adding the MaxStringLength Property defined in OPC 10000-3 to an individual DataVariable. If a Server does not impose a maximum number of bytes or is not able to determine the maximum number of bytes this Property shall not be provided.  

The MaxByteStringLength Property indicates the maximum number of bytes in a ByteString supported by Variables of the Server. It also specifies the  default maximum size of a FileType Object’s read and write buffers. Servers may override this setting by adding the MaxByteStringLength Property defined in OPC 10000-3 to an individual DataVariable or FileType Object. If a Server does not impose a maximum number of bytes or is not able to determine the maximum number of bytes this Property shall not be provided.

OperationLimits is an entry point to access information on operation limits of the Server, for example the maximum length of an array in a read Service call.

ModellingRules is an entry point to browse to all ModellingRules supported by the Server. All ModellingRules supported by the Server should be able to be browsed starting from this Object.

AggregateFunctions is an entry point to browse to all AggregateFunctions supported by the Server. All AggregateFunctions supported by the Server should be able to be browsed starting from this Object. AggregateFunctions are Objects of AggregateFunctionType.

The RoleSet Object is used to publish all Roles supported by the Server. The RoleSetType is specified in F.2

When vendors expose their own capabilities they should add additional Nodes to the standard ServerCapabilities Object instance.

6.3.3          ServerDiagnosticsType

This ObjectType defines diagnostic information about the OPC UA Server. This ObjectType is formally defined in Table 11.

Table 11 – ServerDiagnosticsType Definition

Attribute

Value

BrowseName

ServerDiagnosticsType

IsAbstract

False

References

Node
Class

BrowseName

DataType / TypeDefinition

Modelling
Rule

Subtype of the BaseObjectType defined in 6.2

HasComponent

Variable

ServerDiagnosticsSummary

ServerDiagnosticsSummaryDataType

ServerDiagnosticsSummaryType

Mandatory

HasComponent

Variable

SamplingIntervalDiagnosticsArray

SamplingIntervalDiagnosticsDataType[]

SamplingIntervalDiagnosticsArrayType

Optional

HasComponent

Variable

SubscriptionDiagnosticsArray

SubscriptionDiagnosticsDataType[]

SubscriptionDiagnosticsArrayType

Mandatory

HasComponent

Object

SessionsDiagnosticsSummary

--

SessionsDiagnosticsSummaryType

Mandatory

HasProperty

Variable

EnabledFlag

Boolean

PropertyType

Mandatory

 

ServerDiagnosticsSummary contains diagnostic summary information for the Server, as defined in 12.9.

SamplingIntervalDiagnosticsArray is an array of diagnostic information per sampling rate as defined in 12.8. There is one entry for each sampling rate currently used by the Server. Its TypeDefinitionNode is the VariableType SamplingIntervalDiagnosticsArrayType, providing a Variable for each entry in the array, as defined in 7.9.

The sampling interval diagnostics are only collected by Servers which use a fixed set of sampling intervals. In these cases, length of the array and the set of contained Variables will be determined by the Server configuration and the NodeId assigned to a given sampling interval diagnostics variable shall not change as long as the Server configuration does not change. A Server may not expose the SamplingIntervalDiagnosticsArray if it does not use fixed sampling rates.

SubscriptionDiagnosticsArray is an array of Subscription diagnostic information per subscription, as defined in 12.15. There is one entry for each Notification channel actually established in the Server. Its TypeDefinitionNode is the VariableType SubscriptionDiagnosticsArrayType, providing a Variable for each entry in the array as defined in 7.11. Those Variables are also used as Variables referenced by other Variables.

SessionsDiagnosticsSummary contains diagnostic information per session, as defined in 6.3.4.

EnabledFlag identifies whether or not diagnostic information is collected by the Server. It can also be used by a client to enable or disable the collection of diagnostic information of the Server. The following settings of the Boolean value apply: TRUE indicates that the Server collects diagnostic information, and setting the value to TRUE leads to resetting and enabling the collection. FALSE indicates that no diagnostic information is collected, and setting the value to FALSE disables the collection without resetting the diagnostic values.

When diagnostics are turned off, the Server can return Bad_NodeIdUnknown for all static diagnostic Nodes except the EnabledFlag Property. Dynamic diagnostic Nodes (such as the Session Nodes) will not appear in the AddressSpace.

If collection of diagnostic information is not supported at all, the EnabledFlag Property will be read only.

6.3.4          SessionsDiagnosticsSummaryType

This ObjectType defines diagnostic information about the sessions of the OPC UA Server. This ObjectType is formally defined in Table 12.

Table 12 – SessionsDiagnosticsSummaryType Definition

Attribute

Value

BrowseName

SessionsDiagnosticsSummaryType

IsAbstract

False

References

NodeClass

BrowseName

DataType / TypeDefinition

Modelling
Rule

Subtype of the BaseObjectType defined in 6.2

HasComponent

Variable

SessionDiagnosticsArray

SessionDiagnosticsDataType[]

SessionDiagnosticsArrayType

Mandatory

HasComponent

Variable

SessionSecurityDiagnosticsArray

SessionSecurityDiagnosticsDataType[]

SessionSecurityDiagnosticsArrayType

Mandatory

HasComponent

Object

<ClientName>

--

SessionDiagnosticsObjectType

Optional
Placeholder

NOTE This row represents no Node in the AddressSpace. It is a placeholder pointing out that instances of the ObjectType will have those Objects.

 

SessionDiagnosticsArray provides an array with an entry for each session in the Server having general diagnostic information about a session.

SessionSecurityDiagnosticsArray provides an array with an entry for each active session in the Server having security-related diagnostic information about a session. Since this information is security-related, it should not be made accessible to all users, but only to authorised users.

For each session of the Server, this Object also provides an Object representing the session, indicated by <ClientName>. The BrowseName could be derived from the sessionName defined in the CreateSession Service (OPC 10000-4) or some other server-specific mechanisms. It is of the ObjectType SessionDiagnosticsObjectType, as defined in 6.3.5.

6.3.5          SessionDiagnosticsObjectType

This ObjectType defines diagnostic information about a session of the OPC UA Server. This ObjectType is formally defined in Table 13.

Table 13 – SessionDiagnosticsObjectType Definition

Attribute

Value

BrowseName

SessionDiagnosticsObjectType

IsAbstract

False

References

NodeClass

BrowseName

DataType / TypeDefinition

Modelling
Rule

Subtype of the BaseObjectType defined in 6.2

HasComponent

Variable

SessionDiagnostics

SessionDiagnosticsDataType

SessionDiagnosticsVariableType

Mandatory

HasComponent

Variable

SessionSecurityDiagnostics

SessionSecurityDiagnosticsDataType

SessionSecurityDiagnosticsType

Mandatory

HasComponent

Variable

SubscriptionDiagnosticsArray

SubscriptionDiagnosticsDataType[]

SubscriptionDiagnosticsArrayType

Mandatory

 

SessionDiagnostics contains general diagnostic information about the session; the SessionSecurityDiagnostics Variable contains security-related diagnostic information. Because the information of the second Variable is security-related, it should not be made accessible to all users, but only to authorised users.

SubscriptionDiagnosticsArray is an array of Subscription diagnostic information per opened subscription, as defined in 12.15. Its TypeDefinitionNode is the VariableType SubscriptionDiagnosticsArrayType providing a Variable for each entry in the array, as defined in 7.11.

6.3.6          VendorServerInfoType

This ObjectType defines a placeholder Object for vendor-specific information about the OPC UA Server. This ObjectType defines an empty ObjectType that has no components. It shall be subtyped by vendors to define their vendor-specific information. This ObjectType is formally defined in Table 14.

Table 14 – VendorServerInfoType Definition

Attribute

Value

BrowseName

VendorServerInfoType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the BaseObjectType defined in 6.2

 

6.3.7          ServerRedundancyType

This ObjectType defines the redundancy capabilities supported by the OPC UA Server. It is formally defined in Table 15.

Table 15 – ServerRedundancyType Definition

Attribute

Value

BrowseName

ServerRedundancyType

IsAbstract

False

References

NodeClass

BrowseName

DataType

Type
Definition

Modelling
Rule

Subtype of the BaseObjectType defined in 6.2

HasProperty

Variable

RedundancySupport

RedundancySupport

PropertyType

Mandatory

HasSubtype

ObjectType

TransparentRedundancyType

Defined in 6.3.8

HasSubtype

ObjectType

NonTransparentRedundancyType

Defined in 6.3.9

 

RedundancySupport indicates what redundancy is supported by the Server. Its values are defined in 12.5. It shall be set to NONE_0 for all instances of the ServerRedundancyType using the ObjectType directly (no subtype).

6.3.8          TransparentRedundancyType

This ObjectType is a subtype of ServerRedundancyType and is used to identify the capabilities of the OPC UA Server for server-controlled redundancy with a transparent switchover for the client. It is formally defined in Table 16.

Table 16 – TransparentRedundancyType Definition

Attribute

Value

BrowseName

TransparentRedundancyType

IsAbstract

False

References

Node
Class

BrowseName

DataType

TypeDefinition

Modelling
Rule

Subtype of the ServerRedundancyType defined in 6.3.7, i.e. inheriting the InstanceDeclarations of that Node.

HasProperty

Variable

CurrentServerId

String

PropertyType

Mandatory

HasProperty

Variable

RedundantServerArray

RedundantServerDataType[]

PropertyType

Mandatory

 

RedundancySupport is inherited from the ServerRedundancyType. It shall be set to TRANSPARENT_4 for all instances of the TransparentRedundancyType.

Although, in a transparent switchover scenario, all redundant Servers serve under the same URI to the Client, it may be required to track the exact data source on the Client. Therefore, CurrentServerId contains an identifier of the currently-used Server in the Redundant Set. This Server is valid only inside a Session; if a Client opens several Sessions, different Servers of the redundant set of Servers may serve it in different Sessions. The value of the CurrentServerId may change due to Failover or load balancing, so a Client that needs to track its data source shall subscribe to this Variable.

As diagnostic information, the RedundantServerArray contains an array of available Servers in the Redundant Set; including their service levels (see 12.7). This array may change during a Session.

6.3.9          NonTransparentRedundancyType

This ObjectType is a subtype of ServerRedundancyType and is used to identify the capabilities of the OPC UA Server for non-transparent redundancy. It is formally defined in Table 17.

Table 17 – NonTransparentRedundancyType Definition

Attribute

Value

BrowseName

NonTransparentRedundancyType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

Modelling Rule

Subtype of the ServerRedundancyType defined in 6.3.7, which means it inherits the InstanceDeclarations of that Node.

HasProperty

Variable

ServerUriArray

String[]

PropertyType

Mandatory

HasSubtype

ObjectType

NonTransparentNetworkRedundancyType

Defined in 6.3.10

 

ServerUriArray is an array with the URI of all redundant Servers of the OPC UA Server. See OPC 10000-4 for the definition of redundancy in this standard. In a non-transparent redundancy environment, the Client is responsible to subscribe to the redundant Servers. Therefore the Client might open a session to one or more redundant Servers of this array. The ServerUriArray shall contain the local Server.

RedundancySupport is inherited from the ServerRedundancyType. It shall be set to COLD_1, WARM_2, HOT_3 or HOT_AND_MIRRORED_5 for all instances of the NonTransparentRedundancyType. It defines the redundancy support provided by the Server. Its intended use is defined in OPC 10000-4.

6.3.10        NonTransparentNetworkRedundancyType

This ObjectType is a subtype of NonTransparentRedundancyType and is used to identify the capabilities of the OPC UA Server for non-transparent network redundancy. It is formally defined in Table 18.

Table 18 – NonTransparentNetworkRedundancyType Definition

Attribute

Value

BrowseName

NonTransparentNetworkRedundancyType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the NonTransparentRedundancyType defined in 6.3.9, which means it inherits the InstanceDeclarations of that Node.

HasProperty

Variable

ServerNetworkGroups

NetworkGroupDataType[]

PropertyType

Mandatory

 

Clients switching between network paths to the same Server behave the same as HotAndMirrored redundancy. Server and network redundancy can be combined. In the combined approach it is important for the Client to know which ServerUris belong to the same Server representing different network paths and which ServerUris represent different Servers. Therefore, a Server implementing non-transparent network redundancy shall use the NonTransparentNetworkRedundancyType to identify its redundancy support.

RedundancySupport is inherited from the ServerRedundancyType. It shall be set to COLD_1, WARM_2, HOT_3 or HOT_AND_MIRRORED_5 for all instances of the NonTransparentNetworkRedundancyType. If no Server redundancy is supported (the ServerUriArray only contains one entry), the RedundancySupport shall be set to HOT_AND_MIRRORED_5.

The ServerNetworkGroups contains an array of NetworkGroupDataType. The URIs of the Servers in that array (in the serverUri of the structure) shall be exactly the same as the ones provided in the ServerUriArray. However, the order might be different. Thus the array represents a list of HotAndMirrored redundant Servers. If a Server only supports network redundancy, it has only one entry in the ServerNetworkGroups. The networkPaths in the structure represents the redundant network paths for each of the Servers. The networkPaths describes the different paths (one entry for each path) ordered by priority. Each network path contains an endpointUrlList having an array of Strings each containing a URL of an Endpoint. This allows using different protocol options for the same network path.

The Endpoints provided shall match with the Endpoints provided by the GetEndpoints Service of the corresponding Server.

6.3.11        OperationLimitsType

This ObjectType is a subtype of FolderType and is used to identify the operation limits of the OPC UA Server. It is formally defined in Table 19.

Table 19 – OperationLimitsType Definition

Attribute

Value

BrowseName

OperationLimitsType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the FolderType defined in 6.6, which means it inherits the InstanceDeclarations of that Node.

HasProperty

Variable

MaxNodesPerRead

UInt32

PropertyType

Optional

HasProperty

Variable

MaxNodesPerHistoryReadData

UInt32

PropertyType

Optional

HasProperty

Variable

MaxNodesPerHistoryReadEvents

UInt32

PropertyType

Optional

HasProperty

Variable

MaxNodesPerWrite

UInt32

PropertyType

Optional

HasProperty

Variable

MaxNodesPerHistoryUpdateData

UInt32

PropertyType

Optional

HasProperty

Variable

MaxNodesPerHistoryUpdateEvents

UInt32

PropertyType

Optional

HasProperty

Variable

MaxNodesPerMethodCall

UInt32

PropertyType

Optional

HasProperty

Variable

MaxNodesPerBrowse

UInt32

PropertyType

Optional

HasProperty

Variable

MaxNodesPerRegisterNodes

UInt32

PropertyType

Optional

HasProperty

Variable

MaxNodesPerTranslateBrowsePathsToNodeIds

UInt32

PropertyType

Optional

HasProperty

Variable

MaxNodesPerNodeManagement

UInt32

PropertyType

Optional

HasProperty

Variable

MaxMonitoredItemsPerCall

UInt32

PropertyType

Optional

 

Any operational limits Property that is provided shall have a non zero value.

The MaxNodesPerRead Property indicates the maximum size of the nodesToRead array when a Client calls the Read Service.

The MaxNodesPerHistoryReadData Property indicates the maximum size of the nodesToRead array when a Client calls the HistoryRead Service using the historyReadDetails RAW, PROCESSED, MODIFIED or ATTIME.

The MaxNodesPerHistoryReadEvents Property indicates the maximum size of the nodesToRead array when a Client calls the HistoryRead Service using the historyReadDetails EVENTS.

The MaxNodesPerWrite Property indicates the maximum size of the nodesToWrite array when a Client calls the Write Service.

The MaxNodesPerHistoryUpdateData Property indicates the maximum size of the historyUpdateDetails array supported by the Server when a Client calls the HistoryUpdate Service.

The MaxNodesPerHistoryUpdateEvents Property indicates the maximum size of the historyUpdateDetails array when a Client calls the HistoryUpdate Service.

The MaxNodesPerMethodCall Property indicates the maximum size of the methodsToCall array when a Client calls the Call Service.

The MaxNodesPerBrowse Property indicates the maximum size of the nodesToBrowse array when calling the Browse Service or the continuationPoints array when a Client calls the BrowseNext Service.

The MaxNodesPerRegisterNodes Property indicates the maximum size of the nodesToRegister array when a Client calls the RegisterNodes Service and the maximum size of the nodesToUnregister when calling the UnregisterNodes Service.

The MaxNodesPerTranslateBrowsePathsToNodeIds Property indicates the maximum size of the browsePaths array when a Client calls the TranslateBrowsePathsToNodeIds Service.

The MaxNodesPerNodeManagement Property indicates the maximum size of the nodesToAdd array when a Client calls the AddNodes Service, the maximum size of the referencesToAdd array when a Client calls the AddReferences Service, the maximum size of the nodesToDelete array when a Client calls the DeleteNodes Service, and the maximum size of the referencesToDelete array when a Client calls the DeleteReferences Service.

The MaxMonitoredItemsPerCall Property indicates

·      the maximum size of the itemsToCreate array when a Client calls the CreateMonitoredItems Service,

·      the maximum size of the itemsToModify array when a Client calls the ModifyMonitoredItems Service,

·      the maximum size of the monitoredItemIds array when a Client calls the SetMonitoringMode Service or the DeleteMonitoredItems Service,

·      the maximum size of the sum of the linksToAdd and linksToRemove arrays when a Client calls the SetTriggering Service.

6.3.12        AddressSpaceFileType

This ObjectType defines the file for a namespace provided by the OPC UA Server. It is formally defined in Table 20. It represents an XML address space file using the XML schema defined in OPC 10000-6.

Table 20 – AddressSpaceFileType Definition

Attribute

Value

BrowseName

AddressSpaceFileType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

Modelling
Rule

Subtype of the FileType defined in C.2

HasComponent

Method

ExportNamespace

The method has no parameters.

Optional

 

The ExportNamespace Method provides a way to export the namespace from the Server AddressSpace to the XML file represented by the AddressSpaceFileType. Value Attributes are only exported if they represent static configuration information. The client is expected to call the ExportNamespace Method first to update the XML file and then access the file with the Methods defined in the FileType.

Servers might provide some vendor-specific mechanisms importing parts of an address space as subtype of this ObjectType, for example by defining appropriate Methods.

6.3.13        NamespaceMetadataType

This ObjectType defines the metadata for a namespace provided by the Server. It is formally defined in Table 21.

Instances of this Object allow Servers to provide more information like version information in addition to the namespace URI. Important information for aggregating Servers is provided by the StaticNodeIdTypes, StaticNumericNodeIdRange and StaticStringNodeIdPattern Properties.

Table 21 – NamespaceMetadataType Definition

Attribute

Value

BrowseName

NamespaceMetadataType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

Modelling
Rule

Subtype of the BaseObjectType defined in 6.2

HasProperty

Variable

NamespaceUri

String

PropertyType

Mandatory

HasProperty

Variable

NamespaceVersion

String

PropertyType

Mandatory

HasProperty

Variable

NamespacePublicationDate

DateTime

PropertyType

Mandatory

HasProperty

Variable

IsNamespaceSubset

Boolean

PropertyType

Mandatory

HasProperty

Variable

StaticNodeIdTypes

IdType[]

PropertyType

Mandatory

HasProperty

Variable

StaticNumericNodeIdRange

NumericRange[]

PropertyType

Mandatory

HasProperty

Variable

StaticStringNodeIdPattern

String

PropertyType

Mandatory

HasComponent

Object

NamespaceFile

-

AddressSpaceFileType

Optional

HasProperty

Variable

DefaultRolePermissions

RolePermissionType[]

PropertyType

Optional

HasProperty

Variable

DefaultUserRolePermissions

RolePermissionType[]

PropertyType

Optional

HasProperty

Variable

DefaultAccessRestrictions

AccessRestrictionType

PropertyType

Optional

 

The BrowseName of instances of this type shall be derived from the represented namespace. This can, for example, be done by using the index of the namespace in the NamespaceArray as namespaceIndex of the QualifiedName and the namespace URI as name of the QualifiedName.

The NamespaceUri Property contains the namespace represented by an instance of the MetaDataType.

The NamespaceVersion Property provides version information for the namespace. It is intended for display purposes and shall not be used to programmatically identify the latest version. If there is no formal version defined for the namespace this Property shall be set to a null String.

The NamespacePublicationDate Property provides the publication date of the namespace version. This Property value can be used by Clients to determine the latest version if different versions are provided by different Servers. If there is no formal publication date defined for the namespace this Property shall be set to a null DateTime.

The IsNamespaceSubset Property defines whether all Nodes of the namespace are accessible in the Server or only a subset. It is set to FALSE if the full namespace is provided and TRUE if not. If the completeness is unknown then this Property shall be set to TRUE.

Static Nodes are identical for all Attributes in all Servers, including the Value Attribute. For TypeDefinitionNodes, also the InstanceDeclarations shall be identical. That means that for static Nodes the semantic is always the same. Namespaces with static Nodes are for example namespaces defined by standard bodies like the OPC Foundation. This is important information for aggregating Servers. If the namespace is dynamic and used in several Servers the aggregating Server needs to distinguish the namespace for each aggregated Server. The static Nodes of a namespace only need to be handled once, even if they are used by several aggregated Servers.

The StaticNodeIdTypes Property provides a list of IdTypes used for static Nodes. All Nodes in the AddressSpace of the namespace using one of the IdTypes in the array shall be static Nodes.

The StaticNumericNodeIdRange Property provides a list of NumericRanges used for numeric NodeIds of static Nodes. If the StaticNodeIdTypes Property contains an entry for numeric NodeIds then this Property is ignored.

The StaticStringNodeIdPattern Property provides a regular expression as defined for the Like Operator defined in OPC 10000-4 to filter for string NodeIds of static Nodes. If the StaticNodeIdTypes Property contains an entry for string NodeIds then this Property is ignored.

The Object NamespaceFile contains all Nodes and References of the namespace in an XML file where the Information Model XML Schema is defined in OPC 10000-6. The XML file is provided through an AddressSpaceFileType Object.

The DefaultRolePermissions Property provides the default permissions if a Server supports RolePermissions for the Namespace. A Node in the Namespace overrides this default by adding a RolePermissions Attribute to the Node. If a Server implements a vendor-specific RolePermissions model for a Namespace, it does not add the DefaultRolePermissions Property to the NamespaceMetadata Object.

The DefaultUserRolePermissions Property provides the default user permissions if a Server supports UserRolePermissions for the Namespace. A Node in the Namespace overrides this default by adding a UserRolePermissions Attribute to the Node. If a Server implements a vendor-specific UserRolePermissions model for a Namespace, it does not add the DefaultUserRolePermissions Property to the NamespaceMetadata Object.

The DefaultAccessRestrictions Property is present if a Server supports AccessRestrictions for the Namespace and provides the defaults. A Node in the Namespace overrides this default by adding a AccessRestrictions Attribute to the Node. If a Server implements a vendor-specific AccessRestriction model for a Namespace, it does not add the DefaultAccessRestrictions Property to the NamespaceMetadata Object.

6.3.14        NamespacesType

This ObjectType defines a list of NamespaceMetadataType Objects provided by the Server. It is formally defined in Table 22.

Table 22 – NamespacesType Definition

Attribute

Value

BrowseName

NamespacesType

IsAbstract

False

References

NodeClass

BrowseName

Data Type

TypeDefinition

Modelling
Rule

Subtype of the BaseObjectType defined in 6.2

HasComponent

Object

<NamespaceIdentifier>

-

NamespaceMetadataType

OptionalPlaceholder

 

The ObjectType contains a list of NamespaceMetadataType Objects representing the namespaces in the Server. The BrowseName of an Object shall be derived from the namespace represented by the Object. This can, for example, be done by using the index of the namespace in the NamespaceArray as namespaceIndex of the QualifiedName and the namespace URI as name of the QualifiedName. Clients should not assume that all namespaces provided by a Server are present in this list as a namespace may not provide the information necessary to fill all mandatory Properties of the NamespaceMetadataType.

6.4         ObjectTypes used as EventTypes

6.4.1          General

This International Standard defines standard EventTypes. They are represented in the AddressSpace as ObjectTypes. The EventTypes are already defined in OPC 10000-3. The following subclauses specify their representation in the AddressSpace.

6.4.2          BaseEventType

This EventType is defined in OPC 10000-3. Its representation in the AddressSpace is formally defined in Table 23.

Table 23 – BaseEventType Definition

Attribute

Value

BrowseName

BaseEventType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

Modelling
Rule

Subtype of the BaseObjectType defined in 6.2

HasSubtype

ObjectType

AuditEventType

Defined in 6.4.3

HasSubtype

ObjectType

SystemEventType

Defined in 6.4.28

HasSubtype

ObjectType

BaseModelChangeEventType

Defined in 6.4.31

HasSubtype

ObjectType

SemanticChangeEventType

Defined in 6.4.33

HasSubtype

ObjectType

EventQueueOverflowEventType

Defined in 6.4.34

HasSubtype

ObjectType

ProgressEventType

Defined in 6.4.35

HasProperty

Variable

EventId

ByteString

PropertyType

Mandatory

HasProperty

Variable

EventType

NodeId

PropertyType

Mandatory

HasProperty

Variable

SourceNode

NodeId

PropertyType

Mandatory

HasProperty

Variable

SourceName

String

PropertyType

Mandatory

HasProperty

Variable

Time

UtcTime

PropertyType

Mandatory

HasProperty

Variable

ReceiveTime

UtcTime

PropertyType

Mandatory

HasProperty

Variable

LocalTime

TimeZoneDataType

PropertyType

Optional

HasProperty

Variable

Message

LocalizedText

PropertyType

Mandatory

HasProperty

Variable

Severity

UInt16

PropertyType

Mandatory

 

EventId is generated by the Server to uniquely identify a particular Event Notification. The Server is responsible to ensure that each Event has its unique EventId. It may do this, for example, by putting GUIDs into the ByteString. Clients can use the EventId to assist in minimizing or eliminating gaps and overlaps that may occur during a redundancy failover. The EventId shall always be returned as value and the Server is not allowed to return a StatusCode for the EventId indicating an error.

EventType describes the specific type of Event. The EventType shall always be returned as value and the Server is not allowed to return a StatusCode for the EventType indicating an error.

The SourceNode Property identifies the Node that the Event originated from. If the Event is not specific to a Node the NodeId is set to null. Some subtypes of this BaseEventType may define additional rules for the SourceNode Property.

SourceName provides a description of the source of the Event. This could be the string-part of the DisplayName of the Event source using the default locale of the server, if the Event is specific to a Node, or some server-specific notation.

Time provides the time the Event occurred. This value is set as close to the event generator as possible. It often comes from the underlying system or device. Once set, intermediate OPC UA Servers shall not alter the value.

ReceiveTime provides the time the OPC UA Server received the Event from the underlying device of another Server. ReceiveTime is analogous to ServerTimestamp defined in OPC 10000-4, i.e. in the case where the OPC UA Server gets an Event from another OPC UA Server, each Server applies its own ReceiveTime. That implies that a Client may get the same Event, having the same EventId, from different Servers having different values of the ReceiveTime. The ReceiveTime shall always be returned as value and the Server is not allowed to return a StatusCode for the ReceiveTime indicating an error.

LocalTime is a structure containing the Offset and the DaylightSavingInOffset flag. The Offset specifies the time difference (in minutes) between the Time Property and the time at the location in which the event was issued. If DaylightSavingInOffset is TRUE, then Standard/Daylight savings time (DST) at the originating location is in effect and Offset includes the DST correction. If FALSE then the Offset does not include DST correction and DST may or may not have been in effect.

Message provides a human-readable and localizable text description of the Event. The Server may return any appropriate text to describe the Event. A null string is not a valid value; if the Server does not have a description, it shall return the string part of the BrowseName of the Node associated with the Event.

Severity is an indication of the urgency of the Event. This is also commonly called “priority”. Values will range from 1 to 1 000, with 1 being the lowest severity and 1 000 being the highest. Typically, a severity of 1 would indicate an Event which is informational in nature, while a value of 1 000 would indicate an Event of catastrophic nature, which could potentially result in severe financial loss or loss of life.

It is expected that very few Server implementations will support 1 000 distinct severity levels. Therefore, Server developers are responsible for distributing their severity levels across the 1 to 1 000 range in such a manner that clients can assume a linear distribution. For example, a client wishing to present five severity levels to a user should be able to do the following mapping:

Client Severity

OPC Severity

HIGH

801 – 1 000

MEDIUM HIGH

601 – 800

MEDIUM

401 – 600

MEDIUM LOW

201 – 400

LOW

1 – 200

 

In many cases a strict linear mapping of underlying source severities to the OPC Severity range is not appropriate. The Server developer will instead intelligently map the underlying source severities to the 1 to 1 000 OPC Severity range in some other fashion. In particular, it is recommended that Server developers map Events of high urgency into the OPC severity range of 667 to 1 000, Events of medium urgency into the OPC severity range of 334 to 666 and Events of low urgency into OPC severities of 1 to 333.

For example, if a source supports 16 severity levels that are clustered such that severities 0 to 2 are considered to be LOW, 3 to 7 are MEDIUM and 8 to 15 are HIGH, then an appropriate mapping might be as follows:

OPC Range

Source Severity

OPC Severity

HIGH (667 – 1 000)

15

1 000

14

955

13

910

12

865

11

820

10

775

9

730

8

685

MEDIUM (334 – 666)

7

650

6

575

5

500

4

425

3

350

LOW (1 – 333)

2

300

1

150

0

1

 

Some Servers might not support any Events which are catastrophic in nature, so they may choose to map all of their severities into a subset of the 1 to 1 000 range (for example, 1 to 666). Other Servers might not support any Events which are merely informational, so they may choose to map all of their severities into a different subset of the 1 to 1 000 range (for example, 334 to 1 000).

The purpose of this approach is to allow clients to use severity values from multiple Servers from different vendors in a consistent manner. Additional discussions of severity can be found in OPC 10000-9.

6.4.3          AuditEventType

This EventType is defined in OPC 10000-3. Its representation in the AddressSpace is formally defined in Table 24.

Table 24 – AuditEventType Definition

Attribute

Value

BrowseName

AuditEventType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

Modelling
Rule

Subtype of the BaseEventType defined in 6.4.2, which means it inherits the InstanceDeclarations of that Node.

HasSubtype

ObjectType

AuditSecurityEventType

Defined in 6.4.4

HasSubtype

ObjectType

AuditNodeManagementEventType

Defined in 6.4.19

HasSubtype

ObjectType

AuditUpdateEventType

Defined in 6.4.24

HasSubtype

ObjectType

AuditUpdateMethodEventType

Defined in 6.4.27

HasProperty

Variable

ActionTimeStamp

UtcTime

PropertyType

Mandatory

HasProperty

Variable

Status

Boolean

PropertyType

Mandatory

HasProperty

Variable

ServerId

String

PropertyType

Mandatory

HasProperty

Variable

ClientAuditEntryId

String

PropertyType

Mandatory

HasProperty

Variable

ClientUserId

String

PropertyType

Mandatory

 

This EventType inherits all Properties of the BaseEventType. Their semantic is defined in 6.4.2.

ActionTimeStamp identifies the time the user initiated the action that resulted in the AuditEvent being generated. It differs from the Time Property because this is the time the server generated the AuditEvent documenting the action.

Status identifies whether the requested action could be performed (set Status to TRUE) or not (set Status to FALSE).

ServerId uniquely identifies the Server generating the Event. It identifies the Server uniquely even in a server-controlled transparent redundancy scenario where several Servers may use the same URI.

ClientAuditEntryId contains the human-readable AuditEntryId defined in OPC 10000-3.

The ClientUserId identifies the user of the client requesting an action. The ClientUserId can be obtained from the UserIdentityToken passed in the ActivateSession call. If the UserIdentityToken is a UserNameIdentityToken then the ClientUserId is the UserName. If the UserIdentityToken is an X509IdentityToken then the ClientUserId is the X509 Subject Name of the Certificate. If the UserIdentityToken is an IssuedIdentityToken then the ClientUserId shall be a string that represents the owner of the token. The best choice for the string depends on the type of IssuedIdentityToken. If an AnonymousIdentityToken was used, the value is null.

6.4.4          AuditSecurityEventType

This EventType is defined in OPC 10000-3. Its representation in the AddressSpace is formally defined in Table 25.

Table 25 – AuditSecurityEventType Definition

Attribute

Value

BrowseName

AuditSecurityEventType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the AuditEventType defined in 6.4.3, which means it inherits the InstanceDeclarations of that Node.

HasSubtype

ObjectType

AuditChannelEventType

Defined in 6.4.5

HasSubtype

ObjectType

AuditSessionEventType

Defined in 6.4.7

HasSubtype

ObjectType

AuditCertificateEventType

Defined in 6.4.12

HasProperty

Variable

StatusCodeId

StatusCode

PropertyType

Optional

 

This EventType inherits all Properties of the AuditEventType. Their semantic is defined in 6.4.3. There are no additional Properties defined for this EventType.

The optional StatusCodeId Property provides the exact security error responsible for producing the Event.

6.4.5          AuditChannelEventType

This EventType is defined in OPC 10000-3. Its representation in the AddressSpace is formally defined in Table 26.

Table 26 – AuditChannelEventType Definition

Attribute

Value

BrowseName

AuditChannelEventType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

Modelling
Rule

Subtype of the AuditSecurityEventType defined in 6.4.4, which means it inherits the InstanceDeclarations of that Node.

HasSubtype

ObjectType

AuditOpenSecureChannelEventType

Defined in 6.4.6

HasProperty

Variable

SecureChannelId

String

PropertyType

Mandatory

 

This EventType inherits all Properties of the AuditSecurityEventType. Their semantic is defined in 6.4.4. The SourceNode Property for Events of this type shall be assigned to the Server Object. The SourceName for Events of this type shall be “SecureChannel/” and the Service that generates the Event (e.g. SecureChannel/OpenSecureChannel or SecureChannel/CloseSecureChannel). If the ClientUserId is not available for a CloseSecureChannel call, then this parameter shall be set to ”System/CloseSecureChannel”.

The SecureChannelId shall uniquely identify the SecureChannel. The application shall use the same identifier in all AuditEvents related to the Session Service Set (AuditCreateSessionEventType, AuditActivateSessionEventType and their subtypes) and the SecureChannel Service Set (AuditChannelEventType and its subtypes).

6.4.6          AuditOpenSecureChannelEventType

This EventType is defined in OPC 10000-3. Its representation in the AddressSpace is formally defined in Table 27.

Table 27 – AuditOpenSecureChannelEventType Definition

Attribute

Value

BrowseName

AuditOpenSecureChannelEventType

IsAbstract

True

References

Node
Class

BrowseName

DataType

TypeDefinition

Modelling
Rule

Subtype of the AuditChannelEventType defined in 6.4.5, which means it inherits the InstanceDeclarations of that Node.

HasProperty

Variable

ClientCertificate

ByteString

PropertyType

Mandatory

HasProperty

Variable

ClientCertificateThumbprint

String

PropertyType

Mandatory

HasProperty

Variable

RequestType

SecurityTokenRequestType

PropertyType

Mandatory

HasProperty

Variable

SecurityPolicyUri

String

PropertyType

Mandatory

HasProperty

Variable

SecurityMode

MessageSecurityMode

PropertyType

Mandatory

HasProperty

Variable

RequestedLifetime

Duration

PropertyType

Mandatory

 

This EventType inherits all Properties of the AuditChannelEventType. Their semantic is defined in 6.4.5. The SourceName for Events of this type shall be “SecureChannel/OpenSecureChannel”. The ClientUserId is not available for this call, thus this parameter shall be set to ”System/OpenSecureChannel”.

The additional Properties defined for this EventType reflect parameters of the Service call that triggers the Event.

ClientCertificate is the clientCertificate parameter of the OpenSecureChannel Service call.

ClientCertificateThumbprint is a thumbprint of the ClientCertificate. See OPC 10000-6 for details on thumbprints.

RequestType is the requestType parameter of the OpenSecureChannel Service call.

SecurityPolicyUri is the securityPolicyUri parameter of the OpenSecureChannel Service call.

SecurityMode is the securityMode parameter of the OpenSecureChannel Service call.

RequestedLifetime is the requestedLifetime parameter of the OpenSecureChannel Service call.

6.4.7          AuditSessionEventType

This EventType is defined in OPC 10000-3. Its representation in the AddressSpace is formally defined in Table 28.

Table 28 – AuditSessionEventType Definition

Attribute

Value

BrowseName

AuditSessionEventType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the AuditSecurityEventType defined in 6.4.4, which means it inherits the InstanceDeclarations of that Node.

HasSubtype

ObjectType

AuditCreateSessionEventType

Defined in 6.4.8

HasSubtype

ObjectType

AuditActivateSessionEventType

Defined in 6.4.10

HasSubtype

ObjectType

AuditCancelEventType

Defined in 6.4.11

HasProperty

Variable

SessionId

NodeId

PropertyType

Mandatory

 

This EventType inherits all Properties of the AuditSecurityEventType. Their semantic is defined in 6.4.4.

If the Event is generated by a TransferSubscriptions Service call, the SourceNode Property shall be assigned to the SessionDiagnostics Object that represents the session. The SourceName for Events of this type shall be “Session/TransferSubscriptions”.

Otherwise, the SourceNode Property for Events of this type shall be assigned to the Server Object. The SourceName for Events of this type shall be “Session/” and the Service or cause that generates the Event (e.g. CreateSession, ActivateSession or CloseSession).

The SessionId shall contain the SessionId of the session that the Service call was issued on In the CreateSession Service this shall be set to the newly created SessionId. If no session context exists (e.g. for a failed CreateSession Service call) the SessionId shall be null.

6.4.8          AuditCreateSessionEventType

This EventType is defined in OPC 10000-3. Its representation in the AddressSpace is formally defined in Table 29.

Table 29 – AuditCreateSessionEventType Definition

Attribute

Value

BrowseName

AuditCreateSessionEventType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the AuditSessionEventType defined in 6.4.7, which means it inherits the InstanceDeclarations of that Node.

HasSubtype

ObjectType

AuditUrlMismatchEventType

Defined in 6.4.9

HasProperty

Variable

SecureChannelId

String

PropertyType

Mandatory

HasProperty

Variable

ClientCertificate

ByteString

PropertyType

Mandatory

HasProperty

Variable

ClientCertificateThumbprint

String

PropertyType

Mandatory

HasProperty

Variable

RevisedSessionTimeout

Duration

PropertyType

Mandatory

 

This EventType inherits all Properties of the AuditSessionEventType. Their semantic is defined in 6.4.7. The SourceName for Events of this type shall be “Session/CreateSession”. The ClientUserId is not available for this call thus this parameter shall be set to the ”System/CreateSession”.

The additional Properties defined for this EventType reflect parameters of the Service call that triggers the Event.

SecureChannelId shall uniquely identify the SecureChannel. The application shall use the same identifier in all AuditEvents related to the Session Service Set (AuditCreateSessionEventType, AuditActivateSessionEventType and their subtypes) and the SecureChannel Service Set (AuditChannelEventType and its subtypes).

ClientCertificate is the clientCertificate parameter of the CreateSession Service call.

ClientCertificateThumbprint is a thumbprint of the ClientCertificate. See OPC 10000-6 for details on thumbprints.

RevisedSessionTimeout is the returned revisedSessionTimeout parameter of the CreateSession Service call.

6.4.9          AuditUrlMismatchEventType

This EventType is defined in OPC 10000-3. Its representation in the AddressSpace is formally defined in Table 30.

Table 30 – AuditUrlMismatchEventType Definition

Attribute

Value

BrowseName

AuditUrlMismatchEventType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the AuditCreateSessionEventType defined in 6.4.8 which means it inherits the InstanceDeclarations of that Node.

HasProperty

Variable

EndpointUrl

String

PropertyType

Mandatory

 

This EventType inherits all Properties of the AuditSessionEventType. Their semantic is defined in 6.4.8.

The additional Properties defined for this EventType reflect parameters of the Service call that triggers the Event.

EndpointUrl is the endpointUrl parameter of the CreateSession Service call.

6.4.10        AuditActivateSessionEventType

This EventType is defined in OPC 10000-3. Its representation in the AddressSpace is formally defined in Table 31.

Table 31 – AuditActivateSessionEventType Definition

Attribute

Value

BrowseName

AuditActivateSessionEventType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

Modelling
Rule

Subtype of the AuditSessionEventType defined in 6.4.7, which means it inherits the InstanceDeclarations of that Node.

HasProperty

Variable

ClientSoftwareCertificates

SignedSoftwareCertificate[]

PropertyType

Mandatory

HasProperty

Variable

UserIdentityToken

UserIdentityToken

PropertyType

Mandatory

HasProperty

Variable

SecureChannelId

String

PropertyType

Mandatory

 

This EventType inherits all Properties of the AuditSessionEventType. Their semantic is defined in 6.4.7. The SourceName for Events of this type shall be “Session/ActivateSession”.

The additional Properties defined for this EventType reflect parameters of the Service call that triggers the Event.

ClientSoftwareCertificates is the clientSoftwareCertificates parameter of the ActivateSession Service call.

UserIdentityToken reflects the userIdentityToken parameter of the ActivateSession Service call. For Username/Password tokens the password shall not be included.

SecureChannelId shall uniquely identify the SecureChannel. The application shall use the same identifier in all AuditEvents related to the Session Service Set (AuditCreateSessionEventType, AuditActivateSessionEventType and their subtypes) and the SecureChannel Service Set (AuditChannelEventType and its subtypes).

6.4.11        AuditCancelEventType

This EventType is defined in OPC 10000-3. Its representation in the AddressSpace is formally defined in Table 32.

Table 32 – AuditCancelEventType Definition

Attribute

Value

BrowseName

AuditCancelEventType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the AuditSessionEventType defined in 6.4.7, i.e. inheriting the InstanceDeclarations of that Node.

HasProperty

Variable

RequestHandle

UInt32

PropertyType

Mandatory

 

This EventType inherits all Properties of the AuditSessionEventType. Their semantic is defined in 6.4.7. The SourceName for Events of this type shall be “Session/Cancel”.

The additional Properties defined for this EventType reflect parameters of the Service call that triggers the Event.

RequestHandle is the requestHandle parameter of the Cancel Service call.

6.4.12        AuditCertificateEventType

This EventType is defined in OPC 10000-3. Its representation in the AddressSpace is formally defined in Table 33.

Table 33 – AuditCertificateEventType Definition

Attribute

Value

BrowseName

AuditCertificateEventType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

Modelling
Rule

Subtype of the AuditSecurityEventType defined in 6.4.7, which means it inherits the InstanceDeclarations of that Node.

HasSubtype

ObjectType

AuditCertificateDataMismatchEventType

Defined in 6.4.13

HasSubtype

ObjectType

AuditCertificateExpiredEventType

Defined in 6.4.14

HasSubtype

ObjectType

AuditCertificateInvalidEventType

Defined in 6.4.15

HasSubtype

ObjectType

AuditCertificateUntrustedEventType

Defined in 6.4.16

HasSubtype

ObjectType

AuditCertificateRevokedEventType

Defined in 6.4.17

HasSubtype

ObjectType

AuditCertificateMismatchEventType

Defined in 6.4.18

HasProperty

Variable

Certificate

ByteString

PropertyType

Mandatory

 

This EventType inherits all Properties of the AuditSecurityEventType. Their semantic is defined in 6.4.4. The SourceName for Events of this type shall be “Security/Certificate”.

Certificate is the certificate that encountered a validation issue. Additional subtypes of this EventType will be defined representing the individual validation errors. This certificate can be matched to the Service that passed it (Session or SecureChannel Service Set) since the AuditEvents for these Services also included the Certificate.

6.4.13        AuditCertificateDataMismatchEventType

This EventType is defined in OPC 10000-3. Its representation in the AddressSpace is formally defined in Table 34.

Table 34 – AuditCertificateDataMismatchEventType Definition

Attribute

Value

BrowseName

AuditCertificateDataMismatchEventType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the AuditCertificateEventType defined in 6.4.12, i.e. inheriting the InstanceDeclarations of that Node.

HasProperty

Variable

InvalidHostname

String

PropertyType

Mandatory

HasProperty

Variable

InvalidUri

String

PropertyType

Mandatory

 

This EventType inherits all Properties of the AuditCertificateEventType. Their semantic is defined in 6.4.12. The SourceName for Events of this type shall be “Security/Certificate”.

InvalidHostname is the string that represents the host name passed in as part of the URL that is found to be invalid. If the host name was not invalid it can be null.

InvalidUri is the URI that was passed in and found to not match what is contained in the certificate. If the URI was not invalid it can be null.

Either the InvalidHostname or InvalidUri shall be provided.

6.4.14        AuditCertificateExpiredEventType

This EventType is defined in OPC 10000-3. Its representation in the AddressSpace is formally defined in Table 35.

Table 35 – AuditCertificateExpiredEventType Definition

Attribute

Value

BrowseName

AuditCertificateExpiredEventType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the AuditCertificateEventType defined in 6.4.12, which means it inherits the InstanceDeclarations of that Node.

 

This EventType inherits all Properties of the AuditCertificateEventType. Their semantic is defined in 6.4.12. The SourceName for Events of this type shall be “Security/Certificate”. The Message Variable shall include a description of why the certificate was expired (i.e. time before start or time after end). There are no additional Properties defined for this EventType.

6.4.15        AuditCertificateInvalidEventType

This EventType is defined in OPC 10000-3. Its representation in the AddressSpace is formally defined in Table 36.

Table 36 – AuditCertificateInvalidEventType Definition

Attribute

Value

BrowseName

AuditCertificateInvalidEventType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the AuditCertificateEventType defined in 6.4.12, which means it inherits the InstanceDeclarations of that Node.

 

This EventType inherits all Properties of the AuditCertificateEventType. Their semantic is defined in 6.4.12. The SourceName for Events of this type shall be “Security/Certificate”. The Message shall include a description of why the certificate is invalid. There are no additional Properties defined for this EventType.

6.4.16        AuditCertificateUntrustedEventType

This EventType is defined in OPC 10000-3. Its representation in the AddressSpace is formally defined in Table 37.

Table 37 – AuditCertificateUntrustedEventType Definition

Attribute

Value

BrowseName

AuditCertificateUntrustedEventType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the AuditCertificateEventType defined in 6.4.12, which means it inherits the InstanceDeclarations of that Node.

 

This EventType inherits all Properties of the AuditCertificateEventType. Their semantic is defined in 6.4.12. The SourceName for Events of this type shall be “Security/Certificate”. The Message Variable shall include a description of why the certificate is not trusted. If a trust chain is involved then the certificate that failed in the trust chain should be described. There are no additional Properties defined for this EventType.

6.4.17        AuditCertificateRevokedEventType

This EventType is defined in OPC 10000-3. Its representation in the AddressSpace is formally defined in Table 38.

Table 38 – AuditCertificateRevokedEventType Definition

Attribute

Value

BrowseName

AuditCertificateRevokedEventType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the AuditCertificateEventType defined in 6.4.12, which means it inherits the InstanceDeclarations of that Node.

 

This EventType inherits all Properties of the AuditCertificateEventType. Their semantic is defined in 6.4.12. The SourceName for Events of this type shall be “Security/Certificate”. The Message Variable shall include a description of why the certificate is revoked (was the revocation list unavailable or was the certificate on the list). There are no additional Properties defined for this EventType.

6.4.18        AuditCertificateMismatchEventType

This EventType is defined in OPC 10000-3. Its representation in the AddressSpace is formally defined in Table 39.

Table 39 – AuditCertificateMismatchEventType Definition

Attribute

Value

BrowseName

AuditCertificateMismatchEventType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the AuditCertificateEventType defined in 6.4.12, which means it inherits the InstanceDeclarations of that Node.

 

This EventType inherits all Properties of the AuditCertificateEventType. Their semantic is defined in 6.4.12. The SourceName for Events of this type shall be “Security/Certificate”. The Message Variable shall include a description of misuse of the certificate. There are no additional Properties defined for this EventType.

6.4.19        AuditNodeManagementEventType

This EventType is defined in OPC 10000-3. Its representation in the AddressSpace is formally defined in Table 40.

Table 40 – AuditNodeManagementEventType Definition

Attribute

Value

BrowseName

AuditNodeManagementEventType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the AuditEventType defined in 6.4.3, which means it inherits the InstanceDeclarations of that Node.

HasSubtype

ObjectType

AuditAddNodesEventType

 

HasSubtype

ObjectType

AuditDeleteNodesEventType

 

HasSubtype

ObjectType

AuditAddReferencesEventType

 

HasSubtype

ObjectType

AuditDeleteReferencesEventType

 

 

This EventType inherits all Properties of the AuditEventType. Their semantic is defined in 6.4.3. There are no additional Properties defined for this EventType. The SourceNode Property for Events of this type shall be assigned to the Server Object. The SourceName for Events of this type shall be “NodeManagement/” and the Service that generates the Event (e.g. AddNodes, AddReferences, DeleteNodes, DeleteReferences).

6.4.20        AuditAddNodesEventType

This EventType is defined in OPC 10000-3. Its representation in the AddressSpace is formally defined in Table 41.

Table 41 – AuditAddNodesEventType Definition

Attribute

Value

BrowseName

AuditAddNodesEventType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the AuditNodeManagementEventType defined in 6.4.19, which means it inherits the InstanceDeclarations of that Node.

HasProperty

Variable

NodesToAdd

AddNodesItem[]

PropertyType

Mandatory

 

This EventType inherits all Properties of the AuditNodeManagementEventType. Their semantic is defined in 6.4.19. The SourceName for Events of this type shall be “NodeManagement/AddNodes”.

The additional Properties defined for this EventType reflect parameters of the Service call that triggers the Event.

NodesToAdd is the NodesToAdd parameter of the AddNodes Service call.

6.4.21        AuditDeleteNodesEventType

This EventType is defined in OPC 10000-3. Its representation in the AddressSpace is formally defined in Table 42.

Table 42 – AuditDeleteNodesEventType Definition

Attribute

Value

BrowseName

AuditDeleteNodesEventType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the AuditNodeManagementEventType defined in 6.4.19, i.e. inheriting the InstanceDeclarations of that Node.

HasProperty

Variable

NodesToDelete

DeleteNodesItem[]

PropertyType

Mandatory

 

This EventType inherits all Properties of the AuditNodeManagementEventType. Their semantic is defined in 6.4.19. The SourceName for Events of this type shall be “NodeManagement/DeleteNodes”.

The additional Properties defined for this EventType reflect parameters of the Service call that triggers the Event.

NodesToDelete is the nodesToDelete parameter of the DeleteNodes Service call.

6.4.22        AuditAddReferencesEventType

This EventType is defined in OPC 10000-3. Its representation in the AddressSpace is formally defined in Table 43.

Table 43 – AuditAddReferencesEventType Definition

Attribute

Value

BrowseName

AuditAddReferencesEventType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the AuditNodeManagementEventType defined in 6.4.19, which means it inherits the InstanceDeclarations of that Node.

HasProperty

Variable

ReferencesToAdd

AddReferencesItem[]

PropertyType

Mandatory

 

This EventType inherits all Properties of the AuditNodeManagementEventType. Their semantic is defined in 6.4.19. The SourceName for Events of this type shall be “NodeManagement/AddReferences”.

The additional Properties defined for this EventType reflect parameters of the Service call that triggers the Event.

ReferencesToAdd is the referencesToAdd parameter of the AddReferences Service call.

6.4.23        AuditDeleteReferencesEventType

This EventType is defined in OPC 10000-3. Its representation in the AddressSpace is formally defined in Table 44.

Table 44 – AuditDeleteReferencesEventType Definition

Attribute

Value

BrowseName

AuditDeleteReferencesEventType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the AuditNodeManagementEventType defined in 6.4.19, which means it inherits the InstanceDeclarations of that Node.

HasProperty

Variable

ReferencesToDelete

DeleteReferencesItem[]

PropertyType

Mandatory

 

This EventType inherits all Properties of the AuditNodeManagementEventType. Their semantic is defined in 6.4.19. The SourceName for Events of this type shall be “NodeManagement/DeleteReferences”.

The additional Properties defined for this EventType reflect parameters of the Service call that triggers the Event.

ReferencesToDelete is the referencesToDelete parameter of the DeleteReferences Service call.

6.4.24        AuditUpdateEventType

This EventType is defined in OPC 10000-3. Its representation in the AddressSpace is formally defined in Table 45.

Table 45 – AuditUpdateEventType Definition

Attribute

Value

BrowseName

AuditUpdateEventType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the AuditEventType defined in 6.4.3, which means it inherits the InstanceDeclarations of that Node.

HasSubtype

ObjectType

AuditWriteUpdateEventType

Defined in 6.4.25

HasSubtype

ObjectType

AuditHistoryUpdateEventType

Defined in 6.4.26

 

This EventType inherits all Properties of the AuditEventType. Their semantic is defined in 6.4.3. The SourceNode Property for Events of this type shall be assigned to the NodeId that was changed. The SourceName for Events of this type shall be “Attribute/” and the Service that generated the event (e.g. Write, HistoryUpdate). Note that one Service call may generate several Events of this type, one per changed value.

6.4.25        AuditWriteUpdateEventType

This EventType is defined in OPC 10000-3. Its representation in the AddressSpace is formally defined in Table 46.

Table 46 – AuditWriteUpdateEventType Definition

Attribute

Value

BrowseName

AuditWriteUpdateEventType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the AuditUpdateEventType defined in 6.4.24, which means it inherits the InstanceDeclarations of that Node.

HasProperty

Variable

AttributeId

UInt32

PropertyType

Mandatory

HasProperty

Variable

IndexRange

NumericRange

PropertyType

Mandatory

HasProperty

Variable

NewValue

BaseDataType

PropertyType

Mandatory

HasProperty

Variable

OldValue

BaseDataType

PropertyType

Mandatory

 

This EventType inherits all Properties of the AuditUpdateEventType. The SourceName for Events of this type shall be “Attribute/Write”. Their semantic is defined in 6.4.24.

AttributeId identifies the Attribute that was written. The SourceNode Property identifies the Node that was written.

IndexRange identifies the index range of the written Attribute if the Attribute is an array. If the Attribute is not an array or the whole array was written, the IndexRange is set to null.

NewValue identifies the value that was written. If the IndexRange is provided, only the values in the provided range are shown.

OldValue identifies the value that the Attribute contained before the write. If the IndexRange is provided, only the value of that range is shown. It is acceptable for a Server that does not have this information to report a null value.

Both the NewValue and the OldValue will contain a value in the DataType and encoding used for writing the value.

6.4.26        AuditHistoryUpdateEventType

This EventType is defined in OPC 10000-3. Its representation in the AddressSpace is formally defined in Table 47.

Table 47 – AuditHistoryUpdateEventType Definition

Attribute

Value

BrowseName

AuditHistoryUpdateEventType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the AuditUpdateEventType defined in 6.4.24, which means it inherits the InstanceDeclarations of that Node.

HasProperty

Variable

ParameterDataTypeId

NodeId

PropertyType

Mandatory

 

This EventType inherits all Properties of the AuditUpdateEventType. Their semantic is defined in 6.4.24.

The ParameterDataTypeId identifies the DataTypeId for the extensible parameter used by the HistoryUpdate. This parameter indicates the type of HistoryUpdate being performed.

Subtypes of this EventType are defined in OPC 10000-11 representing the different possibilities to manipulate historical data.

6.4.27        AuditUpdateMethodEventType

This EventType is defined in OPC 10000-3. Its representation in the AddressSpace is formally defined in Table 48.

Table 48 – AuditUpdateMethodEventType Definition

Attribute

Value

BrowseName

AuditUpdateMethodEventType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the AuditEventType defined in 6.4.3, which means it inherits the InstanceDeclarations of that Node.

HasProperty

Variable

MethodId

NodeId

PropertyType

Mandatory

HasProperty

Variable

InputArguments

BaseDataType[]

PropertyType

Mandatory

 

This EventType inherits all Properties of the AuditEventType. Their semantic is defined in 6.4.3. The SourceNode Property for Events of this type shall be assigned to the NodeId of the Object that the Method resides on. The SourceName for Events of this type shall be “Attribute/Call”. Note that one Service call may generate several Events of this type, one per method called. This EventType should be further subtyped to better reflect the functionality of the method and to reflect changes to the address space or updated values triggered by the method.

MethodId identifies the method that was called.

InputArguments identifies the input Arguments for the method. This parameter can be null if no input arguments where provided.

6.4.28        SystemEventType

This EventType is defined in OPC 10000-3. Its representation in the AddressSpace is formally defined in Table 49.

Table 49 – SystemEventType Definition

Attribute

Value

BrowseName

SystemEventType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

HasSubtype

ObjectType

DeviceFailureEventType

Defined in 6.4.29

HasSubtype

ObjectType

SystemStatusChangeEventType

Defined in 6.4.30

Subtype of the BaseEventType defined in 6.4.2, which means it inherits the InstanceDeclarations of that Node.

 

This EventType inherits all Properties of the BaseEventType. Their semantic is defined in 6.4.2. There are no additional Properties defined for this EventType.

6.4.29        DeviceFailureEventType

This EventType is defined in OPC 10000-3. Its representation in the AddressSpace is formally defined in Table 50.

Table 50 – DeviceFailureEventType Definition

Attribute

Value

BrowseName

DeviceFailureEventType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the SystemEventType defined in 6.4.28, which means it inherits the InstanceDeclarations of that Node.

 

This EventType inherits all Properties of the SystemEventType. Their semantic is defined in 6.4.28. There are no additional Properties defined for this EventType.

6.4.30        SystemStatusChangeEventType

This EventType is defined in OPC 10000-3. Its representation in the AddressSpace is formally defined in Table 51.

Table 51 – SystemStatusChangeEventType Definition

Attribute

Value

BrowseName

SystemStatusChangeEventType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the SystemEventType defined in 6.4.28, which means it inherits the InstanceDeclarations of that Node.

HasProperty

Variable

SystemState

ServerState

PropertyType

Mandatory

 

This EventType inherits all Properties of the SystemEventType. Their semantic is defined in 6.4.28. The SourceNode Property and the SourceName shall identify the system. The system can be the Server itself or some underlying system.

The SystemState specifies the current state of the system. Changes to the ServerState of the system shall trigger a SystemStatusChangeEvent, when the event is supported by the system.

6.4.31        BaseModelChangeEventType

This EventType is defined in OPC 10000-3. Its representation in the AddressSpace is formally defined in Table 52.

Table 52 – BaseModelChangeEventType Definition

Attribute

Value

BrowseName

BaseModelChangeEventType

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.

HasSubtype

ObjectType

GeneralModelChangeEventType

Defined in 6.4.32

 

This EventType inherits all Properties of the BaseEventType. Their semantic is defined in 6.4.2. There are no additional Properties defined for this EventType. The SourceNode Property for Events of this type shall be the Node of the View that gives the context of the changes. If the whole AddressSpace is the context, the SourceNode Property is set to the NodeId of the Server Object. The SourceName for Events of this type shall be the String part of the BrowseName of the View; for the whole AddressSpace it shall be “Server”.

6.4.32        GeneralModelChangeEventType

This EventType is defined in OPC 10000-3. Its representation in the AddressSpace is formally defined in Table 53.

Table 53 – GeneralModelChangeEventType Definition

Attribute

Value

BrowseName

GeneralModelChangeEventType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the BaseModelChangeEventType defined in 6.4.31, which means it inherits the InstanceDeclarations of that Node.

HasProperty

Variable

Changes

ModelChangeStructureDataType[]

PropertyType

Mandatory

 

This EventType inherits all Properties of the BaseModelChangeEventType. Their semantic is defined in 6.4.31.

The additional Property defined for this EventType reflects the changes that issued the ModelChangeEvent. It shall contain at least one entry in its array. Its structure is defined in 12.16.

6.4.33        SemanticChangeEventType

This EventType is defined in OPC 10000-3. Its representation in the AddressSpace is formally defined in Table 54.

Table 54 – SemanticChangeEventType Definition

Attribute

Value

BrowseName

SemanticChangeEventType

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

Changes

SemanticChangeStructureDataType[]

PropertyType

Mandatory

 

This EventType inherits all Properties of the BaseEventType. Their semantic is defined in 6.4.2. There are no additional Properties defined for this EventType. The SourceNode Property for Events of this type shall be the Node of the View that gives the context of the changes. If the whole AddressSpace is the context, the SourceNode Property is set to the NodeId of the Server Object. The SourceName for Events of this type shall be the String part of the BrowseName of the View, for the whole AddressSpace it shall be “Server”.

The additional Property defined for this EventType reflects the changes that issued the SemanticChangeEvent. Its structure is defined in 12.17.

6.4.34        EventQueueOverflowEventType

EventQueueOverflow Events are generated when an internal queue of a MonitoredItem subscribing for Events in the Server overflows. OPC 10000-4 defines when the internal EventQueueOverflow Events shall be generated.

The EventType for EventQueueOverflow Events is formally defined in Table 55.

Table 55 – EventQueueOverflowEventType Definition

Attribute

Value

BrowseName

EventQueueOverflowEventType

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.

 

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 Server Object. The SourceName for Events of this type shall be “Internal/EventQueueOverflow”.

6.4.35        ProgressEventType

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.

6.5         ModellingRuleType

ModellingRules are defined in OPC 10000-3. This ObjectType is used as the type for the ModellingRules. It is formally defined in Table 57.

Table 57 – ModellingRuleType Definition

Attribute

Value

BrowseName

ModellingRuleType

IsAbstract

False

References

NodeClass

BrowseName