 Dictionnaire

Le dictionnaire d'ISaGRAF est un outil d'édition pour la déclaration des variables internes, d'entrée et de sortie, des instances de blocs fonctionnels, et des définitions de "mots équivalents", pour le projet sélectionné. Le dictionnaire regroupe l'ensemble des variables et instances de blocs fonctionnels déclarées, et des définitions de mots équivalents pour le projet sélectionné.

Présentation

La fenêtre d'édition

Gestion des variables

Description des objets

Déclaration rapide

Carte d'adressage des superviseurs MODBUS

Echanges avec d'autres applications

Lien avec les autres outils d'ISaGRAF

Protections individuelles


Présentation

Les variables, les instances de blocs et les définitions doivent être déclarées dans le dictionnaire avant d'être utilisées dans le code source des programmes. Les variables et les définitions peuvent être utilisées dans tous les programmes écrits en langage SFC, FBD, LD, ST ou IL. Les blocs fonctionnels utilisés dans les diagrammes FBD n'ont pas besoin d'être déclarés. Les éditeurs FBD et Quick LD d'ISaGRAF déclarent automatiquement les instances de chaque bloc inséré dans le diagramme.

Variables

Mots équivalents

Instances de blocs fonctionnels

Adresses réseau


Variables

Les variables sont triées selon leur portée et leur type. Seules les variables de mêmes type et portée peuvent être saisies dans la même grille d'édition. Voici les portées prédéfinies pour les variables :

 GLOBAL	utilisable par tous les programmes du projet

 LOCAL	utilisable dans un seul programme

Voici les types de variables prédéfinis :

 BOOLEEN	valeurs binaires true/false

 ANALOGIQUE	valeurs entières ou réelles

 TEMPORISATION	valeurs temporelles

 MESSAGE	chaînes de caractères

Une variable est identifiée par un nom, un commentaire, un attribut, une adresse réseau et d'autres champs spécifiques. Voici les attributs prédéfinis pour les variables :

INTERNE	variable implantée en mémoire

ENTREE	variable reliée à un capteur

SORTIE	variable reliée à un actionneur

CONSTANTE	variable interne en lecture seule (avec valeur initiale)

Note:	Les temporisations sont toujours des variables internes. Les variables d'entrée et de sortie ont toujours une portée GLOBALE.


Mots équivalents

Les définitions de mots équivalents sont triées en fonction de leur portée. Seules les définitions d'une même portée pourront être entrées dans la même grille de saisie. Voici les portées prédéfinies pour les définitions :

 COMMUN	utilisable par les programmes de tous les projets

 GLOBAL	utilisable par tous les programmes du projet

 LOCAL	utilisable par un seul programme

Une définition est identifiée par un nom, un texte ST équivalent, et un commentaire.


Instances de blocs fonctionnels

Les instances des blocs fonctionnels utilisés dans la programmation en langage ST doivent être déclarées dans le dictionnaire. Parce qu'un bloc fonctionnel contient des données internes "cachées", chaque copie d'un même bloc doit être identifiée. L'exemple suivant montre le bloc fonctionnel "R_TRIG" (détection de front montant) défini en librairie, et utilisé pour la détection de fronts de plusieurs variables. Chaque copie du bloc doit être identifiée par un nom unique. Le type de bloc fonctionnel est déclaré avec le Gestionnaire de Librairies :

Nom du bloc:	R_TRIG

Paramètres:	Input=CLK

Output=Q

La déclaration des instances (copies) est faite dans le dictionnaire :

Nom d'instance:	TRIG_B1	Bloc:	R_TRIG

Nom d'instance:	TRIG_B2	Bloc:	R_TRIG

Les instances déclarées peuvent être utilisées dans le langage ST :

TRIG_B1 (b1);

edge_b1 := TRIG_B1.Q;	(* détection des fronts de la variable b1 *)

TRIG_B2 (b2);

edge_b2 := TRIG_B2.Q;	(* détection des fronts de la variable b1 *)

Les instances de blocs fonctionnels peuvent être déclarées en GLOBAL (connues par tous les programmes du projet), ou en LOCAL à un programme. Les blocs fonctionnels utilisés dans les diagrammes FBD n'ont pas à être déclarés, puisque les éditeurs FBD et Quick LD d'ISaGRAF déclarent automatiquement les instances de chaque bloc fonctionnel inséré dans le diagramme.

