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

IEC 62769-6:2021 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.

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

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.

General Information

Status
Published
Publication Date
04-Feb-2021
Current Stage
DELPUB - Deleted Publication
Start Date
06-Apr-2023
Completion Date
28-Jan-2022
Ref Project

Relations

Overview

IEC 62769-6:2021 - Field Device Integration (FDI) Part 6: Technology Mapping defines the technology mapping for the FDI concepts and information model specifically for the WORKSTATION platform/.NET (as referenced in IEC 62769-4). The standard describes how FDI Clients and User Interface Plug‑ins (UIPs) are implemented, activated, hosted and secured in a .NET workstation environment. Edition 2.0 (2021) supersedes the 2015 edition and includes a redesigned UIP security concept.

Key topics and technical requirements

The standard focuses on practical implementation rules and includes the following technical topics:

  • Platform targeting: technology edition reference and mapping to the WORKSTATION/.NET platform.
  • FDI Type Library structure and how device type information is represented.
  • UIP representation and executable rules: packaging, compatibility rules and how to identify the .NET target platform for a UIP.
  • .NET runtime guidance: allowed Common Language Runtime (CLR) versions and a CLR compatibility strategy (including the use of a surrogate process model).
  • UIP lifecycle and deployment: installation/deployment, assembly activation and deactivation steps, and UIP lifecycle management.
  • Client–UIP interaction patterns:
    • Handling standard UI elements
    • Asynchronous (non‑blocking) and blocking service execution patterns (including IAsyncPattern and IAsyncResult patterns)
    • Cancelation, threading, timeouts and exception handling
    • Type‑safe interfaces, globalization/localization
    • WPF and Windows Forms control handling
  • Security and code identity: access permissions, code identity concept and a redesigned security model for UIP execution.
  • Service and interface definitions: base property, device model, access control, direct access, hosting and UIP service tables and base data/special types.

Practical applications

IEC 62769-6 is used to ensure interoperable, secure and robust implementation of workstation FDI components in process and factory automation software. Typical applications include:

  • Implementing FDI Clients that host device-specific UIPs on Windows/.NET workstations.
  • Developing UIPs (device-specific UI modules) that conform to lifecycle, threading, and security expectations.
  • Packaging and deploying FDI packages so device vendors’ tools run reliably within automation engineering workstations.
  • Auditing or certifying FDI client/UIP implementations for compatibility with the FDI information model and runtime rules.

Who should use this standard

  • Device vendors and software developers building UIPs
  • FDI Client implementers and system integrators
  • Automation suppliers, control system architects and QA/test teams
  • Technical teams responsible for deployment, security and lifecycle management of FDI components

Related standards (FDI series)

  • IEC 62769-1 to -7 (Overview, FDI Client, FDI Server, Packages, Information Model, Technology Mapping, Communication Devices)
  • Additional profile parts (e.g., -100, -101, -103, -109, -115, -150 series)

Keywords: IEC 62769-6, Field Device Integration, FDI, Technology Mapping, UIP, FDI Client, .NET, workstation, UIP lifecycle, CLR compatibility, FDI Type Library.

Standard
IEC 62769-6:2021 RLV - Field Device Integration (FDI) - Part 6: Technology Mapping Released:2/5/2021 Isbn:9782832293980
English language
83 pages
sale 15% off
Preview
sale 15% off
Preview
Standard
IEC 62769-6:2021 - Field Device Integration (FDI) - Part 6: Technology Mapping
English and French language
52 pages
sale 15% off
Preview
sale 15% off
Preview

Frequently Asked Questions

IEC 62769-6:2021 is a standard published by the International Electrotechnical Commission (IEC). Its full title is "Field Device Integration (FDI) - Part 6: Technology Mapping". This standard covers: IEC 62769-6:2021 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.

IEC 62769-6:2021 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.

IEC 62769-6:2021 is classified under the following ICS (International Classification for Standards) categories: 25.040.40 - Industrial process measurement and control; 35.100.05 - Multilayer applications. The ICS classification helps identify the subject area and facilitates finding related standards.

IEC 62769-6:2021 has the following relationships with other standards: It is inter standard links to IEC 62769-6-200:2023, IEC 62769-6-100:2023, IEC 62769-6:2015, IEC 62769-6:2023. Understanding these relationships helps ensure you are using the most current and applicable version of the standard.

