OPC Unified Architecture - Part 14: PubSub

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.

Architecture unifiée OPC - Partie 14: PubSub

IEC 62541-14:2020 définit le modèle de communication PubSub de l'architecture unifiée OPC (OPC UA). Elle définit un modèle publication/abonnement OPC UA qui vient compléter le modèle client/serveur défini par les Services dans l'IEC 62541-4.
Une présentation des deux modèles et de leurs utilisations est donnée dans l'IEC TR 62541-1.
PubSub permet de distribuer des données et des événements provenant d'une source d'informations OPC UA aux observateurs d'intérêt à l'intérieur d'un réseau de dispositifs ainsi que dans les systèmes Cloud informatiques et d'analyse.
Le présent document se compose:
• d'une présentation générale des concepts PubSub;
• d'une définition des paramètres de configuration PubSub;
• d'un mapping des concepts et des paramètres de configuration PubSub avec les messages et les protocoles de transport; et
• d'un modèle de configuration PubSub.
Il n'est pas nécessaire que l'ensemble des Applications OPC UA mettent en œuvre tous les mappings avec les messages et les protocoles de transport. L'IEC 62541-7 définit le Profil qui dicte les mappings qu'il est nécessaire de mettre en œuvre afin d'être conforme à un Profil particulier.

General Information

Status
Published
Publication Date
07-Jul-2020
Current Stage
PPUB - Publication issued
Start Date
08-Jul-2020
Completion Date
31-Jul-2020
Ref Project
Standard
IEC 62541-14:2020 - OPC Unified Architecture - Part 14: PubSub
English and French language
380 pages
sale 15% off
Preview
sale 15% off
Preview

Standards Content (Sample)


IEC 62541-14 ®
Edition 1.0 2020-07
INTERNATIONAL
STANDARD
NORME
INTERNATIONALE
colour
inside
OPC unified architecture –
Part 14: PubSub
Architecture unifiée OPC –
Partie 14: PubSub
All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized in any form
or by any means, electronic or mechanical, including photocopying and microfilm, without permission in writing from
either IEC or IEC's member National Committee in the country of the requester. If you have any questions about IEC
copyright or have an enquiry about obtaining additional rights to this publication, please contact the address below or
your local IEC member National Committee for further information.

Droits de reproduction réservés. Sauf indication contraire, aucune partie de cette publication ne peut être reproduite
ni utilisée sous quelque forme que ce soit et par aucun procédé, électronique ou mécanique, y compris la photocopie
et les microfilms, sans l'accord écrit de l'IEC ou du Comité national de l'IEC du pays du demandeur. Si vous avez des
questions sur le copyright de l'IEC ou si vous désirez obtenir des droits supplémentaires sur cette publication, utilisez
les coordonnées ci-après ou contactez le Comité national de l'IEC de votre pays de résidence.

IEC Central Office Tel.: +41 22 919 02 11
3, rue de Varembé info@iec.ch
CH-1211 Geneva 20 www.iec.ch
Switzerland
About the IEC
The International Electrotechnical Commission (IEC) is the leading global organization that prepares and publishes
International Standards for all electrical, electronic and related technologies.

About IEC publications
The technical content of IEC publications is kept under constant review by the IEC. Please make sure that you have the
latest edition, a corrigendum or an amendment might have been published.

IEC publications search - webstore.iec.ch/advsearchform Electropedia - www.electropedia.org
The advanced search enables to find IEC publications by a The world's leading online dictionary on electrotechnology,
variety of criteria (reference number, text, technical containing more than 22 000 terminological entries in English
committee,…). It also gives information on projects, replaced and French, with equivalent terms in 16 additional languages.
and withdrawn publications. Also known as the International Electrotechnical Vocabulary

(IEV) online.
IEC Just Published - webstore.iec.ch/justpublished
Stay up to date on all new IEC publications. Just Published IEC Glossary - std.iec.ch/glossary
details all new publications released. Available online and 67 000 electrotechnical terminology entries in English and
once a month by email. French extracted from the Terms and Definitions clause of
IEC publications issued since 2002. Some entries have been
IEC Customer Service Centre - webstore.iec.ch/csc collected from earlier publications of IEC TC 37, 77, 86 and
If you wish to give us your feedback on this publication or CISPR.

