OPC Unified Architecture - Part 10: Programs

This part of IEC 62451 defines the information model associated with Programs in the OPC
Unified Architecture. This includes the description of the NodeClasses, standard Properties,
Methods and Events and associated behaviour and information for Programs.
The complete Address Space model including all NodeClasses and Attributes is specified in
IEC 62541‑3. The Services such as those used to invoke the Methods used to manage
Programs are specified in IEC 62541‑4.

OPC Unified Architecture - Teil 10: Programme

Architecture unifiée OPC - Partie 10: Programmes

IEC 62541-10:2020 est disponible sous forme de IEC 62541-10:2020 RLV qui contient la Norme internationale et sa version Redline, illustrant les modifications du contenu technique depuis l'édition précédente.

IEC 62541-10:2020 définit le modèle d'information associé avec des Programmes dans l'Architecture unifiée OPC. Elle comprend la description des NodeClasses, des Propriétés, Méthodes et Evénements normalisés et du comportement associé ainsi que des informations relatives aux Programmes. Le modèle d'espace d'adressage complet, comprenant toutes les NodeClasses et tous les Attributs, est spécifié dans l'IEC 62541-3. Les Services tels que ceux utilisés pour invoquer les Méthodes appliquées pour gérer les Programmes sont spécifiés dans l'IEC 62541-4. Cette troisième édition annule et remplace la deuxième édition parue en 2015.
Cette édition inclut plusieurs clarifications ainsi que les modifications techniques majeures suivantes par rapport à l'édition précédente:
a) remplacement de ProgramType par ProgramStateMachineType, conformément au NodeSet (et donc aux mises en œuvre). Dans le programme ProgramDiagnosticDataType, modification des définitions de lastInputArguments et lastOutputArguments, et ajout de deux champs complémentaires pour les valeurs d'arguments. Remplacement également de StatusResult par StatusCode. Création d'une nouvelle version du type de ProgramDiagnostic2DataType;
b) remplacement de la règle de modélisation Facultative par OptionalPlaceHolder pour les Méthodes de Commande de Programme. Ceci fait suite à la clarification apportée dans l'IEC 62541-3, et permet aux sous-types (ou instances) d'ajouter des arguments.

Enotna arhitektura OPC - 10. del: Programi

General Information

Status
Published
Public Enquiry End Date
08-Nov-2018
Publication Date
09-Nov-2020
Current Stage
6060 - National Implementation/Publication (Adopted Project)
Start Date
09-Sep-2020
Due Date
14-Nov-2020
Completion Date
10-Nov-2020

Relations

Buy Standard

Standard
EN IEC 62541-10:2020 - BARVE
English language
48 pages
sale 10% off
Preview
sale 10% off
Preview
e-Library read for
1 day
Draft
prEN IEC 62541-10:2018 - BARVE
English language
48 pages
sale 10% off
Preview
sale 10% off
Preview
e-Library read for
1 day

Standards Content (Sample)

SLOVENSKI STANDARD
SIST EN IEC 62541-10:2020
01-december-2020
Nadomešča:
SIST EN 62541-10:2015
Enotna arhitektura OPC - 10. del: Programi
OPC Unified Architecture - Part 10: Programs
OPC Unified Architecture - Teil 10: Programme
Architecture unifiée OPC - Partie 10: Programmes
Ta slovenski standard je istoveten z: EN IEC 62541-10:2020
ICS:
25.040.40 Merjenje in krmiljenje Industrial process
industrijskih postopkov measurement and control
35.240.50 Uporabniške rešitve IT v IT applications in industry
industriji
SIST EN IEC 62541-10:2020 en,fr,de
2003-01.Slovenski inštitut za standardizacijo. Razmnoževanje celote ali delov tega standarda ni dovoljeno.

---------------------- Page: 1 ----------------------
SIST EN IEC 62541-10:2020

---------------------- Page: 2 ----------------------
SIST EN IEC 62541-10:2020


EUROPEAN STANDARD EN IEC 62541-10

NORME EUROPÉENNE

EUROPÄISCHE NORM
September 2020
ICS 35.100.05; 25.040.40 Supersedes EN 62541-10:2015 and all of its
amendments and corrigenda (if any)
English Version
OPC Unified Architecture - Part 10: Programs
(IEC 62541-10:2020)
Architecture unifiée OPC - Partie 10: Programmes OPC Unified Architecture - Teil 10: Programme
(IEC 62541-10:2020) (IEC 62541-10:2020)
This European Standard was approved by CENELEC on 2020-08-11. CENELEC members are bound to comply with the CEN/CENELEC
Internal Regulations which stipulate the conditions for giving this European Standard the status of a national standard without any alteration.
Up-to-date lists and bibliographical references concerning such national standards may be obtained on application to the CEN-CENELEC
Management Centre or to any CENELEC member.
This European Standard exists in three official versions (English, French, German). A version in any other language made by translation
under the responsibility of a CENELEC member into its own language and notified to the CEN-CENELEC Management Centre has the
same status as the official versions.
CENELEC members are the national electrotechnical committees of Austria, Belgium, Bulgaria, Croatia, Cyprus, the Czech Republic,
Denmark, Estonia, Finland, France, Germany, Greece, Hungary, Iceland, Ireland, Italy, Latvia, Lithuania, Luxembourg, Malta, the
Netherlands, Norway, Poland, Portugal, Republic of North Macedonia, Romania, Serbia, Slovakia, Slovenia, Spain, Sweden, Switzerland,
Turkey and the United Kingdom.


European Committee for Electrotechnical Standardization
Comité Européen de Normalisation Electrotechnique
Europäisches Komitee für Elektrotechnische Normung
CEN-CENELEC Management Centre: Rue de la Science 23, B-1040 Brussels
© 2020 CENELEC All rights of exploitation in any form and by any means reserved worldwide for CENELEC Members.
 Ref. No. EN IEC 62541-10:2020 E

