Principe

Dans le langage de programmation IL, l'appel d'un bloc fonction utilisateur s'effectue à l'aide d'une instruction CAL suivie du nom de l'instance de DFB comme opérande et d'une liste d'arguments (facultative). A l’intérieur de la liste, matérialisée par des parenthèses, les arguments sont séparés par des virgules.

Il existe 3 possibilités pour appeler un DFB en langage IL :

  • L'instruction CAL nom_DFB est suivie d'une liste d'arguments qui sont des affectations (paramètre = valeur). Dans ce cas, l’ordre de saisie des arguments dans la liste est sans importance.

    Vous pouvez utiliser le paramètre d'entrée EN pour contrôler l'exécution du bloc fonction.

  • L'instruction CAL nom_DFB est suivie d'une liste d'arguments qui sont des valeurs (expression, objet ou valeur immédiate). Dans ce cas, l’ordre de saisi des arguments dans la liste doit respecter l’ordre des paramètres d’entrée du DFB, y compris pour les entrées qui ne sont pas affectées (l’argument est un champ vide).

    L’utilisation des paramètres EN et ENO n’est pas possible.

  • L'instruction CAL nom_DFB n'est pas suivie d'une liste d'arguments. Dans ce cas, cette instruction doit être précédée par l'affectation des paramètres d'entrée, via le chargement (Load) en registre de la valeur puis l'affectation (Store) au paramètre d'entrée. L’ordre d’affectation des paramètres (LD/ST) n’a pas d’importance ; toutefois, vous devez affecter tous les paramètres d’entrée qui le nécessitent avant d’exécuter la commande CAL. L’utilisation des paramètres EN et ENO n’est pas possible.

CAL Nom_DFB (argument 1, argument 2, ..., argument n)

ou

LD Valeur 1

ST Paramètre 1

...

LD Valeur n

ST Paramètre n

CAL Nom_DFB

NOTE : Les entrées de type ANY_ARRAY, les sorties de type données génériques (ANY_...) et les entrées/sorties d'un DFB doivent être affectées.

Utilisation des paramètres EN\ENO

Voir Paramètres EN et ENO.

Exemple de DFB

L'exemple suivant permet de comprendre les différents appels d'un DFB en langage IL. Il s'agit de l'instance Cpt_1 du type de DFB Cpt_parts.

Appel du DFB lorsque les arguments sont des affectations

Lorsque les arguments sont des affectations, l'appel du DFB Cpt_1 s'effectue suivant la syntaxe :

CAL Cpt_1 (Reset:=Clear, Presel:=%MD10, Count:=100, Done=>%Q1.2.1)

Dans le cas où les paramètres d’entrée affectés par une valeur (expression, objet ou valeur immédiate) sont saisis dans la liste des arguments, la syntaxe est :

CAL Cpt_1 (Raz:=Clear, Presel:=%MD10, Count:=100)

...

LD Cpt_1.Done

ST %Q1.2.1

Afin de rendre plus lisible votre programme d'application, vous pouvez saisir un retour à la ligne après les virgules de séparation des arguments. La phrase présente alors la syntaxe suivante :

CAL Cpt_1(

Reset:=Clear,

Presel:=%MD10,

Count:=100,

Done=>%Q1.2.1)

Eléments du programme d'appel du DFB

Le tableau suivant répertorie les différents éléments du programme d'appel du DFB.

Elément

Signification

CAL

Instruction d'appel du DFB

Cpt_1

Nom de l'instance de DFB

Reset, Presel, Count

Paramètres d'entrée

:=

Symbole d’affectation d’une entrée

Clear, %MD10, 100

Objet ou valeur d’affectation des entrées

Done

Paramètre de sortie

=>

Symbole d’affectation d’une sortie

%Q1.2.1

Objet d’affectation d’une sortie

,

Symbole de séparation des arguments

Appel du DFB lorsque les arguments sont des valeurs

Lorsque les arguments sont des valeurs, l'appel du DFB Cpt_1 s'effectue à l'aide de la syntaxe suivante :

CAL Cpt_1 (Clear, %MD10,, 100)

...

LD Cpt_1.Done

ST %Q1.2.1

Eléments du programme d'appel du DFB

Le tableau suivant répertorie les différents éléments du programme d'appel du DFB.

Elément

Signification

CAL

Instruction d'appel du DFB

Cpt_1

Nom de l'instance de DFB

Clear, %MD10, 100

Objet ou valeur d’affectation des entrées

,

Symbole de séparation des arguments

Appel d'un DFB sans argument

Lorsqu'il n'y a pas d'argument, l'appel du DFB Cpt_1 s'effectue à l'aide de la syntaxe suivante :

LD Clear

ST Cpt_1.Reset

LD %MD10

ST Cpt_1.Presel

LD 100

ST Cpt_1.Count

CAL Cpt_1(

...

LD Cpt_1.Done

ST %Q1.2.1

Eléments du programme d'appel du DFB

Le tableau suivant répertorie les différents éléments du programme d'appel du DFB.

Elément

Signification

LD Clear

Instruction de chargement de la valeur Clear dans un registre

ST Cpt_1.Reset

Instruction d’affectation du contenu du registre au paramètre d’entrée Cpt_1.Reset

CAL Cpt_1(

Instruction d'appel du DFB Cpt_1