Glossary · PLC and control programming
Function block (FB)
Also known as: FUNCTION_BLOCK, FB
German: Funktionsbaustein
In IEC 61131-3, a function block is a program organization unit with inputs, outputs and internal variables whose values persist between calls; each use requires its own instance with its own data.
- PLC programming
- Standards
In one sentence
An IEC 61131-3 function block is a reusable program unit with inputs, outputs and internal memory, used through instances.
Example
A function block FB_Motor with inputs Start, Stop and Feedback and outputs Run and Fault is instantiated once for each of the twelve conveyor motors.
How it applies
- Engineering: Function blocks are the main unit of reuse in PLC programs. One tested block type for a motor, valve or axis is instantiated many times, each instance with its own data. IEC 61131-3 standard blocks such as timers, counters and edge detectors are function blocks, and the 2013 edition added object-oriented features such as methods and interfaces.
- Testing: A block type is tested once in depth; each instance is then checked for correct parameters and wiring.
- Maintenance: Changing a block type affects every instance. Library versioning and Change control keep this under control.
- Documentation: Library blocks need reference documentation: interface table, behavior, states, alarms and parameter defaults. Keep it with the library version, not as a separate document that drifts.
Function block vs. function
A Function (IEC 61131-3) returns a result and forgets everything after the call. A function block remembers its internal state between calls. In IEC 61499, the term function block has a related but different meaning: an event-driven unit with event and data interfaces, see Function block type.