Suma
Esta función suma las variables de entrada IN1 + IN2 +... (hasta 28 contactos de entrada) y escribe el resultado de la suma en la variable de salida.
Entrada
Primera entrada: sumando
Segunda entrada: sumando
Salida
Salida: Suma
Todas las variables de entrada y de salida utilizadas para la programación de esta función han sido declaradas en la Cabecera de la POU.Se utiliza la misma cabecera de la POU para todos los lenguajes de programación.
VAR
enable: BOOL:=FALSE;
summand_1: INT:=0;
summand_2: INT:=0;
sum: INT:=0;
END_VAR
En este ejemplo se han declarado las variables de entrada (summand_1, summand_2 y enable). También se pueden introducir constantes directamente en la función (por ejemplo, para hacer pruebas).
Si enable está a TRUE, summand_1 se suma a summand_2. El resultado se escribe en 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 son necesarios más de dos sumandos, se debe utilizar del siguiente modo:
LD |
summand_1 |
E_ADD |
summand_2, summand_3 |
ST |
sum |
sum siempre en la última posición.