Les blocs fonctions (FB) sont de petits programmes. Contrairement aux fonctions, les blocs fonctions ont leur propre zone mémoire dans laquelle les valeurs sont enregistrées. Les mêmes valeurs d’entrée livrent des résultats différents en fonction de la valeur qui est enregistrée et qui leur est ajoutée, soustraite etc. Vous pouvez utiliser le même bloc fonction aussi souvent que vous le souhaitez dans votre programme. Pour cette raison, chaque fois que vous chargez un bloc fonction, une copie est créée. Donnez un nom à cette copie (instance) pour que ses valeurs ne soient pas remplacées ou traitées par un bloc fonction du même type.
Control FPWIN Pro7 propose deux types de blocs fonctions :
Blocs fonctions système
IEC standard library : par ex. TON, TOF
FP library : par ex. CT_FB, PID_FB
Blocs fonctions définis par l’utilisateur
Ces blocs fonctions peuvent être écrits en quatre langages de programmation :
Schéma à contacts (LD) ou Diagramme de blocs fonctions (FBD)
Texte structuré (ST)
Liste d’instructions (LI)
Si vous appelez le bloc fonction "TON" (temporisateur avec retard à la fermeture) de la bibliothèque IEC Standard Library pour la première fois, par ex. pour activer un moteur avec retard, ce bloc fonction peut être intitulé "delay_motor". La prochaine fois que vous appelez ce bloc fonction, vous lui donnez un nom différent, par ex. "delay_heating", etc.
N’affectez pas de bloc fonction à une tâche, car un bloc fonction peut être uniquement appelé par un programme ou un bloc fonction.
Un bloc fonction ne peut pas être appelé de manière récursive.
FB1() -> FB2() -> FB3() -> FB1()
n’est pas autorisé.
Le nombre maximum d’appels de blocs fonctions imbriqués, par ex. FB1(FB2(FB3(FB4(FB5(x))))) ne peut pas être dépassé.
Nbre max. d’appels de blocs fonctions imbriqués |
Types d’API |
---|---|
16 |
FP7 |
10 |
Types d’API 16 bits les plus récents tels que FP0H, FP_XH, FP0R |
15 |
Types d’API 16 bits plus anciens |