These elements are integrated within the software model as defined in the standard (see below).
Figure 1 – Software Model IEC 61131-3
At the highest level, the entire software required to solve a particular control problem can be formulated as a Ctrl Configuration. A Ctrl Configuration is specific to a particular type of control system, including the arrangement of the hardware, i.e. processing resources, memory addresses for I/O channels and system capabilities.
Within a Ctrl Configuration one can define one or more Ctrl Resources. One can look at a Ctrl Resource as a processing facility that is able to execute IEC 61131-3 Ctrl Programs.
Within a Ctrl Resource, one or more Ctrl Tasks can be defined. Ctrl Tasks control the execution of a set of Ctrl Programs and/or Ctrl Function Blocks. These can either be executed periodically or upon the occurrence of a specified trigger, such as the change of a Ctrl Variable.
Ctrl Programs are built from a number of different software elements written in any of the IEC 61131-3 defined programming languages. Typically, a Ctrl Program consists of a network of Ctrl Functions and Ctrl Function Blocks, which are able to exchange data. Ctrl Functions and Ctrl Function Blocks are the basic building blocks, containing a data structure and an algorithm.