need further assistance, please contact the Customer Service

Centre: sales@iec.ch.
A propos de l'IEC
La Commission Electrotechnique Internationale (IEC) est la première organisation mondiale qui élabore et publie des
Normes internationales pour tout ce qui a trait à l'électricité, à l'électronique et aux technologies apparentées.

A propos des publications IEC
Le contenu technique des publications IEC est constamment revu. Veuillez vous assurer que vous possédez l’édition la
plus récente, un corrigendum ou amendement peut avoir été publié.

Recherche de publications IEC - Electropedia - www.electropedia.org
webstore.iec.ch/advsearchform Le premier dictionnaire d'électrotechnologie en ligne au
La recherche avancée permet de trouver des publications IEC monde, avec plus de 22 000 articles terminologiques en
en utilisant différents critères (numéro de référence, texte, anglais et en français, ainsi que les termes équivalents dans
comité d’études,…). Elle donne aussi des informations sur les 16 langues additionnelles. Egalement appelé Vocabulaire
projets et les publications remplacées ou retirées. Electrotechnique International (IEV) en ligne.

IEC Just Published - webstore.iec.ch/justpublished Glossaire IEC - std.iec.ch/glossary
Restez informé sur les nouvelles publications IEC. Just 67 000 entrées terminologiques électrotechniques, en anglais
Published détaille les nouvelles publications parues. et en français, extraites des articles Termes et Définitions des
Disponible en ligne et une fois par mois par email. publications IEC parues depuis 2002. Plus certaines entrées
antérieures extraites des publications des CE 37, 77, 86 et
Service Clients - webstore.iec.ch/csc CISPR de l'IEC.

Si vous désirez nous donner des commentaires sur cette
publication ou si vous avez des questions contactez-nous:
sales@iec.ch.
IEC 62541-14 ®
Edition 1.0 2020-07
INTERNATIONAL
STANDARD
NORME
INTERNATIONALE
colour
inside
OPC unified architecture –
Part 14: PubSub
Architecture unifiée OPC –
Partie 14: PubSub
INTERNATIONAL
ELECTROTECHNICAL
COMMISSION
COMMISSION
ELECTROTECHNIQUE
INTERNATIONALE
ICS 25.040.40; 35.100.05 ISBN 978-2-8322-8577-0

– 2 – IEC 62541-14:2020 © IEC 2020
CONTENTS
FOREWORD . 10
1 Scope . 12
2 Normative references . 12
3 Terms, definitions and abbreviated terms . 13
3.1 Terms and definitions . 13
3.2 Abbreviated terms . 14
4 Overview . 14
4.1 Fields of application . 14
4.2 Abstraction layers . 15
4.3 Decoupling by use of middleware . 15
4.4 Synergy of models . 16
5 PubSub Concepts . 16
5.1 General . 16
5.2 DataSet . 17
5.2.1 General . 17
5.2.2 DataSetClass . 18
5.2.3 DataSetMetaData . 18
5.3 Messages . 19
5.3.1 General . 19
5.3.2 DataSetMessage field . 20
5.3.3 DataSetMessage . 20
5.3.4 NetworkMessage . 21
5.3.5 Message security . 21
5.3.6 Transport security . 22
5.3.7 SecurityGroup . 22
5.4 Entities . 22
5.4.1 Publisher . 22
5.4.2 Subscriber . 25
5.4.3 Security Key Service . 26
5.4.4 Message Oriented Middleware . 29
6 PubSub communication parameters . 33
6.1 Overview. 33
6.2 Common Configuration Parameters. 34
6.2.1 PubSubState State Machine . 34
6.2.2 PublishedDataSet parameters . 36
6.2.3 DataSetWriter Parameters . 44
6.2.4 Shared PubSubGroup Parameters . 48
6.2.5 WriterGroup parameters . 50
6.2.6 PubSubConnection Parameters . 52
6.2.7 ReaderGroup parameters . 55
6.2.8 DataSetReader Parameters . 56
6.2.9 SubscribedDataSet Parameters . 60
6.2.10 Information flow and status handling . 63
6.2.11 PubSubConfigurationDataType . 65
6.3 Message mapping configuration parameters . 66
6.3.1 UADP message mapping . 66

