Informations générales sur la gestion des blocs fonction

Gestion des variables d'entrée

Les variables sont utilisées au front montant de l'entrée Execute. Pour modifier une variable, il est nécessaire de modifier les variables d'entrée et de déclencher de nouveau le bloc fonction.

Les blocs fonction gérés par une entrée Enable sont exécutés lorsque celle-ci a pour valeur TRUE. Les valeurs des entrées d'un bloc fonction sont modifiables en permanence, et les sorties sont mises à jour en continu. Lorsque l'entrée Enable a pour valeur FALSE, l'exécution du bloc fonction est arrêtée et ses sorties sont réinitialisées.

Conformément à la norme CEI 61131-3, dès qu'une variable d'entrée d'un bloc fonction est absente (= ouvert), la valeur de l'invocation précédente de cette instance est automatiquement utilisée. Lors du premier appel, la valeur initiale est appliquée.

Gestion des variables de sortie

Les sorties Done, Error, Busy et CommandAborted s'excluent mutuellement. Une seule d'entre elles peut être TRUE sur un même bloc fonction. Si l'entrée Execute est TRUE, l'une de ces sorties est également TRUE.

Au front montant de l'entrée Execute, la sortie Busy est définie. Elle reste définie durant l'exécution du bloc fonction et est réinitialisée sur le front montant de l'une des autres sorties (Done, Error).

La sortie Done est définie lorsque l'exécution du bloc fonction s'est correctement terminée.

Si une erreur est détectée, le bloc fonction s'arrête, active la sortie Error et le code d'erreur est stocké dans la sortie ErrId.

Les sorties Done, Error, ErrID et CommandAborted sont définies ou réinitialisées sur le front descendant de l'entrée Execute :

oréinitialisées si l'exécution du bloc fonction est terminée.

odéfinies pour au moins un cycle de tâche si l'exécution du bloc fonction n'est pas terminée.

Lorsqu'une instance d'un bloc fonction reçoit une nouvelle entrée Execute avant d'être terminée (série de commandes sur la même instance), le bloc fonction ne génère aucun retour, tel que Done, concernant l'action précédente.

Traitement des erreurs

Tous les blocs comportent deux sorties qui peuvent signaler une erreur détectée lors de l'exécution du bloc fonction :

oError = Le front montant de ce bit indique qu'une erreur a été détectée.

oErrID = Code de l'erreur détectée.

En cas d'erreur (Error), les autres signaux de sortie, tels que Done, sont réinitialisés.