You can purchase IEC 62769-6:2021 directly from iTeh Standards. The document is available in PDF format and is delivered instantly after payment. Add the standard to your cart and complete the secure checkout process. iTeh Standards is an authorized distributor of IEC standards.

Standards Content (Sample)


IEC 62769-6 ®
Edition 2.0 2021-02
REDLINE VERSION
INTERNATIONAL
STANDARD
colour
inside
Field device integration (FDI) –
Part 6: FDI Technology Mapping

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.

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.
colour
inside
IEC publications search - webstore.iec.ch/advsearchform IEC online collection - oc.iec.ch
The advanced search enables to find IEC publications by a Discover our powerful search engine and read freely all the
variety of criteria (reference number, text, technical publications previews. With a subscription you will always
committee, …). It also gives information on projects, replaced have access to up to date content tailored to your needs.
and withdrawn publications.
Electropedia - www.electropedia.org
IEC Just Published - webstore.iec.ch/justpublished
The world's leading online dictionary on electrotechnology,
Stay up to date on all new IEC publications. Just Published
containing more than 22 000 terminological entries in English
details all new publications released. Available online and
and French, with equivalent terms in 18 additional languages.
once a month by email.
Also known as the International Electrotechnical Vocabulary

(IEV) online.
IEC Customer Service Centre - webstore.iec.ch/csc

If you wish to give us your feedback on this publication or
need further assistance, please contact the Customer Service
Centre: sales@iec.ch.
IEC 62769-6 ®
Edition 2.0 2021-02
REDLINE VERSION
INTERNATIONAL
STANDARD
colourcolour
insinsiidede
Field device integration (FDI) –

Part 6: FDI Technology Mapping

INTERNATIONAL
ELECTROTECHNICAL
COMMISSION
ICS 25.040.40; 35.100.05 ISBN 978-2-8322-9398-0

– 2 – IEC 62769-6:2021 RLV © IEC 2021

CONTENTS
FOREWORD . 4

INTRODUCTION . 2

1 Scope . 8

2 Normative references . 8

3 Terms, definitions, abbreviated terms, acronyms symbols and conventions . 9

3.1 Terms and definitions . 9

3.2 Abbreviated terms and acronyms . 9
3.3 Symbols . 9
3.4 Conventions . 10
4 Technical concepts . 10
4.1 General . 10
4.1.1 Overview . 10
4.1.2 Platforms . 10
4.1.3 FDI Type Library . 10
4.2 UIP representation . 12
4.3 UIP executable representation . 12
4.4 UIP executable compatibility rules . 12
4.5 Allowed .NET Common Language Run-time versions . 13
4.5.1 General . 13
4.5.2 CLR compatibility strategy . 13
4.5.3 How to identify the .NET target platform of a UIP . 14
4.6 Installing UIP Deployment . 14
4.7 UIP Lifecycle. 15
4.7.1 General . 15
4.7.2 UIP Assembly activation steps . 15
4.7.3 UIP Assembly deactivation steps . 17
4.8 Interaction between an FDI Client and a UIP . 18
4.8.1 Handling of standard UI elements . 18
4.8.2 Non-blocking service execution . 18
4.8.3 Blocking service execution. 19
4.8.4 Cancel service execution . 20
4.8.5 Threading . 21

4.8.6 Timeout . 21
4.8.7 Exception handling . 22
4.8.8 Type safe interfaces . 23
4.8.9 Globalization and localization . 23
4.8.10 WPF Control handling . 23
4.8.11 Win Form handling . 23
4.9 Security . 23
4.9.1 General . 23
4.9.2 Access permissions . 24
4.9.3 Code identity concept . 24
5 Interface definition . 26
Bibliography .

Figure 1 – FDI Type Library structure . 11

Figure 2 – .NET surrogate process . 13

Figure 3 – Identification of Run-time Version. 14

Figure 4 – IAsyncPattern based asynchronous service execution example . 19

Figure 5 – Blocking service execution example using IAsyncResult based pattern . 20

Figure 6 – Cancel service processing sequence example . 20

Figure 7 – Exception source . 22

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