6.3.2 JSON message mapping . 74
6.4 Transport Protocol mapping configuration parameters . 77
6.4.1 Datagram Transport Protocol . 77
6.4.2 Broker Transport Protocol . 78
7 PubSub mappings . 83
7.1 General . 83
7.2 Message mappings . 83
7.2.1 General . 83
7.2.2 UADP message mapping . 83
7.2.3 JSON message mapping . 99
7.3 Transport Protocol Mappings . 102
7.3.1 General . 102
7.3.2 OPC UA UDP . 102
7.3.3 OPC UA Ethernet . 103
7.3.4 AMQP . 104
7.3.5 MQTT . 109
8 PubSub security key service model . 111
8.1 Overview. 111
8.2 PublishSubscribe Object . 111
8.3 PubSubKeyServiceType . 112
8.4 GetSecurityKeys method . 112
8.5 GetSecurityGroup method . 114
8.6 SecurityGroupType . 115
8.7 SecurityGroupFolderType . 116
8.8 AddSecurityGroup Method . 116
8.9 RemoveSecurityGroup Method . 117
9 PubSub configuration model . 117
9.1 Common configuration model . 117
9.1.1 General . 117
9.1.2 Configuration behaviours . 120
9.1.3 Types for the PublishSubscribe Object . 120
9.1.4 Published DataSet Model. 125
9.1.5 Connection Model . 141
9.1.6 Group Model . 145
9.1.7 DataSetWriter Model . 153
9.1.8 DataSetReader Model . 155
9.1.9 Subscribed DataSet Model . 160
9.1.10 PubSub Status Object. 163
9.1.11 PubSub Diagnostics Objects . 164
9.1.12 PubSub Status Events . 173
9.2 Message Mapping Configuration Model . 175
9.2.1 UADP Message Mapping . 175
9.2.2 JSON Message Mapping . 177
9.3 Transport Protocol Mapping Configuration Model . 178
9.3.1 Datagram Transport Protocol Mapping . 178
9.3.2 Broker Transport Protocol Mapping. 179
Annex A (normative) Common types . 182
A.1 DataType Schema Header structures . 182

– 4 – IEC 62541-14:2020 © IEC 2020
A.1.1 DataTypeSchemaHeader . 182
A.1.2 DataTypeDescription . 183
A.1.3 StructureDescription . 183
A.1.4 EnumDescription . 184
A.1.5 SimpleTypeDescription . 184
A.2 UABinaryFileDataType . 184
A.3 NetworkAddress Model . 185
A.3.1 NetworkAddressType . 185
A.3.2 NetworkAddressUrlType . 186
Annex B (informative) Client Server vs. Publish Subscribe . 187
B.1 Overview. 187
B.2 Client Server Subscriptions . 187
B.3 Publish-Subscribe . 188
B.4 Synergy of models . 189

Figure 1 – Publish Subscribe Model overview . 15
Figure 2 – Publisher and Subscriber entities . 17
Figure 3 – DataSet in the process of publishing . 18
Figure 4 – OPC UA PubSub message layers . 20
Figure 5 – Publisher details . 23
Figure 6 – Publisher message sending sequence . 24
Figure 7 – Subscriber details . 25
Figure 8 – Subscriber message reception sequence . 26
Figure 9 – SecurityGroup management sequence . 27
Figure 10 – Handshake used to pull keys from SKS . 28
Figure 11 – Handshake used to push keys to Publishers and Subscribers . 28
Figure 12 – Handshake with a Security Key Service . 29
Figure 13 – PubSub using network infrastructure . 30
Figure 14 – UDP Multicast overview . 30
Figure 15 – PubSub using broker . 31
Figure 16 – Broker overview . 32
Figure 17 – PubSub component overview . 33
Figure 18 – PubSub mapping specific parameters overview . 34
Figure 19 – PubSub component state dependencies . 35
Figure 20 – PubSubState state machine . 35
Figure 21 – PubSub Information Flow dependency to field representation . 45
Figure 22 – PubSub information flow . 64
Figure 23 – Start of the periodic publisher execution . 67
Figure 24 – Timing offsets in a PublishingInterval . 67
Figure 25 – DataSetOrdering and MaxNetworkMessageSize . 68
Figure 26 – PublishingOffset options for multiple NetworkMessages . 70
Figure 27 – UADP NetworkMessage . 84
Figure 28 – UADP DataSet payload . 90
Figure 29 – DataSetMessage header structure . 91
Figure 30 – Data Key Frame DataSetMessage data . 93

