Field Device Integration (FDI) - Part 6: Technology Mapping

This part of IEC 62769 specifies the technology mapping for the concepts described in the Field Device Integration (FDI) standard. The technology mapping focuses on implementation regarding the components FDI Client and User Interface Plug-in (UIP) that are specific only to the WORKSTATION platform/.NET as defined in IEC 62769-4.

Feldgeräteintegration (FDI) - Teil 6: FDI-Technologieabbildungen

Intégration des appareils de terrain (FDI) - Partie 6: Mapping de technologies

IEC 62769-6:2021 est disponible sous forme de IEC 62769-6:2021 RLV qui contient la Norme internationale et sa version Redline, illustrant les modifications du contenu technique depuis l'édition précédente . L'IEC 62769-6:2021 spécifie le mapping de technologies pour les concepts décrits dans la norme d'intégration des appareils de terrain (FDI). Le mapping de technologies porte essentiellement sur la mise en œuvre relative aux composants: Client FDI et Plugiciel d'Interface Utilisateur (UIP) qui ne sont spécifiques qu'à la plate-forme WORKSTATION (Poste de travail)/.NET telle que définie dans l'IEC 62769-4.

Integracija procesne naprave (FDI) - 6. del: Preslikava tehnologije FDI (IEC 62769-6:2021)

General Information

Status
Published
Publication Date
18-Mar-2021
Current Stage
6060 - Document made available - Publishing
Start Date
19-Mar-2021
Completion Date
19-Mar-2021

Relations

Standard
EN IEC 62769-6:2021 - BARVE
English language
30 pages
sale 10% off
Preview
sale 10% off
Preview
e-Library read for
1 day

Standards Content (Sample)


