Illustration
Cette illustration présente quelques exemples de paramètres de DFB

Description des paramètres
Ce tableau décrit le rôle de chaque paramètre
Paramètre |
Nombre maximal |
Rôle |
---|---|---|
Entrées |
32 (1) |
Ces paramètres permettent de transférer les valeurs du programme d'application vers le programme interne du DFB. Ils sont accessibles en lecture par le DFB, mais ne sont pas accessibles par le programme d'application. |
Sorties |
32 (2) |
Ces paramètres permettent de transférer les valeurs du DFB vers le programme d'application. Ils sont accessibles en lecture par le programme d'application, sauf pour les paramètres de type ARRAY. |
Entrées/Sorties |
32 |
Ces paramètres permettent de transférer des données du programme d'application vers le DFB, lequel peut ensuite les modifier et les renvoyer au programme d'application. Ces paramètres ne sont pas accessibles par le programme d'application. |
Légende :
(1) Nombre d'entrées + Nombre d'entrées/sorties inférieur ou égal à 32
(2) Nombre de sorties + Nombre d'entrées/sorties inférieur ou égal à 32
Paramètres accessibles par le programme d'application
Les seuls paramètres accessibles par le programme d'application en dehors de l’appel sont les paramètres de sorties. Pour cela, le programme doit utiliser la syntaxe Nom_DFB.Nom_paramètre
Nom_DFB représente le nom de l'instance de DFB utilisée (32 caractères au maximum).
Nom_paramètre représente le nom du paramètre de sortie (32 caractères au maximum).
Exemple : Control.Accel
indique la sortie Accel
de
l'instance de DFB nommée Control
Paramètres EN et ENO
EN est un paramètre d'entrée et ENO est un paramètre de sortie. Tous les deux sont de type BOOL et peuvent être ou ne pas être utilisés (facultatif) dans la définition d'un type de DFB.
Dans le cas où l'utilisateur souhaite les utiliser, l'éditeur les positionne automatiquement : EN est le premier paramètre d'entrée et ENO le premier paramètre de sortie.
Exemple d’implémentation des paramètres EN\ENO.

Si le paramètre d’entrée EN d’une instance reçoit la valeur 0 (FALSE), alors :
les sections constituant le code du DFB ne sont pas exécutées (cela est géré par le système),
le paramètre de sortie ENO est défini sur 0 (FALSE) par le système.
Si le paramètre d’entrée EN d’une instance reçoit la valeur 1 (TRUE), alors :
les sections constituant le code du DFB sont exécutées (cela est géré par le système),
le paramètre de sortie ENO est défini sur 1 (TRUE) par le système.
Si une erreur est détectée (erreur de traitement par exemple) par l'instance du DFB, l'utilisateur peut s'il le souhaite définir le paramètre de sortie ENO sur 0 (FALSE). Dans ce cas :
soit les paramètres de sortie sont figés dans l’état qui était le leur lors du traitement précédant jusqu’à la disparition du défaut,
soit l'utilisateur prévoit dans le code du DFB un forçage des sorties dans l'état qu'il souhaite jusqu'à la disparition du défaut.
Variable VAR_IN_OUT
Très souvent, on utilise des blocs fonction pour lire une variable
au niveau de l’entrée (variables d’entrée),
traiter celle-ci, et sortir les valeurs modifiées de la même
variable (variables de sortie). Ce type particulier de variable d'entrée/de
sortie est également appelé variable VAR_IN_OUT
.
Il convient de noter les particularités suivantes lors
de l'utilisation de blocs fonction/DFB avec des variables VAR_IN_OUT
:
une variable doit être affectée à toutes les entrées
VAR_IN_OUT
.il est interdit d'affecter des valeurs littérales ou des constantes aux entrées
VAR_IN_OUT
.aucune
valeur ne doit être affectée aux sorties VAR_IN_OUT.Les variables
VAR_IN_OUT
ne peuvent pas être utilisées en dehors de l'appel du bloc fonction.
Appel d'un bloc fonction avec une variable VAR_IN_OUT
en IL :
CAL MY_FBLOCK(IN1:=V1, IN2:=V2, IO1:=V3,
OUT1=>V4, OUT2=>V5)
Appel du même bloc fonction dans FBD :

Les variables VAR_IN_OUT
ne peuvent pas être utilisées en dehors de l'appel du bloc fonction.
Par conséquent, les appels de blocs fonction suivants ne sont pas valides :
Appel non valide, exemple 1 :
|
Chargement de la variable |
|
Appel d'un bloc fonction avec un
paramètre L'accumulateur contient
désormais une référence à un paramètre |
|
Opération ET sur le contenu
de l'accumulateur et la variable Erreur
: l'opération ne peut pas être exécutée car
il n'est pas possible d'accéder au paramètre |
Appel non valide, exemple 2 :
|
Chargement de la variable |
|
Opération ET sur le contenu
de l'accumulateur et une référence à un paramètre Erreur : l'opération ne peut
pas être exécutée car il n'est pas possible d'accéder
au paramètre |
Les appels de blocs fonction suivants sont en revanche valides :
Appel valide, exemple 1 :
|
Appel d'un bloc fonction avec le
paramètre |
Appel valide, exemple 2 :
|
Chargement de la variable |
|
Affectation du contenu de l'accumulateur
au paramètre |
|
Appel du bloc fonction avec affectation
du paramètre réel ( |