---------------------- Page: 3 ----------------------
SIST EN IEC 62541-10:2020
EN IEC 62541-10:2020 (E)
European foreword
The text of document 65E/719/FDIS, future edition 3 of IEC 62541-10, prepared by SC 65E "Devices
and integration in enterprise systems" of IEC/TC 65 "Industrial-process measurement, control and
automation" was submitted to the IEC-CENELEC parallel vote and approved by CENELEC as
EN IEC 62541-10:2020.
The following dates are fixed:
• latest date by which the document has to be implemented at national (dop) 2021-05-11
level by publication of an identical national standard or by endorsement
• latest date by which the national standards conflicting with the (dow) 2023-08-11
document have to be withdrawn
This document supersedes EN 62541-10:2015 and all of its amendments and corrigenda (if any).
Attention is drawn to the possibility that some of the elements of this document may be the subject of
patent rights. CENELEC shall not be held responsible for identifying any or all such patent rights.
This document has been prepared under a mandate given to CENELEC by the European Commission
and the European Free Trade Association.
Endorsement notice
The text of the International Standard IEC 62541-10:2020 was approved by CENELEC as a European
Standard without any modification.


2

---------------------- Page: 4 ----------------------
SIST EN IEC 62541-10:2020
EN IEC 62541-10:2020 (E)
Annex ZA
(normative)

Normative references to international publications
with their corresponding European publications
The following documents are referred to in the text in such a way that some or all of their content
constitutes requirements of this document. For dated references, only the edition cited applies. For
undated references, the latest edition of the referenced document (including any amendments)
applies.
NOTE 1  Where an International Publication has been modified by common modifications, indicated by (mod), the relevant
EN/HD applies.
NOTE 2  Up-to-date information on the latest versions of the European Standards listed in this annex is available here:
www.cenelec.eu.
Publication Year Title EN/HD Year
IEC/TR 62541-1 - OPC unified architecture - Part 1: CLC/TR 62541-1 -
Overview and concepts
IEC 62541-3 - OPC Unified Architecture - Part 3: - -
Address Space Model
IEC 62541-4 - OPC Unified Architecture - Part 4: - -
Services
IEC 62541-5 - OPC Unified Architecture - Part 5: - -
Information Model
IEC 62541-7 - OPC unified architecture - Part 7: EN IEC 62541-7 -
Profiles


3

---------------------- Page: 5 ----------------------
SIST EN IEC 62541-10:2020

---------------------- Page: 6 ----------------------
SIST EN IEC 62541-10:2020




IEC 62541-10

®


Edition 3.0 2020-07




INTERNATIONAL



STANDARD




NORME


INTERNATIONALE
colour

inside










OPC unified architecture –

Part 10: Programs



Architecture unifiée OPC –

Partie 10: Programmes
















INTERNATIONAL

ELECTROTECHNICAL

COMMISSION


COMMISSION

ELECTROTECHNIQUE


INTERNATIONALE




ICS 25.040.40; 35.100.05 ISBN 978-2-8322-8576-3




Warning! Make sure that you obtained this publication from an authorized distributor.

Attention! Veuillez vous assurer que vous avez obtenu cette publication via un distributeur agréé.

® Registered trademark of the International Electrotechnical Commission
Marque déposée de la Commission Electrotechnique Internationale

---------------------- Page: 7 ----------------------
SIST EN IEC 62541-10:2020
– 2 – IEC 62541-10:2020 © IEC 2020
CONTENTS
FOREWORD . 4
1 Scope . 6
2 Normative references . 6
3 Terms, definitions and abbreviated terms . 6
3.1 Terms and definitions . 6
3.2 Abbreviated terms . 7
4 Concepts . 7
4.1 General . 7
4.2 Programs . 8
4.2.1 Overview . 8
4.2.2 Security considerations . 9
4.2.3 Program Finite State Machine . 9
4.2.4 Program states . 10
4.2.5 State transitions . 11
4.2.6 Program state transition stimuli . 11
4.2.7 Program Control Methods . 11
4.2.8 Program state transition effects . 12
4.2.9 Program result data . 12
4.2.10 Program lifetime . 13
5 Model . 14
5.1 General . 14
5.2 ProgramStateMachineType . 14
5.2.1 Overview . 14
5.2.2 ProgramStateMachineType Properties . 15
5.2.3 ProgramStateMachineType components . 16
5.2.4 ProgramStateMachineType causes (Methods) . 20
5.2.5 ProgramStateMachineType effects (Events) . 22
5.2.6 AuditProgramTransitionEventType . 24
5.2.7 FinalResultData . 25
5.2.8 ProgramDiagnostic2 DataType . 25
5.2.9 ProgramDiagnostic2Type VariableType . 26
Annex A (informative) Program example . 27
A.1 Overview. 27
A.2 DomainDownload Program . 27
A.2.1 General . 27
A.2.2 DomainDownload states . 28
A.2.3 DomainDownload transitions. 28
A.2.4 DomainDownload Methods . 29
A.2.5 DomainDownload Events . 30
A.2.6 DomainDownload model . 30

Figure 1 – Automation facility control . 8
Figure 2 – Program illustration . 9
Figure 3 – Program states and transitions . 10
Figure 4 – Program Type . 14

