Dividi
DIV divide il valore della prima variabile di ingresso per il valore della seconda.
Ingresso
1° ingresso: dividendo
2° ingresso: divisore
Uscita
Uscita come ingresso: risultato
Le variabili di ingresso e uscita devono presentare uno dei tipi di dati menzionati. Tutti gli operandi devono presentare lo stesso tipo di dato.
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;
dividend: INT:=0;
divisor: INT:=0;
result: INT:=0;
END_VAR
In questo esempio sono state dichiarate le variabili di ingresso (dividend, divisor e enable). Al loro posto potete inserire costanti direttamente nella funzione (abilitazione in ingresso p.es. per i test).
Se enable è impostato (TRUE), dividend viene diviso per divisor. Il risultato viene scritto in result.
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,,dividend,8,2,10,4,);
B(B_CONTACT,,enable,4,1,6,3,);
B(B_F,E_DIV!,,10,0,16,5,,?DEN?D?D?AENO?C);
B(B_VARIN,,divisor,8,3,10,5,);
B(B_VAROUT,,result,16,2,18,4,);
L(6,2,10,2);
L(1,2,4,2);
L(1,0,1,5);
END_NETWORK_BODY
END_NET_WORK
END_BODY
LD |
enable |
E_DIV |
dividend, divisor, result |