SLOVENSKI STANDARD
01-julij-2021
Nadomešča:
SIST EN 62769-6:2015
Integracija procesne naprave (FDI) - 6. del: Preslikava tehnologije FDI (IEC 62769-
6:2021)
Field Device Integration (FDI) - Part 6: Technology Mapping (IEC 62769-6:2021
Feldgeräteintegration (FDI) - Teil 6: FDI-Technologieabbildungen (IEC 62769-6:2021)
Intégration des appareils de terrain (FDI) - Partie 6: Mapping de technologies (IEC 62769
-6:2021)
Ta slovenski standard je istoveten z: EN IEC 62769-6:2021
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
2003-01.Slovenski inštitut za standardizacijo. Razmnoževanje celote ali delov tega standarda ni dovoljeno.

EUROPEAN STANDARD EN IEC 62769-6

NORME EUROPÉENNE
EUROPÄISCHE NORM
March 2021
ICS 25.040.40; 35.100.05 Supersedes EN 62769-6:2015 and all of its amendments
and corrigenda (if any)
English Version
Field Device Integration (FDI) - Part 6: Technology Mapping
(IEC 62769-6:2021)
Intégration des appareils de terrain (FDI) - Partie 6: Feldgeräteintegration (FDI) - Teil 6: FDI-
Mapping de technologies Technologieabbildungen
(IEC 62769-6:2021) (IEC 62769-6:2021)
This European Standard was approved by CENELEC on 2021-03-12. 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
© 2021 CENELEC All rights of exploitation in any form and by any means reserved worldwide for CENELEC Members.
Ref. No. EN IEC 62769-6:2021 E

European foreword
The text of document 65E/763(F)/FDIS, future edition 2 of IEC 62769-6, 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
The following dates are fixed:
• latest date by which the document has to be implemented at national (dop) 2021-12-12
level by publication of an identical national standard or by endorsement
• latest date by which the national standards conflicting with the (dow) 2024-03-12
document have to be withdrawn
This document supersedes EN 62769-6: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.
Endorsement notice
The text of the International Standard IEC 62769-6:2021 was approved by CENELEC as a European
Standard without any modification.
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 61804 series Function blocks (FB) for process control EN IEC 61804 series
and electronic device description language
(EDDL)
IEC 62541 series OPC Unified Architecture EN IEC 62541 series
IEC 62769-1 - Field Device Integration (FDI) - Part 1:EN IEC 62769-1 -
Overview
IEC 62769-2 - Field Device Integration (FDI) - Part 2: FDI EN IEC 62769-2 -
Client
IEC 62769-4 - Field Device Integration (FDI) - Part 4: FDI EN IEC 62769-4 -
Packages
ISO/IEC 19505-1 - Information technology - Object - -
Management Group Unified Modeling
Language (OMG UML) – Part 1:
Infrastructure
ISO/IEC 29500 series Information technology - Document - -
description and processing languages -
Office Open XML File Formats
IEC 62769-6 ®
Edition 2.0 2021-02
INTERNATIONAL
STANDARD
NORME
INTERNATIONALE
colour
inside
Field device integration (FDI) –

Part 6: Technology Mapping
Intégration des appareils de terrain (FDI) –

Partie 6: Mapping de technologies

INTERNATIONAL
ELECTROTECHNICAL
COMMISSION
COMMISSION
ELECTROTECHNIQUE
INTERNATIONALE
ICS 25.040.40; 35.100.05 ISBN 978-2-8322-9312-6

– 2 – IEC 62769-6:2021 © IEC 2021
CONTENTS
FOREWORD . 4
INTRODUCTION . 6
1 Scope . 7
2 Normative references . 7
3 Terms, definitions, abbreviated terms, symbols and conventions . 7
3.1 Terms and definitions . 7
3.2 Abbreviated terms . 8
3.3 Symbols . 8
3.4 Conventions . 8
4 Technical concepts . 8
4.1 General . 8
4.1.1 Overview . 8
4.1.2 Platforms . 9
4.1.3 FDI Type Library . 9
4.2 UIP representation . 10
4.3 UIP executable representation . 11
4.4 UIP executable compatibility rules . 11
4.5 Allowed .NET Common Language Run-time versions . 11
4.5.1 General . 11
4.5.2 CLR compatibility strategy . 11
4.5.3 How to identify the .NET target platform of a UIP . 12
4.6 UIP Deployment . 12
4.7 UIP Lifecycle. 13
4.7.1 General . 13
4.7.2 UIP Assembly activation steps . 13
4.7.3 UIP Assembly deactivation steps . 15
4.8 Interaction between an FDI Client and a UIP . 16
4.8.1 Handling of standard UI elements . 16
4.8.2 Non-blocking service execution . 16
4.8.3 Blocking service execution. 17
4.8.4 Cancel service execution . 18
4.8.5 Threading . 19
4.8.6 Timeout . 19
4.8.7 Exception handling . 20
4.8.8 Type safe interfaces . 21
4.8.9 Globalization and localization . 21
4.8.10 WPF Control handling . 21
4.8.11 Win Form handling . 21
4.9 Security . 21
4.9.1 General . 21
4.9.2 Access permissions . 22
4.9.3 Code identity concept . 22
5 Interface definition . 23

Figure 1 – FDI Type Library structure . 10

IEC 62769-6:2021 © IEC 2021 – 3 –
Figure 2 – .NET surrogate process . 12
Figure 3 – Identification of Run-time Version. 12
Figure 4 – IAsyncPattern based asynchronous service execution example . 17
Figure 5 – Blocking service execution example using IAsyncResult based pattern . 18
Figure 6 – Cancel service processing sequence example . 18
Figure 7 – Exception source . 20

Table 1 – Technology edition reference . 9
Table 2 – Base Property Services . 23
Table 3 – Device Model Services . 23
Table 4 – Access Control Services . 24
Table 5 – Direct Access Services . 24
Table 6 – Hosting Services . 24
Table 7 – UIP Services . 26
Table 8 – Base Data Types . 26
Table 9 – Special Types . 27

– 4 – IEC 62769-6:2021 © IEC 2021
INTERNATIONAL ELECTROTECHNICAL COMMISSION
____________
FIELD DEVICE INTEGRATION (FDI) –

Part 6: Technology Mapping
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.
International Standard IEC 62769-6 has been prepared by subcommittee 65E: Devices and
integration in enterprise systems, of IEC technical committee 65: Industrial-process
measurement, control and automation.
This second edition cancels and replaces the first edition published in 2015. This edition
constitutes a technical revision.
This edition includes the following significant technical changes with respect to the previous
edition:
a) redesign of the security concept for UIP execution.