---------------------- Page: 8 ----------------------
SIST EN IEC 62541-10:2020
IEC 62541-10:2020 © IEC 2020 – 3 –
Figure 5 – Program FSM References . 16
Figure 6 – ProgramStateMachineType causes and effects . 20
Figure A.1 – Program example . 27
Figure A.2 – DomainDownload state diagram . 28
Figure A.3 – DomainDownloadType partial state model . 35
Figure A.4 – Ready To Running model . 38
Figure A.5 – Opening To Sending To Closing model . 40
Figure A.6 – Running To Suspended model . 41
Figure A.7 – Suspended To Running model . 42
Figure A.8 – Running To Halted – Aborted model . 42
Figure A.9 – Suspended To Aborted model . 43
Figure A.10 – Running To Completed model . 44
Figure A.11 – Sequence of operations . 45

Table 1 – Program Finite State Machine . 10
Table 2 – Program states . 11
Table 3 – Program state transitions . 11
Table 4 – Program Control Methods . 12
Table 5 – ProgramStateMachineType . 15
Table 6 – Program states . 17
Table 7 – Program transitions . 18
Table 8 – ProgramStateMachineType causes . 21
Table 9 – ProgramTransitionEventType . 22
Table 10 – ProgramTransitionEvents . 23
Table 11 – AuditProgramTransitionEventType . 24
Table 12 – ProgramDiagnostic2DataType structure . 25
Table 13 – ProgramDiagnostic2DataType definition . 26
Table 14 – ProgramDiagnostic2Type VariableType . 26
Table A.1 – DomainDownload states . 29
Table A.2 – DomainDownload Type . 31
Table A.3 – Transfer State Machine Type . 32
Table A.4 – Transfer State Machine – states . 33
Table A.5 – Finish State Machine Type . 33
Table A.6 – Finish State Machine – states . 34
Table A.7 – DomainDownload Type Property Attributes variable values . 34
Table A.8 – Additional DomainDownload transition types . 36
Table A.9 – Start Method additions . 38
Table A.10 – StartArguments . 39
Table A.11 – IntermediateResults Object . 40
Table A.12 – Intermediate result data Variables . 41
Table A.13 – FinalResultData . 43

---------------------- Page: 9 ----------------------
SIST EN IEC 62541-10:2020
– 4 – IEC 62541-10:2020 © IEC 2020
INTERNATIONAL ELECTROTECHNICAL COMMISSION
____________

OPC UNIFIED ARCHITECTURE –

Part 10: Programs

FOREWORD
1) The International Electrotechnical Commission (IEC) is a worldwide organization for standardization comprising
all national electrotechnical committees (IEC National Committees). The object of IEC is to promote
international co-operation on all questions concerning standardization in the electrical and electronic fields. To
this end and in addition to other activities, IEC publishes International Standards, Technical Specifications,
Technical Reports, Publicly Available Specifications (PAS) and Guides (hereafter referred to as "IEC
Publication(s)"). Their preparation is entrusted to technical committees; any IEC National Committee interested
in the subject dealt with may participate in this preparatory work. International, governmental and non-
governmental organizations liaising with the IEC also participate in this preparation. IEC collaborates closely
with the International Organization for Standardization (ISO) in accordance with conditions determined by
agreement between the two organizations.
2) The formal decisions or agreements of IEC on technical matters express, as nearly as possible, an international
consensus of opinion on the relevant subjects since each technical committee has representation from all
interested IEC National Committees.
3) IEC Publications have the form of recommendations for international use and are accepted by IEC National
Committees in that sense. While all reasonable efforts are made to ensure that the technical content of IEC
Publications is accurate, IEC cannot be held responsible for the way in which they are used or for any
misinterpretation by any end user.
4) In order to promote international uniformity, IEC National Committees undertake to apply IEC Publications
transparently to the maximum extent possible in their national and regional publications. Any divergence
between any IEC Publication and the corresponding national or regional publication shall be clearly indicated in
the latter.
5) IEC itself does not provide any attestation of conformity. Independent certification bodies provide conformity
assessment services and, in some areas, access to IEC marks of conformity. IEC is not responsible for any
services carried out by independent certification bodies.
6) All users should ensure that they have the latest edition of this publication.
7) No liability shall attach to IEC or its directors, employees, servants or agents including individual experts and
members of its technical committees and IEC National Committees for any personal injury, property damage or
other damage of any nature whatsoever, whether direct or indirect, or for costs (including legal fees) and
expenses arising out of the publication, use of, or reliance upon, this IEC Publication or any other IEC
Publications.
8) Attention is drawn to the Normative references cited in this publication. Use of the referenced publications is
indispensable for the correct application of this publication.
9) Attention is drawn to the possibility that some of the elements of this IEC Publication may be the subject of
patent rights. IEC shall not be held responsible for identifying any or all such patent rights.
IEC 62541-10 has been prepared by subcommittee 65E: Devices and integration in enterprise
systems, of IEC technical committee 65: Industrial-process measurement, control and
automation.
This third edition cancels and replaces the second edition published in 2015.
This edition includes several clarifications and in addition the following significant technical
changes with respect to the previous edition:
a) Changed ProgramType to ProgramStateMachineType. This is in line with the NodeSet
(and thus implementations). In ProgramDiagnosticDataType: changed the definition of
lastInputArguments and lastOutputArguments and added two additional fields for the
argument values. Also changed StatusResult into StatusCode. Created new version of the
type to ProgramDiagnostic2DataType.
b) Changed Optional modelling rule to OptionalPlaceHolder for Program control Methods.
Following the clarification in IEC 62541-3, this now allows subtypes (or instances) to add
arguments.

---------------------- Page: 10 ----------------------
SIST EN IEC 62541-10:2020
IEC 62541-10:2020 © IEC 2020 – 5 –
The text of this standard is based on the following documents:
FDIS Report on voting
65E/719/FDIS 65E/735/RVD

