 Edition de textes

Ce chapître décrit l'utilisation de l'éditeur de textes d'ISaGRAF, particulièrement quand il est utilisé pour éditer le code source des programmes en ST ou IL.

Commandes d'édition

Options

Commandes du menu "Outils"

Appel des autres outils ISaGRAF

Paramètres (interface)

Autres commandes du menu "Fichier"

Mise à jour de l'agenda

Sélection d'une variable dans le dictionnaire

Mise au point des programmes ST et IL

L'éditeur de textes d'ISaGRAF est également utilisé pour la saisie du descripteur du projet, des fichiers agenda, des fiches techniques des éléments de librairies, et à chaque fois qu'un document textuel doit être entré par l'utilisateur.

Définition des resources


Commandes d'édition

Les commandes du menu "Edition" permettent de manipuler le texte saisi. La plupart de ces commandes agissent sur la portion de texte sélectionné dans le document, ou réalisent une opération à la position courante du curseur.

 	Couper / Coller

Chercher et remplacer

Atteindre une ligne

Insérer un symbole du dictionnaire

Insérer un fichier


 	Couper / Coller

La touche DEL supprime le texte sélectionné. Utilisez la commande "Edition / Annuler" pour restituer le texte détruit par DEL en cas d'erreur. Les commandes "Couper", "Copier", "Coller" du menu "Edition" permettent de déplacer ou de copier un texte dans le document, ou d'insérer des textes copiés depuis d'autres applications.


Chercher et remplacer

Les commandes "Edition / Chercher" et "Edition / Remplacer" permettent de chercher et de remplacer un texte dans le document. Toute chaîne de caractères peut être trouvée. La recherche peut être effectuée en avant ou en arrière à partir de la position courante du curseur. La recherche ne "boucle" pas quand les limites du document sont atteintes.


Atteindre une ligne

La commande "Edition / Atteindre" permet de déplacer directement le curseur sur une ligne du document en indiquant le numéro de la ligne. Ceci est utile lorsqu'une erreur détectée par le générateur de code est référencée par son numéro de ligne dans un programme ST ou IL.


Insérer un symbole du dictionnaire

Utilisez la commande "Edition / Insérer variable" pour insérer à la position courante du curseur le symbole d'une variable déclarée dans le dictionnaire. Le symbole est sélectionné dans la liste des variables déclarées.


Insérer un fichier

La commande "Edition / Insérer fichier" insère à la position courante du curseur le contenu intégral d'un fichier de texte. Notez que seuls les fichiers de pur texte ASCII peuvent être manipulés par cette commande.


Options

Les commandes du menu "Options" permettent de cacher ou de montrer la barre d'outils de l'éditeur, et de sélectionner la police de caractères. La police sélectionné sera utilisée pour toutes les éditions de texte dans l'ensemble de l'atelier ISaGRAF.

Quand l'éditeur est utilisé pour entrer le code source d'un programme ST ou IL, la commande "Options / Afficher les mots clés" permet d'afficher ou de cacher une boîte à boutons dans laquelle sont regroupés les principaux mots réservés du langage. Cliquez sur un des boutons pour insérer le texte du mot réservé à la position courante du curseur.


Appel des autres outils ISaGRAF

Vérifier (compiler) le programme

 	Simuler ou tester l'application

Editer le dictionnaire de variables


Vérifier (compiler) le programme

La commande "Fichier / Vérifier" lance le générateur de code d'ISaGRAF pour vérifier la syntaxe du programme en cours d'édition. Dans le cas d'un programme SFC, les informations de niveau 1 et de niveau 2 sont vérifiées. Quand la vérification est terminée, fermez la fenêtre du générateur de code pour reprendre votre travail d'édition du programme ouvert.

La commande "Options / Options de compilation" permet de sélectionner les options pour la génération et l'optimisation du code de l'application. Référez-vous au manuel d'utilisation du générateur de code d'ISaGRAF pour plus de détails sur les options de compilation et leur signification.


 	Simuler ou tester l'application

Les commandes "Fichier / Simuler" et "Fichier / Tester" lancent le debugger graphique d'ISaGRAF en mode simulation ou en mode réel connecté à l'automate, et ré-ouvre le programme édité en mode mise au point. Dans ce mode, il n'est plus possible de modifier le contenu du programme.


Editer le dictionnaire de variables

