able Industrial Automation & Control Systems based on IEC 61499. T. Strassera, I. ... Additionally it defines platform independent reconfigura- tion services at ...
An Advanced Engineering Environment for Distributed & Reconfigurable Industrial Automation & Control Systems based on IEC 61499 T. Strassera, I. Müllera, M. Schüpanya, G. Ebenhofera, R. Mungenasta, C. Sünderb, A. Zoitlb, O. Hummerb, S. Thomasc and H. Steiningerd a
b
Robotics and Adaptive Systems, PROFACTOR Research, 4407 Steyr-Gleink, Austria Automation and Control Institute, Vienna University of Technology, 1040 Vienna, Austria c Bachmann Electronic GmbH, 6806 Feldkirch-Tosters, Austria d kirchner SOFT GmbH, 3124 Oberwölbling, Austria
Abstract The manufacturing and production industry will only survive in a more and more globalised world if they react fast and flexible to new market and customer demands. In order to technically achieve the postulated flexibility support for reconfiguration is necessary. Distributed automation systems built out of mechatronic components help coping with these demands. This paper presents a new architecture for the integrated modelling of control and reconfiguration control applications for such systems which results in a modular advanced engineering environment for distributed and reconfigurable Industrial Automation and Control Systems (IACS) based on the IEC 61499 standard. Keywords: Distributed control, reconfigurable automation and control systems, advanced engineering environments
1. Introduction The manufacturing and production industry will only survive in a more and more globalised world if they react fast and flexible to new market and customer demands. New paradigms like "Flexible production up to small lot sizes", "Mass Customization", "Life Cycle Service" or "Zero Downtime Production" can solve the mentioned requirements but they need completely new technologies. In order to technically achieve the postulated flexibility of these paradigms, support for reconfiguration – both at the machine (physical) and at the control (logical level) – is necessary [1]. From the technological point of view a shift from closely interlocked, rigidly coupled and central controlled production systems to more flexible, distributed environments is required. This can be realised with reusable and closely cooperating components with standardised interfaces. Future machines, plants and their com-
ponents are built up from flexible autonomous and intelligent mechatronic components to a distributed system. Compared to the higher complexity of such systems a number of new advantages and opportunities turn up: higher modularity, flexibility & (re-)configurability; scalability in functionality & computing performance, simpler system design & engineering, better local real time behaviour by local computing performance, comprehensive real-time behaviour over components as well as higher system availability through systematic distribution. Therefore the automation and control concept plays a central role of its realization [2]. An approach to solve this complexity on control level is provided by the new IEC 61499 standard – “Function Blocks for Industrial Process Measurement and Control Systems” [3]. It has been developed especially as a methodology for modelling open distributed Industrial Process, Measurement and Control Systems (IPMCSs) to obtain vendor-independent system architecture. This standard
defines concepts and models so that control software encapsulated in function blocks can be assembled and distributed to controller nodes to define the behaviour of control systems. Furthermore IEC 61499 meets the fundamental requirements of open distributed systems as mentioned in [7,8]. IEC 61499 can be seen as a reference architecture that has been developed for modelling and implementation of distributed, modular, and flexible control systems. Through the management model [5,6]— including the management interface of IEC 61499 compliant devices—the new standard provides a suitable reconfiguration mechanism. It specifies an architectural model for distributed applications in IPMCSs in a very generic way and extends the function block model of its predecessor IEC 61131-3 [4] with additional event handling mechanisms and concepts for distributed systems. Additionally it defines platform independent reconfiguration services at device level [1]. Up to now there exist only prototypic implementations of IEC 61499 compliant Run-Time Environments and the corresponding Engineering Tools (ET) with lacks in engineering support. The principle challenge and aim of this paper is to present an approach to overcome the limitations of IEC 61499 compliant ETs and give an outlook on necessary engineering support. To begin with, chapter 2 discusses the requirements for an advanced engineering environment. Chapter 3 gives an overview of currently existing IEC 61499 compliant engineering tools for modelling of distributed automation and control systems. In Chapter 4 we propose a framework for an advanced IEC 61499 engineering tool. Chapter 5 deals with a prototypical implementation of the proposed tool. Finally conclusions are presented in chapter 6.
-
-
-
-
-
-
2. Adv. Engineering Environment Requirements This section deals with requirements for an Advanced Engineering Environment. The modelling of distributed control and reconfiguration control applications1 is getting a more and more complex task. In order to keep it manageable for control engineers the following requirements are introduced through the engineering process: - Integrated development environment (IDE): Integration of the different tools for programming, configuration, hardware settings, diagnosis, monitoring etc. to a whole engineering suite for distributed and reconfigurable control applications. The control engineer wants
-
to face a seamless system view depending on his requirements. Application centred engineering: Especially reconfiguration control applications have to be considered from the whole applications’ point of view. A device centred engineering approach will not be manageable and will lead to complex evolution scenarios. Engineering and configuration support for communication: Due to the fact that a distributed system leads to more complexity the engineering and configuration of the communication links between different devices shall be automatic or semi-automatic configured by an advanced engineering environment (i.e. the complexity should be hidden from the control engineer). Different engineering views: Reconfiguration introduces additional views within the engineering. The original/actual state of the control application has to be displayed in comparison with the desired state. The reconfiguration control application and its interconnections to these applications and the sequence of reconfiguration have to be visualized in an intuitive manner. Reconfiguration modelling language: The modelling language for reconfiguration has to be easy to understand and maintain. Therefore a similar semantic has to be used as for control applications. Extendable SW-component library: Software components (function blocks) have to be reusable for different applications. This requires standardized interfaces and the possibility to categorize existing components. In case of a distributed development also an interchange of component libraries is required. Distributions support for SW-components: Distributed systems tend to more complexity. This has to be hided form the control engineer. Therefore the ET should provide a support for the management of the SW-component distribution. Import functionality: Integration of existing software components beyond the range of IEC 61499 (e.g. IEC 61131-3, IEC 61804) should be possible for the migration of existing knowledge from control applications.
3. Related Work in IEC 61499 based ETs Within this section a review on engineering environments for IPMCSs based on IEC 61499 with focus on the above mentioned requirements is carried out. Currently there exist the following six ETs: 3.1. HOLOBLOC FBDK
1
Within the scope of this paper a reconfiguration control application is described best as a control application which is able to change control application during its execution. A reconfiguration control application contains usually several basic reconfiguration steps.
The Function Block Development Kit (FBDK) was the first prototypical implementation of and IEC 61499 based engineering tool and originally developed by Rock-
well Automation. This demonstration software enables a control engineer to build and test data types, function block types, resource types, device types and system configurations according to the IEC 61499 standard [3]. Furthermore it allows application centred engineering, has an extendable SW-component library and is able to download the control application to different devices. Currently the FBDK is maintained by HOLOBLOC Inc. [7] that provides customized training, expertise and technology for IPMCSs based on the IEC 61499 standard. The major drawback of FBDK is the missing support for modelling of reconfiguration control applications and a lack in the configuration support for communication. 3.2. OOONEIDA Workbench The OOONEIDA Workbench is an open source project of the OOONEIDA Community of Common Interest [9]. Its purpose is to develop an IDE supporting the global adoption and deployment of the IEC 61499 standard for the use of software components in distributed industrial-process automation and control systems. This project was started in Sept. 2005 and is currently in a pre-alpha stadium. In the final version it is planned to support the engineering of IEC 61499 applications according to the features of the HOLOBLOC FBDK. 3.3. CORFU ESS CORFU ESS is an IEC-compliant Engineering Support System (ESS) that extends the IEC 61499 model to cover requirements specifications through the use of UML [10]. It adopts a hybrid approach for the development of IPMCSs that integrates UML with the IEC 61499 Function Block concept. The current implementation integrates IBM's Rose. Compared with the HOLOBLOC FBDK it supports the engineering of IEC 61499 system configurations using function block, data and devices types. Currently it’s not possible to use the resource concept of IEC 61499 in CORFU ESS. 3.4. TUT-IPE VisioTM Template The Tampere University of Technology has developed a Function Block Editor based on MS Visio™ [11]. It supports the creation of function block types and IEC 61499 control applications. The major drawback is the missing tool support for the hardware configuration. 3.5. TORERO IDE The TORERO IDE is an engineering tool that includes several functionalities such as allocation of control applications to devices, support of their
configuration, deployment of the code and configuration to the devices and specification of the communication between different devices [12]. For the modelling of the control application the IEC 61499 standard is used. Therefore the TORRERO IDE provides a IEC 61499 function block editor. The major drawback of this IDE also is the missing support for a systematic modelling of reconfiguration control applications. 3.6. ISaGRAF FBDK The next release of ICS Triplex's ISaGRAF version 5.0—currently in a beta testing phase—has been enhanced to also support a first set of IEC 61499 models in addition to its present IEC 61131-3 features [13]. This includes the basic function block and composite function block models. These FBs can be used in programs, which reside in resources of the different ISaGRAF devices in a distributed automation system. Although it provides a so called application view, which shows where parts of the application reside in the system, the parts have to be programmed directly in the resources. The communication between the application parts is achieved through network variables. An additional problem is that the event-triggered IEC 61499 FBs are executed on top of a time triggered IEC 61131-3 runtime system, which results in a large execution overhead and therefore in a rather poor performance of the IEC 61499 application. All of these tools excepting ISaGRAF FBDK have no import functionality to integrate existing software components and are primary developed to support IEC 61499 compliant engineering of distributed control applications. Furthermore they are not designed to support the modelling of reconfiguration control applications. 4. Approach for an Advanced Engineering Support for Distributed, Reconfigurable IACSs To overcome the limitations of existing IEC 61499 based engineering tools for distributed control systems we propose a modular and extensible tool framework supporting application centred modelling of control and reconfiguration control applications in a hardware independent form [14]. The top–level approach focuses on replacing state–of–the–art “ramp down—stop— download—restart—ramp up” methods with a simple continuous system re-configuration, which is controlled by an reconfiguration application that is modelled with components in the same way as control applications In the last step of the control engineering process SW-components (function blocks) are mapped to the corresponding embedded control devices. Fig. 1 shows
the different modules of the framework. Import Import & & Export Export Filter Filter
Reconfiguration Reconfiguration Control Control Application Application Editor Editor
Data Data Model Model
Hardware Hardware Configuration Editor Editor
Controller Controller Manager Manager
Verification & & Validation Validation Verification
Control Control Application Application Editor Editor
Distributed Distributed Debugging Debugging
SW-Component Library
Device Device Editor Editor Function Function Block Block Editor Editor Control Control Code Code Generator Generator
Engineering Engineering Environment Environment Framework Framework
control devices. The visualisation and the parameter configuration of these devices are based on the hardware capability description. Furthermore the actual configuration and capabilities (e.g. free processing power, free memory …) of the embedded control devices have to be determined also by the framework and should be display by the Hardware Configuration Editor. This is very essential for the verification and validation of reconfiguration control applications. In case of reconfiguration also the hardware layout/setup can change. This means that I/Os from actuators or sensors have to be replaced physically and have also be supported by the advanced engineering environment.
Communication Network
Embedded Embedded Controller Controller
Network Network Interface Interface
Device Device Management Management
Control Application
Embedded Embedded Controller Controller
Reconf. Control Application
Application Application Environment Environment Process Process Interface Interface
Embedded Embedded Hardware Hardware (Micro (Micro Controller) Controller) & & Real-Time Real-Time Operating Operating (RTOS) (RTOS) System System
Embedded Controller
Controller 1
Fig. 1. Modules of an advanced engineering environment framework for distributed and reconfigurable IACS
The central parts of the proposed framework are described below in more detail. 4.1. Control and Reconf. Control Application Editor The application architecture also for control and reconfiguration control should focus on the process instead of devices. This means that the programming should be done in an application-centred way instead of a device centric one. Application centred engineering will be supported by adapting the IEC 61499 reference model for distribution. This allows hardware independent programming. In one of the last steps of the engineering process the function blocks are distributed (mapped) to the corresponding embedded controllers. Through the mapping communication effort between the different control devices is necessary. In the engineering environment this fact will be represented graphically. The control engineer has the possibility to use preconfigured network connection parameters or he can specify parameters in an advanced network configuration view. 4.2. Hardware Configuration Editor This editor is responsible for the visualisation of the available hardware modules (e.g. embedded controller devices of mechatronic modules), their configuration and the visualisation of the mapped function blocks of a control or reconfiguration control application to different embedded
4.3. Hardware Capability Description A main point for tool support in regard to distributed IACS is a precise description of the capabilities of the hardware. A typical system environment is not restricted to devices of one or a very small subset of vendors. Therefore the tool has to handle different kinds of information about the devices. This leads to a description that does not only expand a description as already known from field bus nodes; the set of parameters and their description has to form a comprehensive image of the device which is very important also for reconfiguration. The hardware capability description has to include the following different aspects: - Device dependent & application independent parameters: Within a heterogeneous system environment fundamental parameters like available memory, processing capability, I/O interfaces and supported network stacks have to be mentioned, additionally features of the software (especially the runtime platform) on the device (set of supported commands and functionality, processing time for atomic control operations, capability of the scheduling algorithm e.g. real-time) are necessary. Within these parameters modular devices and the configuration and parameters of the modules also have to be mentioned. - Device dependent & application dependent parameters: On one hand information about the currently available free memory space and processing power are important to determine the current situation of the processing unit. On the other hand the behaviour of the active applications on the devices has to be described. This means their cyclic and also their acyclic characteristic have to be qualified by significant parameters. In case of vendor defined software modules these parameters can be defined by extensive analysis work by the vendor, but also for user defined applications these parameters are needed. - Device independent: Additionally the position of a device within the network gives important informa-
tion to determine latency of the communication networks. For instance the number of switches within the communication of two devices has a major impact on the latency time of an Ethernet network. The hardware capability description can be used in many ways. First of all the tool gets the possibility to support the user when mapping the applications to the devices (e.g. automatic network configuration). But there are further impacts possible for verification of correctness of the application with regard to the possibilities of the hardware (e.g. execution behaviour, realtime constraints). Another point is the tool support for verification of changes of applications in case of reconfiguration of IACS without downtimes. 5. Prototypic Advanced Engineering Environment for Distributed, Reconfigurable IACSs The following section gives an overview of a prototypic implementation of the proposed advanced engineering environment. Based on Eclipse SDK [15] and the Graphical Editing Framework (GEF) [15] the engineering tool is realized as a plug-in for Eclipse. Eclipse is an open source community whose projects are focused on providing an extensible development platform and application frameworks for building software which is very suitable for the proposed framework in section 4. The GEF allows creating a rich graphical editor from an existing model. Fig. 3 shows the prototypic implementation. The main parts of the tool are the application, the hardware configuration editor, the system (project) manager and the function block and device libraries and the reconfiguration editor. The Application Editor is used to draw function block networks. Usability and aid for the user are main goals of the editor. Functions like copy/paste or undo/redo are added to the tool. Checks during drawing connections whether a connection is possible help the user to avoid mistakes. Functions like zooming helps the user developing larger function block networks. The Outline View provides an overview of the developed control application. Furthermore connections are drawn by a dotted line if connected function blocks are mapped to different devices. This shows the user that communication links have to be configured (see Fig. 3). The Hardware Configuration Editor is responsible for the modelling of the communication network. The network can be split into more parts for structuring. Each of these parts can be opened with the editor. Within this editor a function block can be mapped to a device. Mapping means that a function block gets assigned to a device or to a resource if the device has more resources (execution environments for
function blocks according to IEC 61499 [3]).
Fig. 2. Un-parameterized communication function blocks (SIFBs) in hardware configuration editor
Mapping can be done either by drag-and-drop within the Hardware Configuration Editor or in the Application Editor by selecting the device/resource in the context menu of a function block. If a function block (call Service Interface Function Block SIFB in IEC 61499) needs to communicate with the process interface or the communication interface of a control device special hardware mapping connections are available. Such hardware mapping connections can be connected with hardware ports of the device as depicted in Fig. 2. Hardware ports with common properties can be grouped. The previous mentioned mapping can occur either on a single port or onto a group of ports. As a communication function block knows whether it has to communicate with the process interface or the communication interface the mapping connections are drawn either on the bottom or on top of the abstract representation of the function block. By selecting the connection and dragging the not mapped end to the defined hardware port the mapping can be executed. Mapping is only possible if the function block can communicate with the specified port. 6. Summary and Outlook Within this paper the requirements for an advanced engineering environment for distributed and reconfigurable IACS are discussed. A review of existing engineering tools based on the IEC 61499 standard shows a lack especially in engineering support for communication and also for reconfiguration control applications. Therefore we introduced a framework for an integrated engineering environment. Furthermore a first prototypical implementation of this tool was presented. The next steps in our research work is to find an intuitive way for modelling of reconfiguration control applications, the corresponding re-arrangement of embedded control device I/Os in case of an physical reconfiguration and to integrate these features in the proposed framework.
Application Editor
Reconfiguration Application Editor
System (Project) Manager Configuration Parameters
Mapping = Distribution
Function Block Library
Hardware Configuration Editor (Devices + Network Segements)
Reconfiguration Steps
Fig. 3. Prototype for an advanced engineering environment for distributed and reconfigurable IACS based on IEC 61499
Acknowledgements This work is supported by the FIT-IT: Embedded System program, an initiative of the Austrian federal ministry of transport, innovation, and technology (bm:vit) within the εCEDAC-project under contract number FFG 809447. Further information is available at: www.ecedac.org PROFACTOR is partner of the EU-funded FP6 Innovative Production Machines and Systems (I*PROMS) Network of Excellence. http://www.iproms.org
[7] [8]
[9] [10]
References [1] [2] [3] [4] [5]
[6]
Iacocca Institute: 21st Century Manufacturing Enterprise Strategy. An Industry-Led View. Volumes 1 & 2. Iacocca Institute, Bethlehem, PA, 1991. Lewis, R.W.: Modeling control systems using IEC 61499. Number ISBN: 0 85296 796 9. IEE Publishing, 2001. IEC 61499: Function blocks for industrial-process measurement and control systems. Publication, Int. Electrotechnical Commission IEC Standard, 2005. IEC 61131-3: Programmable controllers - Part 3: Programming languages. Publication, International Electrotechnical Commission IEC Standard, 2003. Brennan, R., Fletcher, M., Norrie, D., eds.: An agentbased approach to reconfiguration of real-time distributed control systems, IEEE Transactions on Robotics and Automation, Special Issue on Object-Oriented Distributed Control Architectures, 2002. Fletcher, M., Norrie, D.H.: Real-time Reconfiguration using an IEC 61499 Operating System. In: 15th International Parallel and Distributed Processing Sympo-
[11]
[12]
[13] [14]
[15]
sium (IPDPS’01) Workshops, 2001. Christensen, J.H.: HOLOBLOC.com - Function BlockBased, Holonic Systems Technology. URL http://www.holobloc.com, Access Date: March 2005. Christensen, James H: IEC 61499 Architecture, Engineering Methodologies and Software Tools. URL http://www.holobloc.com/papers/71christensen.zip, Access Date: July 2002. OOONEIDA Workbench URL http://oooneida-wb. sourceforge.net, Access Date: Dec. 2005. K. Thramboulidis, “Development of Distributed Industrial Control Applications: The CORFU Framework”, 4th IEEE International Workshop on Factory Communication Systems, August 2002, Vasteras, Sweden J.L. Martinez Lastra, L. Godinho, A. Lobov and R. Tuokko, “An IEC 61499 Application Generator for Scan-Based Industrial Controllers”, 3rd IEEE Int. Conf. on Industrial Informatics (INDIN), Perth, Austrial, 2005. C. Schwab, M. Tangermann, A. Lueder, “ The Modular TORERO IEC 61499 Engineering Platform - Eclipse in Automation”, Emerging technologies and factory automation, ETFA 2005, 10th IEEE international conference Catania, Italia , September 19-22, 2005. ICS Triplex ISaGRAF Inc.: ISaGRAF User’s Guide. Nov.2005. T. Strasser, A. Zoitl, F. Auinger, C. Sünder: “Towards Engineering Methods for Reconfiguration of Distributed Realtime Control Systems based on the Reference Model of IEC 61499”, 2nd Int. Conference on Applications of Holonic and Multi-Agent Systems, Copenhagen, Denmark, 2005 E. Gamma, K. Beck, “Contributing to Eclipse: Principles, Patterns, and Plugins”, Addison-Wesley Professional; 1st edition (October 31, 2003), ISBN: 0321205758