Règle de nommage

Un nom de variable peut exister en double si les deux variables ont deux portées différentes :

  • deux portées d'unité de programme ou

  • la portée globale et une portée d'unité de programme.

NOTE : il est interdit d'utiliser deux fois un nom de variable au sein d'une même unité de programme.

Définition des variables et attributs

Tableau :

Variables de l'unité de programme

Définition et accès

Nature

Type autorisé

Paramètres d'entrée

Ces paramètres sont accessibles en lecture seule dans l'unité de programme. Ils servent à transférer des valeurs vers l'unité de programme.

<entrées>

EDT, DDT, ARRAY, références (REF_TO), DDT d'équipement

Paramètres de sortie

Ces paramètres sont accessibles en lecture/écriture dans l'unité de programme. Ils servent à transférer des valeurs depuis l'unité de programme.

<sorties>

EDT, DDT, ARRAY, références (REF_TO), DDT d'équipement

Paramètres d'entrée/sortie

Ces paramètres sont accessibles en lecture/écriture dans l'unité de programme. Ils servent à transférer des valeurs depuis et vers l'unité de programme.

<entrées/sorties>

EDT, DDT, ARRAY, DDT d'équipement, IODDT

Variables publiques

Ces variables locales sont accessibles depuis une autre unité de programme via l'affectation des paramètres effectifs.

<public>

EDT, DDT, ARRAY

Variables privées

Ces variables locales sont uniquement accessibles au niveau de l'unité de programme dont elles dépendent.

<privé>

EDT, DDT, ARRAY, références (REF_TO), DFB, EFB

NOTE : une référence REF_TO peut être initialisée à l'aide d'une variable de l'unité de programme dont la nature est définie sur <privé> ou <public> .

Variables externes

Les variables globales sont accessibles dans les sections de l'unité de programme.

Ces variables doivent être déclarées avec le même nom et type de données que celles définies dans le projet global.

<externe>

EDT, DDT, ARRAY, références (REF_TO)

Affectation des paramètres

Le tableau suivant présente les règles d'affectation des paramètres d'une unité de programme :

Paramètres de l'unité de programme

Affectation

Paramètres d'entrée

Facultative, sauf pour ARRAY, DDT, Device DDT, STRING et REF_TO

Paramètres de sortie

Paramètres d'entrée/sortie

Obligatoire

L'affectation de la variable de paramètre de l'unité de programme (paramètre formel) s'effectue via l'attribut Paramètre effectif . La variable affectée est une variable globale ou une variable publique d'une autre unité de programme.

Les paramètres de l'unité de programme et les variables qui leur sont affectées doivent être du même type. Par exemple, si le paramètre d'entrée est de type INT, il est impossible de lui affecter une variable DINT ou REAL.

Seuls les types de données BOOL et EBOOL peuvent coexister. Ainsi, un bit interne %Mi de type EBOOL peut être affecté à un paramètre d'entrée BOOL.

Pour saisir la variable dans le champ Paramètre effectif, vous avez le choix entre les options suivantes :

  • Vous pouvez saisir le nom de la variable.

    ou

  • Cliquez sur le bouton pour ouvrir une boîte de dialogue Sélection de données et y confirmer les variables choisies avec OK.

Exemple de boîte de dialogue de sélection des données en fonction de la portée :

