Various industrial domains such as manufacturing, power and energy, logistics, building automation. have to deal with changing user demands and requirements. In order to cope with such challenging demands new ways of operating and automating industrial systems and machinery equipment is necessary. A very promising approach is to use distributed control concepts where each system or component gets its own control device, providing secure automated operation of the controlled part and cooperating with other parts in order to perform the overall automation task. Such control approaches have the advantage that they can be adapted and changed more easily keeping the changes mainly localized. Furthermore they feature a better stability in case of system errors or faults (e.g., a disturbance in one device allows others to continue their operation) as well as to provide the possibility of a better graceful degradation.
For turning such industrial automation systems into reality new programming methodologies and tools are necessary. One approach is the IEC 61499 reference model for distributed and reconfigurable automation. It defines a component oriented real-time software architecture for distributed control systems. At the time 4DIAC was started the general benefits of this approach have been shown in several prototypical implementations. However industrial grade environments (commercial or open source) were not available. Over time 4DIAC provided significant input for industrial implementations of IEC 61499.
The 4DIAC project provides an industrial-grade open source infrastructure for distributed Industrial Process Measurement and Control Systems (IPMCS) based on the IEC 61499 standard. This infrastructure includes:
- the Eclipse based engineering tool called 4DIAC-IDE,
- the portable and efficient real-time capable runtime environment called FORTE,
- libraries providing commonly need application functionality (4DIAC-LIB), and
- selected sample applications showing the key features (4DIAC-Systems).
4DIAC in its current form has been started 2007 as open source project fostering the further development of IEC 61499 for its use in distributed IPMCS and further distribute research results from the original contributors. From the beginning it provided everything necessary to program and execute distributed IPMCS.
4DIAC became one of the main sources for IEC 61499-based research and development (see for example the 4DIAC Users' Workshop series). It has been successfully applied in a number of industrial systems, like manufacturing systems, logistics, power and energy applications, robotics, or building automation.
A screenshot of the 4DIAC-IDE is presented in the following figure:
- Contributions from several companies and entities
-
External dependencies in FORTE
The external dependencies of FORTE are open source as well as closed source ones. They can be grouped in two main groups:-
Operating systems and hadware platforms
As FORTE provides hardware abstraction allowing to program a vast range of different set of embedded devices it is important for us to support many different operating systems. Currently these are:- Windows
- Linux (posix)
- VXWorks on Bachmann M1 PLCs utlizing support libraries provided by the company Bachmann (http://www.bachmann.info/en/home/)
- Net+X (Enhanced ThreadX operating system done by DIGI)
- eCos open source real-time operating system: http://ecos.sourceware.org/ (License is an extended GPL: http://ecos.sourceware.org/license-overview.html)
Further operating systems are in the queue and planed.
-
Libraries:
FORTE provides a set of modules that can be enabled if required. These are:- OPClient http://sourceforge.net/projects/opcclient/, LGPL v2
- libmodbus http://libmodbus.org/, LGPL v2.1+
- openPowerlink http://sourceforge.net/projects/openpowerlink/, BSD
- OpenSCADA (eclipseSCADA, http://openscada.org/) SFP protocol
- some Hardware specific modules giving uniform access to hardware specific libraries provided by the vendors in order to use their hardware
A key USP of FORTE is to have this broad range of hardware support.
-
Operating systems and hadware platforms
In the last years 4DIAC attracted a small set of developers and form a small but active community. However the overall development process is rather ad-hoc. Eclipse provides a well-defined governance structure and development process. Becoming an Eclipse project 4DIAC would be the next logical step onto maturity, increase its visibility and attract other contributors and companies to an open source environment for distributed IPMCSs.
4DIAC could especially contribute to the existing efforts of the Eclipse Internet of Things Industry Working Group. 4DIAC targets the lower level real-time layers which is currently not directly targeted by any project.
4DIAC is strongly based on the Eclipse platform using several of its technologies (e.g., EMF, GEF, CDT, Xtext). Furthermore existing projects like eTRICE or Eclipse SCADA can benefit from the collaboration as 4DIAC provides infrastructure components both could use or which could be developed in collaboration reducing the effort for all.
4DIAC plans to finish the initial contribution by the end of Q3 2014 using the 1.5. release.
The following individuals, organisations, companies and projects have expressed interest in this project:
- ABB Corporate Research
- Josef Fritsche, Gerold Kerbleder, Bachmann Electronic
- Roman Froschauer, Alpinatec Technical Products GmbH
- Ken Hall, Rockwell Automation
- Ulrich Hofmann, University of Applied Sciences Salzburg
- Michael Kroner, Weidmüller Interface GmbH & Co. KG
- Horst Mayer, nxtControl GmbH
- Jens Reinmann, IBH Systems
- Robert Schachner, RST Industrie Automation GmbH
- Heinrich Steininger, logi.cals GmbH
- Andreas Voigt, Voigt+Wipp Engineers GmbH
The initial contribution for 4DIAC will consist of all current open source code available at the 4DIAC repositories. This includes 4DIAC's four main projects:
- FORTE (4DIAC-RTE): Modular IEC 61499 compliant Runtime Environment for small embedded devices (16/32 Bit), implemented in C++ allowing real-time constrained IEC 61499 applications,
- 4DIAC-IDE: Modular IEC 61499 compliant Integrated Engineering Environment based on the Eclipse open tool framework,
- 4DIAC-LIB: Library of function blocks usable for different kinds of control applications, and
- 4DIAC-Systems: A set of example projects showing features of the 4DIAC infrastructure.
- Log in to post comments