5. Initial Programming
232
Single
In the Single Project Profile, the application has only one user task, MainTask. This task is
responsible for the execution of a single Program type programming unit called MainPrg. This single
program can call other programming unit, of the Program, Function or Function Block types, but the
whole code will be executed exclusively by the MaisTask.
In this profile, the MainTask will be of the cyclical type (Cyclic) with priority fixed as 13 (thirteen)
and runs exclusively the MainPrg program in a continuous loop. The MainTask is already fully
defined and the developer needs to create the MainPrg program, using any of the languages of the
IEC 61131-3 standard. It is not always possible to convert a program to another language, but it’s
always possible to create a new program, built in a different language, with the same name and
replace it. The MasterTool IEC XE standard option is to use the MasterTool Standard Project
associated with the Single profile, which also include the MainPrg created in the language selected
during the project creation.
This type of application never needs to consider issues as data consistence, resource sharing or
mutual exclusion mechanisms.
Table 5-3. Single Profile Tasks
Basic
In the Basic Project Profile, the application has one user task of the Continuous type called
MainTask, which executes the program in a continuous loop (with no definition of cycle time) with
priority fixed in 13 (thirteen). This task is responsible for the execution of a single programming unit
POU called MainPrg. It’s important to notice that the cycle time may vary according to the quantity
of communication tasks used, as in this mode, the main task is interrupted by communication tasks.
This profile also allows the inclusion of two event tasks with higher priority, that can interrupt
(preempt) the MainTask at any given moment: the task named ExternInterruptTask00 is an event task
of the External type with priority fixed in 02 (two); the task named TimeInterruptTask00 is an event
task of the Cyclic type with priority fixed as 01 (one).
The Basic project template model includes three tasks already completely defined as presented in
Table 5-4. The developer need only to create the associated programs.
Table 5-4. Basic Profile Tasks
Normal
In the Normal Project Profile, the application has one user task of the Cyclic type, called MainTask.
This task is responsible for the execution of a single programming unit POU called MainPrg. This
program and this task are similar to the only task and only program of the Single profile, but here the
application can integrate additional user tasks. These other tasks, named CyclicTask00 and
CyclicTask01, each one responsible for the exclusive execution of it respective CyclicPrg<nn>
program. The CyclicTask<nn> tasks are always of the cyclic type and with priority fixed in 13
(thirteen), same priority as MainTask. These two types form a group called basic tasks, which
associated programs can call other POUs of the Program, Function and Function Block types.