(* les blocs fonctionnels portent toujours le nom donné en librairie. Les éditeurs FBD et Quick LD d'ISaGRAF déclarent automatiquement une instance à chaque bloc inséré dans le diagramme *)

Les instances déclarées automatiquement par l'éditeur FBD d'ISaGRAF sont toujours LOCALES au programme édité.


Adresses réseau

L'adresse réseau d'une variable est une information optionnelle. Une variable avec une adresse réseau non nulle pourra être espionnée par un système externe (par exemple un superviseur) à l'exécution. Les adresses réseau peuvent être saisies une à une, lors de la déclaration (création ou modification) de chaque variable.


La fenêtre d'édition

La fenêtre du dictionnaire montre la liste des variables déclarées pour un même type et une même portée. Le type et la portée sélectionés sont toujours indiqués dans la barre de titre.

Les principaux champs de la déclaration d'une variable sont visibles dans la fenêtre principale: nom, attributs, adresse réseau et commentaire. La description détaillée de la variable sélectionnée est visible dans la barre d'état. Cliquez dans la zone de titre des colonnes pour changer leur taille.

Utilisez les boutons suivants pour sélectionner la portée des objets à éditer:

COMMUN	utilisable par les programmes de tous les projets

GLOBAL	utilisable par tous les programmes du projet

LOCAL	utilisable par un seul programme

Utilisez les taquets suivants dans la barre de titre pour sélectionner le type d'objet à éditer:

Utilisez le champ de saisie à gauche de la barre d'outils pour accéder directement à une variable en entrant les premières lettres de son nom. Dans ce cas, la recherche est effectuée sur la liste entière, indépendament de la position courante. La commande "Edition / Chercher" recherche une chaîne de caractères dans les noms et les commentaires de variables éditées, et emmène directement la barre de sélection sur la variable correspondante. La recherche ne différentie pas les majuscules et les minuscules.


Gestion des variables

Les commandes du menu "Fichiers" permettent de manipuler l'ensemble des variables, instances ou mots équivalents de la classe (portée / type) en cours d'édition. Utilisez la commande "Autre..." pour sélectionner un type et une portée d'objets à éditer.

Imprimer la déclaration des variables

Créer de nouvelles variables

Modifier les variables existantes

 	Couper / coller

Trier les variables

Définir les adresses réseau

Importer les mots équivalents à true / false


Imprimer la déclaration des variables

La commande "Imprimer les variables" lance l'impression de toutes les déclarations de variables ou définitions de mots équivalents de la liste (type / portée) sélectionnée. L'impression est réalisée par le générateur de dossier et montre la description détaillée de chaque variable, instance ou mot équivalent pour le groupe (type / portée) sélectionné.


Créer de nouvelles variables

La commande "Nouveau" du menu "Edition" permet de déclarer de nouvelles variables ou définitions de mots équivalents pour le type et la portée sélectionnés. Les nouveaux objets sont insérés juste avant l'objet sélectionné dans la liste. Quand cette commande est lancée, une boîte de dialogue est ouverte pour la saisie de la variable ou de la définition. Quand la description est complète, pressez le bouton "Enregistre" pour ajouter le nouvel objet à la liste. La boîte de dialogue est automatiquement ré-ouverte, ce qui autorise la saisie continue d'une liste d'objets par la même commande. Pressez le bouton "Abandonne" pour fermer la boîte de dialogue, quand la création des nouveaux objets est terminée.


Modifier les variables existantes

La commande "Modifier" du menu "Edition" permet de modifier la déclaration de l'objet sélectionné. Quand cette commande est lancée, une boîte de dialogue est ouverte pour la saisie de la variable ou de la définition. Quand la description est complète, pressez le bouton "Enregistre" pour valider les modifications. Vous pouvez également utiliser les boutons "Suivant" et "Précédent" pour étendre la commande de modification aux objets adjacents. Pressez le bouton "Abandonne" pour fermer la boîte de dialogue et terminer les modifications.


 	Couper / coller

L'éditeur de dictionnaire d'ISaGRAF permet la sélection multiple des éléments. Plusieurs commandes sont disponibles pour manipuler la liste d'objets (variables ou définitions) sélectionnés.

COPIER:	Copie les objets sélectionnés dans le presse papiers

COUPER:	Copie les objets sélectionnés dans le presse papiers

et les enlève de la liste affichée

EFFACER:	Supprime les objets sélectionnés dans la liste

COLLER:	Insère le contenu du presse papiers dans la liste affichée

Les commandes Copier / Couper / Coller peuvent être utilisées depuis une liste d'objets vers une autre liste ou un autre projet.


Trier les variables

La commande "Outils / Trier" trie tous les objets déclarés dans la liste sélectionnée. Voici l'ordre de tri retenu pour les variables :

•	d'abord les variables internes

•	ensuite les variables d'entrée

•	enfin les variables de sortie

Les variables ayant le même attribut sont triées par ordre alphabétique. Les définitions de mots équivalents et les instances de blocs fonctionnels sont toujours triées par ordre alphabétique.


Définir les adresses réseau

L'adresse réseau d'une variable est une information optionnelle. Une variable avec une adresse réseau non nulle pourra être espionnée par un système externe (par exemple un superviseur) à l'exécution. Les adresses réseau peuvent être saisies une à une, lors de la déclaration (création ou modification) de chaque variable. La commande "Outils / Renuméroter" vous permet de forcer les adresses réseau de tout un groupe de variables. Quand cette commande est lancée, elle concerne les variables sélectionnées dans la liste. Il suffit d'entrer une adresse de base hexadécimale (adresse pour la première variable du groupe sélectionné). Les adresses de toutes les variables du groupe seront automatiquement forcées avec des valeurs consécutives.


Importer les mots équivalents à true / false

Lors de l'édition des mots équivalents, la commande "Outils / Importer les équivalents Vrai/Faux" permet de déclarer automatiquement comme mots équivalents les libellés définis pour les états à Vrai et à Faux des variables booléennes. Ces libellés ne sont normalement définis que pour l'affichage lors de la mise au point. Ils doivent faire l'objet de définition de mots équivalents pour pouvoir être utilisés dans les sources des programmes. Cette commande importe les libellés Vrai/Faux des variables booléennes ayant la même portée que celle des mots équivalents en cours d'édition.


Description des objets

Pour chaque variable, instance de bloc fonctionnel, ou définition de mot équivalent, il faut entrer sa description détaillée. Les champs à renseigner pour la description d'un objet dépendent de son type. Les champs suivants s'appliquent à tous les types de variables:

Nom	Nom de la variable: le premier caractère doit être une lettre, les caractères suivants des lettres, des chiffres ou le souligné.

Adresse Réseau	Adresse réseau hexadécimale (optionnelle). Si ce champ est non nul, la variable pourra être espionnée par un système externe à l'exécution.

Commentaire	Commentaire libre pour la description de la variable.

Non volatile	Cette option indique que l'état de la variable doit être sauvegardée en mémoire non volatile.

Voici les autres champs à renseigner pour une variable booléenne:

Attribut	Spécifie une variable interne, constante, d'entrée ou de sortie.

Libellé "Faux"	Libellé utilisé pour remplacer la valeur "False" pendant la mise au point.

Libellé "Vrai"	Libellé utilisé pour remplacer la valeur "True" pendant la mise au point.

Vrai à l'init.	La valeur initiale de la variable est "True" si cette option est validée.

Voici les autres champs à renseigner pour une variable analogique:

Attribut	Spécifie une variable interne, constante, d'entrée ou de sortie.

Format	Spécifie une variable entière ou réelle (flottante) et le format d'affichage pendant la mise au point.

Libellé d'unité	Libellé d'unité affiché pendant la mise au point.

Conversion	Nom de la table ou fonction de conversion attachée à la variable (pour les entrées et sorties seulement).

Valeur initiale	Valeur initiale de la variable. Doit avoir le même format (entier / réel) que la variable.

Voici les autres champs à renseigner pour une variable temporisation:

Attribut	Spécifie une variable interne ou constante.

Valeur initiale	Valeur initiale de la variable. (valeur de temps).

Voici les autres champs à renseigner pour une variable message:

Attribut	Spécifie une variable interne, constante, d'entrée ou de sortie.

Longueur Max	Spécifie le nombre maximum de caractères qui peuvent être stockés dans le message.

Valeur initiale	Valeur initiale de la variable. Ne peut pas excéder la longueur maximale du message.

Voici les champs à renseigner pour une définition de mot équivalent:

Nom	Nom utilisé dans les programmes: le premier caractère doit être une lettre, les caractères suivants des lettres, des chiffres ou le souligné.

Equivalence	Chaîne respectant la syntaxe ST, qui remplacera le nom de la définition pendant la compilation. Exemple:  Nom = PI  -  Equivalence = 3.14159

Commentaire	Commentaire libre pour la définition.

Voici les champs à renseigner pour une instance de bloc fonctionnel:

Nom	Nom utilisé dans les programmes: le premier caractère doit être une lettre, les caractères suivants des lettres, des chiffres ou le souligné.

Type	Nom en librairie du bloc fonctionnel asocié.

Commentaire	Commentaire libre pour la définition.


Echanges avec d'autres applications

L'éditeur de dictionnaire d'ISaGRAF offre des fonctions d'import / export pour échanger des informations avec d'autres applications, telles que des traitements de textes, tableurs, gestionnaires de base de données... Ces commandes sont groupées dans le menu "Outils". La commande "Exportation" génère un texte ASCII de description des champs de déclaration des objets édités, et le stocke soit dans le presse papiers de Windows, soit dans un fichier. Ces informations sont typiquement destinées à être reprises par une autre application. La commande "Importation" importe les champs de déclaration d'objets, décrits sous forme de texte ASCII, soit dans le presse papiers de Windows soit dans un fichier, et met à jour ces champs dans les fiches des objets édités. Ces informations proviennent typiquement d'une autre application.

Exportation

Importation

Formats supportés

Mots clés


Exportation

La boîte de dialogue d'exportation est ouverte quand la commande "Exportation" est lancée. Elle permet le contrôle du processus d'exportation.

Sélectionnez le choix "Liste complète" pour indiquer que toute la liste éditée doit être exportée. La sélection courante dans la liste est ignorée dans ce cas. Sélectionnez le choix "Variables sélectionnées" pour n'exporter que les objets sélectionnés dans la liste.

Si l'option "Presse papiers" est validée, le texte exporté est stocké, sous forme ASCII, dans le presse papiers de Windows. Le texte est alors disponible pour les commandes "Coller" de autres applications. Si l'option "Fichier" est validée, le texte exporté est stocké, sous forme ASCII, dans un fichier. Le nom complet (nom + chemin) du fichier doit être entré dans ce cas. La commande "Parcourir" permet de retrouver un chemin existant.

Avant de lancer la fonction, il faut sélectionner le format choisi. Les formats disponibles sont décrits dans les sections suivantes. La commande "Ok" lance l'exportation. La commande "Abandonne" ferme la boîte de dialogue sans lancer la fonction.

Tous les champs concernant les objets édités sont écrits dans le texte exporté, dans leur ordre de déclaration. La première ligne du texte exporté contient le nom des champs. Chaque objet est décrit sur une ligne de texte. Le caractère de fin de ligne est la séquence MS-DOS standard "0d-0a". Les noms utilisés pour identifier les champs peuvent être redéfinis, à l'aide de la commande "Mots clés". Cette commande est décrite dans les sections suivantes.


Importation

La boîte de dialogue d'importation est ouverte quand la commande "Importation" est lancée. Elle permet le contrôle du processus d'importation.

Si l'option "Presse papiers" est validée, les informations importées sont lues dans le presse papiers de Windows, en format texte ASCII. Si l'option "Fichier" est validée, les informations importées sont lues dans une fichier ASCII. Le nom complet (nom + chemin) du fichier doit être entré dans ce cas. La commande "Parcourir" permet de retrouver un chemin existant.

La fonction d'importation reconnaît automatiquement le format (séparateurs) utilisé dans le texte importé. Les formats autorisés sont décrits dans les sections suivantes. La commande "Ok" lance l'importation. La commande "Abandonne" ferme la boîte de dialogue sans lancer la fonction.

La première ligne du texte doit contenir le nom des champs, dans le même ordre que pour les enregistrements suivants. Chaque object doit être décrit sur une ligne de texte. Le caractère de fin de ligne est la séquence MS-DOS standard "0d-0a". Les champs peuvent apparaître dans n'importe quel ordre. Si certains champs sont absents, ils seront automatiquement complétés avec des valeurs par défaut. Si un objet importé existe déjà dans la liste éditée, l'utilisateur doit donner l'autorisation de l'écraser. La description de l'objet est alors mise à jour avec les champs importés. Si certains champs sont omis, ils ne sont pas mis à jour dans la fiche de l'objet.

Les noms utilisés pour identifier les champs peuvent être redéfinis, à l'aide de la commande "Mots clés". Cette commande est décrite dans les sections suivantes.


Formats supportés

Voici la liste des formats disponibles pour la fonction d'exportation. La commande d'importation reconnaît automatiquement ces formats.

•	tabulations

Description:	Les champs sont séparés par des tabulations.

Exemple:	Name	Attribute	Comment

level	internal	internal calculated water level

alrm1	output	main alarm output

•	virgules

Description:	Les champs sont séparés par des virgules.

Exemple:	Name,Attribute,Comment

level,internal,internal calculated water level

alrm1,output,main alarm output

•	points-virgules

Description:	Les champs sont séparés par des points-virgules.

Exemple:	Name;Attribute;Comment

level;internal;internal calculated water level

alrm1;output;main alarm output

•	virgules et guillemets

Description:	Les champs sont séparés par des virgules.

Chaque champ est écrit entre guillemets.

Exemple:	"Name","Attribute","Comment"

"level","internal","internal calculated water level"

"alrm1","output","main alarm output"


Mots clés

Les noms utilisés pour identifier les champs dans la première ligne des textes importés ou exportés peuvent être redéfinis, à l'aide de la commande "Mots clés" des boîtes de dialogue d'importation et d'exportation. La fenêtre contient la liste de tous les champs, avec les mots clés associés. Pour modifier un mot clé, il suffit de sélectionner le champ dans la liste et de presser le bouton "Modifie". La commande "Standard" restitue tous les mots clés originaux. La nomenclature des mots clés doit respecter les règles suivantes:

•	la longueur du nom ne doit pas excéder 16 caractères

•	le premier caractère doit être une lettre

•	les caractères suivants doivent être des lettres, des chiffres ou '_'

•	le même nom ne peut pas être utilisé pour plusieurs champs

Voici la liste des mots clés standards proposés par ISaGRAF:

Nom de variable, d'équivalence, d'instance	Name

Commentaire	Comment

Adresse réseau	Address

Attributs (interne, entrée, sortie)	Attribute

Libellé équivalent à 'False'	False

Libellé équivalent à 'True'	True

Format analogique (entier ou réel)	Format

Libellé d'unité analogique	Unit

Nom de conversion analogique	Conversion

Longueur maximum de message	MaxLength

Type de bloc fonctionnel en librairie	Library

Equivalence d'un mot défini	Equivalence

Attribut: interne	Internal

Attribut: constante	Constant

Attribut: entrée	Input

Attribut: sortie	Output

Format analogique: réel	Real

Format analogique: entier	Integer


Lien avec les autres outils ISaGRAF

Le menu "Outils" contient les commandes opur lancer les autres outils d'ISaGRAF utiles pour la gestion des variables:

La commande "Câblage E/S" lance l'éditeur de câblage d'ISaGRAF Ipour le projet ouvert. Si la variable sélectionnée est une E/S et si elle est déjà connectée, la carte correspondante sera directement affichée quand la fenêtre de câbmage s'ouvrira.

La commande "Tables de conversion" lance l'éditeur de tables de conversiondans une boîte de dialogue. Les tables de conversions peuvent être assignées (en tant que filtre) à toute variable d'entrée ou de sortie entière ou réelle.

La commande "Références croisées" lance l'éditeur de références croisées pour le projet ouvert.


Déclaration rapide

La commande "Outils / Déclaration rapide" permet de déclarer plusieurs variable en une seule fois. Les noms des variables ainsi créées sont basés sur une convention de numérotation. Pour ceci, vous devez définir:

- le numéro de la première et de la dernière variable,

- le texte à ajouter avant et après le numéro dans les noms de variables

- le nombre de chiffres utilisés pour exprimer le numéro dans les noms

De plus, vous pouvez spécifier quelques attributs de base pour les variables à créer (interne, entrée ou sortie...), plus quelques paramètres dépendant du type de variable (attribut "Non volatile", format entier ou réel, longueur maximum des messages).

Il faut obligatoirement définir un texte à ajouter avant le numéro dans les symboles, puisqu'un nom de variable ne peut pas commencer par un chiffre. Quand l'option "Nombre de chiffres" est positionnée à "Auto", ISaGRAF formatte chaque numéro avec le nombre minimum de chiffres requis. Quand un nombre de chiffres est spécifié, ISaGRAF formatte chaque numéro selon la longueur demandée, en ajoutant des '0' devant la valeur du numéro. Demander un nombre fixe de caractères permet d'assurer un bon mécanisme pour les tris lexicographiques. Voici quelques exemples:

Exemple 1: Ce paramétrage pour la déclaration rapide:

créera les trois variables suivantes:

Var9xx      Var10xx      Var11xx

Exemple 2: Ce paramétrage pour la déclaration rapide:

créera 100 variables avec des noms allant de MyVar001 à MyVar100


Carte d'adressage des superviseurs MODBUS

Les "adresses réseau" définie par ISaGRAF sont souvent utilisées pour établir un lien entre les variables de la cible ISaGRAF et un superviseur basé sur une communication au protocole Modbus. Dans ce cas, le superviseur est un maître MODBUS et la cible ISaGRAF est un esclave MODBUS. Les adresses réseau sont utilisées pour construire une carte d'adressage MODBUS virtuelle pour toutes les variables devant être espionnées par le superviseur. La commande "Outils / Carte d'adressage des superviseurs MODBUS " est un outil dédié qui permet de créer rapidement la carte MODBUS des variables de votre application.

L'outil d'adressage montre deux listes. La liste du haut est un segment (4096 positions) de la carte Modbus, qui montre les variables adressées (celles qui ont une adresse réseau). La liste du bas montre les variables non adressées (sans adresse réseau). L'adresse "0" ne peut pas être utilisée.

Utilisez les commandes "Connecter" et "Retirer" du menu "Edition" pour déplacer une variable d'une liste vers l'autre, et construire la carte. Les mêmes actions peuvent être effectuées en cliquant deux fois sur le nom d'une variable, soit dans la carte, soit dans la liste du bas. A tout moment, vous pouvez utiliser la liste "Segment" pour sélectionner un autre segment de la carte.

Les commandes du menu "Options" permettent à tout moment de basculer entre un affichage en décimal et un affichage en hexadécimal.

La commande "Edition / Chercher" cherche un nom de variable déclarée, qu'elle soit adressée ou non.


Protections individuelles

L'atelier ISaGRAF offre un système de protection basé sur un ensemble de mots de passe hiérarchisés. La déclaration des variables peut être globalement verrouillé par un mot de passe. De plus, ISaGRAF permet d'installer une protection individuelle sur chaque variable déclarée. Ceci présume que:

- des mots de passes sont déjà définis dans le système de protection de l'application (utilisez la commande "Projet / Mot de passe" du gestionnaire de projets) et que des niveaux de protections valides sont disponibles pour les protections.

- vous utilisez des niveaux de protection individuelle plus prioritaire que le niveau utilisé pour la protection globale des déclarations.

Quand une variable a une protection individuelle, un icone spécial est affiché à côté de son nom dans le dictionnaire:

Utilisez les commandes "Protéger" et "Retirer la protection" du menu "Edition" pour installer ou retirer une protection individuelle sur la variable sélectionnée. Ces deux commandes vous demandent de saisir un mot de passe valide correspondant à un niveau de protection correctement défini. Par la suite, chaque fois que vous voudrez changer la définition d'une variable protégée, vous devrez entrer un mot de passe suffisant.

Attention: si une variable est protégée avec un niveau, et que le mot de passe correspondant est supprimé dans le système de protection, et s'il n'existe pas de mot de passe plus prioritaire, la variable ne pourra plus être modifiée jusqu'à la définition de nouveaux mots de passe de niveau suffisant.