Glossary · Distributed automation and IEC 61499
Simple function block
Also known as: Simple FB, Simple FB type, SFB (IEC 61499)
German: Einfacher Funktionsbaustein
In IEC 61499, a simple function block is a function block type in which each event input triggers exactly one algorithm, after which the block issues its output event; it has no user-designed execution control chart with states and transitions and keeps no execution state between events.
- IEC 61499
- Standards
In one sentence
An IEC 61499 simple function block runs one algorithm per input event and then fires its output event, without a state machine to design.
Example
A simple function block SCALE has the input event REQ and the output event CNF; each REQ runs the algorithm that converts a raw analog value into engineering units, then CNF passes the result on.
How it applies
- Where it comes from: IEC 61499-1:2012 describes "simple" function block types in Annex D.2, in the context of bringing IEC 61131-3 style functions into the event-driven model: an input event (typically REQ) samples the associated data, runs one algorithm and is answered by an output event (typically CNF). Tool vendors and the Holobloc FBDK have proposed formalizing this as a "simple ECC" made only of states named after the event inputs, without transitions, for a future edition.
- Engineering: Simple function blocks suit stateless calculations: scaling, limit checks, conversions, arithmetic and string handling. Each event input has its own algorithm, so a block with the inputs REQ_ADD and REQ_SUB carries two algorithms. Internal variables are still possible, but the design intent is that the result depends only on the sampled inputs.
- Tools: Tools store simple function blocks differently. Eclipse 4diac offers a Simple FB type; some tools and recent 4diac versions represent it as a basic function block whose ECC has one state per input event. Check how a type is saved before exchanging libraries between tools.
- Testing: Because there is no state, a simple function block can be tested exhaustively with input tables: one event, one set of inputs, one expected output.
- Documentation: Document each event input with the algorithm it triggers, the data sampled with it (WITH association) and the output event and data it produces. A table per event input replaces the ECC diagram that a basic function block would need.
Simple function block vs. basic function block
A Basic function block has an Execution control chart (ECC) with states and transitions, so its reaction to an event can depend on what happened before. A simple function block maps each input event directly to one algorithm and one output event; the same inputs always produce the same reaction. Use a basic function block as soon as the behavior has modes, sequences or memory.