Full information on the voting for the approval of this International Standard can be found in
the report on voting indicated in the above table.
This document has been drafted in accordance with the ISO/IEC Directives, Part 2.
Throughout this document and the other parts of the IEC 62541 series, certain document
conventions are used:
Italics are used to denote a defined term or definition that appears in Clause 3 in one of the
parts of the series.
Italics are also used to denote the name of a service input or output parameter or the name of
a structure or element of a structure that are usually defined in tables.
The italicized terms and names are also, with a few exceptions, written in camel-case (the
practice of writing compound words or phrases in which the elements are joined without
spaces, with each element's initial letter capitalized within the compound). For example the
defined term is AddressSpace instead of Address Space. This makes it easier to understand
that there is a single definition for AddressSpace, not separate definitions for Address and
Space.
A list of all parts of the IEC 62541 series, published under the general title OPC Unified
Architecture, can be found on the IEC website.
The committee has decided that the contents of this document will remain unchanged until the
stability date indicated on the IEC website under "http://webstore.iec.ch" in the data related to
the specific document. At this date, the document will be
• reconfirmed,
• withdrawn,
• replaced by a revised edition, or
• amended.

IMPORTANT – The 'colour inside' logo on the cover page of this publication indicates
that it contains colours which are considered to be useful for the correct
understanding of its contents. Users should therefore print this document using a
colour printer.

---------------------- Page: 11 ----------------------
SIST EN IEC 62541-10:2020
– 6 – IEC 62541-10:2020 © IEC 2020
OPC UNIFIED ARCHITECTURE –

Part 10: Programs



1 Scope
This part of IEC 62451 defines the information model associated with Programs in the OPC
Unified Architecture. This includes the description of the NodeClasses, standard Properties,
Methods and Events and associated behaviour and information for Programs.
The complete Address Space model including all NodeClasses and Attributes is specified in
IEC 62541‑3. The Services such as those used to invoke the Methods used to manage
Programs are specified in IEC 62541‑4.
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) applies.
IEC TR 62541‑1, OPC Unified Architecture – Part 1: Overview and Concepts
IEC 62541‑3, OPC Unified Architecture – Part 3: Address Space Model
IEC 62541‑4, OPC Unified Architecture – Part 4: Services
IEC 62541‑5, OPC Unified Architecture – Part 5: Information Model
IEC 62541‑7, OPC Unified Architecture – Part 7: Profiles
3 Terms, definitions and abbreviated terms
3.1 Terms and definitions
For the purposes of this document, the terms and definitions given in IEC TR 62541-1,
IEC 62541-3 and the following apply.
ISO and IEC maintain terminological databases for use in standardization at the following
addresses:
• IEC Electropedia: available at http://www.electropedia.org/
• ISO Online browsing platform: available at http://www.iso.org/obp
3.1.1
function
programmatic task performed by a Server or device, usually accomplished by computer code
execution

---------------------- Page: 12 ----------------------
SIST EN IEC 62541-10:2020
IEC 62541-10:2020 © IEC 2020 – 7 –
3.1.2
finite state machine
sequence of states and valid state transitions along with the causes and effects of those state
transitions that define the actions of a Program in terms of discrete stages
3.1.3
ProgramStateMachineType
type definition of a Program and is a subtype of the FiniteStateMachineType
3.1.4
program control method
Method having specific semantics designed for the control of a Program by causing a state
transition
3.1.5
program invocation
unique Object instance of a Program existing on a Server
Note 1 to entry: A Program Invocation is distinguished from other Object instances of the same
ProgramStateMachineType by the object node’s unique browse path.
3.2 Abbreviated terms
DA data access
FSM finite state machine
HMI human–machine interface
UA Unified Architecture
4 Concepts
4.1 General
Integrated automation facilities manage their operations through the exchange of data and the
coordinated invocation of system Functions as illustrated in Figure 1. Services are required to
perform the data exchanges and to invoke the Functions that constitute system operation.
These Functions may be invoked through Human Machine Interfaces, cell controllers, or other
supervisory control and data acquisition type systems. OPC UA defines Methods and
Programs as an interoperable way to advertise, discover, and request these Functions. They
provide a normalizing mechanism for the semantic description, invocation, and result
reporting of these Functions. Together Methods and Programs complement the other OPC UA
Services and ObjectTypes to facilitate the operation of an automation environment using a
client-server hierarchy.

---------------------- Page: 13 ----------------------
SIST EN IEC 62541-10:2020
– 8 – IEC 62541-10:2020 © IEC 2020

Figure 1 – Automation facility control
Methods and Programs model Functions typically have different scopes, behaviours, lifetimes,
and complexities in OPC Servers and the underlying systems. These Functions are not
normally characterized by the reading or writing of data which is accomplished with the OPC
UA Attribute service set.
Methods represent basic Functions in the Server that can be invoked by a Client. Programs,
by contrast, model more complex and stateful functionality in the system. For example, a
method call may be used to perform a calculation or reset a counter. A Program is used to run
and control a batch process, execute a machine tool part program, or manage a domain
download. Methods and their invocation mechanism are described in IEC 62541‑3 and
IEC 62541‑4.
This document describes the extensions to, or specific use of, the core capabilities defined in
IEC 62541‑5 as required for Programs.
4.2 Programs
4.2.1 Overview
Programs are complex Functions in a Server or underlying system that can be invoked and
managed by a Client. Programs can represent any level of functionality within a system or
process in which Client control or intervention is required and progress monitoring is desired.
Figure 2 illustrates the model.

---------------------- Page: 14 ----------------------
SIST EN IEC 62541-10:2020
IEC 62541-10:2020 © IEC 2020 – 9 –

