Glossary · Distributed automation and IEC 61499
Subapplication
Also known as: Subapplication type, Subapplication instance, SubApp
German: Subapplikation
In IEC 61499, a subapplication is a reusable network of function block and subapplication instances with its own event and data interface, used to structure an application; unlike a composite function block, its component function blocks can be mapped to different resources and devices.
- IEC 61499
- Standards
In one sentence
An IEC 61499 subapplication groups function blocks behind an interface; unlike a composite block, its parts can run on different devices.
Example
A subapplication PalletizerCell groups the blocks for the gripper, the layer counter and the safety interlock; during mapping, the gripper blocks go to the robot controller and the counter to the line PLC.
How it applies
- Engineering: Subapplications bring hierarchy into large Application model diagrams. Like functions in a program, they hide details behind a named interface of event and data inputs and outputs, and they can be nested. IEC 61499-1 defines subapplication types, which can be stored in a library and instantiated several times, and subapplication instances inside an application.
- Distribution: A subapplication is a structuring element, not an execution unit. When the application is mapped, the function blocks inside it are assigned to resources one by one, so parts of the same subapplication can run on different devices. The connections that then cross device boundaries need communication function blocks or a tool that inserts them. This is how a Distributed function block is realized in practice.
- Behavior: A subapplication has no execution control of its own. Events and data at its interface pass through to the inner blocks, which execute under the rules of their own types.
- Documentation: Document a subapplication type like a function block type: purpose, interface table, internal network diagram and the intended mapping, if parts are expected to run on specific devices. For each instance, record where its component blocks were mapped.
Subapplication vs. composite function block
Both contain a network of function blocks behind an interface. A Composite function block is a function block type: its instance is mapped as a whole to one resource and runs there. A subapplication is a grouping inside the application: its component blocks are mapped individually and can end up on several resources and devices. Choose a composite function block for an encapsulated, reusable behavior on one controller, and a subapplication for a functional unit of the application that may be distributed.