IEC 62769-6:2021 © IEC 2021 – 5 –
The text of this International Standard is based on the following documents:
FDIS Report on voting
65E/763/FDIS 65E/773/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.
A list of all parts in the IEC 62769 series, published under the general title Field Device
Integration (FDI), 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.
– 6 – IEC 62769-6:2021 © IEC 2021
INTRODUCTION
The IEC 62769 series has the general title Field Device Integration (FDI) and the following
parts:
– Part 1: Overview
– Part 2: FDI Client
– Part 3: FDI Server
– Part 4: FDI Packages
– Part 5: FDI Information Model
– Part 6: FDI Technology Mapping
– Part 7: FDI Communication Devices
– Part 100: Profiles – Generic Protocol Extensions
– Part 101-1: Profiles – Foundation Fieldbus H1
– Part 101-2: Profiles – Foundation Fieldbus HSE
– Part 103-1: Profiles – PROFIBUS
– Part 103-4: Profiles – PROFINET
– Part 109-1: Profiles – HART and WirelessHART
– Part 115-2: Profiles – Protocol-specific Definitions for Modbus RTU
– Part 150-1: Profiles – ISA 100.11a

IEC 62769-6:2021 © IEC 2021 – 7 –
FIELD DEVICE INTEGRATION (FDI) –

Part 6: Technology Mapping
1 Scope
This part of IEC 62769 specifies the technology mapping for the concepts described in the
Field Device Integration (FDI) standard. The technology mapping focuses on implementation
regarding the components FDI Client and User Interface Plug-in (UIP) that are specific only to
the WORKSTATION platform/.NET as defined in IEC 62769-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 61804 (all parts), Function blocks (FB) for process control and Electronic Device
Description Language (EDDL)
IEC 62769-1, Field Device Integration (FDI) – Part 1: Overview
IEC 62769-2, Field Device Integration (FDI) – Part 2: FDI Client
IEC 62769-4, Field Device Integration (FDI) – Part 4: FDI Packages
IEC 62541 (all parts), OPC Unified Architecture
ISO/IEC 19505-1, Information technology – Object Management Group Unified Modeling
Language (OMG UML) – Part 1: Infrastructure
ISO/IEC 29500, (all parts) Information technology – Document description and processing
languages – Office Open XML File Formats
3 Terms, definitions, abbreviated terms, symbols and conventions
3.1 Terms and definitions
For the purposes of this document, the terms and definitions given in IEC 62769-1 as well as
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
Application Domain
isolated environment where applications execute

– 8 – IEC 62769-6:2021 © IEC 2021
3.1.2
FDI Type Library
assembly that contains the interfaces and data types that are used for the data exchange and
interaction between a UIP and an FDI Client
3.1.3
Global Assembly Cache
machine-wide code cache that stores Assemblies specifically designated to be shared by
several applications
3.1.4
Windows Registry
system-defined database in which applications and system components store and retrieve
configuration data
3.2 Abbreviated terms
For the purposes of this document, the abbreviated terms given in IEC 62769-1 as well as the
following apply.
CLR Common Language Run-time
MSI Microsoft Installer
WPF Windows Presentation Foundation
UML Unified Modeling Language
3.3 Symbols
Figures in this document use graphical symbols in accordance with ISO/IEC 19505-1
(UML 2.0).
3.4 Conventions
For the purposes of this document, the conventions given in IEC 62769-1 apply.
The description of Non-blocking service execution in 4.8.2 uses italics to identify a generic
operation name the internal function is being applied to.
4 Technical concepts
4.1 General
4.1.1 Overview
In 4.1.2, 4.2, 4.3, 4.4, and 4.5, this document describes first the technology base for UIP
implementation, the hardware and software environment including the related implementation
rules. Clause 4 follows a life-cycle (use case) oriented approach.
Subclause 4.6 describes the copy deployment procedures and related implementation rules
for the UIP and the FDI Client. UIP executable instantiation and termination is described in
4.7. Subclause 4.8 defines the rules about interaction between the FDI Client and the UIP.
Security related definitions are written in 4.9. The service interface definitions for the FDI
Client and the UIP are found in Clause 5.

IEC 62769-6:2021 © IEC 2021 – 9 –
4.1.2 Platforms
The UIP and FDI Client shall be built upon the Microsoft .NET Framework and executed in
the .NET Common Language Run-time.
The minimum set of workstation-supported I/O devices is: mouse, keyboard, and color screen
resolution of 1024 × 768 pixels.
The following Table 1 lists all the technologies and their editions that are consistent with FDI
components.
Table 1 – Technology edition reference
Technology Standard Edition
.NET N/A CLR4 for UIP Implementation
EDDL IEC 61804 2016
OPC UA (Parts 1-8) IEC 62541 2015
Open Packaging Convention ISO/IEC 29500 2016
Extensible Markup Language (XML) N/A W3C, 1.0 (fifth edition)