La commande "Fichier / Dictionnaire" lance l'édition du dictionnaire de variables de l'application. Le dictionnaire permet également de définir les mots équivalents (alias). Les déclarations de portée locale sont toujours relatives au programme édité.


Paramètres (interface)

Quand le programme édité est une fonction ou un bloc fonctionnel, la commande "Fichier / Paramètres" permet de définir ses paramètres d'appel et de retour. Cette commande est sans effet si le programme édité est un programme principal des sections "Début" ou "Fin" ou un programme SFC.

Un sous-programme, une fonction ou un bloc fonctionnel peuvent avoir jusqu'à 32 paramètres (entrées ou sorties). Une fonction ou un sous-programme a toujours un paramètre de retour et un seul, qui doit porter le nom de la fonction, conformément aux règles d'écriture du langage ST.

La liste dans la partie supérieure de la fenêtre montre les paramètres du sous-programme, selon l'ordre défini par le prototype d'appel du sous-programme : d'abord les paramètres d'appel, et enfin le paramètre de retour. La partie inférieure de la fenêtre montre la description détaillée du paramètre sélectionné dans la liste. Chacun des types de données d'ISaGRAF peut être utilisé pour un paramètre. Les paramètres de retour doivent être les derniers de la liste. Les règles suivantes doivent être respectées pour la nomenclature des paramètres :

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

•	le premier caractère doit être une lettre

•	les suivants doivent être des lettres, des chiffres, ou le souligné

•	les majuscules et les minuscules ne sont pas différenciées

La commande "Insère" insère un emplacement libre pour un nouveau paramètre, avant le paramètre sélectionné. La commande "Supprime" efface le paramètre sélectionné. La commande "Arrange" trie les paramètres, de façon à ce que les paramètres de sortie soient placés en fin de liste.


Autres commandes du menu "Fichier"

Les commandes suivantes sont disponibles dans le menu "Fichier" des éditeurs de programme:

Ouvrir un autre programme

Imprimer le programme


Ouvrir un autre programme

La fonction "Fichier / Ouvrir" permet de fermer le programme en cours d'édition et de lancer l'édition d'un autre programme du projet. Cette fonction ne peut pas être utilisée pour lancer l'édition d'un programme décrit avec un autre langage que le programme ouvert. Le nouveau programme vient remplacer le programme actuel dans la fenêtre d'édition.


Imprimer le programme

La commande "Fichier / Imprimer" imprime le contenu du programme édité sur l'imprimante. Cette commande lance le générateur de dossier d'ISaGRAF pour l'impression du document en cours d'édition.

Pour les programmes graphiques (SFC, FBD et Quick LD) la commande "Edition / Copier image" copie l'image du programme édité sous forme de "metafile" dans le presse papier de Windows. Il peut ainsi être copié dans d'autres applications telles que des traitements de textes. Pour les programmes SFC, seules les informations du niveau 1 sont copiées dans l'image (graphe, références et commentaires).


Mise à jour de l'agenda

Un fichier est attaché à chaque programme, et peut accueillir les notes et remarques relatives à sa programmation. Utilisez la commande "Fichier / Agenda" pour accéder à l'édition de ce fichier. Le fichier agenda est automatiquement mis à jour à chaque vérification syntaxique. Les derniers mesages de compilation peuvent y être consultés, ainsi que la date de la compilation.

Quand l'option "Mise à jour du fichier agenda" est choisie, la fenêtre de saisie des annotations pour l'agenda est automatiquement ouverte à chaque sauvegarde des modifications apportées au programme. Ceci permet de créer facilement une trace des évolutions de chaque programme pendant le développement et la maintenance d'une application. Notez que cette option est commune pour tous les programmes (de tout langage) du projet. Pressez le bouton OK pour enregistrer dans la fichier agenda les notes saisies, ainsi que la date courante.


Sélection d'une variable dans le dictionnaire

 Pendant l'édition des programmes litéraux (ST ou IL) la commande "Edition / Insérer variable" permet de sélectionner une variable dont le symbole doit être inséré à la position courante du curseur. Pendant l'édition des programmes graphiques LD ou FBD, la sélection de variable est requise pour l'association aux contacts, relais, paramètres de blocs et champs "variables" des diagrammes FBD. Dans tous les cas, la boîte de dialogue de sélection de variable est utilisée.

Le champ "Portée" permet de sélectionner la portée des variables à lister (globales ou locales). La boîte de sélection de droite permet de choisir un type de variable. Les boutons graphiques à côté de cette boîte permettent de choisir les types les plus utilisés:

