Addition
Cette fonction additionne les variables d’entrée IN1 + IN2 +... (jusqu’à 28 contacts d’entrée et écrit le résultat dans la variable de sortie.
Entrée
1e entrée : cumulande
2e entrée : cumulateur
Sortie
Sortie comme entrée : somme
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
enable: BOOL:=FALSE;
summand_1: INT:=0;
summand_2: INT:=0;
sum: INT:=0;
END_VAR
Dans cet exemple, les variables d’entrée (summand_1, summand_2 et enable) ont été déclarées. Vous pouvez aussi entrer des constantes directement dans la fonction (l’entrée enable, par exemple pour des tests).
Si enable est TRUE, summand_1 est ajoutée à summand_2. Le résultat est écrit dans sum.
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_F,E_ADD-2!,Instance,9,0,15,5,,?DEN?D?D?AENO?C);
B(B_VARIN,,summand_1,7,2,9,4,);
B(B_VARIN,,summand_2,7,3,9,5,);
B(B_VAROUT,,sum,15,2,17,4,);
B(B_CONTACT,,enable,4,1,6,3,);
L(1,2,4,2);
L(6,2,9,2);
L(1,0,1,5);
END_NETWORK_BODY
END_NET_WORK
END_BODY
LD |
enable |
E_ADD |
summand_1, summand_2, sum |
Si plus de deux valeurs doivent être additionnées, le programme IL doit être écrit ainsi :
LD |
summand_1 |
E_ADD |
summand_2, summand_3 |
ST |
sum |
sum doit toujours être en position finale.