BS EN IEC 62541-14:2020
$215.11
OPC unified architecture – PubSub
Published By | Publication Date | Number of Pages |
BSI | 2020 | 196 |
IEC 62541-14:2020 defines the OPC Unified Architecture (OPC UA) PubSub communication model. It defines an OPC UA publish subscribe pattern which complements the client server pattern defined by the Services in IEC 62541-4. IEC TR 62541-1 gives an overview of the two models and their distinct uses. PubSub allows the distribution of data and events from an OPC UA information source to interested observers inside a device network as well as in IT and analytics cloud systems. This document consists of โข a general introduction of the PubSub concepts, โข a definition of the PubSub configuration parameters, โข mapping of PubSub concepts and configuration parameters to messages and transport protocols, and โข a PubSub configuration model. Not all OPC UA Applications will need to implement all defined message and transport protocol mappings. IEC 62541-7 defines the Profile that dictates which mappings need to be implemented in order to be compliant with a particular Profile.
PDF Catalog
PDF Pages | PDF Title |
---|---|
2 | undefined |
4 | European foreword Endorsement notice |
5 | Annex ZA (normative) Normative references to international publications with their corresponding European publications |
7 | English CONTENTS |
15 | FOREWORD |
17 | 1 Scope 2 Normative references |
18 | 3 Terms, definitions and abbreviated terms 3.1 Terms and definitions |
19 | 3.2 Abbreviated terms 4 Overview 4.1 Fields of application |
20 | 4.2 Abstraction layers 4.3 Decoupling by use of middleware Figures Figure 1 โ Publish Subscribe Model overview |
21 | 4.4 Synergy of models 5 PubSub Concepts 5.1 General |
22 | 5.2 DataSet 5.2.1 General Figure 2 โ Publisher and Subscriber entities |
23 | 5.2.2 DataSetClass 5.2.3 DataSetMetaData Figure 3 โ DataSet in the process of publishing |
24 | 5.3 Messages 5.3.1 General |
25 | 5.3.2 DataSetMessage field 5.3.3 DataSetMessage Figure 4 โ OPC UA PubSub message layers |
26 | 5.3.4 NetworkMessage 5.3.5 Message security |
27 | 5.3.6 Transport security 5.3.7 SecurityGroup 5.4 Entities 5.4.1 Publisher |
28 | Figure 5 โ Publisher details |
29 | Figure 6 โ Publisher message sending sequence |
30 | 5.4.2 Subscriber Figure 7 โ Subscriber details |
31 | 5.4.3 Security Key Service Figure 8 โ Subscriber message reception sequence |
32 | Figure 9 โ SecurityGroup management sequence |
33 | Figure 10 โ Handshake used to pull keys from SKS Figure 11 โ Handshake used to push keys to Publishers and Subscribers |
34 | 5.4.4 Message Oriented Middleware Figure 12 โ Handshake with a Security Key Service |
35 | Figure 13 โ PubSub using network infrastructure Figure 14 โ UDP Multicast overview |
36 | Figure 15 โ PubSub using broker |
37 | Figure 16 โ Broker overview |
38 | 6 PubSub communication parameters 6.1 Overview Figure 17 โ PubSub component overview |
39 | 6.2 Common Configuration Parameters 6.2.1 PubSubState State Machine Figure 18 โ PubSub mapping specific parameters overview |
40 | Figure 19 โ PubSub component state dependencies Figure 20 โ PubSubState state machine Tables Table 1 โ PubSubState values |
41 | 6.2.2 PublishedDataSet parameters Table 2 โ PubSubState state machine Table 3 โ DataSetMetaDataType structure |
42 | Table 4 โ DataSetMetaDataType definition Table 5 โ FieldMetaData structure |
44 | Table 6 โ DataSetFieldFlags values Table 7 โ DataSetFieldFlags definition |
45 | Table 8 โ ConfigurationVersionDataType structure |
46 | Table 9 โ PublishedDataSetDataType structure Table 10 โ PublishedDataSetSourceDataType definition |
47 | Table 11 โ PublishedVariableDataType structure |
48 | Table 12 โ PublishedDataItemsDataType structure Table 13 โ PublishedEventsDataType structure |
49 | 6.2.3 DataSetWriter Parameters Table 14 โ DataSetFieldContentMask values |
50 | Figure 21 โ PubSub Information Flow dependency to field representation Table 15 โ DataSetFieldContentMask definition |
51 | Table 16 โ DataSetMessage field representation options |
52 | Table 17 โ DataSetWriterDataType structure Table 18 โ DataSetWriterTransportDataType definition |
53 | 6.2.4 Shared PubSubGroup Parameters Table 19 โ DataSetWriterMessageDataType structure |
54 | Table 20 โ PubSubGroupDataType structure Table 21 โ PubSubGroupDataType definition |
55 | 6.2.5 WriterGroup parameters |
56 | Table 22 โ WriterGroupDataType structure Table 23 โ WriterGroupDataType definition |
57 | 6.2.6 PubSubConnection Parameters Table 24 โ WriterGroupTransportDataType definition Table 25 โ WriterGroupMessageDataType structure |
58 | Table 26 โ PubSubConnectionDataType structure |
59 | Table 27 โ ConnectionTransportDataType definition Table 28 โ NetworkAddressDataType structure Table 29 โ NetworkAddressDataType definition Table 30 โ NetworkAddressUrlDataType structure |
60 | 6.2.7 ReaderGroup parameters Table 31 โ NetworkAddressUrlDataType definition Table 32 โ ReaderGroupDataType structure Table 33 โ ReaderGroupDataType definition |
61 | 6.2.8 DataSetReader Parameters Table 34 โ ReaderGroupTransportDataType definition Table 35 โ ReaderGroupMessageDataType structure |
64 | Table 36 โ DataSetReaderDataType structure Table 37 โ DataSetReaderTransportDataType structure |
65 | 6.2.9 SubscribedDataSet Parameters Table 38 โ DataSetReaderTransportDataType definition Table 39 โ DataSetReaderMessageDataType structure Table 40 โ DataSetReaderMessageDataType definition Table 41 โ SubscribedDataSetDataType structure |
66 | Table 42 โ SubscribedDataSetDataType Definition Table 43 โ TargetVariablesDataType structure |
67 | Table 44 โ FieldTargetDataType structure |
68 | 6.2.10 Information flow and status handling Table 45 โ OverrideValueHandling values Table 46 โ SubscribedDataSetMirrorDataType structure |
69 | Figure 22 โ PubSub information flow Table 47 โ Source to message input mapping |
70 | 6.2.11 PubSubConfigurationDataType Table 48 โ Message output to target mapping Table 49 โ PubSubConfigurationDataType structure |
71 | 6.3 Message mapping configuration parameters 6.3.1 UADP message mapping Table 50 โ PubSubConfiguration file content |
72 | Figure 23 โ Start of the periodic publisher execution Figure 24 โ Timing offsets in a PublishingInterval |
73 | Figure 25 โ DataSetOrdering and MaxNetworkMessageSize Table 51 โ DataSetOrderingType values |
74 | Table 52 โ UadpNetworkMessageContentMask values Table 53 โ UadpNetworkMessageContentMask definition |
75 | Figure 26 โ PublishingOffset options for multiple NetworkMessages |
76 | Table 54 โ UadpWriterGroupMessageDataType structure Table 55 โ UadpDataSetMessageContentMask values |
77 | Table 56 โ UadpDataSetMessageContentMask definition |
78 | Table 57 โ UadpDataSetWriterMessageDataType structure |
79 | 6.3.2 JSON message mapping Table 58 โ UadpDataSetReaderMessageDataType structure |
80 | Table 59 โ JsonNetworkMessageContentMask values Table 60 โ JsonNetworkMessageContentMask definition Table 61 โ JsonWriterGroupMessageDataType structure |
81 | Table 62 โ JsonDataSetMessageContentMask values Table 63 โ JsonDataSetMessageContentMask definition Table 64 โ JsonDataSetWriterMessageDataType structure |
82 | 6.4 Transport Protocol mapping configuration parameters 6.4.1 Datagram Transport Protocol Table 65 โ JsonDataSetReaderMessageDataType structure Table 66 โ DatagramConnectionTransportDataType structure |
83 | 6.4.2 Broker Transport Protocol Table 67 โ DatagramWriterGroupTransportDataType structure |
84 | Table 68 โ BrokerConnectionTransportDataType structure |
85 | Table 69 โ BrokerTransportQualityOfService values Table 70 โ BrokerWriterGroupTransportDataType structure |
87 | Table 71 โ BrokerDataSetWriterTransportDataType structure |
88 | 7 PubSub mappings 7.1 General 7.2 Message mappings 7.2.1 General 7.2.2 UADP message mapping Table 72 โ BrokerDataSetReaderTransportDataType structure |
89 | Figure 27 โ UADP NetworkMessage Table 73 โ UADP NetworkMessage |
92 | Table 74 โ Layout of the key data for UADP message security |
93 | Table 75 โ Layout of the MessageNonce for AES-CTR Table 76 โ Layout of the counter block for UADP message security |
94 | Table 77 โ Chunked NetworkMessage payload header Table 78 โ Chunked NetworkMessage payload fields |
95 | Figure 28 โ UADP DataSet payload Table 79 โ UADP DataSet payload header |
96 | Figure 29 โ DataSetMessage header structure Table 80 โ UADP DataSet payload |
97 | Table 81 โ DataSetMessage header structure |
98 | Figure 30 โ Data Key Frame DataSetMessage data Table 82 โ Data Key Frame DataSetMessage structure |
99 | Figure 31 โ Data Delta Frame DataSetMessage Table 83 โ Data Delta Frame DataSetMessage structure |
100 | Figure 32 โ Event DataSetMessage Figure 33 โ KeepAlive message Table 84 โ Event DataSetMessage structure |
102 | Table 85 โ Discovery request header structure Table 86 โ Publisher information request message structure |
103 | Table 87 โ Discovery response header structure Table 88 โ Publisher Endpoints message structure Table 89 โ DataSetMetaData message structure |
104 | 7.2.3 JSON message mapping Table 90 โ DataSetWriter configuration message structure Table 91 โ JSON NetworkMessage definition |
106 | Table 92 โ JSON DataSetMessage definition |
107 | 7.3 Transport Protocol Mappings 7.3.1 General 7.3.2 OPC UA UDP Table 93 โ JSON DataSetMetaData definition |
108 | 7.3.3 OPC UA Ethernet Table 94 โ UADP message transported over UDP |
109 | 7.3.4 AMQP Table 95 โ UADP message transported over Ethernet |
111 | Table 96 โ AMQP standard header fields |
112 | Table 97 โ OPC UA AMQP standard header QualifiedName Name mappings |
113 | Table 98 โ OPC UA AMQP header field conversion rules |
114 | 7.3.5 MQTT |
116 | 8 PubSub security key service model 8.1 Overview 8.2 PublishSubscribe Object Figure 34 โ PublishSubscribe Object Types overview |
117 | 8.3 PubSubKeyServiceType 8.4 GetSecurityKeys method Table 99 โ PublishSubscribe Object definition Table 100 โ PubSubKeyServiceType definition |
119 | 8.5 GetSecurityGroup method |
120 | 8.6 SecurityGroupType Table 101 โ SecurityGroupType definition |
121 | 8.7 SecurityGroupFolderType 8.8 AddSecurityGroup Method Table 102 โ SecurityGroupFolderType definition |
122 | 8.9 RemoveSecurityGroup Method 9 PubSub configuration model 9.1 Common configuration model 9.1.1 General |
123 | Figure 35 โ PubSub configuration model overview |
124 | Figure 36 โ PubSub example Objects Figure 37 โ PubSub information flow |
125 | 9.1.2 Configuration behaviours 9.1.3 Types for the PublishSubscribe Object |
126 | Figure 38 โ PublishSubscribe Object Types overview |
127 | Table 103 โ PublishSubscribeType definition |
130 | 9.1.4 Published DataSet Model Figure 39 โ Published DataSet overview Table 104 โ HasPubSubConnection ReferenceType |
131 | Table 105 โ PublishedDataSetType definition |
132 | Table 106 โ ExtensionFieldsType definition |
133 | Table 107 โ Well-Known Extension Field Names |
134 | Table 108 โ DataSetToWriter ReferenceType |
135 | Table 109 โ PublishedDataItemsType definition |
138 | Table 110 โ PublishedEventsType definition |
139 | Table 111 โ DataSetFolderType definition |
146 | 9.1.5 Connection Model |
147 | Figure 40 โ PubSubConnectionType overview Table 112 โ PubSubConnectionType definition |
150 | 9.1.6 Group Model Figure 41 โ PubSubGroupType overview Table 113 โ ConnectionTransportType definition |
151 | Table 114 โ PubSubGroupType definition |
152 | Table 115 โ WriterGroupType definition |
154 | Table 116 โ HasDataSetWriter ReferenceType Table 117 โ WriterGroupTransportType definition |
155 | Table 118 โ WriterGroupMessageType definition Table 119 โ ReaderGroupType definition |
157 | Table 120 โ HasDataSetReader ReferenceType Table 121 โ ReaderGroupTransportType definition Table 122 โ ReaderGroupMessageType Definition |
158 | 9.1.7 DataSetWriter Model Figure 42 โ DataSet Writer Model Overview Table 123 โ DataSetWriterType definition |
159 | Table 124 โ DataSetWriterTransportType definition Table 125 โ DataSetWriterMessageType definition |
160 | 9.1.8 DataSetReader Model Figure 43 โ DataSet Reader Model overview |
161 | Table 126 โ DataSetReaderType definition |
162 | Table 127 โ DataSetReaderTransportType definition |
163 | Table 128 โ DataSetReaderMessageType definition |
165 | 9.1.9 Subscribed DataSet Model Table 129 โ SubscribedDataSetType definition Table 130 โ TargetVariablesType definition |
167 | Table 131 โ SubscribedDataSetMirrorType definition |
168 | 9.1.10 PubSub Status Object Table 132 โ PubSubStatusType definition |
169 | 9.1.11 PubSub Diagnostics Objects Table 133 โ Status Object definition |
170 | Figure 44 โ PubSub Diagnostics overview Figure 45 โ PubSubDiagnosticsCounterType |
171 | Table 134 โ PubSubDiagnosticsType Table 135 โ Counters for PubSubDiagnosticsType |
172 | Table 136 โ DiagnosticsLevel Values |
173 | Table 137 โ PubSubDiagnosticsCounterType Table 138 โ PubSubDiagnosticsCounterClassification Values |
174 | Table 139 โ PubSubDiagnosticsRootType Table 140 โ LiveValues for PubSubDiagnosticsRootType Table 141 โ PubSubDiagnosticsConnectionType |
175 | Table 142 โ LiveValues for PubSubDiagnosticsConnectionType Table 143 โ PubSubDiagnosticsWriterGroupType Table 144 โ Counters for PubSubDiagnosticsWriterGroupType Table 145 โ LiveValues for PubSubDiagnosticsWriterGroupType |
176 | Table 146 โ PubSubDiagnosticsReaderGroupType Table 147 โ Counters for PubSubDiagnosticsReaderGroupType Table 148 โ LiveValues for PubSubDiagnosticsReaderGroupType |
177 | Table 149 โ PubSubDiagnosticsDataSetWriterType Table 150 โ Counters for PubSubDiagnosticsDataSetWriterType Table 151 โ LiveValues for PubSubDiagnosticsDataSetWriterType Table 152 โ PubSubDiagnosticsDataSetReaderType |
178 | 9.1.12 PubSub Status Events Table 153 โ Counters for PubSubDiagnosticsDataSetReaderType Table 154 โ LiveValues for PubSubDiagnosticsDataSetReaderType Table 155 โ PubSubStatusEventType definition |
179 | Table 156 โ PubSubTransportLimitsExceedEventType definition Table 157 โ PubSubCommunicationFailureEventType definition |
180 | 9.2 Message Mapping Configuration Model 9.2.1 UADP Message Mapping Table 158 โ UadpWriterGroupMessageType definition |
181 | Table 159 โ UadpDataSetWriterMessageType definition Table 160 โ UadpDataSetReaderMessageType definition |
182 | 9.2.2 JSON Message Mapping Table 161 โ JsonWriterGroupMessageType Definition Table 162 โ JsonDataSetWriterMessageType definition |
183 | 9.3 Transport Protocol Mapping Configuration Model 9.3.1 Datagram Transport Protocol Mapping Table 163 โ JsonDataSetReaderMessageType definition Table 164 โ DatagramConnectionTransportType definition Table 165 โ DatagramWriterGroupTransportType definition |
184 | 9.3.2 Broker Transport Protocol Mapping Table 166 โ BrokerConnectionTransportType definition Table 167 โ BrokerWriterGroupTransportType definition |
185 | Table 168 โ BrokerDataSetWriterTransportType definition Table 169 โ Broker Writer well-known extension field names |
186 | Table 170 โ BrokerDataSetReaderTransportType definition |
187 | Annex A (normative)Common types A.1 DataType Schema Header structures A.1.1 DataTypeSchemaHeader Table A.1 โ DataTypeSchemaHeader structure Table A.2 โ DataTypeSchemaHeader definition |
188 | A.1.2 DataTypeDescription A.1.3 StructureDescription Table A.3 โ DataTypeDescription structure Table A.4 โ DataTypeDescription definition Table A.5 โ StructureDescription structure Table A.6 โ StructureDescription definition |
189 | A.1.4 EnumDescription A.1.5 SimpleTypeDescription A.2 UABinaryFileDataType Table A.7 โ EnumDescription Structure Table A.8 โ EnumDescription definition Table A.9 โ SimpleTypeDescription structure |
190 | A.3 NetworkAddress Model A.3.1 NetworkAddressType Table A.10 โ UABinaryFileDataType structure Table A.11 โ UABinaryFileDataType definition Table A.12 โ NetworkAddressType definition |
191 | A.3.2 NetworkAddressUrlType Table A.13 โ NetworkAddressUrlType definition |
192 | Annex B (informative)Client Server vs. Publish Subscribe B.1 Overview B.2 Client Server Subscriptions |
193 | B.3 Publish-Subscribe Figure B.1 โ Subscriptions in OPC UA Client Server Model |
194 | B.4 Synergy of models Figure B.2 โ Publish Subscribe Model Overview |