Booléen

Entier / réel

Temporisation

Message

Pour sélectionner une variable, cliquez sur son nom dans la liste. Son nom est alors affiché en tête de liste. Pressez alors le bouton "OK" pour confirmer sa sélection. Vous pouvez également cliquer deux fois dans la liste pour sélectionner une variable, ou entrer manuellement son symbole sans utiliser la liste.


Définition des resources

La commande "Ressources" du menu "Options" permet de définir les ressources. Une ressource est un ensemble de données défini par l'utilisateur (configuration de réseau, paramétrage du matériel...) de tout format (fichier, série de valeurs) qui doit être ajouté au code généré, de façon à être téléchargé avec lui dans l'automate cible. Ces données ne sont pas directement traitées par le noyau ISaGRAF, et sont généralement dédiées à d'autres logiciels installés dans 'automate. Référez-vous au manuel d'utilisation de votre automate pour plus d'informations sur le type de ressource supportée ou attendue.

Le fichier de définition des ressources

Référence du langage

Exemple

Compilation des ressources

Implémentation


Le fichier de définition des ressources

Les ressources sont définies dans un "Fichier de définition des ressources" stocké avec les autres fichiers du projet ISaGRAF. C'est un fichier de text ASCII, analysé par le Compilateur de Ressources d'ISaGRAF. Le compilateur de resssources est lancé automatiquement lors de la génération du code. Cette section présente la syntaxe de ce fichier. Cette syntaxe suit les règles lexicales du langage ST. Des commentaires, commençant par "(*" et finissant par "*)" peuvent être insérés partout dans le texte. Les chaînes de caractères sont délimitées par des apostrophes. Référez-vous à la deuxième partie de ce manuel pour une présentatioon détaillée du format des constantes numériques.


Référence du langage

Voici la liste des mots clés et des énoncés utilisés dans le fichier de définition des ressources.

ULONGDATA

VARLIST

BINARYFILE

TEXTFILE

TARGET

ANYTARGET

FROM

TO


ULONGDATA

Rôle:	Specifie une ressource qui contient une série de valeurs entières. Les valeurs sont stockées dans le code cible comme des entiers non signés sur 32 bits. Les valeurs sont stockées dans l'ordre indiqué dans le fichier de définition. Les valeurs doivent être séparées par des virgules. Le nom de la ressource ne doit pas excéder 15 caractères.

Syntaxe:	ULONGDATA '<nom_ressource>'

BEGIN

...sélection de cibles...

...liste de valeurs...

END

Exemple:	ULongData 'MYDATA'

Begin

...

0, -1, 100_000,	(* decimal *)

16#A0B1, 2#1011_0101	(* hexadecimal, binary *)

End


VARLIST

Rôle:	Spécifie une ressource qui est une liste d'adresses de variables. Les variables sont identifiées par leur symbole dans le fichier de définition des ressources. Les adresses sont stockées dans le code dela ressource comme des entiers de 16 bits. Les adresss sont stockées dans l'ordre où elles apparaissent dans le fichier de définition. Les noms de variables doivent être séparés par des virgules. Le nom de la ressource ne doit pas excéder 15 caractères.

Syntaxe:	VARLIST '<nom_ressource>'

BEGIN

...sélection des cibles...

...liste des noms de variables...

END

Exemple:	VarList 'LIST'

Begin

...

Var100, MyParameter, Command, Alarm

End


BINARYFILE

Rôle:	Spécifie une ressource dont le contenu provient d'un fichier binaire MS-DOS. La définition de la ressource sur la cible est complétée par un nom de chemin. Les caractères de fin de ligne ne sont pas convertis par le compilateur de ressources. Le nom de la ressource ne peut pas excéder 15 caractères.

Syntaxe:	BINARYFILE '<nom_ressource>'

BEGIN

...sélection des cibles...

FROM '<chemin_source>'

TO '<chemin_destination>'

END

Exemple:	BinaryFile 'MYFILE'

Begin

...

From 'c:\user\config.bin'

To '/dd/user/appl/config.dat'

End


TEXTFILE

Rôle:	Spécifie une ressource dont le contenu provient d'un fichier ASCII de MS-DOS. La définition de la ressource sur la cible est complétée par un nom de chemin. Les caractères de fin de ligne sont automatiquement convertis par le compilateur de ressources selon les conventions du système cible. Le nom de la ressource ne peut pas excéder 15 caractères.