NOTE : Seul l'éditeur de données de l'application permet de gérer la variable topologique (via l'attribut Adresse ). Par conséquent, pour établir une correspondance entre une variable d'interface d'une unité de programme et une variable topologique, vous devez :
  • définir une variable localisée globale dans l'éditeur de données, puis

  • affecter la variable globale en tant que paramètre effectif de l'unité de programme.

Exécution de l'unité de programme

Les données du paramètre effectif sont copiées dans le paramètre formel d'entrée avant l'exécution de l'unité de programme.

Les données du paramètre formel de sortie sont copiées dans le paramètre effectif après l'exécution de l'unité de programme.

La figure suivante montre la procédure d'exécution d'une unité de programme :

(1) Sous la portée globale.

(2) Sous la portée d'une autre unité de programme.

Exemple d'utilisation des variables d'une unité de programme

L'exemple suivant présente deux unités de programme et une section sous une tâche :

La variable suivante appartient à la portée globale (elle est déclarée dans l'éditeur de données) :

Nom

Type

Glob1

BOOL

Les variables suivantes appartiennent à la portée de l'unité de programme Prog1 (elles sont déclarées dans l'éditeur de données de l'unité de programme ) :

Nom

Type

Nature

Glob1

BOOL

<externe>

Input1

BOOL

<entrées>

Output1

BOOL

<sorties>

InOut1

BOOL

<entrées/sorties>

Pub1

BOOL

<public>

Priv1

BOOL

<privé>

Le tableau suivant indique la syntaxe, l'utilisation et les droits d'accès des variables, selon leur nature et leur portée :

Variable

Utilisation dans Prog1

Utilisation dans le code de Prog2

Utilisation dans Prog2 comme paramètre effectif

Utilisation dans Sect1

Glob1

Glob1 (R/W)

Non

Glob1 (R/W)

Glob1 (R/W)

PROG1.Input1

Input1 (R)

Non

Non

PROG1.Input1 (R)

PROG1.Output1

Output1 (R/W)

Non

Non

PROG1.Output1 (R/W)

PROG1.InOut1

InOut1 (R/W)

Non

Non

PROG1.InOut1 (R/W)

PROG1.Glob1

Non

Non

Non

PROG1.Glob1 (R/W)

PROG1.Pub1

Pub1 (R/W(1))

Non

PROG1.Pub1 (R/W(2))

PROG1.Pub1 (R/W(1))

PROG1.Priv1

Priv1 (R/W)

Non

Non

Non

%S6

%S6 (R/W(3))

%S6 (R/W(3))

Non

%S6 (R/W(3))

%M23

%M23

%M23

Non

%M23

%MW17

%MW17

%MW17

Non

%MW17

Non : impossible d'utiliser la variable

R : lecture seule

R/W : lecture et écriture

(1) L'accès en écriture peut être restreint si l'attribut RW programme de Pub1 est défini sur lecture seule.

(2) L'accès en écriture peut être restreint en utilisation externe si l'attribut RW programme en utilisation externe de Pub1 est défini sur lecture seule.

(3) L'accès en écriture dépend de celui du bit système ou du mot système.

Purger les variables inutilisées

Le menu contextuel des onglets de l'éditeur de données de l'unité de programme dispose d'une commande Purger les variables inutilisées .

Les éléments purgés dépendent des cases qui sont cochées (EDT, DDT, IODDT et DDT d'équipement [Device DDT]), c'est-à-dire que seules les données visibles (dont le type est coché) seront purgées :

Étape

Action

1

Sélectionnez l'onglet Variables de l'éditeur de données de l'unité de programme.

2

Cliquez avec le bouton droit de la souris sur n'importe quelle colonne de l'onglet.

3

Choisissez la commande Purger les variables inutilisées dans le menu contextuel.

4

Validez par Oui.

Résultat : Les variables inutilisées sont purgées.

NOTE : vous pouvez également réaliser cette opération depuis les onglets Interface et Blocs fonction .

Exportation d'un sous-ensemble de variables et d'instances FB

L'éditeur de données de l'unité de programme permet de filtrer et/ou de sélectionner un sous-ensemble de variables ou d'instances FB.

Les variables et instances FB de l'unité de programme sont enregistrées au format source .XPU.

Quelles que soient les variables ou instances FB que vous exportez, vous avez le choix entre 2 options :

  • export avec ou sans le contenu de tous les DDT utilisés,

  • export avec ou sans le contenu de tous les types de DFB utilisés.

Par défaut, les 2 options "export avec" sont sélectionnées.

Pour exporter les variables filtrées, procédez comme suit :

Étape

Action

1

Sélectionnez l'onglet Variables de l'éditeur de données de l'unité de programme.

2

Filtrez les variables comme indiqué au chapitre Filtrage des données.

3

Choisissez la commande Export Filtré dans le menu contextuel.

Résultat : Une boîte de dialogue apparaît.

4

Choisissez le dossier cible de l'exportation (arborescence) et entrez le nom du fichier.

5

Sélectionnez le mode d'exportation (avec ou sans les types DDT et DFB).

Résultat : Lorsqu'une option "avec" est sélectionnée, la case correspondante est cochée.

6

Sélectionnez la commande Exporter.

Résultat : Un indicateur de progression vous informe sur le déroulement de l'exportation.

7

Lorsque l'exportation est terminée, un message le signale dans la fenêtre de visualisation.

Pour exporter les variables sélectionnées, procédez comme suit :

Étape

Action

1

Sélectionnez l'onglet Variables de l'éditeur de données de l'unité de programme.

2

Dans l'éditeur de données de l'unité de programme, sélectionnez une variable en cliquant dessus. Si vous maintenez la touche Alt ou Ctrl enfoncée, vous pouvez sélectionner plusieurs variables.

3

Choisissez la commande Export Sélectionné dans le menu contextuel.

Résultat : Une boîte de dialogue apparaît.

4

Choisissez le dossier cible de l'exportation (arborescence) et entrez le nom du fichier.

5

Sélectionnez le mode d'exportation (avec ou sans les types DDT et DFB).

Résultat : Lorsqu'une option "avec" est sélectionnée, la case correspondante est cochée.

6

Sélectionnez la commande Exporter.

Résultat : Un indicateur de progression vous informe sur le déroulement de l'exportation.

7

Lorsque l'exportation est terminée, un message le signale dans la fenêtre de visualisation.

NOTE : les procédures d'exportation ci-dessus sont également valables pour les instances FB définies dans l'unité de programme. Dans ce cas, sélectionnez l'onglet Blocs fonction de l'éditeur de données de l'unité de programme, à la place de l'onglet Variables .

Importation d'un sous-ensemble de variables et d'instances FB

L'éditeur de données de l'unité de programme permet d'importer un sous-ensemble de variables ou d'instances FB.

NOTE : si les DDT ou les types DFB associés ont été exportés (options sélectionnées lors de l'export), ils sont importés avec la liste de variables.

Si la liste de variables existe déjà dans l'unité de programme actuelle, le logiciel vous propose de choisir entre :

  • Conserver l'élément de l'unité de programme actuelle ;

  • Remplacer l'élément de l'unité de programme par celui du fichier d'import ;

  • Renommer l'élément importé afin de conserver les deux éléments.

Pour importer des variables, procédez comme suit :

Étape

Action

1

Sélectionnez l'onglet Variables de l'éditeur de données de l'unité de programme.

2

Sélectionnez la commande Importer dans le menu contextuel (clic droit).

Résultat : une boîte de dialogue s'affiche.

3

Choisissez le répertoire source de l'import (arborescence), puis sélectionnez le fichier à importer (XPU ou XSY).

Résultat : le nom du fichier apparaît dans le champ Nom de fichier.

4

Activez la commande Importer.

Résultat : Un indicateur de progression vous informe sur le déroulement de l'import.

5

Un message vous signale que l'import est terminé.

Si des erreurs se produisent pendant l'import, elles sont signalées par un message dans la fenêtre de visualisation.

NOTE : la procédure d'importation ci-dessus est également valable pour les instances FB définies dans l'unité de programme. Dans ce cas, sélectionnez l'onglet Blocs fonction de l'éditeur de données de l'unité de programme, à la place de l'onglet Variables .

Droit d'accès pour les tables d'animation d'une unité de programme

Le droit d'accès applicable à l'objet d'une table d'animation d'une unité de programme dépend de la nature de la variable :

Nature

Type

Droit d’accès

Avec paramètre effectif

Sans paramètre effectif

<entrées>

BOOL, EBOOL et INT

R

R/W

ARRAY, DDT, STRING et REF_TO

R

N/A

<sorties>

BOOL, EBOOL et INT

R

R

ARRAY, DDT, STRING et REF_TO

R

N/A

<entrées/sorties>

BOOL,

R

R

EBOOL, EDT, ARRAY, DDT, STRING et REF_TO

R

N/A

R : Lecture seule

R/W : Lecture et écriture

N/A : Sans objet

Nature

Type

Droit d’accès

<public>

EDT, DDT et ARRAY

R/W

Constante

R

<privé>

EDT, DDT, ARRAY, DFB et EFB

R/W

REF_TO et constante

R

R : Lecture seule

R/W : Lecture et écriture

NOTE : Dans la table d'animation d'une unité de programme (dossier Tables d'animation du répertoire de l'unité de programme), seules les variables de l'unité de programme peuvent être ajoutées.

Les tables d'animation d'une unité de programme peuvent être mises en œuvre et gérées comme les tables du dossier Tables d'animation du répertoire Projet . Pour plus d'informations, consultez le chapitre Tables d'animation.

Accès via l'IHM

Les variables suivantes de l'unité de programme sont accessibles via l'IHM ou le système SCADA :

Paramètres :

ces variables sont accessibles en lecture seule par défaut.

NOTE : par défaut, les paramètres <entrée> sans paramètre effectif affecté sont accessibles en lecture et écriture.
Public :

ces variables sont accessibles en lecture et écriture par défaut.

L'attribut RW Programme extérieur permet de limiter l'accès par défaut de manière à :

  • définir un accès en lecture seule pour les variables publiques,

  • interdire l'accès aux paramètres et variables publiques.

Dans l'éditeur de données de l'unité de programme, sélectionnez l'attribut Variable IHM pour intégrer la variable dans le dictionnaire de données. Ces variables sont visibles par l'IHM ou le système SCADA.

Pour accéder à la variable de l'unité de programme via l'IHM ou le système SCADA, utilisez la syntaxe suivante : <Program Unit name>.<variable name>. (Program1.MyVar, par exemple).