Download Control FPWIN Pro Reference Manual

Transcript
Control FPWIN Pro Reference Manual
9.10 How the Compiler Works
9.10.9.1 Function Block Instances in Holding Areas
Instances of function blocks can be assigned to holding areas, i.e. all conditions for the function
block’s variables remain intact after a power failure. In this case, the variables have to be
entered under the class VAR_RETAIN or VAR_EXTERNAL_RETAIN in the POU header. For
VAR_EXTERNAL_RETAIN, the FB instance must have been declared in the global variable list
as VAR_GLOBAL_RETAIN.
If the class VAR_RETAIN or VAR_EXTERNAL_RETAIN is used for the instance, the compiler
assigns addresses from the holding area to the non-holding variables of the classes VAR,
VAR_INPUT, VAR_OUTPUT or VAR_IN_OUT, which are only initialized after downloading the
program. Sub-instances of the class VAR are treated like sub-instances of the class
VAR_RETAIN. The adresses for other variables or sub-instances of the classes VAR_RETAIN,
VAR_OUTPUT_RETAIN, VAR_EXTERNAL, or VAR_EXTERNAL_RETAIN are assigned as for
instances of the class VAR or VAR_EXTERNAL. The values of the variables of the classes
VAR_CONSTANT and VAR_EXTERNAL_CONSTANT are entered as constant values in the
program code.
If the class VAR or VAR_EXTERNAL is used for an instance, the declaration of the variables or
sub-instances in the function block determines whether they are holding (VAR_RETAIN) or not
(VAR).
POU Header for the Program 'Prog'
A program ‘Prog’ accesses the function block ‘FB1’ twice:
POU Header of the function block ‘FB1’
The POU Header of the function block ‘FB1’ has the following entries. Function block
‘FB1’ also draws upon two instances of function block ‘FB2’.
125