A function block in the IEC 61499 standard is the basic building block from which entire applications may be built. There are two types of function blocks: basic function blocks and composite function blocks. A composite function block contains other composite function blocks and/or basic function blocks. A basic function block contains algorithms and an execution control chart (ECC).
Each function block has event inputs and outputs as well as data inputs and outputs. In a basic function block the execution of an algorithm is triggered by the occurrence of an input event. The executed algorithm then produces new output data from the input data. When the algorithm has finished executing an output event is generated. This output event might then be the input event to another function block.
The following are some IEC 61499-based activities from industry and research:
- Industrial Applications - Proceedings of the First IEC 61499 Industry Day presenting new industrial applications and supporting tools for IEC 61499 technology;
- nxtControl - nxtControl: first real IEC 61499 compliant automation software, Engineering Tool, Runtime & Libraries (based on the 4DIAC initiative, see below)
- iec61499.com - some infos about the IEC 61499 standard from the Martin Luther University of Halle-Wittenberg
- ISaGRAF.com - combined IEC 61131 and IEC 61499 framework, first commercial IEC 61499 implementation
- Holobloc.com - the first IEC 61499 compliant Java-based reference implementation by Jim Christensen]
- 4DIAC - Framework for Distributed Industrial Automation and Control - EPL licensed IEC 61499 compliant engineering tool (4DIAC-IDE) and runtime (4DIAC-RTE/FORTE)
- Fuber (FUnction Block Execution Runtime) - LGPL licensed runtime
- CORFU ESS - Engineering Support System from the Software Engineering Group, University of Patras
- Archimedes System Platform - An IEC 61499-compliant System Platform from the Software Engineering Group, University of Patras
- Evolution Control Environment for Distributed Automation Components - engineering approach and engineering tool for the user-initiated reconfiguration of IEC 61499-compliant function block networks; integrated formal verification of the reconfiguration process based on NCES (basis for the 4DIAC-IDE)
- Micro Holons for Next Generation Embedded Automation and Control - execution approach and runtime environment (middleware) for the user-initiated reconfiguration of IEC 61499-compliant function block networks; real-time execution approach for IEC 61499-compliant distributed applications (basis for the 4DIAC-RTE/FORTE)
- Communication Framework for Networked Automation and Control Systems - development of methods and algorithms for the automatic configuration of communication links in a distributed control environment (based on some methods of the IEC 61499 reference models)
- IEC 61499 Testbed - Modular Production System (Festo)
- FBench - Open Source Function Block Workbench
- O³neida: Network of Networks to Advance Distributed Industrial Automation - O³neida is a not-for-profit corporation incorporated in Canada, operating as O³neida Inc. O³neida operates as a network of networks focused on fostering distributed industrial automation based upon open standards.
- New Textbook on IEC 61499
- MEDEIA- Model-Driven Embedded Systems Design Environment for the Industrial Automation Sector, FP7 project (based on the IEC 61499 reference models; usage of 4DIAC as potential implementation platform)
- HCE Italy- Hardware appliances and graphical programming environment for home and industrial automation, based on IEC 61499