ADD

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.

Paramètres

Entrée

Unnamed input (INT, DINT, UINT, UDINT, REAL, LREAL)

1e entrée : cumulande

Unnamed input (INT, DINT, UINT, UDINT, REAL, LREAL)

2e entrée : cumulateur

Sortie

Unnamed output (INT, DINT, UINT, UDINT, REAL, LREAL)

Sortie comme entrée : somme

Remarques

  • Les opérandes doivent tous être du même type de données.
  • Cette fonction peut être étendue à un maximum de 28 contacts d’entrée, voir également "Modifier des éléments".

Exemple

En-tête du POU

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).

Corps en LD

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

Corps en IL

LD

enable

E_ADD

summand_1, summand_2, sum

NOTA
  • Cette fonction peut être étendue à un maximum de 28 contacts d’entrée, voir également "Modifier des éléments".
  • 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.

Modifié le : 2022-09-26Feedback on this pagePanasonic hotline