0% found this document useful (0 votes)
36 views8 pages

From Iec 61131 To Iec 61499 For Distributed Systems A Case Study

Na
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
36 views8 pages

From Iec 61131 To Iec 61499 For Distributed Systems A Case Study

Na
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

Hindawi Publishing Corporation

EURASIP Journal on Embedded Systems


Volume 2008, Article ID 231630, 8 pages
doi:10.1155/2008/231630

Research Article
From IEC 61131 to IEC 61499 for
Distributed Systems: A Case Study

Christian Gerber,1 Hans-Michael Hanisch,1 and Sven Ebbinghaus2


1 Institutefor Computer Science, Martin Luther University Halle-Wittenberg, 06099 Halle, Germany
2 LAE Engineering GmbH, Massengasse 13, 69226 Nussloch, Germany

Correspondence should be addressed to Christian Gerber, [email protected]

Received 30 January 2007; Revised 1 August 2007; Accepted 8 October 2007

Recommended by Jose L. Martinez Lastra

A new concept for distributed control systems based on the new IEC 61499 standard is tested in this work in cooperation with LAE
Engineering GmbH, a medium-sized company. Based on a catalogue of requirements, a customer-related testbed is developed. In
the following this testbed is used as a reference to realise an IEC 61499 compliant-distributed control system based on PC technics.
By doing this, rules are defined to convert user-owned IEC 61131 function blocks to IEC 61499 compliant function blocks. Con-
cluding, some trends for IEC 61499-based distributed control systems will be summarised.

Copyright © 2008 Christian Gerber et al. This is an open access article distributed under the Creative Commons Attribution
License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly
cited.

1. THE PROBLEM Additionally, it should be possible to develop the control-


ling components independently from the manufacturer and
Especially for medium-sized companies, it will become more to encapsulate the company’s own intellectual property. All
and more important to create solutions of automation prob- components forming the control system can then be stored
lems that are optimally coordinated with the customer in or- in a company-wide library. This will allow to replace a dam-
der to maintain the competitiveness also in future. Thereby, aged or not correctly working component easily by a new one
these medium-sized companies can feature themselves by and to download the control algorithms and parameterisa-
manufacturerer independence and usage of the hardware tion automatically by the control system itself (Plug and Par-
that the customer prefers, which maybe replaced in only ticipate).
some cases by better matching components. It is also pos- Although such approaches have been sketched by many
sible in smaller projects to use hardware that already exists authors before [1–3], application in practice is rather sparse.
at the customer but is not working at full capacity. Doing This contribution is a first step to pave the way towards those
this, the acquisition cost of new hardware is reduced, and a goals.
distributed system is created. These points would require an
enormous know how of the staff and the existence of many 2. NEW POINTS OF VIEW FROM THE IEC 61499
Engineering Support Systems to program and parameterize
control units of different manufactures. A better way of cre- In a first step to support these new requirements, the In-
ating a distributed system would be to have one Engineering ternational Electrotechnical Commission (IEC) launched the
Support System and to program and parameterize as many International Standard IEC 61499, which became official in
as possible different control and visualisation units by using 2005. This new standard should be an extension to the well-
automation components. Furthermore, it should be possi- known and used standard IEC 61131 for programming logic
ble to exchange the created automation components easily. controllers. So it is possible to use the programming lan-
Last but not least it should be possible to plan the optimal guages instruction list, ladder logic, and structured text as
usage of the communication bandwidth and the computing well as high-level languages like C, java, and Delpi to create
power. This can be achieved by transferring only changed the control algorithms for the basic function blocks of IEC
data points and executing only algorithms with changed in- 61499. Furthermore, it is possible to describe an IEC 61131
put values. configuration by using the defined software model of IEC
2 EURASIP Journal on Embedded Systems