Figure 2 – Program illustration
Programs are stateful and transition through a prescribed sequence of states as they execute.
Their behaviour is defined by a Program Finite State Machine (PFSM). The elements of the
PFSM describe the phases of a Program’s execution in terms of valid transitions between a
set of states, the stimuli or causes of those transitions, and the resultant effects of the
transitions.
4.2.2 Security considerations
Since Programs can be used to perform advanced control algorithms or other actions, their
use should be restricted to personnel with appropriate access rights. It is recommended that
AuditUpdateMethodEvents are generated to allow monitoring the number of running Programs
in addition to their execution frequency.
4.2.3 Program Finite State Machine
The states, transitions, causes and effects that compose the Program Finite State Machine
are listed in Table 1 and illustrated in Figure 3.

---------------------- Page: 15 ----------------------
SIST EN IEC 62541-10:2020
– 10 – IEC 62541-10:2020 © IEC 2020
Table 1 – Program Finite State Machine
No. Transition name Cause From state To state Effect
Report Transition 1
1 HaltedToReady Reset Method Halted Ready
Event/Result
Report Transition 2
2 ReadyToRunning Start Method Ready Running
Event/Result
Halt Method or Report Transition 3
3 RunningToHalted Running Halted
Internal (Error) Event/Result
Report Transition 4
4 RunningToReady Internal Running Ready
Event/Result
Suspend Report Transition 5
5 RunningToSuspended Running Suspended
...

SLOVENSKI STANDARD
oSIST prEN IEC 62541-10:2018
01-november-2018
Enotna arhitektura OPC - 10. del: Programi
OPC Unified Architecture - Part 10: Programs
Architecture unifiée OPC - Partie 10: Programmes
Ta slovenski standard je istoveten z: prEN IEC 62541-10:2018
ICS:
25.040.40 Merjenje in krmiljenje Industrial process
industrijskih postopkov measurement and control
35.240.50 Uporabniške rešitve IT v IT applications in industry
industriji
oSIST prEN IEC 62541-10:2018 en,fr,de
2003-01.Slovenski inštitut za standardizacijo. Razmnoževanje celote ali delov tega standarda ni dovoljeno.

---------------------- Page: 1 ----------------------
oSIST prEN IEC 62541-10:2018

---------------------- Page: 2 ----------------------
oSIST prEN IEC 62541-10:2018
65E/611/CDV

COMMITTEE DRAFT FOR VOTE (CDV)
PROJECT NUMBER:
IEC 62541-10 ED3
DATE OF CIRCULATION: CLOSING DATE FOR VOTING:
2018-08-17 2018-11-09
SUPERSEDES DOCUMENTS:
65E/559/RR

IEC SC 65E : DEVICES AND INTEGRATION IN ENTERPRISE SYSTEMS
SECRETARIAT: SECRETARY:
United States of America Mr Donald (Bob) Lattimer
OF INTEREST TO THE FOLLOWING COMMITTEES: PROPOSED HORIZONTAL STANDARD:


Other TC/SCs are requested to indicate their interest, if
any, in this CDV to the secretary.
FUNCTIONS CONCERNED:

EMC ENVIRONMENT QUALITY ASSURANCE SAFETY
SUBMITTED FOR CENELEC PARALLEL VOTING NOT SUBMITTED FOR CENELEC PARALLEL VOTING
Attention IEC-CENELEC parallel voting
The attention of IEC National Committees, members of
CENELEC, is drawn to the fact that this Committee Draft
for Vote (CDV) is submitted for parallel voting.
The CENELEC members are invited to vote through the
CENELEC online voting system.

This document is still under study and subject to change. It should not be used for reference purposes.
Recipients of this document are invited to submit, with their comments, notification of any relevant patent rights of
which they are aware and to provide supporting documentation.

TITLE:
OPC Unified Architecture - Part 10: Programs

PROPOSED STABILITY DATE: 2021

NOTE FROM TC/SC OFFICERS:


Copyright © 2018 International Electrotechnical Commission, IEC. All rights reserved. It is permitted to download this
electronic file, to make a copy and to print out the content for the sole purpose of preparing National Committee positions.
You may not copy or "mirror" the file or printed version of the document, or any part of it, for any other purpose without
permission in writing from IEC.

---------------------- Page: 3 ----------------------
oSIST prEN IEC 62541-10:2018
IEC CDV 62541-10 © IEC 2017 - 2 - 65E/611/CDV



CONTENTS
FIGURES . 3
TABLES . 3
FOREWORD . 2
1 Scope . 1
2 Normative references . 1
3 Terms, definitions and conventions . 1
3.1 Terms and definitions . 1
3.2 Abbreviations . 2
4 Concepts . 2
4.1 General . 2
4.2 Programs . 3
4.2.1 Overview . 3
4.2.2 Security considerations . 3
4.2.3 Program Finite State Machine . 4
4.2.4 Program states . 4
4.2.5 State transitions . 5
4.2.6 Program state transition stimuli . 5
4.2.7 Program Control Methods . 5
4.2.8 Program state transition effects . 7
4.2.9 Program result data . 7
4.2.10 Program lifetime . 8
5 Model . 8
5.1 General . 8
5.2 ProgramStateMachineType . 9
5.2.1 Overview . 9
5.2.2 ProgramStateMachineType Properties . 10
5.2.3 ProgramStateMachineType components . 11
5.2.4 ProgramStateMachineType causes (Methods) . 15
5.2.5 ProgramStateMachineType effects (Events) . 16
5.2.6 AuditProgramTransitionEventType . 19
5.2.7 FinalResultData . 19
5.2.8 ProgramDiagnostic2 DataType . 20
5.2.9 ProgramDiagnostic2Type VariableType . 20
Annex A (informative) Program example . 22
A.1 Overview. 22
A.2 DomainDownload Program . 22
A.2.1 General . 22
A.2.2 DomainDownload states . 22
A.2.3 DomainDownload transitions. 23
A.2.4 DomainDownload Methods . 24
A.2.5 DomainDownload Events . 25
A.2.6 DomainDownload model . 25

