Déplacer deux valeurs vers une zone de destination
Cette instruction FP copie deux valeurs d’entrée vers une zone de destination définie par d_Start.
Entrée
Zone source
Sortie
Zone de destination
Les variables d’entrée et de sortie doivent être du même type de données.
Si les valeurs spécifiées à l’aide du modificateur d’adresse sont en dehors des limites autorisées.
Si la plage de transfert est en dehors des limites accessibles.
Si les valeurs spécifiées à l’aide du modificateur d’adresse sont en dehors des limites autorisées.
Si la plage de transfert est en dehors des limites accessibles.
Toutes les variables d’entrée et de sortie utilisées pour programmer cette fonction ont été déclarées dans l’en-tête du POU. Le même en-tête de POU est utilisé pour tous les langages de programmation.
VAR
rArray: ARRAY [0..1] OF REAL:=[2(0.0)];
bEnable: BOOL:=FALSE;
rValue2: REAL:=3.4;
rValue1: REAL:=1.2;
END_VAR
La fonction est exécutée lorsque la variable bEnable est définie sur TRUE..
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
ACTIVE_NETWORK := 0 ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 5 ;
NETWORK_BODY
B(B_VARIN,,rValue1,18,2,20,4,);
B(B_VARIN,,rValue2,18,3,20,5,);
B(B_VAROUT,,rArray[0],28,2,30,4,);
B(B_CONTACT,,bEnable,5,1,7,3,);
B(B_F,FP_MOVE2!,,20,0,27,5,,?DEN?D@'s1'?Ds2?AENO?Cd_Start);
L(1,2,5,2);
L(7,2,20,2);
L(27,3,28,3);
L(1,0,1,5);
END_NETWORK_BODY
END_NET_WORK
END_BODY
If (bStart) then
FP_MOVE2(s1 := rValue1, s2 := rValue1, d_Start => rArray[0];
End_if;