4.1.3 FDI Type Library
The Device Access Services and the UIP Services can be modelled as .NET interfaces
passing .NET data type arguments. These interfaces and data types are used for the data
exchange and interaction between the UIP and the FDI Client. For runtime error handling
purposes during interface method calls, .NET exceptions classes are defined.
The FDI .NET interfaces, data types, and exception classes are defined in a single FDI Type
Library. The FDI Type Library is a strong-named Assembly. The file name of this Assembly
shall be ‘fdi.dll’. The fdi.dll shall be versioned as per IEC 62769-1:2020, 8.1. The FDI Type
Library is part of the FDI Core Technology as per IEC 62769-1:2020, 8.3.2.1 and therefore
directly influences the FDI Technology Version. All Compatible changes of the fdi.dll lead to
an increase of the minor portion of the FDI Technology Version. Incompatible changes lead to
an increase of the major portion of the FDI Technology Version (see IEC 62769-1:2020,
8.3.2.2).
The FDI Type Library is signed with a single unique key by the issuer of the file. The FDI Type
Library shall be installed separately as part of every FDI Client installation. User Interface
Plug-Ins (UIP) and the FDI Client Application shall use this instance of the fdi.dll. UIPs shall
not carry or deploy the FDI Type Library. The FDI Client is responsible to provide means to
allow updates of this type library over time.
Figure 1 shows the FDI Type Library structure.

– 10 – IEC 62769-6:2021 © IEC 2021

NOTE The composite structure diagram shows only the core interfaces that implement the interfaces defined in
IEC 62769-2.
Figure 1 – FDI Type Library structure
4.2 UIP representation
The UIP Variant can contain either a single or multiple runtime modules (.NET Assembly) and
their related supplementary files (for example: resource files). The runtime module of the UIP
Variant is called "UIP executable". The supplementary file(s) of the UIP Variant is/are called
"UIP supplement(s)".
UIP supplement(s) is/are stored under (a) subfolder(s) of the UIP executable installation
directory.
EXAMPLE Resource files and application configuration data.
The RuntimeId of a UIP Variant shall be ".NET Framework CLR4", see IEC 62769-4. FDI
Clients supporting this RuntimeId shall support the .NET Framework 4.6.1 or higher using the
CLR4 and UIPs with this RuntimeId shall use the .NET Framework 4.6.1 or lower supporting
the CLR4 (meaning .NET Framework 4.0 up to .NET Framework 4.6.1).
The UIP Variant shall be self-contained. All UIP required libraries (.NET Assemblies) required
by a UIP Variant are stored within the same Folder.

