Addizione
Questa funzione somma le variabili di ingresso IN1 + IN2 +... (fino a 28 contatti di ingresso) e scrive il risultato dell'addizione nella variabile di uscita.
Ingresso
1° ingresso: primo addendo
2° ingresso: secondo addendo
Uscita
Uscita come ingresso: somma
Tutte le variabili di ingresso e uscita utilizzate per programmare questa funzione sono state dichiarate nell'intestazione del POU.La stessa intestazione del POU è utilizzata per tutti i linguaggi di programmazione.
VAR
enable: BOOL:=FALSE;
summand_1: INT:=0;
summand_2: INT:=0;
sum: INT:=0;
END_VAR
In questo esempio sono state dichiarate le variabili di ingresso (summand_1, summand_2 e enable). Al loro posto potete inserire costanti direttamente nella funzione (abilitazione in ingresso p.es. per i test).
Se enable è impostato (TRUE), summand_1 viene sommato a summand_2. Il risultato viene scritto in 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 |
Nel caso in cui siano necessari più di due addendi, dovete correggere conformemente l'IL:
LD |
summand_1 |
E_ADD |
summand_2, summand_3 |
ST |
sum |
sum è sempre nella posizione finale.