61499. The differences between both are the new system layer the testbed. From B&R we used a combined visualisation and
at the top, the changed function block interface, and the in- control unit (PowerPanel 200), a PLC (System2003, CP476-
troduced execution control chart (ECC) at the root of the DP), and a modular remote I/O (X20) with 6 digital in- and
software model [4]. outputs and 2 analog inputs. From the Phoenix products a
The new system layer potentiates the development of the PLC (ILC350-PN), one compact and one modular remote
whole control system with all controllers, I/Os, visualisation, I/O (ILB PN 24, FL IL 24 BK-PN-PAC), an interbus proxy
and data logging devices in one project, which will make it (FL PN/IBS) combined with I/Os, and two modular and
easier to realise changes in the equipment and communica- manageable switches (FL SWITCH MM HS) were chosen.
tion. Another effort in cases of trouble is to simply get the
system overview and to backup all project files. 3.3. Control functionality
Furthermore, the execution control is changed from
The control functionality described in the following is de-
cyclic to an event-driven one [5]. This allows to reduce the
veloped together with LAE Engineering. Main business seg-
computing power and the communication bandwidth to a
ments of this company are calendering techniques, power
necessary minimum if only algorithm with changed input
generation, and building automation. That is why only main
data is executed and only data packages with changed data
control operations from all of these segments are realised and
values are transmitted.
not one complete control system of a calender or a block-type
Concerning the self-reconfiguration of a control system
thermal power station.
in cases of disturbance or any other change in the produc-
From the segment calendering techniques, a function
tion environment, the IMS Research and Development Pro-
block to control an engine with one rotation direction and
gram has accomplished the research projects PABADIS [6]
a watchdog timing to detect any disturbance is used. In an-
und HMS [7]. To match the different partial results of these
other function block, a start up sequence of a calender ac-
and other global, European, and national projects, the R&D
cording to DIN EN 12301 is implemented. The different steps
initiative OOONeida was founded. The aim is the creation
of these sequences are horn active, retention time, andrelease
of a technological infrastructure for a new open knowledge
of start.
economy for automation components and automated indus-
To record the alarms, an alarm management consisting
trial products [8].
of two or more function blocks is implemented at every con-
To protect the own intellectual property at this new open
trol unit. All alarm activations are registered in groups of 8
knowledge economy, the guideline of encapsulation and hid-
by function blocks of the type AlarmDetection. These func-
ing was adopted from the IEC 61131 to the IEC 61499. To
tion blocks communicate with the function block of the type
guarantee the reusability and portability of the once devel-
NewAlarm, which is used to register the occurrence of one or
oped components between the different Engineering Sup-
more new alarms, quit all active alarms or only to turn off the
port Systems, the second part of the IEC 61499 defines the
horn.
requirements for the Engineering Support System.
The most commonly used function blocks from the de-
3. CUSTOMER-RELATED TESTBED partment of power generation have the functionality to cal-
culate the average value of a data point and to register the
For the further work, a state-of-the-art testbed related to daily and monthwise power consumption. To test a function
the customers requirements was established in cooperation block with a wide-spread functionality and huge memory
with LAE Engineering. It is supposed to show what is cur- consumption, the function block of the type PZN Archiv was
rently done concerning communication, manufacturer inde- also taken from the power generation department. With this
pendency, and programming of control systems. block, it is possible to register the power production per 15
minutes of the last 24 hours and to send the last value to the
3.1. Communication: industrial ethernet visualisation, which sends a rising edge to a boolean input to
In most manufacturing plants, field buses like AS-Interface, get the next value.
CAN, and Profibus are the currently used communication For communication purpose between the control units,
platform, but there is a widely accepted trend to use Indus- a bidirectional Ethernet-based client server architecture is
trial Ethernet in future. The manufacturers of automation used and the TCP/IP packets are sent every 500 milliseconds,
technology as well as the customers support this trend, be- whether the included data points have changed or not. Thus,
cause Ethernet in combination with new transport protocols the consumed communication bandwidth is every time the
like Powerlink, Ethercat, Profinet, and so forth offers more same.
opportunities by the same rate of actualisation. So it will be Because of getting a faster communication between the
possible to use the different communication media copper, control unit and the remote I/Os, the Ethernet-based proto-
optic and wireless fiber with data transfer rates up to 1 giga- cols Profinet I/O and Powerlink are used. Thus, it is possible
bit per second. to get the current state of each remote I/O every 10 millisec-
onds to the appropriate control unit.
3.2. Used hardware
4. CONVERTING THE TESTBED TO IEC 61499
Based on the results of a market research, the systems from
Bernecker + Rainer Industrie-Elektronik GmbH (B&R) and At the second part of the work it should be demonstrated that
Phoenix Contact GmbH&Co.KG (Phoenix) were used for the control functionality of the testbed can also be realised
Christian Gerber et al. 3

