6. REDUNDANCY WITH NX3030 CPU
• The necessary time to manage the redundancy (redundancy overhead)
Besides this, the interval time must have an additional looseness necessary for the other processes execution times
(PROFIBUS communication, Ethernet communication with SCADA systems, etc...)
MasterTool has conditions of calculating the necessary time for redundancy management (redundancy overhead), after the
project is finished (all developed POUs and redundant memory areas defined).
Regarding the NonSkippedPrg and ActivePrg POUs execution maximum time, they are possible to be measured after these
POUs are already developed. Initially, MasterTool estimates 10 ms for these two POUs maximum time, together, but the user
must revise this field afterwards, when measuring using the final project.
After each compilation, MasterTool sums the redundancy overhead calculated with the parameter which informs the POU
times (NonSkippedPrg and ActivePrg), and verifies if the minimum looseness parameterized is being obeyed.
E.g.:
Parameters configured in the MainTask screen:
• MainTask Interval: 100 ms
• POUs NonSkippedPrg + ActivePrg estimated time: 10 ms
• Minimum tolerance: 30%
Calculated Overhead for redundancy: 50 ms
In this case, the total time used is 60 ms (10 ms + 50 ms), which consists in 60% of the MainTask cycle (100 ms). This
way, the maximum looseness is 40% and the minimum looseness of 30% is being respected.
ATTENTION
A compilation error is produced in case the minimum looseness isn’t respected, if it is con-
figured in the CPU Project Parameters.
ATTENTION
The compilation being successful or not, MasterTool informs the calculated looseness and
the redundancy overhead predicted on the message window.
6.4.8.1. ActivePrg Program
In this POU the user must create the main application, responsible for its process control. This POU is called by the main
POU (MainPrg), being executed only in the Active CPU.
The user can also create additional POUs (program, function or function block), and call or instance them inside the
ActivePrg POU, in order to structure his program. It’s possible to call functions and instance function blocks defined in
libraries, too.
It must be remembered that all symbolic variables defined in the ActivePrg POU, as the instances of function blocks,
are redundant variables. Symbolic variables defined in additional POUs from the program type which are called inside the
ActivePrg, are also redundant variables.
ATTENTION
Variables from the type VAR_TEMP must not be used in the redundant program.
6.4.8.2. NonSkippedPrg Program
This POU is used for controls which must be executed in both CPUs (PLCA and PLCB), independent on the redundancy
state. This POU is also called by the main POU (MainPrg).
It must be remembered that all symbolic variables defined in the NonSkippedPrg POU, as well as the function blocks
instances, are non-redundant variables. The user must create additional POUs (program, function or function block), and call
or instance them inside the NonSkippedPrg POU, in order to structure his program. It’s possible to call functions and instance
function blocks defined in libraries, too.
314