Figure 31 – Data Delta Frame DataSetMessage . 94
Figure 32 – Event DataSetMessage . 95
Figure 33 – KeepAlive message . 95
Figure 34 – PublishSubscribe Object Types overview . 111
Figure 35 – PubSub configuration model overview . 118
Figure 36 – PubSub example Objects . 119
Figure 37 – PubSub information flow . 119
Figure 38 – PublishSubscribe Object Types overview . 121
Figure 39 – Published DataSet overview . 125
Figure 40 – PubSubConnectionType overview . 142
Figure 41 – PubSubGroupType overview . 145
Figure 42 – DataSet Writer Model Overview . 153
Figure 43 – DataSet Reader Model overview . 155
Figure 44 – PubSub Diagnostics overview . 165
Figure 45 – PubSubDiagnosticsCounterType . 165
Figure B.1 – Subscriptions in OPC UA Client Server Model . 188
Figure B.2 – Publish Subscribe Model Overview . 189

Table 1 – PubSubState values . 35
Table 2 – PubSubState state machine . 36
Table 3 – DataSetMetaDataType structure . 36
Table 4 – DataSetMetaDataType definition . 37
Table 5 – FieldMetaData structure . 37
Table 6 – DataSetFieldFlags values . 39
Table 7 – DataSetFieldFlags definition . 39
Table 8 – ConfigurationVersionDataType structure . 40
Table 9 – PublishedDataSetDataType structure . 41
Table 10 – PublishedDataSetSourceDataType definition . 41
Table 11 – PublishedVariableDataType structure . 42
Table 12 – PublishedDataItemsDataType structure . 43
Table 13 – PublishedEventsDataType structure . 43
Table 14 – DataSetFieldContentMask values . 44
Table 15 – DataSetFieldContentMask definition . 45
Table 16 – DataSetMessage field representation options . 46
Table 17 – DataSetWriterDataType structure . 47
Table 18 – DataSetWriterTransportDataType definition . 47
Table 19 – DataSetWriterMessageDataType structure . 48
Table 20 – PubSubGroupDataType structure . 49
Table 21 – PubSubGroupDataType definition . 49
Table 22 – WriterGroupDataType structure . 51
Table 23 – WriterGroupDataType definition . 51
Table 24 – WriterGroupTransportDataType definition . 52
Table 25 – WriterGroupMessageDataType structure . 52