The programming language of the algorithms is up to the


function block developer and could be different at each al-
Outputs FL BK 24 Inputs FL BK 24 gorithm. So it is possible to combine the advantages of low
A0 E0-AckEngine3 level programming languages like IL, LD, FuB, and ST with
A1-EngineOn the advantages of high level programming languages like C,
A2 E1-AckFailureEngine
Java, and Delphi in one function block. Another advantage of
A3 E2 this liberty is a smooth change from IEC 61131 to IEC 61499
E3-EM-Stop for the system integrators as well as for the system distributer.
Because of that it was possible to copy the source code for the
Figure 1: Graphical interface of a remote I/O. INIT and REQ algorithm from the IEC 61131 function block
to the IEC 61499 shown in Algorithm 1.
with a distributed control system based on the IEC 61499 4.2.2. FB—Counter
standard. The remote I/Os are realised as several devices with
a graphical interface for boolean and integer in- and out- The function block Counter is used for the registration of the
puts as shown in Figure 1 and the whole control system is PC current daily and monthwise power consumption by using a
based. The communication between the remote I/Os and the rising edge at the data input Input. This rising edge of a data
control devices is based on UDP-datagrams, because of miss- point at a remote I/O could be detected with the function
ing communication function blocks realising the Ethernet- block E R TRIG, defined in annex A of the IEC 61499-1. The
based protocols Profinet I/O or Powerlink. output event E0 of this function block has to be connected
In the following the control system will be described top with the event input REQ of the new IEC 61499-based func-
down with the beginning at the system layer. But the focus tion block Counter, shown at the rigth side of Figure 4.
is directed to the translation of the function blocks to IEC Because there is also an edge detection performed for the
61499, because they are the skeleton of the distributed con- boolean inputs DayChange and MonthChange, they are con-
trol system and realise the control functionality. Because of verted to event inputs of the new function block. Further-
this we will define some converting rules in Section 4.2 to more, these edge detections allowed or denied the execution
build in further work an automatic translator. of several code fragments. Thus, this code fragments should
be translated into several algorithms and associated inside an
4.1. System layer ECAction with an ECstate. This ECstate can only be reached
from the ECinitialstate by the occurrence of an event at the
The highest layer of a distributed system is the system layer converted event input.
shown in Figure 2. It includes the configuration of all de- According to the IEC 61499, each event input can be
vices like control devices, remote inputs and outputs, human linked with all data inputs, which leads to a sampling of all
machine interfaces, and data logging devices. To support the data inputs by the occurrence of an event at the event in-
system integrator in building and in cases of disturbance in put. However, the linked set of data inputs should be cut to a
checking the communication connection between the dif- minimum, to reduce the necessary calculation power and ex-
ferent devices, network segments represented by arrows are ecution time. Thus, this set should only contain the required
used. Thus, they are used only for documentation purpose at data inputs and the changed data outputs. At the example of
the system layer. Figure 4, the event inputs Day- and MonthChange are only
linked with data input PulseRatio, because the triggered al-
4.2. Control components: function blocks
gorithm only requires this updated value. Contrary to this,
In this section of the work, the translation from IEC 61131 to the algorithm executed by the occurrence of the event Set-
61499 will be shown exemplarily at some function blocks. As Counter only requires the updated values of the data inputs
a conclusion, some rules how to convert IEC 61131 function SetCounterValue and CounterMax.
blocks to IEC 61499 function blocks will be defined.
4.2.3. FB—Engine
4.2.1. FB—AverageCont
The two function blocks in Figure 5 realise the functional-
Both function blocks in Figure 3 represent an average value ity of controlling an engine with one rotation direction and
calculator for one data point, but the left is IEC 61131 based, a watchdog timer to detect any disturbance as well as the
and the other, at the right side, is IEC 61499 based. Both of acknowledgment of the operation of the engine for visual-
them have the same data interface, but the right function isation. For the realisation of a runtime supervision of the
block is extended by a management interface consisting of starting, stopping, and short signal interruptions, the timing
two event pairs. The event pair INIT-INITO is used to trig- function block TON is used.
ger a state change at the ECC and therefore the execution of To realise this functionality with an IEC 61499 function
the initialisation algorithm by occurring of an event at INIT block, the composite function block in Figure 6 has to be
and to send an information about the termination of this al- created. This composite function block is built up by using
gorithm by the event output INITO. The same is done with the function block FB Engine Body with the main function-
REQ-CNF which triggers the state change to the ECState with ality, extended by an event output to start and stop the timer
the main algorithm of the function block. and an event input to register the expiration of the timer. As
4 EURASIP Journal on Embedded Systems