– 4 – IEC 62769-6:2021 RLV © IEC 2021

INTERNATIONAL ELECTROTECHNICAL COMMISSION

____________
FIELD DEVICE INTEGRATION (FDI) –

Part 6: FDI 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.
This redline version of the official IEC Standard allows the user to identify the changes

made to the previous edition IEC 62769-6:2015. A vertical bar appears in the margin
wherever a change has been made. Additions are in green text, deletions are in
strikethrough red text.
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.

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 RLV © IEC 2021

INTRODUCTION
The International Electrotechnical Commission (IEC) draws attention to the fact that it is claimed

that compliance with this document may involve the use of patents concerning

a) Method for the Supplying and Installation of Device-Specific Functionalities, see Patent

Family DE10357276;
b) Method and device for accessing a functional module of automation system, see Patent

Family EP2182418;
c) Methods and apparatus to reduce memory requirements for process control system software

applications, see Patent Family US2013232186;

d) Extensible Device Object Model, see Patent Family US12/893,680.
IEC takes no position concerning the evidence, validity and scope of this patent right.
The holders of these patent rights have assured the IEC that he/she is willing to negotiate
licences either free of charge or under reasonable and non-discriminatory terms and conditions
with applicants throughout the world. In this respect, the statement of the holder of this patent
right is registered with IEC. Information may be obtained from:
a) ABB Research Ltd
Claes Rytoft
Affolterstrasse 4
Zurich, 8050
Switzerland
b) Phoenix Contact GmbH & Co KG
Intellectual Property, Licenses & Standards
Flachsmarktstrasse 8, 32825 Blomberg
Germany
c) Fisher Controls International LLC
John Dilger, Emerson Process Management LLLP
st
301 S. 1 Avenue, Marshaltown, Iowa 50158
USA
d) Rockwell Automation Technologies, Inc.
1 Allen-Bradley Drive
Mayfield Heights, Ohio 44124
USA
Attention is drawn to the possibility that some of the elements of this document may be the
subject of patent rights other than those identified above. IEC shall not be held responsible for
identifying any or all such patent rights.

ISO (www.iso.org/patents) and IEC (http://patents.iec.ch) maintain on-line data bases of
patents relevant to their standards. Users are encouraged to consult the data bases for the
most up to date information concerning patents.
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

– 8 – IEC 62769-6:2021 RLV © IEC 2021

FIELD DEVICE INTEGRATION (FDI) –

Part 6: FDI 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:2015, Annex E.
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
IEC 61804 (all parts), Function blocks (FB) for process control
IEC 62769-1, Field Device Integration (FDI) – Part 1: Overview
NOTE IEC 62769-1 is technically identical to FDI-2021.
IEC 62769-2, Field Device Integration (FDI) – Part 2: FDI Client

NOTE 1 IEC 62769-2 is technically identical to FDI-2022.
NOTE 2 IEC 62769-2 is technically identical to FDI-2023.
IEC 62769-4:2015, Field Device Integration (FDI) – Part 4: FDI Packages
NOTE IEC 62769-4 is technically identical to FDI-2024.
IEC 62769-5, Field Device Integration (FDI) – Part 5: FDI Information Model
NOTE 1 IEC 62769-5 is technically identical to FDI-2025.
NOTE 2 IEC 62769-5 is technically identical to FDI-2027.
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, acronyms 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
3.1.2
Assembly
reusable, version information providing, and self-describing building block of a CLR application
Note 1 to entry: This note applies to the French language only.
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
Note 1 to entry: This note applies to the French language only.
Note 2 to entry: This note applies to the French language only.
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 and acronyms
For the purposes of this document, the abbreviated terms and acronyms 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).

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

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.
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 20142016
OPC UA (Parts 1-8) IEC 62541 2015 (to be published)

Open Packaging Convention ISO/IEC 29500 20112016
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 FDI Type Library is signed with
a single unique key. The FDI Type Library shall be installed as part of the FDI Client installation
and not with a UIP.
FDI Type Libraries shall not be registered within the Global Assembly Cache.

The FDI Client shall install FDI Library Versions for all Technology Versions that it supports.

The FDI Type Library shall be installed in such way that it is shared between the UIP and the

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

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

