Introduction

Dans l'éditeur LL984, vous pouvez affecter une variable (comme _400001 ou sym1) ou une adresse (comme %M1) à une broche FFB ou un contact/bit de sortie.

Si la variable n'est pas déclarée, la boîte de dialogue Créer une variable s'affiche.

Si la variable ou l'adresse affectée n'est pas compatible avec la broche ou le contact/bit de sortie, un message s'affiche dans la fenêtre de visualisation une fois que vous avez sélectionné Générer > Analyser .

Attribution automatique de noms aux variables

Par exemple, si vous affectez une adresse (par exemple, %MW1) à une broche, la boîte de dialogue Créer une variable s'affiche et propose un nom de variable (par exemple, _400001) et un type de données (par exemple, UINT).

Les règles ci-après s'appliquent à cette proposition automatique en fonction de l'adresse du paramètre réel, du type de broche et de la dimension (n) s'il s'agit d'un tableau :

Adresse

Type de broche

Dimension (pour les tableaux)

Nom de la variable

%MW1

UINT

1 (n)

_400001 (_400001_n)

INT

_400001_I (_400001_In)

WORD

_400001_W (_400001_Wn)

%IW1

UINT

1 (n)

_300001 (_300001_n)

INT

_300001_I (_300001_In)

WORD

_300001_W (_300001_Wn)

%I1

EBOOL

1 (n)

_100001 (_100001_n)

%M1

EBOOL

1 (n)

_000001 (_000001_n)

NOTE : Pour les types de broche les plus utilisés, UINT et EBOOL, aucun suffixe de type n'est ajouté au nom de variable proposé.

Exemple d'utilisation 1

Affectation d'une variable à une broche de type UINT

Adresse affectée par l'utilisateur

Variable

Variable créée et affectée

Type de variable

%MW1

N'existe pas pour le moment

_400001

UINT

NOTE : Comme la broche est de type UINT, aucun suffixe de type n'a été ajouté au nom de la variable.

Exemple d'utilisation 2

Affectation d'une variable à une broche de type ARRAY[1...n] UINT

Adresse affectée par l'utilisateur

Variable

Variable créée et affectée

Type de variable

%MW1

N'existe pas pour le moment

_400001_n

ARRAY[1...n] UINT

Exemple d'utilisation 3

Affectation d'une variable à une broche de type ANY, ANY_ARRAY_UINT ou ANY_ARRAY_BOOL (tableau dynamique)

La dimension (n) d'un tableau dynamique est fournie par une autre broche de dimension (par exemple, LENGTH) du bloc fonction.

Cette broche de dimension est initialisée lors de l'insertion du bloc.

La dimension du tableau est calculée en fonction de la valeur de la broche de dimension, comme paramètre réel de la broche de dimension.

  • Si le type qui en résulte est un tableau UINT :

    dimension = valeur de la broche de dimension.

  • Si le type qui en résulte est un tableau BOOL :

    dimension = valeur de la broche de dimension * 16.

Adresse affectée par l'utilisateur

Variable

Variable créée et affectée

Type de variable

%MW1

N'existe pas pour le moment

_400001_n

ARRAY[1...n] UINT

Si vous modifiez la valeur n de la broche de dimension pour utiliser n2 :

Adresse affectée par l'utilisateur

Variable

Variable créée et affectée

Type de variable

%MW1

N'existe pas pour le moment

_400001_n2

ARRAY[1...n2] UINT

%MW1

Existe déjà

_400001_n2

Les attributs (descripteurs, commentaires, etc.) sont utilisés

ARRAY[1...n2] UINT

Exemple d'utilisation 4

Affectation d'une variable à une broche de type DDT1

Adresse affectée par l'utilisateur

Variable

Variable créée et affectée

Type de variable

%MW1

N'existe pas pour le moment

_400001_DDT1

DDT1

Utilisation de la mémoire

Si vous créez une sorte de variables localisées (type élémentaire, tableau ou DDT), la mémoire utilisée sur l'automate n'augmente pas (sauf pour les informations de chargement).

Création d'une variable

Si vous affectez une autre adresse ou que vous modifiez une broche de dimension, une nouvelle variable est créée.

Les anciens attributs (en dehors de l'adresse) sont utilisés et l'ancienne variable est supprimée si elle n'est pas utilisée ailleurs dans le programme.

Variables non valides

Si vous créez une variable localisée avec une plage d'adresses qui dépasse la plage d'adresses définies sous RAM d'état de l'onglet Configuration de l'UC, le message ci-après s'affiche une fois que vous avez sélectionné Générer > Analyser :

L'index d'adresse topologique n'est pas valide.

Ce problème peut être résolu de différentes manières :

  • Cliquez sur le message affiché dans la fenêtre de visualisation pour afficher l'éditeur de données et adaptez l'adresse de la variable.

  • Cliquez sur le message affiché dans la fenêtre de visualisation pour afficher l'éditeur de données et supprimez la variable pour en créer une autre avec une plage d'adresses valide.

  • Adaptez la plage d'adresses définie sous RAM d'état de l'onglet Configuration de l'UC.

NOTE : Si vous créez simplement une variable à la broche du bloc fonction sans supprimer la variable non valide créée précédemment, le message s'affiche de nouveau lorsque vous sélectionnez Générer > Analyser.

Exemple :

Sous RAM d'état de l'onglet Configuration de l'UC, vous avez entré la valeur 10 000 pour le mot %MW.

Dans le programme, il y a un bloc fonction L_BLKM avec un attribut LENGTH = 10.

Pour la broche SOURCE du bloc fonction, vous entrez la valeur suivante : %MW9999.

La variable ci-dessous est ainsi créée :

_409999:ARRAY[1..10] OF UINT@%MW9999

Comme l'adresse de début est %MW9999 et que la longueur est égale à 10, l'adresse finale est %MW10009.

Cette adresse est en dehors de la plage d'adresses (10 000) définie sous RAM d'état de l'onglet Configuration de l'UC.

Par conséquent, le message mentionné ci-dessus s'affiche lorsque vous sélectionnez Générer > Analyser.