CP476DP
RMT FRAME
Powerlink: Ethernet
[200, 0, 200, 500] BOUNDS
GRID Visu Start
RMT FRAME
“141.48.159.197:61495” MGR ID
[0, 0, 200, 500] BOUNDS
GRID
X20
“141.48.159.198:61492” MGR ID
RMT FRAME CAN: LocalBus
[400, 500, 310, 200] BOUNDS
GRID
“141.48.159.200:61493” MGR ID
PP 200 ILC 350 PN
RMT FRAME
RMT FRAME
[400, 0, 200, 500] BOUNDS
[500, 0, 200, 500] BOUNDS
GRID
GRID
“141.48.159.201:61494” MGR ID
“141.48.159.199:61496” MGR ID

Profinet and TCP UDP IP: Ethernet

ILB PN 24 FL BK 24 IBS
RMT FRAME RMT FRAME RMT FRAME
[800, 0, 310, 200] BOUNDS [800, 200, 310, 200] BOUNDS [800, 400, 310, 200] BOUNDS
GRID GRID GRID
“141.48.159.195:61499” MGR ID “141.48.159.196:61498” MGR ID “141.48.159.194:61497” MGR ID

Figure 2: System layer of the testbed.

FC Average Cont1 Event INIT INITO Event 4.2.4. FB—StartUpChain


FC Average Cont Event REQ CNF Event
New Value To control a start-up sequence of a calender according to DIN
Weight Old Value FB Average Cont EN 12301, the function blocks in Figure 7 are used. The horn
Average Average Real New Value Average Real is activated first for the defined time at the data input TIME1.
Real Weight Old Value
Afterwards, there is a time gap of the time defined at TIME2
(a) IEC 61131 (b) IEC 61499 for the service personal to vacate the calender. After this it
is possible to start the calender during the time TIME3. If
Figure 3: Function block for the average value.
TIME3 expires without starting the calender, the chain must
be started again.
The described control sequence is implemented in the
Average := New Value; IEC 61131 function block by linking three switch-on delay
(a) INIT function blocks. As described in the section before, these
timer function blocks could be converted to function blocks
Average := (Weight Old Value Average + New Value)/
(Weight Old Value + 1) of the type E Delay. Afterwards, the output event EO of the
(b) REQ expired timer has to be connected with the event input Start
of the following timer.
Algorithm 1: Algorithm for the average value calculation in ST. Because there is only an edge detection done for the
boolean input Start, it is possible to use the same data in-
terface for the new function block and to extend it with the
management interface as described in Section 4.2.1.
timer, the function block E Delay is used, which is defined in
annex A of the IEC 61499. If the value of a boolean condition 4.2.5. FB—AlarmDetection
like EngineOn XOR AckOn causes the start and the termina-
tion of the timer, they could be realised with standardised The function block AlarmDetection is used to register differ-
basic function blocks inside the composite function block. ent alarms in groups of eight and to save them at a byte vari-
A positive and a negative edge detection is performed for able. The activation of the eight different alarms occurs by a
the boolean data input Start of the IEC 61131-based func- low signal or if the logic is inverted by a high signal.
tion block. According to the section before, this can be done Beside this, the function block provides the opportunity
using the function blocks E R TRIG and E F TRIG. The two to register each unacknowledged alarm. The reset of the ac-
output events can be merged by means of the function block knowledgment could be done by the event input Ack.
E Merge, but it is better to avoid this and to use the two events The bitwise addressing to set, reset, and write a single
Start and Stop of the new function block instead. This makes alarm and acknowledgment bits to the byte variables as well
it possible to have the ECCinitialstate always activated and to as the reading of the single bits out of the byte variables has
associate one successor with the stopping and another suc- to be done with different bit masks and the boolean combi-
cessor with the starting algorithm. nation with the source byte.
Christian Gerber et al. 5