– 6 – IEC 62541-14:2020 © IEC 2020
Table 26 – PubSubConnectionDataType structure . 53
Table 27 – ConnectionTransportDataType definition . 54
Table 28 – NetworkAddressDataType structure . 54
Table 29 – NetworkAddressDataType definition . 54
Table 30 – NetworkAddressUrlDataType structure . 54
Table 31 – NetworkAddressUrlDataType definition. 55
Table 32 – ReaderGroupDataType structure . 55
Table 33 – ReaderGroupDataType definition. 55
Table 34 – ReaderGroupTransportDataType definition . 56
Table 35 – ReaderGroupMessageDataType structure . 56
Table 36 – DataSetReaderDataType structure . 59
Table 37 – DataSetReaderTransportDataType structure . 59
Table 38 – DataSetReaderTransportDataType definition . 60
Table 39 – DataSetReaderMessageDataType structure . 60
Table 40 – DataSetReaderMessageDataType definition . 60
Table 41 – SubscribedDataSetDataType structure . 60
Table 42 – SubscribedDataSetDataType Definition . 61
Table 43 – TargetVariablesDataType structure . 61
Table 44 – FieldTargetDataType structure . 62
Table 45 – OverrideValueHandling values . 63
Table 46 – SubscribedDataSetMirrorDataType structure . 63
Table 47 – Source to message input mapping . 64
Table 48 – Message output to target mapping . 65
Table 49 – PubSubConfigurationDataType structure . 65
Table 50 – PubSubConfiguration file content . 66
Table 51 – DataSetOrderingType values . 68
Table 52 – UadpNetworkMessageContentMask values . 69
Table 53 – UadpNetworkMessageContentMask definition . 69
Table 54 – UadpWriterGroupMessageDataType structure . 71
Table 55 – UadpDataSetMessageContentMask values . 71
Table 56 – UadpDataSetMessageContentMask definition . 72
Table 57 – UadpDataSetWriterMessageDataType structure . 73
Table 58 – UadpDataSetReaderMessageDataType structure . 74
Table 59 – JsonNetworkMessageContentMask values . 75
Table 60 – JsonNetworkMessageContentMask definition . 75
Table 61 – JsonWriterGroupMessageDataType structure . 75
Table 62 – JsonDataSetMessageContentMask values . 76
Table 63 – JsonDataSetMessageContentMask definition . 76
Table 64 – JsonDataSetWriterMessageDataType structure . 76
Table 65 – JsonDataSetReaderMessageDataType structure . 77
Table 66 – DatagramConnectionTransportDataType structure . 77
Table 67 – DatagramWriterGroupTransportDataType structure . 78
Table 68 – BrokerConnectionTransportDataType structure . 79

Table 69 – BrokerTransportQualityOfService values . 80
Table 70 – BrokerWriterGroupTransportDataType structure . 80
Table 71 – BrokerDataSetWriterTransportDataType structure . 82
Table 72 – BrokerDataSetReaderTransportDataType structure . 83
Table 73 – UADP NetworkMessage . 84
Table 74 – Layout of the key data for UADP message security . 87
Table 75 – Layout of the MessageNonce for AES-CTR . 88
Table 76 – Layout of the counter block for UADP message security . 88
Table 77 – Chunked NetworkMessage payload header . 89
Table 78 – Chunked NetworkMessage payload fields . 89
Table 79 – UADP DataSet payload header . 90
Table 80 – UADP DataSet payload . 91
Table 81 – DataSetMessage header structure . 92
Table 82 – Data Key Frame DataSetMessage structure . 93
Table 83 – Data Delta Frame DataSetMessage structure . 94
Table 84 – Event DataSetMessage structure . 95
Table 85 – Discovery request header structure . 97
Table 86 – Publisher information request message structure . 97
Table 87 – Discovery response header structure. 98
Table 88 – Publisher Endpoints message structure . 98
Table 89 – DataSetMetaData message structure . 98
Table 90 – DataSetWriter configuration message structure . 99
Table 91 – JSON NetworkMessage definition . 99
Table 92 – JSON DataSetMessage definition . 101
Table 93 – JSON DataSetMetaData definition . 102
Table 94 – UADP message transported over UDP . 103
Table 95 – UADP message transported over Ethernet . 104
Table 96 – AMQP standard header fields . 106
Table 97 – OPC UA AMQP standard header QualifiedName Name mappings . 107
Table 98 – OPC UA AMQP header field conversion rules . 108
Table 99 – PublishSubscribe Object definition . 112
Table 100 – PubSubKeyServiceType definition . 112
Table 101 – SecurityGroupType definition . 115
Table 102 – SecurityGroupFolderType definition . 116
Table 103 – PublishSubscribeType definition . 122
Table 104 – HasPubSubConnection ReferenceType . 125
Table 105 – PublishedDataSetType definition . 126
Table 106 – ExtensionFieldsType definition . 127
Table 107 – Well-Known Extension Field Names . 128
Table 108 – DataSetToWriter ReferenceType . 129
Table 109 – PublishedDataItemsType definition . 130
Table 110 – PublishedEventsType definition . 133
Table 111 – DataSetFolderType definition . 134