Syntaxe:	TEXTFILE '<nom_ressource>'

BEGIN

...sélection des cibles...

FROM '<chemin_source>'

TO '<chemin_destination>'

END

Exemple:	TextFile 'MYFILE'

Begin

...

From 'c:\user\config.bin'

To '/dd/user/appl/config.dat'

End


TARGET

Rôle:	Spécifie le nom d'un code cible qui doit contenir la ressource. Référez-vous à la section précédente (options de compilation) pour plus d'information sur les cibles supportées. L'énoncé "Target" peut apparaître plusieurs fois dans la description de la ressource, dans le cas où la ressource doit être téléchargée sur plusieurs cibles. Cet énoncé ne peut pas être spécifié si l'énoncé "AnyTarget" est utilisé.

Syntaxe:	TARGET '<nom_cible>'

Exemple:	BinaryFile 'MYFILE'

Begin

Target 'ISA86M'

Target 'ISA68M'

...

End


ANYTARGET

Rôle:	Spécifie que la ressource doit être inclus dans tous les codes générés. Le générateur de code d'ISaGRAF peut produire différents codes lors de la même session de codage. Cet énoncé ne peut pas être spécifié dans une ressource où l'énoncé "Target" est utilisé.

Syntaxe:	ANYTARGET

Exemple:	ULongData 'MYDATA'

Begin

AnyTarget

...

End


FROM

