4DIAC - Framework for Industrial Automation & Control
This is an open-source development, managed and documented at www.fordiac.org
It has been used in dozens of projects.
as described in (2012) The IEC 61499 Function Block Standard: Software Tools and Runtime Platforms:
This software tool, a product of the 4DIAC open source project, is distributed as a set of plugins for the Eclipse Integrated Development Environment (IDE). Its first (beta) version was made available in May of 2008, and as of April 1012 it is at release version 1.1.2, with a roadmap in place for ongoing development with two major releases per year. Its freely available and extensible nature makes it a popular tool for research and development . The 4DIAC-IDE supports the specification of function block types as well as the development of system configurations including the application model and the device configurations, as well as deployment of the application to distributed devices. In its most recent release, it also supports the debugging and testing of distributed control applications via online display, setting and forcing of remote data, in a manner similar to ISaGRAF Workbench and nxtSTUDIO. It has been informally tested for exchange of library elements (portability) with the FBDK and nxtSTUDIO software tools, and for configurability of the FBRT and nxtRT61499F runtime platforms as well as its own FORTE platform
Taken from the official website (visit for additional details):
The 4DIAC runtime environment (4DIAC-RTE, FORTE) is a small portable implementation of an IEC 61499 runtime environment targeting small embedded control devices (16/32 Bit), implemented in C++. It supports online-reconfiguration of its applications and the real-time capable execution of all function block types provided by the IEC 61499 standard.
FORTE supports all IEC 61131-3 edition 2 elementary data-types, structures, and arrays. It provides a scalable architecture which allows FORTE to adapt to the needs of your application. Applications can consist of any IEC 61499 element as basic function blocks (BFBs), composite function blocks (CFBs), service interface function blocks (SIFBs), adapters and subapplications. For connections between function blocks FORTE uses automatic and save castings (e.g., INT -> REAL). FORTE provides a flexible communication infrastructure via so called communication layers.
The 4DIAC integrated development environment (4DIAC-IDE) is an extensible, IEC 61499 compliant engineering environment for distributed control applications. The modelled applications can be downloaded to distributed field devices according the means defined by the IEC 61499 standard. The hardware capability definition allows to model the control hardware and its interconnections through networks.
The 4DIAC-IDE is based on the Eclipse framework, which allows an easy integration of other plug-ins to the 4DIAC-IDE providing new or extended functionality. IEC 61499 based systems follow an application centric design, which means that the application of the overall system is created at first. Each application is created by interconnecting the desired function blocks (FB) in terms of a function block network (FBN). As soon as the hardware structure is known it can be added to a project's system configuration and the already existing application can be distributed onto the available devices.
The 4DIAC function block library (4DIAC-LIB) contains function blocks (FB) which are available on the 4DIAC-RTE and can therefore be used to create IEC 61499 compliant control applications.
The IEC 61499 standard provides three types of FBs. Basic function blocks (BFBs), composite function blocks (CFBs) and service interface function blocks (SIFBs). Each FB contains an interface and a body. The interface provides connection points for data transmission as well as event triggers. The body describes the entire behavior of the FB. For for CFBs this description is provided in terms of a FB-network (FBN), for BFBs in terms of an execution control chart (ECC) and for SIFBs in terms of a service sequence diagram which hides the entire code of the FB.