Event INIT INITO Event


Event REQ CNF Event
Event DayChange ValueDay Event
Event MonthChange ValueMonth Event
FB Counter 1
Event SetCounter CounterSet Event
FB Counter
Input Counter
DayChange DayCounter FB Counter
MonthChange DayCounterYesterday Real PulseRatio Counter Real
PulseRatio MonthCounter Real SetCounterValue DayCounter Real
SetCounterValue MonthCounterLMonth Real CounterMAX DayCounterYesterday Real
CounterMAX MonthCounter Real
SetCounter SetCounter
MonthCounterLMonth Real

(a) IEC 61131 (b) IEC 61499

Figure 4: Function block to count the power consumption.

Event Start CNF Event


FB Engine 1 Event Stop
FB Engine Event Ack
Start EngineOn
Event REQ
AckOn VisuOn

AckFaliure GroupSignalFail FB Engine

Delay DelayFaliure Bool AckOn EngineOn Bool

Ack Bool AckFailure VisuOn Bool


Delayactual
Time Delay GroupSignalFail Bool
FirstCycle
DelayFailure Bool

(a) IEC 61131 (b) IEC 61499

Figure 5: Function block for controlling an engine.

FB Engine
Ack Ack CNF CNF
Start Start Timer start stop
Flag Set R TRIG Flag
Stop Stop
REQ EI EO EI EO
Timer REQ REQ
Start EO Timer expired
FB XOR E R TRIG
Stop
In1 Out QI
FB Engine body
AckOn In2
E Delay AckOn AckOn EngineOn EngineOn
F TRIG Flag
Delay DT AckFailure AckFailure VisuOn VisuOn
EI EO
GroupSignalFail GroupSignalFail
DelayFailure DelayFailure
E F TRIG
QI

Figure 6: Composite function block for controlling an engine.

Event INIT INITO Event


Event Start CNF Event

FB StartUpChain 1 IND Event

FB StartUpChain
Start Horn FB StartUpChain

TIME1 Enable Time TIME1 Horn Bool

TIME2 TimeHorn Time TIME2 Enable Bool


Time TIME3 TimeHorn Time
TIME3 TimeRetention
TimeRetention Time
TimeEnable
TimeEnable Time

(a) IEC 61131 (b) IEC 61499

Figure 7: Function block start up chain.


6 EURASIP Journal on Embedded Systems

