Glossary · Distributed automation and IEC 61499
IEC 61499 runtime environment
Also known as: Function block runtime, IEC 61499 runtime, FB runtime
German: IEC-61499-Laufzeitumgebung
In IEC 61499, a runtime environment is the software on a device that implements the device and resource models: it hosts resources, creates and connects function block instances on management commands, delivers events and schedules algorithm execution, and provides the services behind service interface function blocks such as I/O, timers and communication.
- IEC 61499
- Standards
In one sentence
An IEC 61499 runtime runs function block applications on a device: it receives the configuration, delivers events and provides I/O and communication.
Example
An engineer downloads the palletizer part of an application from the IDE to an embedded controller; the runtime creates the block instances and connections it receives as management commands and starts the resource.
How it applies
- Role: The runtime turns the models of IEC 61499-1 into running software. It realizes the device (see Device model (IEC 61499)) and its resources (see Resource model), accepts Management command requests to create, connect, start, stop and delete function blocks, and executes the blocks according to its Execution semantics (IEC 61499). It usually runs on an operating system or real-time operating system, on a PLC, an embedded board, an industrial PC or in a container.
- Services: Service interface function blocks are only as good as the runtime behind them. The runtime supplies the I/O drivers, timers for E_DELAY and E_CYCLE, and the protocols behind communication function blocks (for example UDP, TCP, MQTT or OPC UA, depending on the product).
- Examples: Eclipse 4diac FORTE is an open-source runtime written in C++ for small embedded devices; the Holobloc FBDK has a Java runtime; automation vendors ship commercial runtimes for their controllers and software-defined platforms. Which management commands, function block types and protocols a runtime supports is set out in its documentation and its compliance profiles.
- Reconfiguration: Because the configuration is built at runtime through management commands, a runtime can support changes while the device is running. How far this goes, and under which conditions it is safe, depends on the product.
- Documentation: Device documentation should state the runtime and its version, the supported compliance profiles, the available service interface function block types, the protocols, and limits such as maximum numbers of instances, event queue size and cycle times. Record which runtime version an application was tested with.
IEC 61499 runtime environment vs. PLC runtime system
An IEC 61131-3 runtime system executes a compiled program in a fixed scan cycle and is loaded as a whole. An IEC 61499 runtime receives the application as a set of instances and connections, executes it event by event and can host parts of several distributed applications at once.