IEC 62769-6:2021 © IEC 2021 – 11 –
4.3 UIP executable representation
The implementation of the UIP depends on the type of user interface elements that can be
embedded into the user interface hosting environment of the FDI Client. UIP shall be
implemented as a .NET System.Windows.Forms class UserControl or a Windows
Presentation Foundation (WPF) System.Windows.Controls class UserControl.
UIP executables and their required libraries shall have strong names. The signing of a strong-
named Assembly can be done using a self-generated key.
NOTE The identity of strong-named Assemblies consists of a name, version, culture, public key token and digital
signature.
UIP executables and their required libraries shall be shipped with file containing the public
key in order to enable Assembly verification.
4.4 UIP executable compatibility rules
The compatibility rules for different versions of the UIP component are specified in
IEC 62769-4.
The compilation target platform for the UIP shall be "anyCPU". If this is not feasible, the UIP
shall be shipped in two variants. One UIP variant shall be compiled for target platform "x86".
The second UIP variant shall be compiled for target platform "x64". The compilation platform
target shall be described in the catalog.xml file, which is defined in IEC 62769-4. This
catalog.xml file contains an xml element "CpuInformation" that describes the User Interface
Plug-in variant. The allowed values that shall be used in the xml element "CpuInformation" are
"anyCPU", "x86" or "x64".
4.5 Allowed .NET Common Language Run-time versions
4.5.1 General
Specific CLR (Common Language Run-time) versions are released for the execution of
software components built with specific .NET Framework versions. The .NET CLR version 4.0
is used to execute software components built with .NET Framework 4.0. .NET Components
are built for one CLR version only but can be capable to run also under a newer CLR version.
FDI Clients can be built based on CLR version 4.0 or future versions. An FDI Client has to
realize the following situations when starting a UIP.
• When the UIP to be started was built for the same run-time, the UIP can be started by the
FDI Client as usual.
• When the UIP to be started was built with another CLR version and is not compiled for the
current running CLR version, the FDI Client shall start the UIP in a surrogate process with
the adequate CLR version. (More details are described in 4.5.2.)
Taking this behavior in account, a UIP shall be developed for CLR version 4.0 or any future
version. If the CLR versions do not match, the UIP shall be started in a separate process. The
UIP will then not be displayed as an integrated module within the FDI Client. It is up to the
FDI Client to realize the surrogate process.
4.5.2 CLR compatibility strategy
In the future, FDI Clients and UIPs will be permitted to be built on different incompatible
versions of the CLR.
If an FDI Client detects that a UIP requires a CLR that is not compatible with the FDI Client,
the FDI Client can use a proxy class that enables interaction with the UIP built using a
different version of the CLR.
– 12 – IEC 62769-6:2021 © IEC 2021
The FDI Client loads a proxy UIP executable, creates an instance of the proxy class, and
delegates the execution of the UIP to this proxy. The proxy starts a process with the required
CLR and executes the UIP in this surrogate process. The proxy classes provide the standard
FDI interfaces. The FDI Client can use these interfaces to interact with the UIP executed in
the surrogate process.
IEC
Figure 2 – .NET surrogate process
4.5.3 How to identify the .NET target platform of a UIP
The .NET target platform CLR version information for which a certain Assembly is compiled
can be extracted by means of .NET Framework library functions (see Figure 3).

Figure 3 – Identification of Run-time Version
NOTE The Visual Studio 2008 and 2010 IDE allow developers to select the .NET Framework target. The
selection of a .NET Framework target older than the base for the current Visual Studio IDE automatically creates a
configuration file listed as "app.config" within the solution explorer. This file only reflects the current complier
setting. The compiler does not read that file.
4.6 UIP Deployment
The general UIP installation rules are outlined in IEC 62769-2. The UIP executable shall not
be registered within the Global Assembly Cache.
The "strong-name" rule ensures that related Assemblies of different versions of the UIP can
coexist during runtime.
The FDI Client implementation ensures that UIP deployment works independently from current
user credentials. See the NOTE below.
___________
Visual Studio is an example of a suitable product available commercially. This information is given for the
convenience of users of this document and does not constitute an endorsement by IEC of this product.

IEC 62769-6:2021 © IEC 2021 – 13 –
NOTE Certain operating system managed folders require specific access rights, for example, modifications in
folder "Program Files" require "Administrator" rights. The Windows operating system provides several means to
allow an application running with restricted user rights to execute actions with administrator privileges transparent
to the user, for example, special restriction handling for identified directories, services with administration rights,
executables that are configured to automatically run with administration rights. The alternative is to copy UIP
executables into folders writeable for "normal" users.
4.7 UIP Lifecycle
4.7.1 General
The UIP state machine, outlined in IEC 62769-4, is composed of the Loaded, Created,
Operational, Deactivated and Disposed states. The mechanisms affecting state changes are
described in 4.7.
After the FDI Client has stored the UIP executable on the FDI Client, the FDI Client loads the
UIP Assemblies dynamically into the memory and executes the related logic by calling the
corresponding FDI-specified interface functions.
Subclause 4.7 describes rules about how the FDI Client shall activate and deactivate the UIP.
4.7.2 UIP Assembly activation steps
4.7.2.1 Load
The FDI Client shall load the UIP executables by using the LoadFrom mechanism. The .NET
framework provides System.Reflection.Assembly.LoadFrom for this purpose:
The LoadFrom mechanism behaves as follows.
• LoadFrom loads the Assembly addressed with the file path and also the referenced
Assemblies located within same directory. The argument string assemblyFile shall contain
the file name of the UIP executable. The file name of the UIP executable represents the
StartElementName described in IEC 62769-4.
• If an Assembly is loaded with LoadFrom, and later an Assembly in the "load context"
attempts to load the same Assembly by display name, then this load attempt fails.
• If an Assembly with the same identity is already loaded (for example, by another UIP),
then LoadFrom returns the Assembly that has been loaded before, even if a different file
path was specified. Even a different file name does not matter. Only the identity of the
Assembly is relevant.
• If an Assembly is loaded with LoadFrom, and the probing path includes an Assembly with
the same identity (for example, in the Global Assembly Cache or an application directory),
then this Assembly is loaded, even if a different file path was specified.
• LoadFrom requires the permissions FileIOPermissionAccess.Read and
FileIOPermissionAccess.PathDiscovery, or WebPermission, on the specified path.
• LoadFrom loads the assembly into the default Application Domain.
• If a native Assembly image (generated by ngen.exe) exists for the specified file path, then
it is not used. The Assembly cannot be loaded as domain neutral, i.e. the Assembly
cannot be shared between Application Domains.
This behavior enforces deployment rules as follows.
• Rules regarding Assembly dependencies (see 4.7.2.4.2).
The FDI Client shall only use LoadFrom. The use of other .NET Assembly loading/object
creation means is not allowed.
• Rules regarding shared Assemblies (see 4.7.2.4.3).
• A pre-compiled processor-specific machine code cannot be used.

