Vyatkin SoA Web
Vyatkin SoA Web
768-781 1
I. INTRODUCTION
he term “distributed automation” has been
T
Figure 1. Experimental shoe manufacturing facility at ITIA-CNR
subsequently applied to three generations of automated with IEC 61499.
technology. First, with the emergence of field area New types of material handling devices called “terns”
networks, it has become possible to collect data from were developed for this purpose. The terns form easily
sensors distributed across geographically dispersed areas, configurable lines, called “molecular” for their shape. As
while their processing was done centrally in Programmable seen from Figure 2(a), this new equipment allows the
Logic Controllers (PLCs). Second, there were attempts to accommodation of multiple product paths through the
facilitate integration of PLCs into systems communicating system, where each path corresponds to a particular
via networks, by proposing integration component sequence of operations. The IEC 61499 control program of
architectures, such as Modbus-IDA [1] and PROFInet-CBA the molecular line, presented in Figure 2(b), exhibits a high
[2]. Finally, it comes to the genuinely distributed automation degree of code modularity, and therefore enables reusability
development, where the intelligence is designed from the and re-configurability of the equipment. As seen from
very beginning as decentralized and embedded into software Figure 2(b), the line controller uses six instances of the
components, which can be freely distributed across TernControl function block, each of which is a composite of
networked hardware devices. The design of distributed three controller function blocks, representing constituent
systems, in general, has been identified as a grand challenge parts of the tern: Table, Manipulator and Island. Each of
of computing [3]. The IEC 61499 architecture [4] has been these, in turn, is another composite function block. At the
conceived to facilitate the use of distributed automation lowest level in the hierarchy, basic function blocks are
intelligence, but for some time the standard could not make programmed using the state machines language (called
its way to the industrial practice. Now, with the emergence Execution Control Charts, or ECC) and traditional PLC
of professionally made software tools and dozens of languages, such as Ladder Logic Diagrams.
hardware platforms one can expect stronger industrial The function blocks architecture of IEC 61499 has been
interest to the distributed automation. formally voted and published in 2005. Since then, many
First industrial applications of commercial IEC 61499 useful practices have been earned by researchers worldwide.
compliant tools and platforms confirm its benefits in terms According to some researchers, many expectations seem to
of much improved design performance – i.e. the time and have failed [7] while the others see the situation in a more
positive way [8].
State machine
Ladder logic
Resources assigned to HW
Tern Control
a) b)
Figure 2. a) Product flows through the “molecular line”, and b) function block control enabling the flexibility of the “molecular line”.
Taking IEC 61499 as a reference architecture of future It is worth mentioning the difference in attitudes to the
industrial automation information technology (IT), standard by academic and industrial researchers and
researchers have addressed virtually all sides of the IT scope practitioners. Most practitioners take the standard as a
and life cycle: from theoretical formal models to the serious normative document not allowing for any flexibility
business use case scenarios. The corresponding research in interpretation of its provisions. On the other hand, some
publications can be roughly sorted into three following researchers (from the more theoretical end of the spectrum),
categories: easily propose fundamental changes to the nature of the
First of all, the research works focused on various aspects standard, using it rather as the inspiration source for further
of IEC 61499 implementation. The standard proposes an enhancement in automation technology. This often creates
abstract executable model of distributed systems, leaving confusion and difficulty in understanding the applicability of
unanswered many questions related to the methods of its research results to industrial problems. This paper attempts
implementation. These issues needed to be addressed before to help by reviewing the state of the art in IEC 61499 related
compliant systems could be developed, or were addressed research and its impact on the implementation of compliant
during such development efforts. In this survey 20 works tools, devices and applications. It follows the line of several
can be classified as belonging to this group. surveys published recently e.g. [21-23], extending them with
Another large set of research works tried to prove the the fresh research results and discussing the older references
claimed benefits of IEC 61499 as compared to the solutions from those particular perspectives. There are some
currently used in the field, for example, PLC architecture of introductory books on the topic by Lewis [24], Lastra et al.
IEC 61131-3 standard [9], or the general purpose languages [25] and the author [26]. Given the availability of
implemented on industrial personal computers (IPCs) and introductory material on IEC 61499, in this paper no
embedded devices. This class also includes works on comprehensive introduction to this architecture is provided.
migration from other architectures to IEC 61499 and The rest of the paper is structured as follows. In Section II
accounts for 40 works in this survey. the key features of IEC 61499 are presented. Several
Many research works have been trying to introduce concerns on IEC 61499 expressed by researchers and
various trendy ideas from computer science into the practitioners are discussed in Section III. One such concern
industrial automation context using IEC 61499 as a vehicle. related to semantic ambiguities of the IEC 61499 execution
To mention a few, one can cite object-oriented architectures is discussed in more detail in Section IV. In Section V, the
and design patterns [10], in particular UML-based design related developments are presented. Section VI
engineering [11-15], new execution models inspired by reviews the progress related to execution of function block
different formalisms [16, 17], formal verification, semantic applications. Section VII discusses verification and
Web technologies [18], web services, ontologies [19], and validation related research and development efforts. In
automatic program transformations (refactoring) [20]. In Section VIII the first industrial installations are mentioned
most cases, these research works demonstrate the potential and the motivation of early adopters is discussed. The paper
of IEC 61499 to implement those techniques in a much is concluded with a summary, outlook and the list of
more consistent way than any existing IT technology used in references.
industrial automation. About 40 related works are cited in
this survey.
IEEE Transactions on Industrial Informatics, 7(4), 2011, pp. 768-781 3
FB2.DI2 which now receives the value 3). However, the reaction of a program to some erroneous situations that can
queuing of events implies the possibility to lose events in happen in any state. Defining these leads to the ECC
case of queue overflow. One should also note that the data cluttered with many connections to the “Exception” state
buffers will be overwritten with the freshest value, so it may and back (for the recovery).
happen that an event will activate FB with data completely The standard model of dealing with this problem is
different from those which were calculated at the moment exemplified in Harel’s State Charts [39], where hierarchical
when the event was emitted. states are allowed. One can combine all states of the control
The issue of guaranteeing hard-real time constraints of algorithm to such a composite state and describe a single
IEC 61499 applications has been comprehensively “exception transition” for the whole group.
addressed by Zoitl in [37]. Kuo et al. [34] use formal Shaw et al. [40] proposed the use of hierarchical state
modelling to estimate the longest computational path to machines in place of ECC in basic function blocks. This
predict worst case execution time. representation, called HCECC, however, requires non-
compliant syntax thus affecting the portability. HCECC can
be compiled to the standard “flat” ECC, but reverse
D. IP Protection vs. Openness
engineering is not possible. In general, this solution seems to
Many practitioners raise the issue of intellectual property be overkill for solving the exception handling problem only.
protection in IEC 61499 due to the open XML There is no doubt in the usefulness of hierarchical state
representation format. machines as a design artefact, but, in the IEC 61499 context
Solutions of this problem are not different from other a similar effect is achieved using composite function blocks.
programming frameworks. Instead of supplying full source Future software tools could support a “hierarchical state
code of a function block whose content needs to be machine” front-end with dual conversion to/from nested
protected, the vendor can provide a library of blocks composite FB types.
compiled for a particular platform. This can be supplied
along with a “bridged” XML representation containing only F. The “chicken and egg” problem of tools
interface and, possibly, the service sequences describing the The standard has inspired many researchers to create
overall behaviour of the FB without revealing sensitive supporting software tools. The usual implementation tool set
implementation details. Using the “compilation to includes a workbench for editing function block designs and
hardware” technique, discussed later in Section VI, D, one translating them into executable form, and some kind of
can achieve even more protection of intellectual property. run-time environment, that supports the execution of the
An illustration of the service sequences mechanism of executable code.
IEC 61499 is provided in Figure 5. The function block The most developed examples of such research-oriented
IN_EVENT (whose source code is hidden) implements a workbenches are FBDK [32] and 4DIAC-IDE [33]. These
“button” on screen which can be used to interact with FB have been supported with a consistent development effort
applications. The FB implements four operation sequences: until now, with 4DIAC-IDE being an open source project.
normal establishment, normal termination, normal Substantial development effort has been invested to
operation, and operation inhibited. The illustrated “normal CORFU/Archimedes [41] and another open source project
operation” sequence describes the scenario which starts with FBench [42], but at the moment these tools do not seem to
a click or key pressing on the button. After some short be continuously supported. There are a few others, less
delay, the output qualifier is set to 1 and event at the output developed ones, like FBLab [43].
IND is emitted. Runtime environments include FBRT [32], FORTE [33],
FUBER [44] and Cyclic RT [29]. Some of the solutions,
such as synchronous compiler [28], claim not to require any
run-time support as they generate the complete executable
file to be placed to the desired embedded target platform.
These tools have been successfully applied in many
automation projects but mostly in academic and research
labs. However, there is a barrier of using them in industry.
The commercial PLC tools provide a high level of design
and remote debugging support that is hard to compete with.
Achieving this level of maturity, acceptable for industry,
requires years of development and improvements.
Figure 5. Description of function block functionality using service
sequences [26]. First attempts to overcome this barrier are commercial
developments ISaGRAF [45] and NxtStudio [46].
Given the service sequences, one can partially reconstruct ISaGRAF (since 2008, a Rockwell Automation company)
the execution logic of the function block and of the entire combines the support of both standards IEC 61131-3 and
system without knowing sensitive details of the IEC 61499, so it is possible to develop distributed control
implementation. applications together with the use of PLC languages. This
E. Expressive power of design tool supports a very seamless way of code distribution to the
networking devices. The workbench automatically inserts
The use of communicating state machines (ECCs of basic
communication code where it is required, while the user
FBs) for programming distributed systems has been quickly
sees only the global picture of the entire distributed
identified by many researches and practitioners as a very
application.
convenient feature of IEC 61499.
NxtStudio (developed by an Austrian company
However, one necessary part of programming badly
nxtControl) integrates distributed control approach based on
supported in IEC 61499 is exceptions handling, that is the
IEEE Transactions on Industrial Informatics, 7(4), 2011, pp. 768-781 6
IEC 61499 with SCADA1. It is an industrial grade the determinism of the cyclic scan semantics of PLCs. These
engineering environment which supports the design of have been implemented in several run-time environments,
control applications and visualization together in one tool. including ISaGRAF. However in such models the following
This approach has great advantages in productivity and problematic situations can occur:
reuse of both control and visualization components. Several - Several events can arrive to the inputs of the same FB
features of NxtStudio have long been expected from IEC simultaneously;
61499, for example, the debugging and online-monitoring - The syntax of IEC 61499 does not allow to detect the
infrastructure, allowing to remotely debug single FBs as simultaneity of events inside the FB;
well as fully distributed applications. Another feature is the As a result, a FB, written for such models may run
automatic generation of the communication during the differently in other execution environments and vice versa.
distribution process of the application. This greatly reduces We will illustrate the impact of semantic differences on the
the engineering effort when distributed control applications following simple example of a baggage handling system
are designed. (BHS).
With these two powerful tools already on the market, the Example. As illustrated in Figure 6, two conveyors C1 and
developers have sufficient choice in trying out the benefits C2 merge bag flows to conveyor C3. The bag tracking
of IEC 61499. function of this BHS is implemented in a distributed way, so
that one function block is responsible for knowing the bags’
G. High educational threshold
location within its respective conveyor section as shown in
Many practitioners are afraid that IEC 61499 requires a Figure 7,a (more on distributed BHS control in [55] and
steep learning curve. This is partially true, as it introduces a [56]). When a bag leaves the conveyor to the downstream
lot of new concepts compared to PLC technology. On the conveyor, its record is passed to the corresponding
other hand, it is the author’s personal experience that IEC downstream function block.
61499 is very easy to learn and use by the current generation
of students. When young control engineers learn IEC 61499,
many of them get a feeling of some déjà vu of something
very intuitive and familiar they have been looking for but
could not find among the available PLC programming
technologies.
B. Execution differences
However, the original semantic ambiguities of the standard
gave rise to a number of execution models such as the cyclic
and synchronous execution models which attempt to
“combine” the event-driven execution of IEC 61499 with
1
Supervisory Control and Automation Development Architecture
IEEE Transactions on Industrial Informatics, 7(4), 2011, pp. 768-781 7
Figure 7. Distributed control of the merging conveyors in IEC 61499 [61] demonstrated the use of UML for addressing a number
function blocks.
of practical issues related to automation systems design with
IEC 61499. An interesting comparison of the IEC 61499
In the “pure” event-driven implementation platforms, such modelling artefacts with state-charts and Petri nets was done
as FORTE, NxtForte and FBRT, in a rare, but possible case by Barji et al. in [62].
of simultaneous detection of bags by sensors S1 and S2, two SysML is a UML derivative for engineering applications
events will appear at the input interface of C3. The function that is getting increasingly popular. In particular, SysML is
block C3 will be invoked twice, and, as a result, no bag well supporting such design phases as requirements
record will be lost. capturing and formalization of specifications. Hirsch et al.
In the cyclic or synchronous semantics both events arrive [63, 64] provide a pathway for linking function block
simultaneously and the C3 block gets activated only once. technology with SysML.
The priority of input event processing will determine which One can summarize the rationale of combining
record will be added to the database and which one will be UML/SysML and IEC 61499 as shown in Figure 9. The
potentially discarded and lost. graph represents developer performance through system
To be able to resolve this situation within mrg_conv FB, engineering steps with both types of technologies.
it is required to detect the situation of simultaneous arrival UML/SysML better support the top-down design and
of events to the FB inputs. It could be done as shown in requirements engineering. However, they are less efficient
Figure 8. Here the transition WAIT -> S12 has condition when it comes to the deployment to distributed embedded
that includes both input events: EI1 and EI2. However, the targets. Also legacy PLC programming (such as ladder
IEC 61499 syntax fundamentally prohibits the use of two logic) is not supported there. As illustrated in Figure
event names in the condition transition. 9Error! Reference source not found., the efficiency of
SysML development is high in the early design stages and
lower in the deployment and maintenance.
On the other hand, the IEC 61499 distributed architecture,
copes well with the problems of code generation,
deployment and reconfiguration, but offers less support at
the initial design steps. Their combination intends to bring
best of both worlds as it is conceptually illustrated in Error!
Reference source not found.. One should note that
quantification of software methodologies impact is a very
hard to achieve.
Figure 8. “Impossible ECC” which could detect the simultaneity
of input events.
V. DESIGN
The natural expectation from the system-level architecture
like IEC 61499 is that it improves considerably the designer
performance, which is expected to result from increasing the
level of design, i.e. using design artefacts of higher
abstraction level.
A. Redefining model-driven design
Model-driven engineering is the major trend in software
engineering. For example, UML technologies and tools are
widely used in all sectors of industry to support the design
of complex software systems. Matlab/Simulink is used in Figure 9. Desired properties of the UML/SysML + IEC 61499 combination.
embedded systems design for the same purpose.
The function blocks architecture of IEC 61499 is clearly However, there is one more reason to call the design in
following these trends, providing the developer a mix of the IEC 61499 framework model-driven. Christensen has
models that include distributed system model composed of proposed in [10] a number of design patterns, among which
devices, device model composed of independent resources, the adaptation of Model-View-Control to IEC 61499 and
application model as a block diagram composed of function industrial automation. In this context the Model is
block instances, basic function block model specified as a understood as a precise behavioural model of the plant. An
state machine, and algorithm model that can be specified in example of MVC use can be found in [65], Ch. 13-16. The
any programming language, including those of PLC world. concept of Automation Object (AO) [18, 66, 67] is an
An early survey of related modelling techniques can be attempt to generalize the FB concept to represent a machine
found in [57]. Bonfé and Fantuzzi [58] and Thramboulidis or a mechatronic part thereof. The Intelligent Mechatronic
[12] have introduced the use of UML in automation and in Component (IMC) [68] concept is an AO implemented
particular in IEC 61499 context. The latter work proposed using the MVC pattern, thus enabling simulation and
generation of function blocks from UML diagrams, while visualization along with deployment of controls.
Dubinin proposed the UML-FB architecture with both ways
B. NxtControl concept of CAT
of generation of UML diagrams from function block designs
and vice versa in [59]. In [60] Thramboulidis proposed IEC The MVC design pattern has motivated NxtControl to
61499-based concept of model-integrated mechatronic invent the composite automation type (CAT) concept.
architecture for automation systems design. Panjaitan in
IEEE Transactions on Industrial Informatics, 7(4), 2011, pp. 768-781 8
As illustrated in Figure 10, a CAT is a function block that In addition to the migration research, the work [75]
combines functions of machines or their parts, with their discusses harmonization of IEC 61499 and IEC 61131-3 – in
simulation and visualization. Here the “Pick and place” terms of execution semantics and data types, aiming at
manipulator is built of two identical pneumatic cylinders, seamless use of PLC languages inside IEC 61499 function
each represented by a CAT in the FB application. blocks.
D. Integration with domain specific standards
The strong benefit of the system level design language like
IEC 61499 is its capability to implement provisions of
domain specific design practices standardized in a plethora
of international standards. According to [76], the open
nature of IEC 61499 can help to create an open knowledge
economy in industrial automation. There are numerous
examples of ongoing research works proving this
assumption.
In the process automation domain, Peltola et al. [77] and
Dimitrova et al. in [78] explored the concept of integration
with ISA88 standard. Lepuschitz and Zoitl [79] consider
integration with the IEC 61512 standard, providing models
and terminology for batch control.
Pang [80] explored application of CAEX and IEC 62424
for using physical layout of automation systems for
automatic code generation.
Higgins et al. in [81] proposed a way to combine IEC
61850 standard from power distribution automation domain
with function blocks of IEC 61499. As demonstrated in
Figure 10. The concept of composite automation type in NxtStudio is based subsequent works, this solution can help achieving many of
on the MVC architecture. SmartGrid functions.
Once the application is assembled from instances of such Hagge and Wagner [82] studied implementation of
CATs, NxtStudio can automatically deploy the control parts OMAC state machines defining standard controller modes in
of all CATs to the designated embedded targets, while the manufacturing applications.
View parts will be sent to the device displaying SCADA Colla et al. [83] report on domain-specific modelling in
screens. In the figure, a CAT of a pneumatic cylinder is the shoe manufacturing sector.
exemplified. The CAT also includes the (behaviour) model E. Flexibility, reconfigurability and agent-based-design
of cylinder’s dynamics. Once executed, the application built
of these CATs immediately delivers a complete interactive Increasing of flexibility and re-configurability of industrial
simulation model of the manipulator. systems has been one of the major drivers of IEC 61499.
The CAT concept has proven its benefits in a number of Many motivations have been derived from the Holonic
industrial projects, where NxtControl tools were used, for manufacturing systems international program [84]
example in building management systems automation. promoting multi-agent control.
It has been discovered by researchers that requirements to
C. Migration from PLCs to IEC 61499 flexibility of manufacturing systems often can be
The huge legacy of industrial automation raises the issue of implemented by reconfiguration of automation hardware
software migration from the existing PLC platforms to IEC and software. Correspondingly, several works address
61499. The practitioners, for example, Woll [69], are various aspects of such reconfiguration using IEC 61499
concerned with the prospect of complete paradigm change and addressing problems “under the hood” of the compliant
in automation software design and want to secure their programmable controllers. One of the first works in this
investments in automation hardware and software. direction was by Fletcher and Norrie [85], followed by a
Therefore, investing into the migration pathways becomes number of works from Technical University of Vienna, in
crucial for the industrial uptake of IEC 61499. particular addressing provisions of IEC 61499 architecture
The migration case studies were presented by Hussain by Strasser et al. [86], real-time implementations by Zoitl et
[70] and Gerber [71] with some recommendations for al. [87] and on down-timeless evolution by Rooker et al.
manual migration provided. Wenger [72] presents an [88].
attempt of converting the entire PLC application to an Another group of works focuses on end-user aspects of
equivalent IEC 61499 one. The result of this approach may manufacturing facility re-configuration with IEC 61499.
run correctly , but would not be very usable in the entire These include, for example, works on agent-based
project’s life cycle due to poor structure and readability of reconfiguration by Brennan et al [89], intelligent ontology-
the generated code. based infrastructure supporting reconfiguration by Alsafi
Dai in [73] presents an example of domain-specific and Vyatkin [90], reconfiguration protocol by Khalgui and
migration related to baggage handling systems (BHS). Here Hanisch [91], CNC reconfiguration by Huang [92] and even
the emphasis is made on generating well designed modular intelligent energy supply environment for flexible
code which can be directly identified with the equipment it manufacturing by Budhia et al. [93].
controls. Shaw [74] also investigates migration of the PLC A number of laboratory and pilot industrial installations
based BHS automation software to IEC 61499 with explored the combination of IEC 61499 distributed
subsequent compilation to C. architecture with multi-agent control. The fully distributed
IEEE Transactions on Industrial Informatics, 7(4), 2011, pp. 768-781 9
Work on integration of IEC 61499 with CAN in NxtControl [46] reports on a number of commissioned
Automation protocol has started in 2011 and is in progress building management systems where distributed control and
[105]. visualization of the entire building was implemented using
IEC 61499. The largest project has been a training center
VII. VERIFICATION AND VALIDATION building with 19 control devices controlling about 2500 I/Os
Verification and validation of automation software is a (heating, ventilation, air-condition, lighting, etc.) with IEC
challenging task in general, but it is especially hard for 61499.
distributed systems and event-driven function blocks. Experience of system integrators has fully proven the
The MVC architecture and its derivatives have been design benefits of IEC 61499 compared to other automation
helpful in bringing together simulation and control design technologies. In addition to the earlier mentioned shoe
with IEC 61499. Yang [106] investigated the ways to use manufacturing line at ITIA-CNR, Colla et al. [115]
MATLAB/Simulink models together with controls written investigated the application and implementation
in IEC 61499. The use of such co-simulation environment methodologies of IEC 61499 as enabler of flexibility in that
has been reported in [107] for modelling distributed sector.
intelligent control of SmartGrid. There are close to one million of ISaGRAF compatible
Formal methods of verification have been seen by many controllers deployed worldwide most of which have the
researchers as an efficient alternative to manual debugging IEC61499 capability (from version 5). Very few of the
and simulation based verification. The idea of formal current ISaGRAF users are aware of this fact, though, which
verification is to prove rigorously (with the help of software constitutes great opportunity to improve their design
tools) that certain properties hold in the execution of a performance without extra investment.
control system. The survey [108] presents the landscape of Investigations on the use of IEC 61499 in the process
works on formal modelling and verification of IEC 61499 in control area are presented in [77, 79, 116].
the past decade. There have been attempts to use IEC 61499 as a system
New works include [109] by Čengić et al., who presented level design and implementation architecture in the pure
an attempt to model various execution models of IEC embedded control domains. For example, Insauralde [117]
61499. Khalgui et al. [91] use IEC 61499 as a platform for presented a case study in the area of avionics.
multi-agent control and formal verification. Allen [110] The vendors of the IEC 61499 technology are rapidly
uses IEC 61499 to achieve flexibility of manufacturing moving to various manufacturing sectors. Thus, NxtControl
control and explores its robustness by means of formal has demonstrated in 2010 the Delta robot prototype (Figure
verification. 11) fully controlled with the IEC 61499 technology using
The work [68] develops the concept of Intelligent distributed control hardware of Siemens, Beckhoff and
Mechatronic Components to enable systematic design of Wago, communication via Ethernet and EtherCAT and
formal models used in the process of formal verification and including servo motion control. This solution proves
paves the way to integration of simulation and formal applicability of IEC 61499 for control of high speed
verification. manufacturing machinery.
One hard problem for formal verification is modelling Ttime-synchronisation technology, based on the IEEE
data-rich computations. Pang [111] and Gerber [112] 1588 standard can be very helpful in advancing distributed
demonstrate the methods of extending the traditional control to this sector and the first solutions have been
discrete state formal languages with ability to model demonstrated in [118].
computations over data. This allows automatic model
generation from arbitrary function block programs.
Suender et al. demonstrate in [113] the use of formal
modelling and verification of IEC 61499 compliant devices
to prove properties of reconfiguration, when a function
block program is modified “on the fly” while it is
performing control of the plant. That work is notable for
proposing a framework for modelling not only a controller
program but multiple layers of embedded device, including
hardware, operating system, runtime and application. On top
of that, reconfiguration scenarios are applied.
The recent progress of formal verification research gives
hope to see tools of commercial strength in the near future.
A. Industrial installations
The first industrial deployment of IEC 61499 compliant
device was reported by Tait in [114] in 2005 at the meat
processing plant at Rangitikei, New Zealand. The device Figure 11. Delta robot demonstrating fitness of the NxtControl’s
was developed by TCS-NZ and based on ARM CPU, implementation of IEC 61499 to control manufacturing machinery.
running Java based FBRT run-time environment. Since then, B. Motivations for adoption
a number of pilot and commercial installations have been
The sectors where IEC 61499 have been applied include
completed using IEC 61499 and the interest is growing.
building management systems, process control, assembly,
IEEE Transactions on Industrial Informatics, 7(4), 2011, pp. 768-781 11
food processing and material handling. The main standard which has the recognition of past practices.
motivations for the IEC 61499 adoption currently spotted in However, the extensive research effort in the past decade
industrial projects are as follows: produced a very solid collection of results to be taken and
Some system integrators have developed new in-house used by industry. Now first results can be observed in the
hardware platforms for distributed automation and are market.
looking for appropriate software. IEC 61499 is the only With the first commercial compliant tools and devices,
option if the applications are genuinely distributed, users can already enjoy the numerous “design time benefits”
therefore, portable IEC 61131-3 solutions are not of the IEC 61499 tool chains for system-level design and
sufficient. implementation of automation systems. Other benefits of
Many system integrators have found standard PLCs IEC 61499, such as portability and interoperability have not
overpriced as compared to industrial PC and embedded been the major concern of the vendors yet. However, these
controllers. Therefore, the existing commercial tools features are “embedded” and hopefully will be recognized in
combined with off-the shelf available hardware create a a short time span.
feasible alternative to the use of PLCs in many sectors of The wider adoption of IEC61499 will help the industry to
applications. However, there are sectors of automation, benefit from the promise of holonic and intelligent
where the use of PLCs is de-facto standard, automation research results, providing the platform for
recommended to end users by the engineering deploying distributed applications with dozens, or even
consultancies. The situation is rapidly changing, thousands of communicating autonomous control nodes.
however, with the arrival of new generation of industrial The very promising development related to IEC 61499 is
PCs or PACs (programmable Automation Controllers) integration with domain specific design standards, such as
which in many respects are as good as PLCs (e.g. in IEC 61850 and IEC 62424, which may lead to integrated
terms of supported I/O and communication interfaces design methodologies where the control system can be
and reliability), the same time having higher automatically generated from the design documentation of
performance, lower costs and ability to be programmed other physical system parts.
with the new generation software technology. Last but not least, the IEC 61499 standard has
substantially contributed to the knowledge of distributed
C. Compliance: how strict it should be? systems design in the industrial automation domain by
The IEC 61499 standard combines several technologies, providing the adequate notation and architecture that is
targeting portability, configurability and interoperability of complementary to the PLC programming architecture of
automation systems (see [26] for more detailed discussion). IEC 61131-3.
The first industrial implementations have already shown that
industry is not ready to follow all these provisions X. BIOGRAPHY
simultaneously. Driven by market reasons, implementers
select priorities in addressing different target features of the Valeriy Vyatkin (SM’04) is Associate Professor
IEC 61499 technology. Thus, ISaGRAF has been more and Director of the InfoMechatronics and
concerned in extending the system-level engineering Industrial Automation lab (MITRA) at the
Department of Electrical and Computer
capabilities of their tool chain, rather than achieving lower Engineering, The University of Auckland, New
level code portability through the use of XML as program Zealand. He graduated with the Engineer degree in
representation. Therefore, this tool chain has phenomenal applied mathematics in 1988 from Taganrog State
capabilities in distributed deployment of large complex University of Radio Engineering (TSURE),
Taganrog, Russia. Later he received the Ph.D.
applications, but syntax and representation are proprietary (1992) and Dr Sci degree (1998) from the same
and not compatible with other IEC 61499 tools at this stage. university, and the Dr Eng. Degree from the Nagoya Institute of
Compatibility with the legacy IEC 61131-3 run-time Technology, Nagoya, Japan, in 1999. His previous faculty positions were
environment influenced ISaGRAF’s decision to use the with Martin Luther University of Halle-Wittenberg in Germany (Senior
researcher and lecturer, 1999–2004), and with TSURE (Senior Lecturer,
cyclic execution model, which differs from the execution Professor, 1991–2002).
model prescribed in the standard. However, one should note His research interests are in the area of dependable distributed automation
that these incompatibilities can be overcome in the future by and industrial informatics, including software engineering for industrial
developing software tools for automatic conversion. automation systems, distributed architectures and multi-agent systems
applied in various industry sectors: SmartGrid, material handling, building
On the other hand, NxtControl is more diligently management systems, reconfigurable manufacturing, etc. Dr Vyatkin is also
following the syntax and representation prescriptions, but active in research on dependability provisions for industrial automation
also had to extend these to implement a more powerful and systems, such as methods of formal verification and validation, and
user friendly visual editor and the CAT concept, combining theoretical algorithms for improving their performance.
control and visualization in one function block.
IEC61499 includes the mechanism to handle and XI. REFERENCES
implement extensions, called compliance profiles [119]. By [1] J. Camerini, A. Chauvet, and M. Brill, "Interface
publishing such a profile, a vendor will explain the standard for distributed automation: IDA," in Emerging
extensions introduced in a particular implementation. This Technologies and Factory Automation, 2001.
mechanism helps in establishing self-management of the Proceedings. 2001 8th IEEE International
standard and related development activities. There are Conference on, 2001, pp. 515-518 vol.2.
already a number of profiles published [120-122]. [2] K. Trkaj, "Users introduce component based
automation solutions," Computing & Control
IX. CONCLUSIONS Engineering Journal, vol. 15, pp. 32-37, 2004.
The uptake of IEC 61499 has been rather long due to the
fact this technology is new unlike the previous IEC 61131-3
IEEE Transactions on Industrial Informatics, 7(4), 2011, pp. 768-781 12
[3] T. Hoare and Milner, "Grand challenges for Systems," in IEEE International Conference on
computing research," The Computer Journal, vol. Industrial Informatics, 2006, pp. 874-879.
48, p. 49, 2005. [18] O. J. Lopez Orozco and J. L. M. Lastra, "Adding
[4] IEC61499-1, "Function Blocks - Part 1 function blocks of IEC 61499 semantic description
Architecture," International Electrotechnical to automation objects," IEEE Conference on
Commission, Geneva, International standard2005. Emerging Technologies & Factory Automation, pp.
[5] A. Brusaferri, A. Ballarino, and E. Carpanzano, 809-816, 2006.
"Reconfigurable Knowledge-based Control [19] Y. Al-Safi and V. Vyatkin, "An Ontology-based
Solutions for Responsive Manufacturing Systems," Reconfiguration Agent for Intelligent Mechatronic
Studies in Informatics and Control (SIC), vol. 20, Systems," in 4th International Conference on
pp. 31-42., 2011. Holonic and Multi-agent systems in
[6] E. Carpanzano and F. Jovane, "Advanced Manufacturing, Regensburg, Germany, 2007.
Automation Solutions for Future Adaptive [20] V. Vyatkin and V. Dubinin, "Refactoring of
Factories," Annals of the CIRP, pp. 435-438, 2007. Execution Control Charts in Basic Function Blocks
[7] K. Thramboulidis, "IEC 61499 Function Block of the IEC 61499 Standard," IEEE Transactions on
Model: Facts and Fallacies," IEEE Industrial Industrial Informatics, vol. 6, pp. 155-165, May
Electronics Magazine, vol. 3, pp. 7-23, Dec 2009. 2010.
[8] A. Zoitl and V. Vyatkin, "IEC 61499 Architecture [21] K. H. Hall, R. J. Staron, and A. Zoitl, "Challenges
for Distributed Automation: The "Glass Half Full'' to Industry Adoption of the IEC 61499 Standard on
View," IEEE Industrial Electronics Magazine, vol. Event-based Function Blocks," in Industrial
3, pp. 7-22, Dec 2009. Informatics, 2007 5th IEEE International
[9] International Electrotechnical Commission, Conference on, 2007, pp. 823-828.
Programmable Controller - Part 3: Programming [22] K. Thramboulidis, "IEC 61499 in Factory
Languages, IEC 61131-3 Standard. Geneva: Automation," in IEEE International Conference on
International Electrotechnical Commission, 1993. Industrial Electronics, Technology and Automation
[10] J. H. Christensen, "Design patterns for systems (CISSE-IETA'05), Bridgeport, USA, 2005.
engineering with IEC 61499," in Verteilte [23] A. Zoitl, T. Strasser, K. Hall, R. Staron, C. Sunder,
Automatisierung - Modelle und Methoden für and B. Favre-Bulle, "The past, present, and future
Entwurf, Verifikation, Engineering und of IEC 61499," in Holonic and Multi-Agent
Instrumentierung, Magdeburg, Germany, 2000. Systems for Manufacturing, Proceedings. vol.
[11] W. Zhang, W. A. Halang, and C. Diedrich, 4659, ed, 2007, pp. 1-14.
"Specification of Function Block Applications with [24] R. W. Lewis, Modelling control systems using IEC
UML," in Robotics and Automation, Proceedings 61499: Applying function blocks to distributed
of the IEEE International Conference on, 2005, pp. systems: Iet, 2001.
4002-4007. [25] J. L. M. Lastra, A. Lobov, L. Godinho, and A.
[12] K. C. Thramboulidis, "Using UML in control and Nunes, Function Blocks for Industrial-Process
automation: a model driven approach," in Measurement and Control Systems: IEC-61499
Industrial Informatics, 2nd IEEE International Introduction and Run-time Platforms: Tampere
Conference on, 2004, pp. 587-593. University of Technology, 2004.
[13] S. Panjaitan and G. Frey, "Combination of UML [26] V. Vyatkin, IEC 61499 function blocks for
Modeling and the IEC 61499 Function Block embedded and distributed control systems design:
Concept for the Development of Distributed Instrumentation Society of America, 2007.
Automation Systems," in 11th IEEE Conference on [27] W. Dai and V. Vyatkin, "Efficient Data Handling
Emerging Technologies and Factory Automation Model in IEC 61499 Function Block Approach,"
(ETFA 2006), 2006, pp. 766-773. presented at the 8th International IEEE Conference
[14] T. Hussain and G. Frey, "UML-based Development on Industrial Informatics, (INDIN’10), Osaka,
Process for IEC 61499 with Automatic Test-case Japan, 2010.
Generation," in Emerging Technologies and [28] L. H. Yoong, P. S. Roop, V. Vyatkin, and Z.
Factory Automation, 2006. ETFA '06. IEEE Salcic, "A Synchronous Approach for IEC 61499
Conference on, 2006, pp. 1277-1284. Function Block Implementation," IEEE
[15] V. Dubinin and V. Vyatkin, "UML-FB a Language Transactions on Computers, pp. 1599-1614, 2009.
for Modeling and Implementation of Industrial- [29] P. Tata and V. Vyatkin, "Proposing a novel
Process Measurement and Control Systems on the IEC61499 Runtime Framework implementing the
Basis of IEC 61499 Standard," in 6th International Cyclic Execution Semantics," in 7th IEEE
Conference on New Information Technology and International Conference on Industrial Informatics,
Systems (NITiS' 04), Penza, Russia, 2004, pp. 77- 2009, pp. 416-421.
83. [30] J. L. M. Lastra, A. Lobov, and L. Godinho, "Closed
[16] N. Hagge and B. Wagner, "Applying the handler- loop control using an IEC 61499 application
based execution model to IEC 61499 basic and generator for scan-based controllers," in 10th IEEE
composite function blocks," in 4th IEEE International Conference on Emerging
International Conference on Industrial Informatics Technologies and Factory Automation (ETFA'05),
(INDIN'06), Singapore, 2006, pp. 18-24. 2005, pp. 323-330.
[17] V. Vyatkin, "Execution Semantic of Function [31] V. Vyatkin and J. Chouinard, "On Comparisons of
Blocks based on the Model of Net Condition/Event the ISaGRAF implementation of IEC 61499 with
IEEE Transactions on Industrial Informatics, 7(4), 2011, pp. 768-781 13
FBDK and other implementations," in 6th IEEE control applications on example of IEC1499
International Conference on Industrial Informatics, function blocks," in Verteilte Automatisierung
2008, pp. 264-269. (Distributed Automation), Magdeburg, Germany,
[32] Holobloc Inc. (2008). Function Block Development 2000.
Kit (FBDK). Available: http://www.holobloc.org/ [48] L. Ferrarini and C. Veber, "Implementation
[33] 4DIAC. (2010). Framework for Distributed approaches for the execution modle of IEC 61499
Industrial Automation (4DIAC) Available: applications," in 2nd IEEE International
http://www.fordiac.org Conference on Industrial Informatics (INDIN'04),
[34] M. Kuo, L. H. Yoong, S. Andalam, and P. S. Roop, Berlin, Germany, 2004, pp. 612-617.
"Determining the worst-case reaction time of IEC [49] V. Vyatkin and V. Dubinin, "Sequential axiomatic
61499 function blocks," in 8th IEEE International model for execution of basic function blocks in
Conference on Industrial Informatics (INDIN'10), IEC61499," 5th IEEE International Conference on
2010, pp. 1104-1109. Industrial Informatics, pp. 1183-1188, 2007.
[35] J. Chouinard, J. Lavallée, J.-F. Laliberté, N. [50] V. Vyatkin, V. Dubinin, C. Veber, and L. Ferrarini,
Landreaud, K. Thramboulidis, P. Bettez-Poirier, F. "Alternatives for execution semantics of
Desy, F. Darveau, N. Gendron, and C.-D. Trang, IEC61499," 5th IEEE International Conference on
"An IEC 61499 configuration with 70 controllers; Industrial Informatics, pp. 1151-1156, 2007.
challenges, benefits and a discussion on technical [51] C. Sunder, A. Zoitl, J. H. Christensen, V. Vyatkin,
decisions," in IEEE Conference on Emerging R. W. Brennan, A. Valentini, L. Ferrarini, T.
Technologies and Factory Automation, Patras, Strasser, J. L. Martinez-Lastra, and F. Auinger,
Greece, 2007. "Usability and Interoperability of IEC 61499 based
[36] A. Zoitl, I. Hegny, and A. Schimmel, "Utilizing distributed automation systems," in IEEE
Binary XML Representations for Improving the International Conference on Industrial Informatics,
Performance of the IEC 61499 Configuration 2006, pp. 31-37.
Interface," 7th IEEE International Conference on [52] T. Strasser, A. Zoitl, J. H. Christensen, and C.
Industrial Informatics (INDIN'09), pp. 66-71, 2009. Sunder, "Design and Execution Issues in IEC
[37] A. Zoitl, Real-Time Execution for IEC 61499: ISA, 61499 Distributed Automation and Control
2009. Systems," IEEE Transactions on Systems Man and
[38] V. Dubinin and V. Vyatkin, "Towards a Formal Cybernetics, Part C-Applications and Reviews, vol.
Semantic Model of IEC 61499 Function Blocks," 41, pp. 41-51, Jan 2011.
in IEEE International Conference on Industrial [53] G. Doukas and K. Thramboulidis, "Implementation
Informatics, 2006, pp. 6-11. Model Alternatives for IEC 61499 Function Block
[39] D. Harel, "Statecharts: A visual formalism for Networks," in 6th IEEE International Conference
complex systems," Science of Computer on Industrial Informatics, 2008, pp. 270-275.
Programming, vol. 8, pp. 231-274, 1987. [54] V. Vyatkin, "The IEC 61499 Standard and Its
[40] G. D. Shaw, P. S. Roop, and Z. Salcic, "A Semantics," IEEE Industrial Electronics Magazine,
hierarchical and concurrent approach for IEC vol. 3, pp. 40-48, Dec 2009.
61499 function blocks," in Emerging Technologies [55] G. Black and V. Vyatkin, "Intelligent Component-
& Factory Automation, IEEE Conference on, Based Automation of Baggage Handling Systems
2009, pp. 1-8. With IEC 61499," IEEE Transactions on
[41] K. Thramboulidis, "Development of Distributed Automation Science and Engineering, vol. 7, pp.
Industrial Control Applications: The CORFU 337-351, Apr 2010.
Framework," in 4th IEEE International Workshop [56] J. Yan and Vyatkin V., "Distributed Execution and
on Factory Communication Systems, Sweden, Cyber-Physical Design of Baggage Handling
2002. Automation with IEC 61499," in 9th International
[42] FBench. (2008, 10/11/2008). Open Source IEEE Conference on Industrial Informatics
Function Block Engineering Tool. Available: (INDIN’11), Lisbon, Portugal, 2011.
http://oooneida-fbench.sourceforge.net/ [57] G. Frey and T. Hussain, "Modeling techniques for
[43] A. A. Jamshidifar, A. Afshar, and A. Salari, distributed control systems based on the IEC 61499
"FBLab, an IEC61499 based software tool for standard - current approaches and open problems,"
modeling of distributed control systems," IEEE in Discrete Event Systems, 8th International
Conference on Control Applications, pp. 1345- Workshop on, 2006, pp. 176-181.
1349, 2003. [58] M. Bonfe and C. Fantuzzi, "Design and verification
[44] G. Čengić, O. Ljungkrant, and K. Akesson, of mechatronic object-oriented models for
"Formal modeling of function block applications industrial control systems," in Emerging
running in IEC 61499 execution runtime," 2006 Technologies and Factory Automation, 2003.
IEEE Conference on Emerging Technologies & Proceedings. ETFA '03. IEEE Conference, 2003,
Factory Automation, Vols 1 -3, pp. 918-925, 2006. pp. 253-260 vol.2.
[45] ICSTriplex. (2009, 1/04). ISaGRAF v. 5.0. [59] V. Dubinin, V. Vyatkin, and T. Pfeiffer,
Available: www.isagraf.com "Engineering of validatable automation systems
[46] nxtControl. (2010, 10/05). nxtStudio. Available: based on an extension of UML combined with
www.nxtcontrol.com function blocks of IEC 61499," IEEE International
[47] V. Vyatkin, H.-M. Hanisch, P. H. Starke, and S. Conference on Robotics and Automation
Roch, "Formalisms for verification of discrete (ICRA'06), pp. 3996-4001, 2005.
IEEE Transactions on Industrial Informatics, 7(4), 2011, pp. 768-781 14