Rôle:	Spécifie le chemin du fichier source (sur le PC où l'atelier ISaGRAF est installé) d'une ressource BinaryFile ou TextFile. Les caractères utilisés pour séparer les composants du nom de chemin (unité, répertoire, préfixe, suffixe) doivent respecter les conventions du système MS-DOS.

Syntaxe:	FROM '<chemin_source>'

Exemple:	BinaryFile 'MYFILE'

Begin

...

From 'c:\user\config.dat'

To '/dd/user/appl/config.dat'

End


TO

Rôle:	Spécifie le chemin du fichier de destination (sur le système cible) d'une ressource BinaryFile ou TextFile. Les caractères utilisés pour séparer les composants du nom de chemin (unité, répertoire, préfixe, suffixe) doivent respecter les conventions du système hôte de la cible.

Syntaxe:	TO '<chemin_destination>'

Exemple:	TextFile 'MYFILE'

Begin

...

From 'c:\user\config.dat'

To '/dd/user/appl/config.dat'

End


Exemple

Voici un exemple complet de fichier de définition de ressources:

(* resource definition file *)

ULongData 'DATA1'	(* list of values *)

Begin

   Target 'ISA86M'	(* for this target only *)

   1, 0, 16#1A2B3C4D, +1, -1	(* numerical values *)

End

VarList 'VLIST1'	(* list of variables *)

Begin

   Target 'ISA86M'	(* for this target only *)

   Valve1, StateX, Command, Alrm1	(* variable names *)

End

BinaryFile 'FILE1'	(* binary file resource *)

Begin

   AnyTarget	(* dedicated to all targets *)

   From 'c:\user\updatef.bin'	(* source file on PC *)

   To 'updatef.cfg'	(* target file on PLC *)

End

TextFile 'FILE2'	(* text file resource *)

Begin

   Target 'ISA68M'

   From 'c:\nw\nwbd.txt'	(* source file on PC *)

   To '/nw/dat/nwbd'	(* target file on PLC *)

End


Compilation des ressources

Si des ressources ont été définies dans le fichier de définition des ressources, une boîte de dialogue apparaît à la fin de la génération du code ISaGRAF. Pressez le bouton "Compilation" pour lancer la compilation des ressources. Les messages d'erreur seront affichés dans cette boîte. Pressez le bouton "Sortie" pour ignorer les ressources. Dans ce cas le code des ressources ne sera pas ajouté au code ISaGRAF.


Implémentation

Le nombre de ressources, la taille des séries de valeurs et des fichiers ne sont pas limités par ISaGRAF. Le contenu des ressources est stocké à la fin du code généré, précédées par un répertoire de ressources. Voici le format (utilisant les notations du langage C) du répertoire de ressources:

__RESOURCE:

{

  long nbres;	/* nombre de ressources définies */

  {

    char name[16];	/* nom de la ressource */

    long type;	/* type de la ressource */

    long size;	/* taille exacte des données */

    uint32 data;

    uint32 path_offset;	/* pointe vers une chaîne de caractères */

  } /*nb of records */

}

Voici les valeurs possibles pour le champ "type":

1 = fichier binaire

2 = fichier texte

3 = liste de valeurs (path_offset inutilisé dans ce cas)

4 = liste de variables (path_offset inutilisé dans ce cas)

Pour les fichiers textes, les caractères de fin de ligne sont convertis par le compilateur de ressources, selon les conventions du système cible. Tous les pointeurs sont des offsets sur 32 bits par rapport à l'adresse de début de la structure correspondante. Tous les noms de ressources et les noms de chemin sont terminés par un caractère nul. Les noms de chemin et le contenu des ressources sont stockés à la suite du répertoire des ressources.


Commandes du menu "Outils"

Les commandes suivantes sont disponibles dans le menu "Outils". Elles permettent d'afficher des informations dans une liste située au bas de la fenêtre d'édition:

Erreurs de compilation	affiche dans la liste les messages produits lors de la dernière

compilation (vérification) du programme.

(valide pour les programmes ST/IL seulement)

Chercher dans le texte	cherche les occurences d'un texte dans tous le programme

et les affiche dans la liste

Cacher la liste	ferme la liste

Quand les messages d'erreurs ou les occurences d'un texte cherché sont affichés dans la liste, cliquez deux fois sur une ligne pour accéder à l'emplacement correspondant dans le texte édité.


Mise au point des programmes ST et IL

Pendant la simulation ou le test en ligne des programmes ST et IL program, aucune modification ne peut être saisie dans le texte.

IL	Pour les programmes IL, les instructions sont formattées en liste. La valeur courante de la variable utilisée dans une instruction est affichée sur la même ligne. Cliquez deux fois sur une instruction pour forcer la variable correspondante.

ST	Pour les programmes ST, une liste de variables est embarquée dans la fenêtre d'édition du programme. Vous pouvez redimensionner la liste en déplaçant la ligne de séparation avec la souris.

Enregistrer la liste

 	Insérer des variables dans la liste

Changer la variable sélectionnée

Affichage en mode "Dump"

Pour chaque variable de la liste, ISaGRAF affiche son nom, sa valeur courante et son commentaire. Déplacez les séparations avec la souris dans la ligne de titre pour redimensionner les colonnes.


Enregistrer la liste

La commande "Fichier / Enregistrer la liste" sauve la liste de variables sur le disque, sous le même nom que le programme ST. Cette liste sera automatiquement ouverte à chaque fois que le programme ST sera ouvert en mode test. Cette liste peut également être ouverte et modifiée avec l'éditeur de listes de variables, en utilisant la commande "Espion / Listes de variables" dans la fenêtre du debugger.


 	Insérer des variables dans la liste

 La commande "Edition / Insérer" insère une nouvelle variable dans la liste. Le nom de la variable est sélectionné parmi les noms d'objets déclarés dans le dictionnaire du projet. Son identificateur n'a donc pas à être saisi manuellement. La variable est insérée juste avant la variable actuellement sélectionnée dans la liste. La liste ne peut pas contenir plus de 32 variables. La même variable ne peut pas apparaître plusieurs fois dans la même liste.

 Quand un nom de variable est marqué dans la fenêtre ST, pressez ce bouton dans la barre d'outils ou utilisez la commande "Edition / Espionner la selection" pour directement ajouter la variable marquée à la liste.


Changer la variable sélectionnée

la commande "Edition / Modifier" remplace la variable sélectionnée par une autre variable. Vous pouvez aussi utiliser la commande "Couper" pour retirer la variable sélectionnée de la liste.


Affichage en mode "Dump"

A tout moment, vous pouvez basculez l'affichage entre le mode normal en colonnes et le mode "Dump". Pressez le bouton "zoom" dans la barre d'outils ou utilisez la commande "Options / Dump" pour changer le mode d'affichage.

en mode "Dump", une seule variable est rafraichie. Sa valeur en numérique ou en texte est affichée au sommet de la fenêtre. La valeur est également affichée en binaire (mode "dump") avec la valeur de chaque octet en hexadécimal. Ce mode vous permet d'espionner précisément chaque octet de la valeur d'une variable.

Le mode "dump" est particulièrement utile pour la visualisation des chaines de caractères longues ou comprenant des caractères non imprimables.