– 14 – IEC 62769-6:2021 © IEC 2021
• The security aspects regarding loading and execution of Assemblies are described in 4.9.
4.7.2.2 Create
Creating an instance of the UIP Assembly works using the .net library functions
System.Reflection.Assembly.GetTypes and System.Activator.CreateInstance. The
FDI type library declares a "custom attribute" named UIPActivationClass. This attribute
shall only be added to the object implementing the interface IDtmUiFunction that actually
implements the UIP start-up function. The attribute UIPActivationClass shall be used once
only.
The FDI Client can now use System.Reflection services to clearly determine the UIP
implemented activation procedure.
NOTE 1 Function System.Reflection.Assembly.GetTypes can be used to query the interface IDtmUiFunction.
NOTE 2 Function System.Attribute.GetCustomAttributes can be used for reading the additional custom attributes.
NOTE 3 The result of function invocation System.Activator.CreateInstance is an object of type IDtmUiFunction.
A data-type cast is needed.
4.7.2.3 Activate
Invocation of function IDtmUiFunction.Init finally activates the UIP for the user.
4.7.2.4 External libraries
4.7.2.4.1 General
UIP Assemblies can depend on external libraries (third-party libraries) and other Assemblies,
for example, specific user control libraries. FDI Clients do not perform installation of UIPs,
rather they dynamically load and execute the UIP. To support this usage, as well as the
requirement to prevent possible problems of conflicting Assemblies, rules are specified for
external libraries.
External libraries shall:
• be contained within the FDI Package;
• not require Microsoft Installer (MSI) installation;
• not require entries in the Windows Registry or the Global Assembly Cache;
• adhere to the access restrictions described in 4.9.2;
• be compatible with the platforms described in 4.1.2.
4.7.2.4.2 Loading of external libraries
The FDI Client loads the UIP Assembly, containing the UIP main class implementing interface
IDtmUiFunction, by invocation of the .NET framework function LoadFrom. Referenced
Assemblies that are stored in the same directory are automatically loaded together with
this .NET Assembly. Referenced Assemblies that are stored in other locations (for example, in
a sub-directory) have to be loaded explicitly by the UIP itself.
The UIP shall load such Assemblies also by invocation of the .NET framework function
LoadFrom. Loading Assemblies with other .NET framework methods is not allowed.
Usage of external libraries shall not break the self-containment requirement for FDI Packages;
all external libraries shall be included in the FDI UIP Package.

