Members Only | Ezine | Links | Legal Notice | Contact us |



East Bldg #134549


Structuring with SFC
do's & don'ts
V1.0 Official Release


PLCopen Safety
Part 1
Version 2.0 now released


Information Model
V1.01.09 RfC


PLCopen starts
new working group
on Industry 4.0










PLCopen XML now available as IEC 61131-10


Opening up the development environments by specifying XML formats for IEC 61131-3


Background information

Since the release of the IEC 61131-3 program­ming standard, users want to be able to exchange their programs, libraries and projects between software tools like development environments. Although this was not the intent of the standard itself, it was a task that the independent organization PLCopen committed itself to. 

IEC 61131-3 defines programming languages. As such it is a part of a total solution. Other parts are tools for simulation, debugging, version control, documentation and networking, etc. PLCopen has decided years ago to realize interfaces towards these supporting tools. This resulted in a workgroup named TC6 for XML (eXtensible Mark-up Language). This committee defined an open interface which can be used by different kinds of software tools to transfer the information that is on the screen to other platforms. This screen information does not only contain textual information, but also graphical information, like where the function blocks are and how they are connected to each other.

User Pespective

PLCopen wanted to accomplish that, without much additional effort, a project can be trans­ferred from one development environment to another without losing information, even when it is incomplete, syntactically incorrect, or contains compile errors, e.g. such a project could be an in-between version or a project containing several unconnected FBD blocks. This of course is also valid for the POUs, and especially for User Derived Function Block libraries. This means that the program itself has to remain the same, e.g. not be altered during this transfer. The big variety of possibilities has to be brought under one umbrella. And XML provides the right technology for this.

Result of this PLCopen Workgroup

The result of the PLCopen XML work opens the development environment by providing interfaces to other software tools.
As such it will be more than an export / import tool from one development environment to another: it is just a small step to feed for instance a documentation tool with the information. Actually, it is not important where this XML-code is coming from as long as it is recognizable and usable. It could be generated by other tools like simulation and modelling tools, and consumed by verification, documentation, and version control tools.
In principle all relevant information will be exported. The importing tool has to be intelligent in filtering which parts of this information is useful and needs to be imported and used. With this PLCopen creates a complete new market, in which the focus is on reusability of software developments up to whole projects.
This XML exchange format supports life cycle management of automation systems, e.g. in case of redesign, maintenance or device replacement. If an IEC 61131-3 project is stored in this XML format, it could be reused independent of a special development environment. And thus, it could be modified and maintained by any other development environment supporting this standard’s XML exchange format.

Originally the work was done by the PLCopen Technical Committee 6 fits well into the PLCopen mission:

We want to be the leading association resolving topics related to control programming to support the use of international standards in this field. 

With the release of the 3rd edition of IEC 61131-3 in 2013, a major overhaul was needed to include the changes and extensions like object oriented features. This work was done within the IEC committee based on the work of PLCopen TC6 – XML and resulted in IEC 61131-10 PLC open XML exchange format. This new version is not compatible to previous versions of PLCopen XML.

Programming in its environment

As mentioned before, the programming tools are just a part of the whole suite of software tools that can be used to make an application work. The result of the PLCopen XML activity opens the development environment by providing inter­faces to other software tools. In the figure below, one can identify the interfaces around the blue circle.

TC6 - XML: Definition of use cases

The participants identified 4 areas where the specification fits ideal:

1. Exchange format between all five languages;
2. Interface to producers of graphical and logical information, like modelling tools;
3. Interface to consumer of graphical and logical information, like documentation generator and management; and version control;
4. Distribution format for function block libraries.

What is included

With the scope of whole projects, a lot of information needs to be stored in the XML format. And since we do not know upfront which tool will be the consumer of the information, we have to export all potential relevant information. This include items like:

Textual Programming Languages – IL and ST
Graphical Programming Languages – LD, FBD
Structural Language – SFC
Graphical Information, like place and position, and routing of connections
Program Organization Units – (User Derived) Functions and Function Blocks, Programs
(User Derived) Datatypes
Project information (layered structure)
Mapping information
Supplier specific information

This means that the exported file contains ‘every­thing’, including supplier specific information. The consumer side, with the parsing function during input, must contain the intelligence to se­lect the relevant information, and to check on the consistency of this data. For this the tool can use a different scheme. Combining both schemes provide the possibility to check the incom­patibilities, and get the relevant information more easily. This clearly shows the benefits of using XML schemes.


The exchange format is specified as a corresponding XML schema, being an independent file with the .xsd extension and as such part of the specification. Supplier specific extensions can be added – see schema’s below.

Schema with only IEC 61131-3 features (top line) the project XML document should simply specify the formal XML exchange format.
In case the “AddData” mechanism is used in the project, the project XML document should refer to the extended schemata.
In the case supplier specific language extensions are used, the supplier should define their own schema with the extensions besides the standard formal XML exchange format schema
(Abstract complex type)

PLCopen TC6 – XML official release

The PLCopen technical document XML formats for IEC 61131-3 was first released in 2005. Version 2.0 followed in 2008, improving the interface to the virtual factory and the real controllers. An update with some minor changes, version 2.01, was published in 2009. Nowadays the PLCopen XML specification is an integral part of the IEC 61131 suite of specifications with the release of the international standard
IEC 61131-10 PLC open XML exchange format in 2019.

PLCopen members using this technology can be easily identified by the following logo:

The specification will be available at