INIT INIT INITO inputs and outputs. The copied interface has to be extended
by a management interface consisting of the event pairs
1 INIT INIT-INITO and REQ-CNF as shown in Section 4.2.1.
REQ AckAlarm
Start AlarmAcknowledgement AlarmAck Ack
Rule 2
REQ REQ CNF
AckHorn
1 Every boolean input or defined bit within a byte or word
1
structured data input will become an event input if there is
1 HornAcknowledgement HornAck CNF an edge detection performed at the original function block
Figure 8: ECC of alarm control function block. (Figure 10).
(a) Every boolean input or defined bit within a byte or
word structured data input will become two event in-
4.2.6. FB—NewAlarm puts if there is a positive and negative edge detection
The activation of the horn by the occurrence of any new performed at the original function block.
alarm and the acknowledgment of the horn as well as all ac- (b) If there are two or more IEC 61131 function blocks
tive alarms can be done with the function block NewAlarm. within one POE connected through a local boolean
As shown in Figure 8 the ECtransition to the successor variable or through a defined bit of a local byte or
of the ECstate reached by AckAlarm has no condition and word structured variable, the translated function
is therefore always true. This is done because this successor blocks will be connected through events as described
is reached from the ECinitialstate by the event AckHorn and in Section 4.2.6.
resets the data output HornOn, which is also a part of the
AckAlarm functionality. Before this, the output event Ack has Rule 3
to be published. This event output is linked with the input Every code fragment triggered through an edge detection of a
event Ack of all function blocks, which register the alarms, by boolean variable has to be implemented as an own algorithm
using the event splitter E SPLIT, defined in annex A of the in the new IEC 61499 function block and associated within
IEC 61499-1. an ECAction to an ECState reachable through the event of
the converted boolean value from the ECinitialstate.
4.2.7. FB—PZN Archive
For the implementation of a ring buffer for 24 hours and 4 Rule 4
measured values per hour, the function block in Figure 9 is Each IF-Condition should be divided in one Then and one
used. Furthermore, the oldest and not taken over data pair ELSE algorithm as shown in Figure 11. The switching condi-
consisting of the station number, a time stamp, and the con- tion of the transition from the successor ECstate to the EC-
sumed or produced power is presented at the data outputs. state associated with the THEN algorithm is the IF clause it-
The consumed or produced power is calculated by the num- self. The complement of the IF clause is used as switching
ber of positive edges at the boolean input Input and the val- condition of the transition to the ECstate associated with the
ues of TransformerConst and TransmitterConst. ELSE algorithm.
By reseting the boolean in- and output Flag of the IEC
61131 function block, a take over of the data and a request for Rule 5
new data is signaled. If there is new data available, the func-
tion block will set the boolean input and output Flag again. To reduce the necessary computing power for sampling of the
By converting to IEC 61499, this boolean input and output is data inputs and updating of the data outputs, each in- and
transformed to an event input and an event output. output event should only be connected with a minimal set of
It should be noticed that it is possible to copy and paste required data inputs or changed data outputs (Figure 4(b)).
the source code of the original function block into one algo-
rithm, but it is better to separate the source code according to Rule 6
rule 3.1 in different algorithms. By doing this, the algorithms To set, to reset, to read, and to write bits within a data point
are shorter, easier to validate, and better to understand, but of the type byte or word, defined masks have to be combined
the ECC for controlling the algorithms will get more com- with the original data point (boolean algebra) (see Table 1).
plex.
5. CONCLUSION
4.3. Translation rules
As a result we can draw the conclusion that the transforma-
Due to the earlier explanations in this section, we define the tion of an IEC 61131-based control system to an IEC 61499-
following general rules for the translation of IEC 61131 func- based one is possible. This is done by transforming all the
tion blocks to IEC 61499 ones. used basic and composite function blocks first. After this,
the control functionality of the whole system can be im-
Rule 1
plemented by connecting the translated function blocks by
The same data interface should be used for the IEC 61499 means of data and event arcs at the application view of the
function blocks and the ones of IEC 61131 except the boolean system. At this step the aspects of communication and I/O
Christian Gerber et al. 7

Event INIT INITO Event


FB PZN Archive 1 Event REQ CNF Event
FB PZN Archive Event Visu NewValue Event
Station StationNr Out
Event Input
Year Year Out

Month Date Out FB PZN Archive


Day Time Out INT Station StationNr Out Real
Hour Power Out INT Year Year Out Real
Minute INT Month Date Out Real

Input INT Day Time Out Real

TransformerConst INT Hour Power Out Real


INT Minute Flag Bool
TransmitterConst
Real TransformerConst
Flag Flag
Real TransmitterConst

(a) IEC 61131 (b) IEC 61499


Figure 9: Function block to realise a ring buffer.

Event INIT INITO Event


Event REQ CNF Event
Event DayChange ValueDay Event
FB Counter 1
Event MonthChange ValueMonth Event
FB Counter
Input Counter Event SetCounter CounterSet Event

DayChange DayCounter
MonthChange DayCounterYesterday FB Counter
Real PulseRatio Counter Real
PulseRatio MonthCounter
Real SetCounterValue DayCounter Real
SetCounterValue MonthCounterLMonth
UN DayChange; Real CounterMAX DayCounterYesterday Real
CounterMAX
SetCounter SetCounter
FP DayChange; MonthCounter Real
MonthCounterLMonth Real
SPBN M003;
(a) IEC 61131 (b) Source code (c) IEC 61499
Figure 10: Converting the Boolean input DayChange.

ValueNr<>ValueNr Out ValueNr=ValueNr Out


If (ValueNr <> ValueNr Out) then
/ OutputValue Visu2 OutputValues New Values Visu1 Inc ValueNr Out BufferEmpty Empty CNF
Else
/ empty / 1 Visu 1
End If;
(a) Source code (b) Execution control chart
Figure 11: Representation of an IF-Condition at the ECC.