IEC 62769-6:2021 © IEC 2021 – 15 –
4.7.2.4.3 Loading of shared external libraries
An external library is a shared external library if a related .NET Assembly identity can be used
from different UIP executables. The identity of a .NET Assembly matters. Installation path and
Assembly filename are not relevant.
Usage of shared libraries shall not break the self-containment requirement for FDI Packages.
Each of the delivered FDI Packages shall be shipped with all required UIP related libraries.
The sharing mechanism comes from the .NET framework implemented optimization
mechanism.
If a shared Assembly is used, then the following rules apply.
• Any incompatible change to the shared Assembly shall lead to a new identity, for example,
different version number.
• Shared Assemblies shall not presume to be loaded from a specific installation path, for
example, rely on the fact that some files are stored in the same directory or in a
sub-directory.
• Static variables in shared Assemblies are also shared if the Assembly is loaded into the
same Application Domain. Thus, static variables shall not have side effects in such
scenarios. External shared libraries shall not declare static variables.
• Because of the self-containment rule defined for the FDI Package, shared Assemblies
shall be deployed with all FDI Packages using a shared Assembly.
4.7.2.5 UIP Constructor invocation
Constructor and destructor implementation shall not throw exceptions. The constructor logic
shall be limited to instantiate the object in terms of the internal data structure. The destructor
logic shall be limited to destroy the object in terms of releasing memory resources. The
constructor and the destructor shall not:
• invoke any call-back to the FDI Client,
• invoke any user interaction.
4.7.3 UIP Assembly deactivation steps
4.7.3.1 Deactivate
For UIP deactivation the FDI Client shall call the interface IDtmUiFunction.BeginClose and
IDtmUiFunction.EndClose. On successful execution the UIP shall release all resources and
the FDI Client shall delete all references to the UIP instance. The .NET garbage collector
finally disposes the UIP runtime object.
4.7.3.2 Dispose
A .NET Assembly that is loaded into a process respectively into the related
ApplicationDomain is never unloaded, except if the ApplicationDomain itself is destroyed.
That means if the FDI Client loads a UIP Assembly into the default ApplicationDomain, then
these Assemblies and all dependent Assemblies are never unloaded unless the application is
closed.
The UIP Assemblies shall be developed with this .NET framework behavior in mind. To reduce
the memory consumption, the following rules apply.
• Minimize the use of static variables, because these increase the memory consumption of
the Assembly.
• Move UIP functionality that is not always (or rarely) needed to separate Assemblies.
These Assemblies are then only automatically or manually loaded when the corresponding
code is executed.
– 16 – IEC 62769-6:2021 © IEC 2021
• Use shared Assemblies whenever possible.
• The FDI Client can execute .NET Assemblies in a separate Application Domain in order to
have the ability to unload them.
4.8 Interaction between an FDI Client and a UIP
4.8.1 Handling of standard UI elements
UIPs shall delegate the presentation and handling of standard UI elements to the FDI Client.
The standard UI elements are:
• UI Actions with standardized semantics (Apply/Close/Online Help), and
• UIP Specific status information.
To ensure a consistent user interface interaction across UIPs from different vendors, a UIP
may delegate presentation and handling of additional UIP specific actions to the FDI Client.
Nonetheless, UIPs are allowed to implement non-standard UI actions within their own UI area.
The set of standard UI actions and their respective semantics is fixed. However, the
availability of these actions may change at any time depending on the internal state of the
UIP. The set of additional UIP specific actions and their individual availability is not fixed. A
UIP may add, remove, rename, enable or disable the UIP specific actions at any time
depending on its requirements. The UIP has to inform the FDI Client whenever the availability
of its standard actions or UIP specific actions changes (see events
IStandardActions.StandardActionItemSetChanged and
IApplicationSpecificActions. ApplicationSpecificActionItemSetChanged).
An FDI Client may use dedicated UI elements, e.g. button controls, to provide direct access to
the standard actions, as well as indirectly invoke them in the context of user interaction with
other FDI Client UI elements. FDI Client shall always show all custom actions exposed by a
UIP with dedicated UI elements.
4.8.2 Non-blocking service execution
4.8.2.1 FDI Client internal functions
The implementation of function BeginOperationName shall copy the content of Argument
asyncState into member AsyncState of the returned IAsyncResult object.
The productive (time-consuming) part of the function named OperationName shall be
performed in a different thread. The synchronization with the calling thread is handled via the
AsyncWaitHandle object (class WaitHandle), which is also a member of the IAsyncResult
object.
When processing of the productive part of the function named OperationName has finished,
the IAsyncResult objects attribute IsCompleted shall be set to True. If the AsyncCallBack
argument value is valid (not equal NULL), the FDI Client notifies the UIP using the callback.
The implementation of CancelOperationName uses the argument IAsyncResult to identify
the service that has been started with BeginOperationName. If BeginOperationName started
an OPCUA service, the FDI Client shall call the OPCUA defined Cancel service.
4.8.2.2 UIP internal functi
...

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...