---------------------- Page: 4 ----------------------
oSIST prEN IEC 62541-10:2018
65E/611/CDV - 3 - IEC CDV 62541-10 © IEC 2017
FIGURES

Figure 1 – Automation facility control . 2
Figure 2 – Program illustration . 3
Figure 3 – Program states and transitions . 4
Figure 4 – Program Type . 9
Figure 5 – Program FSM References . 11
Figure 6 – ProgramStateMachineType causes and effects . 15
Figure A.1 – Program example . 22
Figure A.2 – DomainDownload state diagram . 23
Figure A.3 – DomainDownloadType partial state model . 29
Figure A.4 – Ready To Running model . 32
Figure A.5 – Opening To Sending To Closing model . 34
Figure A.6 – Running To Suspended model . 35
Figure A.7 – Suspended To Running model . 36
Figure A.8 – Running To Halted – Aborted model . 37
Figure A.9 – Suspended To Aborted model . 38
Figure A.10 – Running To Completed model . 39
Figure A.11 – Sequence of operations . 40

TABLES

Table 1 – Program Finite State Machine . 4
Table 2 – Program states . 5
Table 3 – Program state transitions . 5
Table 4 – Program Control Methods . 7
Table 5 – ProgramStateMachineType . 10
Table 6 – Program states . 12
Table 7 – Program transitions . 13
Table 8 – ProgramStateMachineType causes . 15
Table 9 – ProgramTransitionEventType . 17
Table 10 – ProgramTransitionEvents . 18
Table 11 – AuditProgramTransitionEventType . 19
Table 12 – ProgramDiagnostic2DataType structure . 20
Table 13 – ProgramDiagnostic2DataType definition . 20
Table 14 – ProgramDiagnostic2Type VariableType . 21
Table A.1 – DomainDownload states . 24
Table A.2 – DomainDownload Type . 25
Table A.3 – Transfer State Machine Type . 26
Table A.4 – Transfer State Machine – states . 27
Table A.5 – Finish State Machine Type . 27
Table A.6 – Finish State Machine – states . 28
Table A.7 – DomainDownload Type Property Attributes variable values . 28
Table A.8 – Additional DomainDownload transition types . 30

---------------------- Page: 5 ----------------------
oSIST prEN IEC 62541-10:2018
IEC CDV 62541-10 © IEC 2017 - 4 - 65E/611/CDV

Table A.9 – Start Method additions . 32
Table A.10 – StartArguments . 33
Table A.11 – IntermediateResults Object . 34
Table A.12 – Intermediate result data Variables . 35
Table A.13 – FinalResultData . 38

---------------------- Page: 6 ----------------------
oSIST prEN IEC 62541-10:2018

---------------------- Page: 7 ----------------------
oSIST prEN IEC 62541-10:2018
IEC CDV 62541-10 © IEC 2017 - 2 - 65E/611/CDV

1 INTERNATIONAL ELECTROTECHNICAL COMMISSION
2 ____________
3
4 OPC UNIFIED ARCHITECTURE –
5
6 Part 10: Programs
7
8 FOREWORD
9 1) The International Electrotechnical Commission (IEC) is a worldwide organization for standardization comprising
10 all national electrotechnical committees (IEC National Committees). The object of IEC is to promote
11 international co-operation on all questions concerning standardization in the electrical and electronic fields. To
12 this end and in addition to other activities, IEC publishes International Standards, Technical Specifications,
13 Technical Reports, Publicly Available Specifications (PAS) and Guides (hereafter referred to as “IEC
14 Publication(s)”). Their preparation is entrusted to technical committees; any IEC National Committee interested
15 in the subject dealt with may participate in this preparatory work. International, governmental and non-
16 governmental organizations liaising with the IEC also participate in this preparation. IEC collaborates closely
17 with the International Organization for Standardization (ISO) in accordance with conditions determined by
18 agreement between the two organizations.
19 2) The formal decisions or agreements of IEC on technical matters express, as nearly as possible, an international
20 consensus of opinion on the relevant subjects since each technical committee has representation from all
21 interested IEC National Committees.
22 3) IEC Publications have the form of recommendations for international use and are accepted by IEC National
23 Committees in that sense. While all reasonable efforts are made to ensure that the technical content of IEC
24 Publications is accurate, IEC cannot be held responsible for the way in which they are used or for any
25 misinterpretation by any end user.
26 4) In order to promote international uniformity, IEC National Committees undertake to apply IEC Publications
27 transparently to the maximum extent possible in their national and regional publications. Any divergence
28 between any IEC Publication and the corresponding national or regional publication shall be clearly indicated in
29 the latter.
30 5) IEC itself does not provide any attestation of conformity. Independent certification bodies provide conformity
31 assessment services and, in some areas, access to IEC marks of conformity. IEC is not responsible for any
32 services carried out by independent certification bodies.
33 6) All users should ensure that they have the latest edition of this publication.
34 7) No liability shall attach to IEC or its directors, employees, servants or agents including individual experts and
35 members of its technical committees and IEC National Committees for any personal injury, property damage or
36 other damage of any nature whatsoever, whether direct or indirect, or for costs (including legal fees) and
37 expenses arising out of the publication, use of, or reliance upon, this IEC Publication or any other IEC
38 Publications.
39 8) Attention is drawn to the Normative references cited in this publication. Use of the referenced publications is
40 indispensable for the correct application of this publication.
41 9) Attention is drawn to the possibility that some of the elements of this IEC Publication may be the subject of
42 patent rights. IEC shall not be held responsible for identifying any or all such patent rights.
43 The main task of IEC technical committees is to prepare International Standards. However, a
44 technical committee may propose the publication of a technical report when it has collected
45 data of a different kind from that which is normally published as an International Standard, for
46 example "state of the art".
47 IEC 62541-10 has been prepared by subcommittee 65E: Devices and integration in enterprise
48 systems, of IEC technical committee 65: Industrial-process measurement, control and
49 automation.
50 The text of this technical report is based on the following documents:
Enquiry draft Report on voting
65E/XX/DTR 65E/XX/RVC
51
52 Full information on the voting for the approval of this technical report can be found in the
53 report on voting indicated in the above table.

