Un FFB se compose d'une opération (nom du FFB), des opérandes nécessaires à l'opération (paramètres réels et formels) et d'un nom d'instance pour les blocs fonction élémentaires ou dérivés.
Appel d'un bloc fonction dans le langage de programmation FBD :
Appel formel d'un bloc fonction dans le langage de programmation ST :
L'opération détermine la fonction qui doit être exécutée par le FFB, par exemple : registre à décalage ou opérations de conversion.
L'opérande détermine les éléments sur lesquels porte l'opération qui est exécutée. Dans les FFB, il est constitué de paramètres formels et de paramètres réels.
Paramètres formels et réels
Des entrées et des sorties permettent de transférer les valeurs vers ou depuis un FFB. Ces entrées et ces sorties sont appelées « paramètres formels ».
Les paramètres formels sont liés à des objets qui comprennent les états courants du processus. Ces objets sont appelés « paramètres réels ».
Durant l'exécution du programme, les valeurs sont transmises, par le biais des paramètres réels, du processus au FFB, et renvoyées à nouveau en sortie après le traitement.
Le type de données des paramètres réels doit correspondre au type de données des entrées/sorties (paramètres formels). La seule exception concerne les entrées/sorties génériques dont le type de données est déterminé par le paramètre réel. On choisira un type de données adapté pour le bloc fonction, si les paramètres réels sont constitués de valeurs littérales.
Appel de FFB dans le langage IL/ST
Les FFB peuvent être appelés de deux manières dans les langages textuels IL et ST : formelle ou informelle. Pour obtenir des informations détaillées, reportez-vous au chapitre
Langage de programmation.
Exemple d'un appel de fonction formel :
out:=LIMIT (MN:=0, IN:=var1, MX:=5);
Exemple d'un appel de fonction informel :
out:=LIMIT (0, var1, 5);
NOTE : Les paramètres EN et la sortie ENO peuvent uniquement être utilisés pour des appels formels.
Les FFB sont souvent utilisés pour lire une variable en entrée (variables d'entrée), la traiter et générer les valeurs modifiées de cette même variable (variables de sortie).
Ce cas particulier d'une variable d'entrée/de sortie est également appelé variable VAR_IN_OUT.
La relation entre la variable d'entrée et la variable de sortie est représentée dans les langages graphiques (FBD et LD) par une ligne.
Bloc fonction avec la variable VAR_IN_OUT dans le langage FBD :
Bloc fonction avec la variable VAR_IN_OUT dans le langage ST :
MY_EXAMP1 (IN1:=Input1, IN2:=Input2, IO1:=Comb_IN_OUT,
OUT1=>Output1, OUT2=>Output2);
Tenez compte des points suivants lorsque vous utilisez des FFB avec les variables VAR_IN_OUT :
Les limitations supplémentaires de ces langages graphiques (FBD et LD) sont les suivantes :
-
Les liaisons graphiques permettent uniquement de relier des sorties VAR_IN_OUT à des entrées VAR_IN_OUT.
-
Seule une liaison graphique peut être associée à une entrée/sortie VAR_IN_OUT.
-
Des variables ou des composantes de variables différentes peuvent être reliées à l'entrée VAR_IN_OUT et à la sortie VAR_IN_OUT. Dans ce cas, la valeur de la variable ou de la composante de variable en entrée est copiée dans la variable ou la composante de variable en sortie.
-
Vous ne pouvez pas utiliser des négations sur les entrées/sorties VAR_IN_OUT.
-
Une combinaison de variable/adresse et de liaisons graphiques n'est pas possible pour les sorties VAR_IN_OUT.