– 12 – IEC 62769-6:2021 RLV © IEC 2021

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 IP

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 Examples of UIP supplementary data files include 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.
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 UIP component provided version information consists of:
...

UIP components using the same identity (UipId/IEC 62769-5) that are showing a different value
in position are not compatible with each other. Any other difference showed in the
version information between the same UIP component identities means that those UIP
component identities are compatible. A newer UIP component is allowed to overwrite an older
UIP component without breaking the intended functionality.
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.
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

– 14 – IEC 62769-6:2021 RLV © IEC 2021

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 Installing UIP Deployment
The FDI Server imports the UIP from an FDI Package.
The UIP installation is done per file copy only. The UIP executable shall not be registered within
the Global Assembly Cache. The UIP is installed within a folder structure, which is called the
UIP folder structure. The FDI Client shall manage the UIP folder structure. The UIP folder
structure shall separate the UIP Variants from each other in order to avoid file name conflicts.
UIP executables shall be installed to a path that allows browse read and write access.
Since the FDI Client manages the folder structure the UIP shall not perform any access to an
absolute path. Any file access shall be done relative to the installation root of the UIP.
According the version management described in IEC 62769-4, the coexistence of major version
changes of UIP of the same type shall be supported. This shall be done by installing a newer
UIP into a separate folder. The “strong-name” rule ensures that related Assemblies can coexist
during runtime.
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.
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.
___________
Visual Studio is the trade name of Microsoft Corporation. This information is given for the convenience of users
of this part of IEC 62769 and does not constitute an endorsement by IEC of the trademark holder or any of its
products. Compliance does not require use of the trade name. Use of the trade name requires permission of the
trade name holder. 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.
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.
• The security aspects regarding loading and execution of Assemblies are described in 4.9.

– 16 – IEC 62769-6:2021 RLV © IEC 2021

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.

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.
– 18 – IEC 62769-6:2021 RLV © IEC 2021

• Use shared Assemblies
...


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

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 IEC online collection - oc.iec.ch
The advanced search enables to find IEC publications by a Discover our powerful search engine and read freely all the
variety of criteria (reference number, text, technical publications previews. With a subscription you will always
committee, …). It also gives information on projects, replaced have access to up to date content tailored to your needs.
and withdrawn publications.
Electropedia - www.electropedia.org
IEC Just Published - webstore.iec.ch/justpublished
The world's leading online dictionary on electrotechnology,
Stay up to date on all new IEC publications. Just Published
containing more than 22 000 terminological entries in English
details all new publications released. Available online and
and French, with equivalent terms in 18 additional languages.
once a month by email.
Also known as the International Electrotechnical Vocabulary

(IEV) online.
IEC Customer Service Centre - webstore.iec.ch/csc
If you wish to give us your feedback on this publication or
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 - IEC online collection - oc.iec.ch
webstore.iec.ch/advsearchform Découvrez notre puissant moteur de recherche et consultez
La recherche avancée permet de trouver des publications IEC gratuitement tous les aperçus des publications. Avec un
en utilisant différents critères (numéro de référence, texte, abonnement, vous aurez toujours accès à un contenu à jour
comité d’études, …). Elle donne aussi des informations sur adapté à vos besoins.
les projets et les publications remplacées ou retirées.

Electropedia - www.electropedia.org
IEC Just Published - webstore.iec.ch/justpublished
Le premier dictionnaire d'électrotechnologie en ligne au
Restez informé sur les nouvelles publications IEC. Just
monde, avec plus de 22 000 articles terminologiques en
Published détaille les nouvelles publications parues.
anglais et en français, ainsi que les termes équivalents dans
Disponible en ligne et une fois par mois par email.
16 langues additionnelles. Egalement appelé Vocabulaire

Electrotechnique International (IEV) en ligne.
Service Clients - webstore.iec.ch/csc

