Glossary · Distributed automation and IEC 61499
Execution control algorithm
Also known as: Algorithm (IEC 61499), EC action algorithm
German: Ausführungsalgorithmus
In IEC 61499, an algorithm of a basic function block is a piece of code, typically written in an IEC 61131-3 language such as structured text, that the execution control chart invokes as an action of an EC state and that operates on the block's input, output and internal variables.
- IEC 61499
- Standards
In one sentence
In IEC 61499, an algorithm is code, often structured text, that a basic function block's ECC runs as an action of a state.
Example
When the ECC of a filter block enters the state FILTER, it runs the algorithm CalcAverage and then emits the event output CNF.
How it applies
- Engineering: Algorithms contain the computational part of a basic function block; the Execution control chart (ECC) decides when they run. An EC action pairs an algorithm with an optional output event. Algorithms should run to completion quickly and not wait for external conditions.
- Languages: IEC 61499 does not prescribe one language. Structured text is common; tools may support other IEC 61131-3 languages or high-level languages.
- Testing: Algorithms can be unit-tested like IEC 61131-3 functions, with the block's variables as inputs and outputs.
- Documentation: Document each algorithm's purpose, the variables it reads and writes and its behavior at limits. The list term execution control algorithm is not a formal IEC 61499 term; in project documents, algorithm is the precise name.
Algorithm vs. ECC
The ECC is the state machine that controls execution. Algorithms are the code executed in its states. Keeping control flow in the ECC and computation in algorithms makes blocks easier to understand.