Table 1
(a) Writing a bit (b) Reading a bit
UN Alarm7; UN L 6.7;
IEC 61131: IEC 61131:
= L 0.6; = X;
M0: = 0;
IF Alarm7=False then
IEC 61499: M0:=M0 or 64; IEC 61499: X:= M6 and 128;
End IF;

declaration are not yet taken into account. If the applica- because the communication and I/O mapping are separated
tion is ready, the single components represented by function from the development of the control functionality. This will
blocks are mapped to the resources of the used devices. Fi- make it possible especially for medium-sized companies to
nally the communication between the devices and the I/O delegate the development of function blocks encapsulating
declaration has to be implemented by using special Service the control, the visualisation, and the data logging to other
Interface function blocks for each device. companies. Afterwards, the main contractor of a project only
Using this way of system engineering eases the creation maps the function blocks to devices and establishes the com-
of customized automation solutions as a distributed system munication between them.
8 EURASIP Journal on Embedded Systems

Currently, the classical programming methods for PLCs


following the IEC 61131 are still dominating although the
standard has reached the end of its lifecycle. Also the world
of hardware will evolve step by step. This means that classical
PLCs will coexist with new devices and will constitute het-
erogenous distributed systems with different types of hard-
and software. As a consequence, two different programming
standards based on two different paradigms will coexist for at
least a decade. This, in turn, as a consequence requires meth-
ods to integrate both “worlds” rather than to do a sharp cut
and replace one by the other one with all transitional prob-
lems that this will definitely cause.
This will even emphasize the need for a stepwise transi-
tion in programming as it has been shown in this contribu-
tion and at the international exhibition SPS/IPC/Drives 2006
[9].
Another major issue is a smooth and seamless, stepwise
process to migrate the company-owned software solutions
from IEC 61131 to IEC 61499. Some steps towards this di-
rection have been shown in this contribution.

REFERENCES
[1] S. Panjaitan, T. Hussain, and G. Frey, “Development of re-
configurable distributed controllers in 61499 based on task
schedules described by UML diagrams or gantt charts,” in Pro-
ceedings of the 3rd IEEE International Conference on Industrial
Informatics (INDIN ’05), pp. 44–49, Perth, Australia, August
2005.
[2] M. Fletcher and D. H. Norrie, “Realtime reconfiguration using
an IEC 61499 operating system,” in Proceedings of the 15th In-
ternational Parallel & Distributed Processing Symposium (IPDPS
’01), pp. 985–991, San Francisco, Calif, USA, April 2001.
[3] V. Vyatkin, “Intelligent mechatronic components: control sys-
tem engineering using an open distributed architecture,” in Pro-
ceedings of IEEE Conference on Emerging Technologies in Fac-
tory Automation (ETFA ’03), pp. 277–284, Lisbon, Portugal,
September 2003.
[4] IEC 61499, “Function blocks for industrial-process measure-
ment and control systems—part 1: architecture,” Tech. Rep.,
International Electrotechnical Commission, Geneva, Schweiz,
2003.
[5] R. Lewis, Modelling Control Systems Using IEC 61499, The Insti-
tution of Electical Engineers, London, UK, 2001.
[6] A. Bratoukhine, T. Sauter, J. Peschke, A. Lüder, and A. Kloster-
meyer, “Distributed automation: pabadis vs. hms,” in Proceed-
ings of the 1st IEEE Conference on Industrial Informatics, pp.
294–300, Banff, Canada, September 2003.
[7] S. M. Deen, Agent Based Manufacturing—Advances in the
Holonic Approach, Advanced Information Processing, Springer,
Berlin, Germany, 2003.
[8] V. V. Vyatkin, J. H. Christensen, and J. L. M. Lastra, “Oooneida:
an open, object-oriented knowledge economy for intelligent in-
dustrial automation,” IEEE Transactions on Industrial Informat-
ics, vol. 1, no. 1, pp. 4–17, 2005.
[9] C. Gerber, “SPS/IPC/Drives 2006,” http://aut.informatik.uni-
halle.de/forschung/sps-ipc-drives, November 2006.

You might also like