---------------------- Page: 8 ----------------------
oSIST prEN IEC 62541-10:2018
65E/611/CDV - 3 - IEC CDV 62541-10 © IEC 2017
54 This third edition cancels and replaces the second edition of IEC 62541, published in 2015.
55 This edition includes several clarifications and in addition the following significant technical
56 changes with respect to the previous edition:
57 a) Changed ProgramType to ProgramStateMachineType. This is in line with the NodeSet
58 (and thus implementations). In ProgramDiagnosticDataType - changed the definition of
59 lastInputArguments and lastOutputArguments and added two additional fields for the
60 argument values. Also changed StatusResult into StatusCode. Created new version of the
61 type to ProgramDiagnostic2DataType.
62 b) Changed Optional modelling rule to OptionalPlaceHolder for Program control Methods.
63 Following the clarification in Part 3 this now allows subtypes (or instances) to add
64 arguments.
65
66 This publication has been drafted in accordance with the ISO/IEC Directives, Part 2.
67 Throughout this document and the referenced other Parts of the series, certain document
68 conventions are used:
69 Italics are used to denote a defined term or definition that appears in the “Terms and
70 definition” clause in one of the parts of the series.
71 Italics are also used to denote the name of a service input or output parameter or the name of
72 a structure or element of a structure that are usually defined in tables.
73 The italicized terms and names are also often written in camel-case (the practice of writing
74 compound words or phrases in which the elements are joined without spaces, with each
75 element's initial letter capitalized within the compound). For example the defined term is
76 AddressSpace instead of Address Space. This makes it easier to understand that there is a
77 single definition for AddressSpace, not separate definitions for Address and Space.
78 A list of all parts of the IEC 62541 series, published under the general title OPC Unified
79 Architecture, can be found on the IEC website.
80 The committee has decided that the contents of this publication will remain unchanged until
81 the stability date indicated on the IEC web site under "http://webstore.iec.ch" in the data
82 related to the specific publication. At this date, the publication will be
83 • reconfirmed,
84 • withdrawn,
85 • replaced by a revised edition, or
86 • amended.
87
88 The National Committees are requested to note that for this publication the stability date
89 is 2021.
90 THIS TEXT IS INCLUDED FOR THE INFORMATION OF THE NATIONAL COMMITTEES AND WILL BE
91 DELETED AT THE PUBLICATION STAGE.
92 A bilingual version of this publication may be issued at a later date.
93
IMPORTANT – The 'colour inside' logo on the cover page of this publication indicates
that it contains colours which are considered to be useful for the correct
understanding of its contents. Users should therefore print this document using a
colour printer.

---------------------- Page: 9 ----------------------
oSIST prEN IEC 62541-10:2018

---------------------- Page: 10 ----------------------
oSIST prEN IEC 62541-10:2018
65E/611/CDV - 1 - IEC CDV 62541-10 © IEC 2017
94 OPC Unified Architecture Specification
95
96 Part 10: Programs
97
98
99
100 1 Scope
101 This specification is part of the overall OPC Unified Architecture (OPC UA) standard series
102 and defines the information model associated with Programs. This includes the description of
103 the NodeClasses, standard Properties, Methods and Events and associated behaviour and
104 information for Programs.
105 The complete address space model including all NodeClasses and Attributes is specified in
106 IEC 62541-3. The Services such as those used to invoke the Methods used to manage
107 Programs are specified in IEC 62541-4.
108 2 Normative references
109 The following documents, in whole or in part, are normatively referenced in this document and
110 are indispensable for its application. For dated references, only the edition cited applies. For
111 undated references, the latest edition of the referenced document (including any
112 amendments) applies.
113 IEC TR 62541-1, OPC Unified Architecture – Part 1: Overview and Concepts
114 IEC 62541-3, OPC Unified Architecture – Part 3: Address Space Model
115 IEC 62541-4, OPC Unified Architecture – Part 4: Services
116 IEC 62541-5, OPC Unified Architecture – Part 5: Information Model
117 IEC 62541-7, OPC Unified Architecture – Part 7: Profiles
118 3 Terms, definitions and conventions
119 3.1 Terms and definitions
120 For the purposes of this document, the terms and definitions given in IEC TR 62541-1,
121 IEC 62541-3, as well as the following apply.
122 3.1.1
123 Function
124 programmatic task performed by a Server or device, usually accomplished by computer code
125 execution
126 3.1.2
127 Finite State Machine
128 sequence of states and valid state transitions along with the causes and effects of those state
129 transitions that define the actions of a Program in terms of discrete stages
130 3.1.3
131 ProgramStateMachineType
132 type definition of a Program and is a subtype of the FiniteStateMachineType
133 3.1.4
134 Program Control Method
135 Method having specific semantics designed for the control of a Program by causing a state
136 transition

---------------------- Page: 11 ----------------------
oSIST prEN IEC 62541-10:2018
IEC CDV 62541-10 © IEC 2017 - 2 - 65E/611/CDV

137 3.1.5
138 Program Invocation
139 unique Object instance of a Program existing on a Server
140 Note 1 to entry: A Program Invocation is distinguished from other Object instances of the same
141 ProgramStateMachineType by the object node’s unique browse path.
142 3.2 Abbreviations
143 DA Data Access
144 FSM Finite State Machine
145 HMI Human Machine Interfaces
146 UA Unified Architecture
147 4 Concepts
148 4.1 General
149 Integrated automation facilities manage their operations through the exchange of data and the
150 coordinated invocation of system Functions as illustrated in Figure 1. Services are required to
151 perform the data exchanges and to invoke the Functions that constitute system operation.
152 These Functions may be invoked through Human Machine Interfaces, cell controllers, or other
153 supervisory control and data acquisition type systems. OPC UA defines Methods and
154 Programs as an interoperable way to advertise, discover, and request these Functions. They
155 provide a normalizing mechanism for the semantic description, invocation, and result
156 reporting of these Functions. Together Methods and Programs complement the other OPC UA
157 Services and ObjectTypes to facilitate the operation of an automation environment using a
158 client-server hierarchy.
Filling
Cleaning
Labelling
Palletizing
Packaging
159
160 Figure 1 – Automation facility control
161 Methods and Programs model Functions typically have different scopes, behaviours, lifetimes,
162 and complexities in OPC Servers and the underlying systems. These Functionsare not
163 normally characterized by the reading or writing of data which is accomplished with the OPC
164 UA Attribute service set.

---------------------- Page: 12 ----------------------
oSIST prEN IEC 62541-10:2018
65E/611/CDV - 3 - IEC CDV 62541-10 © IEC 2017
165 Methods represent basic Functions in the Server that can be invoked by a Client. Programs,
166 by contrast, model more complex and stateful functionality in the system. For example, a
167 method call may be used to perform a calculation or reset a counter. A Program is used to run
168 and control a batch process, execute a machine tool part program, or manage a domain
169 download. Methods and their invocation mechanism are described in IEC 62541-3 and
170 IEC 62541-4.
171 This standard describes the extensions to, or specific use of, the core capabilities defined in
172 IEC 62541-5 as required for Programs.
173 4.2 Programs
174 4.2.1 Overview
175 Programs are complex Functions in a Server or underlying system that can be invoked and
176 managed by a Client. Programs can represent any level of functionality within a system or
177 process in which Client control or intervention is required and progress monitoring is desired.
178 Figure 2 illustrates the model.

Program

Control Methods
________()
Manage
________()
________()
State Machine
_________
Get Description
_________
_________
Transition Events
_________
Monitor
_________

_________
Result Data
_________
Get Results
_________

_________
179
180 Figure 2 – Program illustration
181 Programs are stateful and transition through a prescribed sequence of states as they execute.
182 Their behaviour is defined by a Program Finite State Machine (PFSM). The elements of the
183 PFSM describe the phases of a Program’s execution in terms of valid transitions between a
184 set of states, the stimuli or causes of those transitions, and the resultant effects of the
185 transitions.
186 4.2.2 Security considerations
187 Since Programs can be used to perform advanced control algorithms or other actions, their
188 use should be restricted to personnel with appropriate access rights. It is recommended that
189 AuditUpdateMethodEvents are generated to allow monitoring the number of running Programs
190 in addition to their execution frequency.

---------------------- Page: 13 ----------------------
oSIST prEN IEC 62541-10:2018
IEC CDV 62541-10 © IEC 2017 - 4 - 65E/611/CDV

191 4.2.3 Program Finite State Machine
192 The states, transitions, causes and effects that compose the Program Finite State Machine
193 are listed in Table 1 and illustrated in Figure 3.
194 Table 1 – Program Finite State Machine
No. Transition name Cause From state To state Effect
Report Transition 1
1 HaltedToReady Reset Method Halted Ready
Event/Result
Report Transition 2
2 ReadyToRunning Start Method Ready Running
Event/Result
Halt Method or Report Transition 3
3 RunningToHalted Running Halted
Internal (Error) Event/Result
Report Transition 4
4 RunningToReady Internal Running Ready
Event/Result
Report Transition 5
5 RunningToSuspended Suspend Method Running Suspended
Event/Result
Report Transition 6
6 SuspendedToRunning Resume Method Suspended Running
Event/Result
Report Transition 7
7 SuspendedToHalted Halt Method Suspended Halted
Event/Result
Report Transition 8
8 SuspendedToReady Internal Suspended Ready
Event/Result
Report Transition 9
9 ReadyToHalted Halt Method Ready Halted
Event/Result
195
HALTED
1

9
3
READY
2
4 7
8
RUNNING
5
6
SUSPENDED
196
197 Figure 3 – Program states and transitions
198 4.2.4 Program states
199 A standard set of base states is defined for Programs as part of the Program Finite State
200 Machine. These states represent the stages in which a Program can exist at an instance in
201 time as viewed by a Client. This state is the Program’s current state. All Programs shall
202 support this base set. A Program may or may not require a Client action to cause the state to
203 change. The states are formally defined in Table 2.

---------------------- Page: 14 ----------------------
oSIST prEN IEC 62541-10:2018
65E/611/CDV - 5 - IEC CDV 62541-10 © IEC 2017
204 Table 2 – Program states
State Description
Ready
The Program is properly initialized and may be started.
Running The Program is executing making progress towards completion.
The Program has been stopped prior to reaching a terminal state but may be
Suspended
resumed.
Halted The Program is in a terminal or failed state, and it cannot be started or resumed
without being reset.
205
206 The set of states defined to describe a Program can be expanded. Program sub states can be
207 defined for the base states to provide more resolution of a process and to describe the cause
208 and effect(s) of additional stimuli and transitions. Standards bodies and industry groups may
209 exte
...

Questions, Comments and Discussion

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