Si vous désirez nous donner des commentaires sur cette
publication ou si vous avez des questions contactez-nous:
sales@iec.ch.
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

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.

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

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.

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.

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.

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.

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 functions
The management of multiple asynchronous services in parallel shall be managed using the
AsyncState object.
The IAsyncResult object returned by BeginOperationName contains the WaitHandle object.
The UIP shall perform its own thread synchronization using the WaitHandle object.
4.8.2.3 Non-blocking service execution sequence
The following shows the interaction sequence between the FDI Client and the UIP. The thread
management mechanisms implemented inside the FDI Client are not shown. The Interaction
between an FDI Client and an FDI Server is based on Request/Response pattern. The FDI
Client service request matches with the BeginOperationName. The AsyncCallback invocation
matches with receiving the Client service response. EndOperationName conveys the
response contained results. Implementation of the non-blocking service execution does not
require any thread management inside the FDI Client. Figure 4 shows an example of an
IAsyncPattern based Asynchronous service execution.

IEC
Figure 4 – IAsyncPattern based asynchronous service execution example
4.8.3 Blocking service execution
The FDI Client-provided interfaces allow performing synchronous Information Model
...

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

IEC 62769-6:2021 - Field Device Integration (FDI) - Part 6: Technology Mapping IEC 62769-6:2021은 이전 버전과의 기술적 내용 변경 사항을 보여주는 국제 표준과 레드라인 버전을 포함한 IEC 62769-6:2021 RLV로 제공됩니다. IEC 62769-6:2021은 Field Device Integration (FDI) 표준에 기술된 개념에 대한 기술 매핑을 명시합니다. 기술 매핑은 IEC 62769-4에서 정의된 WORKSTATION 플랫폼/.NET에만 해당되는 FDI Client 및 User Interface Plug-in (UIP) 구성 요소의 구현에 초점을 맞춥니다.

The article discusses IEC 62769-6:2021, which is a standard that specifies the technology mapping for Field Device Integration (FDI). It focuses on the implementation of FDI Client and User Interface Plug-in (UIP) components specific to the WORKSTATION platform/.NET as defined in IEC 62769-4. The article also mentions that IEC 62769-6:2021 is available as a Redline version, which shows all changes compared to the previous edition.

기사 제목: IEC 62769-6:2021 - 필드 장치 통합 (FDI) - 파트 6: 기술 매핑 기사 내용: IEC 62769-6:2021은 이전 판과의 기술적 내용 변경을 보여주는 국제 표준과 Redline 버전을 포함한 IEC 62769-6:2021 RLV로 제공됩니다. IEC 62769-6:2021은 필드 장치 통합 (FDI) 표준에서 기술 매핑을 명시합니다. 이 기술 매핑은 WORKSTATION 플랫폼/.NET에서 정의된 FDI 클라이언트 및 사용자 인터페이스 플러그인 (UIP)과 관련된 구현에 초점을 맞추고 있습니다.

The article discusses IEC 62769-6:2021, which is a standard for Field Device Integration (FDI). This standard specifies the technology mapping for the concepts described in FDI, particularly for the components FDI Client and User Interface Plug-in (UIP) specific to the WORKSTATION platform/.NET. The article also mentions that IEC 62769-6:2021 RLV includes the International Standard and its Redline version, highlighting any changes compared to the previous edition.

記事タイトル:IEC 62769-6:2021 - Field Device Integration (FDI) - Part 6: Technology Mapping 記事内容:IEC 62769-6:2021は、以前のエディションと比較して技術的内容の変更を示した国際標準とその赤線版を含むIEC 62769-6:2021 RLVが利用可能です。 IEC 62769-6:2021は、Field Device Integration (FDI) の概念に対する技術マッピングを規定しています。技術マッピングは、IEC 62769-4で定義されるWORKSTATIONプラットフォーム/.NETに特有のFDIクライアントとユーザーインターフェースプラグイン(UIP)コンポーネントの実装に焦点を当てています。

記事のタイトル:IEC 62769-6:2021 - フィールドデバイスインテグレーション(FDI)- パート6:テクノロジーマッピング 記事の内容:IEC 62769-6:2021は、前バージョンとの技術内容の変更を示す国際標準とRedlineバージョンを含むIEC 62769-6:2021 RLVが利用可能です。 IEC 62769-6:2021は、FDI(フィールドデバイスインテグレーション)の概念に対する技術マッピングを指定しています。この技術マッピングは、WORKSTATIONプラットフォーム/.NETで定義されたFDIクライアントとユーザーインターフェイスプラグイン(UIP)に特化した実装に焦点を当てています。