– 8 – IEC 62541-14:2020 © IEC 2020
Table 112 – PubSubConnectionType definition . 142
Table 113 – ConnectionTransportType definition . 145
Table 114 – PubSubGroupType definition . 146
Table 115 – WriterGroupType definition . 147
Table 116 – HasDataSetWriter ReferenceType . 149
Table 117 – WriterGroupTransportType definition . 149
Table 118 – WriterGroupMessageType definition . 150
Table 119 – ReaderGroupType definition . 150
Table 120 – HasDataSetReader ReferenceType . 152
Table 121 – ReaderGroupTransportType definition . 152
Table 122 – ReaderGroupMessageType Definition . 152
Table 123 – DataSetWriterType definition . 153
Table 124 – DataSetWriterTransportType definition . 154
Table 125 – DataSetWriterMessageType definition . 154
Table 126 – DataSetReaderType definition . 156
Table 127 – DataSetReaderTransportType definition . 157
Table 128 – DataSetReaderMessageType definition . 158
Table 129 – SubscribedDataSetType definition . 160
Table 130 – TargetVariablesType definition . 160
Table 131 – SubscribedDataSetMirrorType definition . 162
Table 132 – PubSubStatusType definition . 163
Table 133 – Status Object definition . 164
Table 134 – PubSubDiagnosticsType . 166
Table 135 – Counters for PubSubDiagnosticsType . 166
Table 136 – DiagnosticsLevel Values . 167
Table 137 – PubSubDiagnosticsCounterType . 168
Table 138 – PubSubDiagnosticsCounterClassification Values . 168
Table 139 – PubSubDiagnosticsRootType . 169
Table 140 – LiveValues for PubSubDiagnosticsRootType . 169
Table 141 – PubSubDiagnosticsConnectionType . 169
Table 142 – LiveValues for PubSubDiagnosticsConnectionType . 170
Table 143 – PubSubDiagnosticsWriterGroupType . 170
Table 144 – Counters for PubSubDiagnosticsWriterGroupType . 170
Table 145 – LiveValues for PubSubDiagnosticsWriterGroupType . 170
Table 146 – PubSubDiagnosticsReaderGroupType . 171
Table 147 – Counters for PubSubDiagnosticsReaderGroupType . 171
Table 148 – LiveValues for PubSubDiagnosticsReaderGroupType . 171
Table 149 – PubSubDiagnosticsDataSetWriterType . 172
Table 150 – Counters for PubSubDiagnosticsDataSetWriterType . 172
Table 151 – LiveValues for PubSubDiagnosticsDataSetWriterType . 172
Table 152 – PubSubDiagnosticsDataSetReaderType . 172
Table 153 – Counters for PubSubDiagnosticsDataSetReaderType . 173
Table 154 – LiveValues for PubSubDiagnosticsDataSetReaderType . 173

Table 155 – PubSubStatusEventType definition . 173
Table 156 – PubSubTransportLimitsExceedEventType definition . 174
Table 157 – PubSubCommunicationFailureEventType definition . 174
Table 158 – UadpWriterGroupMessageType definition . 175
Table 159 – UadpDataSetWriterMessageType definition . 176
Table 160 – UadpDataSetReaderMessageType definition . 176
Table 161 – JsonWriterGroupMessageType Definition . 177
Table 162 – JsonDataSetWriterMessageType definition . 177
Table 163 – JsonDataSetReaderMessageType definition . 178
Table 164 – DatagramConnectionTransportType definition . 178
Table 165 – DatagramWriterGroupTransportType definition . 178
Table 166 – BrokerConnectionTransportType definition . 179
Table 167 – BrokerWriterGroupTransportType definition . 179
Table 168 – BrokerDataSetWriterTransportType definition . 180
Table 169 – Broker Writer well-known extension field names . 180
Table 170 – BrokerDataSetReaderTransportType definition . 181
Table A.1 – DataTypeSchemaHeader structure . 182
Table A.2 – DataTypeSchemaHeader definition . 182
Table A.3 – DataTypeDescription structure . 183
Table A.4 – DataTypeDescription definition . 183
Table A.5 – Stru
...

Questions, Comments and Discussion

Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.

Loading comments...