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.
Définition des variables et attributs
Tableau :
Variables de l'unité de programme |
Définition et accès |
|
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. |
|
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. |
|
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. |
|
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. |
|
EDT, DDT, ARRAY |
Variables privées |
Ces variables locales sont uniquement accessibles au niveau de l'unité de programme dont elles dépendent. |
|
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 est définie sur ou .
|
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. |
|
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
. 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
, 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 et y confirmer les variables choisies avec .
Exemple de boîte de dialogue de sélection des données en fonction de la portée :

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'
) :
|
|
---|---|
|
BOOL |
Les variables suivantes appartiennent à la portée
de l'unité de programme Prog1
(elles sont déclarées dans l' ) :
|
|
|
---|---|---|
|
BOOL |
<externe> |
|
BOOL |
<entrées> |
|
BOOL |
<sorties> |
|
BOOL |
<entrées/sorties> |
|
BOOL |
<public> |
|
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 |
Utilisation dans le code de |
Utilisation dans |
Utilisation dans |
---|---|---|---|---|
|
|
Non |
|
|
|
|
Non |
Non |
PROG1.Input1 (R) |
|
|
Non |
Non |
|
|
|
Non |
Non |
PROG1.InOut1 (R/W) |
|
Non |
Non |
Non |
PROG1.Glob1 (R/W) |
|
|
Non |
|
|
|
|
Non |
Non |
Non |
|
|
|
Non |
|
|
|
|
Non |
|
|
|
|
Non |
|
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 (2) L'accès en écriture
peut être restreint en utilisation externe si l'attribut RW programme en utilisation externe de (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
.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 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 dans le menu contextuel. |
4 |
Validez par .Résultat : Les variables inutilisées sont purgées. |
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 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 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 .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 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 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 .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. |
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.
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 de l'éditeur de données de l'unité de programme. |
2 |
Sélectionnez la commande 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 . |
4 |
Activez la commande .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. |
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 |
||
|
BOOL, EBOOL et INT |
R |
R/W |
ARRAY, DDT, STRING et REF_TO |
R |
N/A |
|
|
BOOL, EBOOL et INT |
R |
R |
ARRAY, DDT, STRING et REF_TO |
R |
N/A |
|
|
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 |
---|---|---|
|
EDT, DDT et ARRAY |
R/W |
Constante |
R |
|
|
EDT, DDT, ARRAY, DFB et EFB |
R/W |
REF_TO et constante |
R |
|
R : Lecture seule R/W : Lecture et écriture |
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 . Pour plus d'informations, consultez le chapitreAccè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 affecté sont accessibles en lecture et écriture.
|
Public : | ces variables sont accessibles en lecture et écriture par défaut. |
L'attribut
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
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).