Skip to main content

Objet : Fonction

Une fonction est un UOP qui fournit précisément un élément de données lorsqu'il est exécuté et dont l'appel dans les langages textuels peut se produire en tant qu'opérateur dans les expressions. L'élément de données peut également être un tableau ou une structure.

L'objet est ajouté à l'application ou au projet en cliquant sur Projet → Ajouter un objet → POU. Dans l'arborescence des appareils ou dans le POU vue, les POU de fonction ont (AMUSANT) suffixe.

Important

Les fonctions n'ont pas d'informations d'état internes, ce qui signifie que les fonctions n'enregistrent pas les valeurs de leurs variables jusqu'au prochain appel. Les appels d'une fonction avec les mêmes valeurs de variable d'entrée fournissent toujours la même valeur de sortie. Par conséquent, les fonctions ne doivent pas utiliser de variables globales ni d'adresses.

L'éditeur d'une fonction se compose de la partie déclaration et de la partie implémentation.

La première ligne de la partie déclaration contient la déclaration suivante :

FUNCTION <function> : <data type>

En dessous, vous déclarez les variables d'entrée et de fonction.

La variable de sortie d'une fonction est le nom de la fonction.

Important

Si vous déclarez une variable locale dans une fonction comme RETAIN, cela n'a aucun effet. Dans ce cas, CODESYS génère une erreur de compilation.

Important

Vous ne pouvez pas mélanger les affectations de paramètres explicites et implicites dans les appels de fonction dans CODESYS V3. Cela signifie que vous devez utiliser uniquement des affectations de paramètres explicites ou implicites dans les appels de fonction. L'ordre des affectations de paramètres lors de l'appel d'une fonction est arbitraire.

Appel d'une fonction

Dans ST, vous pouvez utiliser l'appel d'une fonction comme opérande dans des expressions.

Dans SFC, vous ne pouvez utiliser un appel de fonction que dans des actions d'étape ou des transitions.

Exemple 514. Exemples

Fonction avec une partie de déclaration et un code d'implémentation de ligne

_cds_img_function.png

Appels de fonction :

ST :

result := POU_Funct(5,3,22);

IL :

_cds_img_function_call_in_il.png

FDB :

_cds_img_function_call_in_fbd.png


Fonctions avec sorties supplémentaires

Selon la norme CEI 61131-3, les fonctions peuvent avoir des sorties supplémentaires. Vous déclarez les sorties supplémentaires dans la fonction entre les mots clés VAR_OUTPUT et END_VAR. La fonction est appelée selon la syntaxe suivante :

<function> (<function output variable1> => <output variable 1>, <function output variable n> => <output variable n>)
Exemple 515. Exemple

le fun la fonction est définie avec deux variables d'entrée in1 et in2. La variable de sortie du fun la fonction est écrite dans les variables de sortie déclarées localement loc1 et loc2.

fun(in1 := 1, in2 := 2, out1 => loc1, out2 => loc2);