Vous êtes sur la page 1sur 432

Manuel de dveloppement de programmes pour automates programmables avec

CoDeSys 2.3

Copyright 1994, 1997, 1999, 2003 by 3S - Smart Software Solutions GmbH Tous droits rservs.

Toutes les mesures existantes ont t prises afin de garantir lexactitude et lintgralit de la documentation prsente. Etant donn que des fautes restent toujours possible, malgr toutes les prcautions qui sont prises, nous vous serions reconnaissants de bien vouloir nous faire part de vos remarques et de vos suggestions.

Editeur: 3S - Smart Software Solutions GmbH Fischerstrae 19 D-87435 Kempten Tl. +49/ 831/ 5 40 31 - 0 Fax +49/ 831/ 5 40 31 - 50 Edition: 02.06.2004 Document Version: 3.1, CoDeSys V2.3.3.3

Inhalt

Contenu

1 Bref aperu de CoDeSys 1.1 1.2

1-1

Qu'est-ce que CoDeSys? ....................................................................................... 1-1 Aperu des fonctionnalits de CoDeSys ................................................................ 1-1 2-1

2 Qui fait quoi dans CoDeSys

2.1 Composantes dun projet ....................................................................................... 2-1 2.2 Les Langages......................................................................................................... 2-9 2.2.1 Liste d'Instructions (IL) ...................................................................................... 2-9 2.2.2 Diagramme Fonctionnel en Squence (SFC) ................................................... 2-17 2.2.3 Schma en Blocs Fonctionnels (FBD) .............................................................. 2-23 2.2.4 Schma en CFC ............................................................................................... 2-23 2.2.5 Langage Contacts (LD).................................................................................. 2-24 2.3 Dbogage, Fonctionnalits En Ligne ..................................................................... 2-26 2.4 La Norme................................................................................................................ 2-28 3 Ecrivons un petit programme 3.1 3.2 3-1

Automatiser un systme de feux de signalisation .................................................. 3-1 La visualisation du systme de feux de signalisation............................................. 3-12 4-1

4 Les composants dans le dtail 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8

La fentre principale............................................................................................... 4-1 Projet Options......................................................................................................... 4-3 Gestion de projets .................................................................................................. 4-21 Gestion des objets.................................................................................................. 4-54 Fonctions d'dition gnrales................................................................................. 4-61 Fonctions en ligne gnrales ................................................................................. 4-67 Ordonner les fentres............................................................................................. 4-83 Gestionnaire d'Aide ................................................................................................ 4-84 5-1

5 Les Editeurs

5.1 Pour toutes les diteurs.......................................................................................... 5-1 5.2 L'diteur de dclaration .......................................................................................... 5-2 5.2.1 Gnralits quant aux diteurs de dclaration ................................................. 5-2 5.2.2 Editeurs de dclaration dans le mode En Ligne ............................................... 5-10 5.2.3 Instructions Pragma .......................................................................................... 5-11 5.3 Les diteurs littraux .............................................................................................. 5-17 5.3.1 Gnralits propos des diteurs littraux ...................................................... 5-17 5.3.2 L'diteur de la liste d'instructions (IL)................................................................ 5-21 5.3.3 L'diteur du Littral structur (ST)..................................................................... 5-22 5.4 Les diteurs graphiques ......................................................................................... 5-23 5.4.1 Gnralits propos des diteurs graphiques ................................................. 5-23 5.4.2 L'diteur du Schma en blocs fonctionnels (FBD) ............................................ 5-25 5.4.3 L'diteur graphique du Schma en blocs fonctionnels (CFC)........................... 5-31

CoDeSys V2.3

Inhalt

5.4.4 5.4.5 6 Ressources

L'diteur du Langage contacts (LD) ............................................................... 5-45 L'diteur du Diagramme fonctionnel en squence (SFC) ................................. 5-51 6-1

6.1 Aperu du Ressources ........................................................................................... 6-1 6.2 Variables Globales, Variable Configuration, Fichier cadre pour documentation .... 6-2 6.2.1 Variables Globales ............................................................................................ 6-3 6.2.2 Variable Configuration....................................................................................... 6-8 6.2.3 Fichier cadre pour la documentation................................................................. 6-9 6.3 Configuration de l'alarme........................................................................................ 6-10 6.3.1 Aperu de la configuration de l'alarme .............................................................. 6-10 6.3.2 Systme d'alarme.............................................................................................. 6-11 6.3.3 Classes d'alarme............................................................................................... 6-12 6.3.4 Groupes d'alarme.............................................................................................. 6-16 6.3.5 Enregistrement de l'alarme ............................................................................... 6-17 6.3.6 Menu Extras: Configuration............................................................................... 6-18 6.4 Gestionnaire de bibliothques ................................................................................ 6-19 6.5 Journal.................................................................................................................... 6-21 6.6 Configuration de l'automate.................................................................................... 6-23 6.6.1 Apercu............................................................................................................... 6-23 6.6.2 Travailler dans la Configuration de l'automate .................................................. 6-24 6.6.3 Settings ............................................................................................................. 6-26 6.6.4 Bote de dialogue de paramtrage spcifique l'application (Custom Parameters) 6-27 6.6.5 Paramtres de base d'un module E/S............................................................... 6-28 6.6.6 Paramtres voie / Customer paramtres d'un module E/S ............................... 6-30 6.6.7 Paramtre de base d'un canal .......................................................................... 6-31 6.6.8 Configuration de modules Profibus ................................................................... 6-32 6.6.9 Configuration CAN ............................................................................................ 6-39 6.6.10 Configuration CANDevice (CANopen-Esclave) ................................................ 6-45 6.6.11 La configuration de l'automate en mode en ligne.............................................. 6-48 6.6.12 Analyse matrielle/Informations/Diagnostic du systme cible........................... 6-48 6.7 Configuration des tches........................................................................................ 6-49 6.7.1 Aperu de la Configuration des tches ............................................................. 6-49 6.7.2 Travailler avec le configurateur de tches ........................................................ 6-50 6.7.3 vnements dans le systme ........................................................................... 6-52 6.7.4 Configuration des tches en mode En Ligne .................................................... 6-53 6.8 Gestionnaire d'espion et de recettes ...................................................................... 6-55 6.8.1 Aperu de la Gestionnaire d'espion et de recettes............................................ 6-55 6.8.2 Gestionnaire d'espion et de recettes en mode autonome................................. 6-56 6.8.3 Gestionnaire d'espion et de recettes en mode En Ligne................................... 6-57 6.9 Histogramme .......................................................................................................... 6-58 6.9.1 Apercu et Configuration .................................................................................... 6-58 6.9.2 Visualisation de l'histogramme.......................................................................... 6-61 6.9.3 Enregistrer les valeurs de l'histogramme .......................................................... 6-63 6.9.4 Configurations de l'histogramme externes ........................................................ 6-64 6.10 Environnement de travail .................................................................................... 6-65 6.11 Manager des paramtres.................................................................................... 6-65 6.11.1 Manager des paramtres, Activer ..................................................................... 6-66 6.11.2 Manager des paramtres, Editeur..................................................................... 6-67 6.11.3 Listes de paramtres: Types et Attributs........................................................... 6-68 6.11.4 Gestion des listes de paramtres...................................................................... 6-70 6.11.5 Editer listes de paramtres ............................................................................... 6-72 6.11.6 Manager des paramtres en Mode en Ligne .................................................... 6-73

ii

CoDeSys V2.3

Inhalt

6.11.7 Exporter / Importer listes de paramtres........................................................... 6-74 6.12 Configuration de la Cible .................................................................................... 6-74 6.13 PLC-Browser ...................................................................................................... 6-76 6.13.1 Gnralits quant l'usage du PLC-Browser ................................................... 6-76 6.13.2 Saisie des commandes avec le PLC-Browser .................................................. 6-77 6.13.3 Utilisation de macros lors de la saisie de commandes dans le PLC-Browser .. 6-78 6.13.4 Autres options du PLC-Browser........................................................................ 6-79 6.14 Outils .................................................................................................................. 6-80 6.14.1 Caractristiques des liens existants (Caractristiques d'objet)......................... 6-80 6.14.2 Gestion des liens .............................................................................................. 6-84 6.14.3 Les questions les plus importantes en matire d'outils..................................... 6-85 7 ENI 7.1 7.2 7.3 7.4 7-1 Qu'est-ce que ENI .................................................................................................. 7-1 Conditions pour travailler avec une base de donnes de projet ENI ..................... 7-1 Travailler dans CoDeSys avec la base de donnes de projet................................ 7-2 Catgories au sein de la base de donnes du projet ............................................. 7-3 8-1

8 Interface DDE 8.1 8.2

Interface DDE du systme de programmation CoDeSys ....................................... 8-1 Communication DDE via la gateway DDE ............................................................. 8-2 9-1

9 L'attribution de licences dans CoDeSys 9.1

Cration d'une bibliothque soumise licence ...................................................... 9-1 10-1 Les oprateurs CEI et fonctions supplmentaires dextension des normes Oprateurs arithmtiques ................................................................................. 10-1 Oprateurs sur cordons de bits......................................................................... 10-4 Oprateurs de dcalage binaire........................................................................ 10-6 Oprateurs de slection.................................................................................... 10-8 Oprateurs de comparaison ............................................................................. 10-10 Oprateurs d'adressage.................................................................................... 10-12 Oprateur d'appeler .......................................................................................... 10-13 Conversions de types ....................................................................................... 10-14 Oprateurs numriques .................................................................................... 10-19 Les oprandes dans CoDeSys 10-25

10 APPENDICE Appendice A 10-1 10.1.1 10.1.2 10.1.3 10.1.4 10.1.5 10.1.6 10.1.7 10.1.8 10.1.9 Appendice B 10.2 10.3 10.4 10.5 Appendice C 10.6 10.7 Appendice D

Constantes ......................................................................................................... 10-25 Variables ............................................................................................................ 10-27 Adresses ............................................................................................................ 10-29 Fonctions............................................................................................................ 10-30 Les types de donnes dans CoDeSys 10-31

Types de donnes standard ............................................................................... 10-31 Types de donnes dfinis .................................................................................. 10-33 Librairies CoDeSys 10-39

10.8 Bibliothque Standard.lib ................................................................................... 10-39 10.8.1 Fonctions de chanes de caractres ................................................................. 10-39

CoDeSys V2.3

iii

Inhalt

10.8.2 Blocs fonctionnels bistables .............................................................................. 10-42 10.8.3 Dtection de fronts ............................................................................................ 10-44 10.8.4 Temporisateurs ................................................................................................. 10-45 10.8.5 Compteurs......................................................................................................... 10-48 10.9 Bibliotheque Util.lib ............................................................................................. 10-51 10.9.1 Conversion BCD ............................................................................................... 10-51 10.9.2 Fonctions sur bits/octets ................................................................................... 10-51 10.9.3 Fonctions mathmatiques auxiliaires ................................................................ 10-52 10.9.4 Rgulateurs....................................................................................................... 10-54 10.9.5 Gnrateurs de signaux.................................................................................... 10-55 10.9.6 Manipulateurs de fonctions ............................................................................... 10-57 10.9.7 Traitement de valeurs analogiques ................................................................... 10-58 10.10 Bibliotheque Analyzation.llib ............................................................................... 10-59 10.11 Bibliothques de systme................................................................................... 10-60 Appendice E Appendice F 10.12 10.13 Appendice G Appendice H Aperu: Oprateurs et modules de bibliothques Instructions de ligne et de fichier de commande 10-61 10-67

Instructions de ligne de commande .................................................................... 10-67 Instructions de fichier de commande (Cmdfile) .................................................. 10-68 Importation de fichiers Siemens Dialogues de la configuration du systme cible 10-77 10-83

10.14 Dialogue de la configuration du systme cible ................................................... 10-83 10.15 Catgorie: Plate-forme cible ............................................................................... 10-84 10.15.1 Systme cible 'Intel 386 et compatibles', Catgorie Plate-forme de la cible ..... 10-84 10.15.2 Systme cible Motorola 68K, Catgorie Plate-forme de la cible ....................... 10-85 10.15.3 Systme cible Infineon C16x, Catgorie Plate-forme de la cible ...................... 10-86 10.15.4 Systmes cibles Intel StrongARM et Power PC, Catgorie Plate-forme de la cible 10-87 10.15.5 Systme cible MIPS III ISA, Catgorie Plate-forme de la cible ......................... 10-88 10.15.6 Systme cible Hitachi SH, Catgorie Plate-forme de la cible............................ 10-89 10.15.7 Systme cible 8051 et compatibles, Catgorie Plate-forme de la cible ............ 10-90 10.16 Catgorie: Composition du mmoire .................................................................. 10-91 10.17 Catgorie: Gnral ............................................................................................. 10-93 10.18 Catgorie: Fonctions de rseau.......................................................................... 10-94 10.19 Catgorie: Visualisation ...................................................................................... 10-95 Appendice I 10.20 Appendice J Utilisation du clavier 10-97

Combinaisons de touches .................................................................................. 10-97 Messages d'erreur et Avertissements 10-101

10.20.1 Avertissements.................................................................................................. 10-101 10.20.2 Erreurs .............................................................................................................. 10-103 11 Index I

iv

CoDeSys V2.3

1 - Bref aperu de CoDeSys

1 Bref aperu de CoDeSys


1.1 Qu'est-ce que CoDeSys?
CoDeSys est un environnement de dveloppement complet destin votre automate (CoDeSys signifie Controller Development System). CoDeSys permet au programmeur d'AP d'aborder facilement les puissants outils de langage de la CEI. L'utilisation des diteurs et des fonctions de dbogage s'inspire d'environnements de dveloppement perfectionns des langages de programmation volus (tels que Visual C++).

1.2 Aperu des fonctionnalits de CoDeSys


Quelle est la structure d'un projet ? Un projet est enregistr dans un fichier; le fichier reoit le mme nom que le projet. Le premier module tre cr dans un projet est automatiquement nomm PLC_PRG. C'est le point de dpart de l'excution (correspondant la fonction "main" dans un programme C), partir duquel d'autres blocs peuvent tre appels (programmes, blocs fonctionnels et fonctions). Si vous avez dfini une configuration de tche, il n'est plus ncessaire de crer un programme nomm PLC_PRG. Pour plus de dtails se reporter au chapitre 6.7, Configuration des tches. CoDeSys distingue diffrents types d'objets dans un projet : blocs, types de donnes, lments de visualisation (visualisation) et ressources. Vous trouvez la liste complte des objets relatifs votre projet dans l'Organisateur d'objets. Comment raliser mon projet ? Il vous faut d'abord configurer votre automate de faon pouvoir vrifier l'exactitude des adresses utilises dans le projet. Ensuite, vous pouvez crer les blocs ncessaires votre projet. Enfin, vous pouvez programmer les blocs dont vous avez besoin dans les langages souhaits. Aprs avoir termin la programmation, vous pouvez compiler le projet et supprimer les erreurs indiques, le cas chant. Comment tester mon projet ? Aprs avoir supprim toutes les erreurs, affichez la simulation, accdez la simulation de l'automate programmable et chargez' votre projet dans l'automate. CoDeSys fonctionne prsent en ligne. Vous pouvez dsormais ouvrir la fentre de configuration de votre automate et vrifier le bon droulement de votre projet. Pour ce faire, dfinissez manuellement les entres et observez si les sorties sont modifies comme prvu. En outre, vous pouvez observer l'volution de la valeur des variables locales. Dans le gestionnaire d'espion et des recettes, vous pouvez configurer les jeux de donnes dont vous voulez observer les valeurs. Dbogage avec CoDeSys Dans le cas d'erreurs de programmation, vous pouvez dfinir des points d'arrt. Lorsque l'excution s'interrompt un tel point d'arrt, vous pouvez visualiser les valeurs de toutes les variables du projet cet instant. Avec une excution pas pas, vous pouvez vrifier si la logique de votre programme est correcte.

CoDeSys V2.3

1-1

Aperu des fonctionnalits de CoDeSys

Fonctionnalits en ligne supplmentaires Voici une autre fonction de dbogage de CoDeSys: vous pouvez assigner une certaine valeur aux variables du programme ainsi qu'aux entres et sorties. Lors du mode En ligne, un Journal enregistre chronologiquement les processus et les actions de l'utilisateur ainsi que les processus internes. Le contrle du droulement vous permet d'identifier les lignes de programme qui ont t excutes. L'enregistrement de l'histogramme vous donne la possibilit d'enregistrer et de visualiser l'volution des variables pendant un temps prolong, lorsque le systme fonctionne avec un temps de cycle non ralenti. Cette fonction doit tre active dans la configuration du systme cible. En fonction galement de la configuration du systme cible, vous disposez en option d'un navigateur d'automate programmable vous permettant de contrler certaines informations provenant de l'automate. Une fois le projet labor et test, il reste le charger dans le matriel et le tester nouveau dans le matriel. Vous disposez des mmes fonctions en ligne que pour la simulation. Possibilits supplmentaires offertes par CoDeSys La totalit du projet peut tre documente ou exporte vers un fichier texte tout moment. CoDeSys dispose d'une interface des symboles, d'une interface DDE ainsi que d'une interface COM permettant la communication. Une passerelle ainsi qu'un serveur OPC et un serveur DDE font partie de l'installation standard de CoDeSys. L'utilisation du jeu appropri de Configuration de systme cible, pouvant tre charg par le biais d'un fichier cible (Target Support Package), permet d'appliquer le mme projet CoDeSys dans diffrents systmes cible. Des variables globales rseau et un Gestionnaire des paramtres (selon la configuration du systme cible) peuvent galement tre utiliss en option afin d'changer des donnes avec d'autres automates au sein d'un rseau. ENI: L'interface 'Engineering Interface' peut tre utilise afin d'accder, par le biais de son propre serveur ENI, une base de donnes externe dans laquelle des modules CoDeSys ou des fichiers de compilation sont grs. Ainsi, ces derniers sont galement accessibles d'autres clients du serveur ENI, ce qui permet, par exemple, une exploitation par plusieurs utilisateurs lors de la cration de projets CoDeSys, un pool commun de donnes pour d'autres outils outre CoDeSys, ainsi qu'une gestion de version. Outils: Le mcanisme Outils sert intgrer dans CoDeSys des fichiers exe spcifiques au systme cible. On peut en outre dfinir des fichiers qui doivent tre chargs sur l'automate programmable. On peut dfinir au pralable des liens vers des outils pour un systme cible dans un fichier cible, ou insrer ces liens individuellement dans le projet via l'arborescence des ressources. La disponibilit de cette fonction Outils dpend du systme cible. Grce CoDeSys HMI, une visualisation CoDeSys peut tre utilise purement et simplement comme zone de commande, ou encore, selon le systme cible, comme Visualisation Web et/ou Visualisation Cible. Ces dernires possibilits permettent d'appeler la visualisation reprenant les donnes de l'automate en cours, cela par le biais d'Internet ou encore de manire directe sur le moniteur de l'ordinateur de commande. Attribution de licences pour bibliothques: Les bibliothques cres au sein de CoDeSys peuvent tre munies d'informations relatives la licence, ce qui rend leur utilisation lie une licence. SoftMotion: Cette fonction est une sorte de bote outils standard permettant de raliser des mouvements - des mouvements simples un seul axe aux mouvements complexes multidimensionnels, en passant par les mouvements de came, cela dans l'environnement de dveloppement de CoDeSys. Toute la logique du programme est traite dans le programme API, et seules les informations touchant exclusivement aux mouvements sont excutes dans les modules de bibliothque. SoftMotion ncessite une licence propre et doit tre supporte par le systme cible. (Voir documentation d'utilisateur spare)

1-2

CoDeSys V2.3

2 - Qui fait quoi dans CoDeSys

2 Qui fait quoi dans CoDeSys


2.1 Composantes dun projet
Projet Un projet contient tous les objets relatifs un programme d'automatisation. Un projet est stock dans un fichier auquel on attribue le nom du projet. Un projet comprend les objets suivants: modules, types de donnes, visualisations, ressources et librairies. Module Les fonctions, les blocs fonctionnels et les programmes sont des modules pouvant tre complts par des actions. Chaque module est compos d'une partie de dclaration et d'un corps. Le corps est crit dans un des langages de programmation de la CEI, savoir IL, ST, SFC, FBD LD ou CFC. CoDeSys supporte tous les modules standard CEI. Pour utiliser ces modules dans votre projet, vous devez intgrer la bibliothque standard.lib dans votre projet. Les modules peuvent appeler d'autres modules. Les rcursions ne sont toutefois pas autorises. Fonction Une fonction est un module dont l'excution produit un seul lment de donne (pouvant ventuellement tre compos de plusieurs lments, comme par exemple des champs ou des structures) et qui peut apparatre sous forme d'oprateurs dans des expressions, s'il est appel dans des langages littraux. En dclarant une fonction, il faut veiller ce que la fonction reoive un type, c.--d. qu'il faut entrer la suite du nom de fonction un signe deux-points suivi d'un type. Une dclaration de fonction correcte ressemble ceci:
FUNCTION Fct: INT

En outre, il faut affecter un rsultat la fonction, c.--d. que le nom de fonction est utilis comme variable de sortie. Une dclaration de fonction commence par le mot-cl FUNCTION.
Exemple d'une fonction en langage liste d'instructions

En langage ST, l'appel d'une fonction peut apparatre sous forme d'oprandes dans des expressions.

CoDeSys V2.3

2-1

Composantes dun projet

Les fonctions ne disposent pas d'tats internes, c.--d. que plusieurs appels d'une mme fonction en utilisant les mmes arguments (paramtres d'entre) fournissent toujours la mme valeur (sortie). Voici quelques exemples d'appels de la fonction: en langage IL:
LD 7 Fct 2,4 ST Rsultat

en langage ST:
Rsultat := Fct(7, 2, 4);

en langage FBD:

Dans les diagrammes fonctionnels en squence (SFC) un appel de fonction ne peut tre ralis qu' l'intrieur d'une tape ou d'une transition.
Remarque : Si dans votre projet vous dfinissez une fonction nomme CheckBounds, vous pourrez vrifier automatiquement les dbordements de plage l'intrieur de votre projet ! Remarque : Si dans votre projet vous dfinissez des fonctions nommes CheckDivByte, CheckDivWord, CheckDivDWord et CheckDivReal, vous pourrez vrifier la valeur du diviseur lors de l'utilisation de l'oprateur DIV, par exemple pour viter une division par zro. Remarque : Si vous dfinissez les fonctions CheckRangeSigned et CheckRangeUnsigned, vous pouvez reprer automatiquement en mode En ligne les dbordements de plage pour des variables qui sont dclares laide de types domaines partiels.

Les noms des fonctions cites sont rservs en raison des possibilits dutilisation dcrites ici. Bloc fonctionnel Un bloc fonctionnel est un module dont l'excution produit une ou plusieurs valeurs. Contrairement une fonction, un bloc fonctionnel ne produit pas de valeur renvoye. Une dclaration de bloc fonctionnel commence par le mot cl FUNCTION_BLOCK et se termine par le mot cl END_FUNCTION_BLOCK. Voici un exemple de bloc fonctionnel deux variables d'entre et deux variables de sortie, en langage IL. La premire sortie est le produit des deux entres tandis que la deuxime sortie est le rsultat boolen de la comparaison l'identique.

2-2

CoDeSys V2.3

2 - Qui fait quoi dans CoDeSys

Instances de blocs fonctionnels Il est possible de crer des reproductions d'un bloc fonctionnel, appeles Instances (copies). Chaque instance possde un identificateur propre (le nom d'instance) et une structure de donnes, qui contient les entres, les sorties et les variables internes relatives cette instance. Les instances sont dclares comme les variables de faon locale ou globale, en donnant comme type de l'identificateur le nom du bloc fonctionnel. Voici, titre d'exemple, une instance nomme INSTANZ, relative au bloc fonctionnel FUB:
INSTANZ: FUB;

Les blocs fonctionnels sont toujours appels par l'intermdiaire des instances, telles que dfinies cidessus. Seuls les paramtres d'entre et de sortie sont accessibles du dehors d'une instance de bloc fonctionnel, non les variables internes du bloc fonctionnel. Voici un exemple o l'on accde une variable d'entre: Le bloc fonctionnel fb a une variable d'entre nomme in1, de type int.
PROGRAM prog VAR inst1:fb; END_VAR LD 17 ST inst1.in1 CAL inst1 END_PROGRAM

Les parties de dclaration des blocs fonctionnels et des programmes peuvent contenir des dclaration d'instances. Les dclarations d'instances ne sont pas admises l'intrieur de fonctions. L'accs une instance de bloc fonctionnel est limit au module, ce qui est bien le but poursuivi par la cration de l'instance, sauf si l'instance a t dclare de faon globale. Le nom d'instance d'une instance de bloc fonctionnel peut tre utilis comme entre de fonction ou de bloc fonctionnel.
Remarque : Entre deux excutions successives d'un mme bloc fonctionnel, toutes les valeurs sont conserves. C'est pourquoi un bloc fonctionnel appel avec les mmes arguments ne produit pas toujours les mmes valeurs de sortie !

CoDeSys V2.3

2-3

Composantes dun projet

Remarque : Si le bloc fonctionnel comporte au moins une variable rmanente, lentiret de linstance sera sauvegarde dans la zone de rmanence.

Appel d'un bloc fonctionnel Vous pouvez accder aux variables d'entre et de sortie d'un bloc fonctionnel partir d'un autre module en crant une instance du bloc fonctionnel et en indiquant la variable souhaite au moyen de la syntaxe suivante : <nom d'instance>.<nom de variable> Affectation des paramtres l'appel : Si vous souhaitez dfinir les paramtres d'entre et/ou de sortie lors de l'appel, vous pouvez le faire au moyen des langages littraux IL et ST, cela en attribuant des valeurs aux paramtres suivant le nom d'instance du bloc fonctionnel donn entre parenthses. L'affectation pour les paramtres d'entre se fait par ":=" comme pour l'endroit de dclaration lors de l'initialisation de variables, et par "=>") dans le cas de paramtres de sortie. Si l'instance est insre dans la fentre d'implmentation d'un module ST ou IL, en utilisant la liste de slection pour l'dition (<F2>) et l'option Avec arguments, cette instance sera automatiquement reprsente avec ses paramtres dans cette syntaxe. Il n'est alors pas absolument ncessaire d'affecter les paramtres.
Exemple :

FBINST est une variable locale du type d'un bloc fonctionnel, comprenant la variable d'entre xx et la variable de sortie yy. Lors de l'appel de FBINST via la liste de slection pour l'dition, elle est insre dans un programme ST sous la forme suivante: FBINST1(xx:= , yy=> ); Variables d'entre / de sortie l'appel : Veuillez noter que les variables d'entre / de sortie (VAR_IN_OUT) d'un bloc fonctionnel sont transmises comme Pointeur. Il est ds lors impossible de leur attribuer une constante lors de l'appel, et on ne peut y avoir accs de l'extrieur en lecture ou en criture.
Exemple Appel d'une variable VAR_IN_OUT inout1 du bloc fonctionnel fubo au sein d'un module ST: VAR inst:fubo; var1:int; END_VAR var1:=2; inst(inout1:=var1);

N'est pas autoris : inst(inout1:=2); ou inst.inout1:=2;


Exemples d'appel du bloc fonctionnel FUB : voir plus haut, paragraphe 'Bloc fonctionnel'

Le rsultat de la multiplication est plac dans la variable ERG, le rsultat de la comparaison est mmoris dans QUAD. Supposons qu'une instance du bloc fonctionnel FUB soit dclare sous le nom INSTANZ. On appelle une instance d'un bloc fonctionnel en langage IL de la manire suivante :

2-4

CoDeSys V2.3

2 - Qui fait quoi dans CoDeSys

On appelle une instance d'un bloc fonctionnel en langage ST (partie de dclaration comme en langage IL) de la manire suivante :

On appelle une instance d'un bloc fonctionnel en langage FBD (partie de dclaration comme en langage IL) de la manire suivante :

En SFC, les appels de blocs fonctionnels apparaissent seulement au niveau des tapes. Programme Un programme est un module qui produit lors de son excution une ou plusieurs valeurs. Les programmes sont connus de manire globale dans l'ensemble du projet. Toutes les valeurs sont conserves entre deux excutions successives d'un mme programme.

CoDeSys V2.3

2-5

Composantes dun projet

Exemple de programme

Les programmes peuvent tre appels partir de programmes et de blocs fonctionnels. Un appel de programme n'est pas autoris dans une fonction. Il n'existe pas non plus d'instances de programmes. Lorsqu'un programme est appel partir d'un module, et que cela entrane des changements dans les valeurs du programme, ceux-ci sont conservs lors de l'appel suivant, mme si le programme est appel partir d'un autre module. Ceci est diffrent de l'appel d'un bloc fonctionnel. Dans ce cas, seules les valeurs de l'instance correspondant ce bloc fonctionnel sont modifies. Si vous souhaitez dfinir les paramtres d'entre et/ou de sortie - et donc dfinir les valeurs des variables d'entre / de sortie - l'appel d'un programme, il suffit, dans les langages IL et ST, d'attribuer des valeurs aux paramtres suivant le nom du programme donn entre parenthses. L'affectation se fait par ":=" comme pour l'endroit de dclaration lors de l'initialisation de variables. Si un programme est insr dans la fentre d'implmentation d'un module ST ou IL, en utilisant la liste de slection pour l'dition (<F2>) et l'option Avec arguments, il sera automatiquement reprsent avec ses paramtres dans cette syntaxe. Il n'est alors pas absolument ncessaire d'affecter les paramtres.
Exemple d'appels de programmes : Dans un programme PRGexample2, la variable d'entre in_var et la variable de sortie out_var sont toutes deux dclares de type INT. La variable erg dclare localement est galement de type INT :

En langage IL:
CAL PRGexample2 LD PRGexample2.out_var ST ERG ou par la affichage direct des paramtres (liste de slection pour l'dition "Avec arguments", voir plus haut): CAL PRGexample2(in_var:=33, out_var=>erg )

En langage ST:
PRGexample; Erg := PRGexample2.out_var; ou par la affichage direct des paramtres (liste de slection pour l'dition "Avec arguments", voir plus haut): PRGexample2(in_var:=33, out_var=>erg );

En langage FBD:

Exemple illustrant une possibilit de squence d'appels de PLC_PRG: Voir pour ce faire le programme PRGexample dans l'illustration au dbut de ce chapitre: LD 0

2-6

CoDeSys V2.3

2 - Qui fait quoi dans CoDeSys

ST PRGexample.PAR (*La valeur 0 est affect par dfaut PAR*) CAL ILcall (*ERG prend la valeur 1 dans ILcall*) CAL STcall (*ERG prend la valeur 2 dans STcall*) CAL FBDcall (*ERG prend la valeur 3 dans FBDcall*)

Si, partir d'un programme principal, on initialise la variable PAR du programme PRGexample avec la valeur 0 et qu'ensuite des programmes sont appels successivement au moyen des appels de programme ci-dessus, le rsultat Erg l'intrieur des programmes aura comme valeur 1, 2 et 3. Si on inverse l'ordre des appels, on observe le changement en consquence des valeurs des paramtres de rsultat correspondants. PLC_PRG PLC_PRG est un module prdfini particulier. Chaque projet doit contenir ce programme particulier. Ce module est appel exactement une fois par cycle de commande. Lorsque 'Projet' 'Insrer objet' est excut pour la premire fois aprs la cration d'un nouveau projet, la praffectation dans le dialogue des modules est un module nomm PLC_PRG de type programme. Nous vous conseillons de ne pas modifier cette praffectation ! Si des tches ont t dfinies, le projet ne peut contenir de programme PLC_PRG, car dans ce cas l'ordre d'excution est fonction de l'affectation des tches.
Attention : ne pas effacer le module PLC_PRG et ne pas modifier son nom (dans le cas o vous n'utilisez pas de configuration des tches, voir chapitre 6.6.11, Configuration de l'automate en mode En Ligne !). Le programme PLC_PRG est toujours le programme principal dans un programme monotche.

Action Il est possible de dfinir des actions associes aux blocs fonctionnels et aux programmes. L'action constitue une implmentation supplmentaire, qui peut mme tre cre dans un langage autre que celui de l'implmentation "normale". Toute action est dsigne par un nom. Une action travaille avec les donnes du bloc fonctionnel ou du programme auquel elle est associe. L'action fait appel aux mmes variables d'entre / de sortie et aux mmes variables locales que l'implmentation &bdquo;normale".
Exemple d'une action d'un bloc fonctionnel

Dans l'exemple prsent, si le bloc fonctionnel Counter est appel, la variable de sortie out est incrmente ou dcrmente en fonction de la variable d'entre in. Si l'action Reset associe au bloc fonctionnel est appele, la variable de sortie out est mise zro. Il s'agit de la mme variable out dans les deux cas de figure. Appel d'une action :

CoDeSys V2.3

2-7

Composantes dun projet

Une action est appele au moyen de <Nom de programme>.<Nom d'action> ou <Nom d'instance>.<Nom d'action>. Veuillez observer la transcription en FBD (voir exemple ci-dessous) ! Si l'action doit tre appele l'intrieur de son propre module, alors on utilise uniquement le nom d'action dans le cas des diteurs littraux et l'appel de bloc fonctionnel sans spcification d'instance dans le cas des diteurs graphiques.
Exemples d'appel de l'action ci-dessus : Dclaration pour tous les exemples: PROGRAM PLC_PRG VAR Inst : Counter; END_VAR Appel de l'action 'Reset' dans un autre module programm en langage IL: CAL Inst.Reset(In := FALSE) LD Inst.out ST ERG Appel dans un autre module programm en langage ST: Inst.Reset(In := FALSE); Erg := Inst.out; Appel dans un autre module programm en langage FBD:

Remarques : Dans le cas de modules en diagramme fonctionnel en squence (SFC), les actions jouent un rle spcifique. La norme CEI ne reconnat aucune action, sauf dans le cas du diagramme fonctionnel en squence (SFC).

Ressources Vous avez besoin de ressources pour configurer et organiser votre projet et pour suivre l'volution des valeurs des variables. Il s'agit : de Variables globales, qui peuvent tre utilises dans l'ensemble du projet ou du rseau la Configuration de l'alarme pour configurer des classes et groupes d'alarme, qui par example peuvent visualise avec la visualisation de CoDeSys la Gestionnaire de bibliothques pour l'administration des bibliotheques dans un projet de la Configuration de l'automate , pour configurer votre matriel de la Configuration des tches, pour commander votre programme au moyen de tches du Journal pour enregistrer les actions qui ont lieu lors d'une session du Gestionnaire d'espion et des recettes, pour visualiser des valeurs de variables et praffecter des valeurs aux variables. de Configuration de la cible pour le choix et ventuellement la configuration dfinitive du systme cible Environnement de travail avec reprsentation des options du projet Dependant de la configuration de la cible en outre ce sont disponibles les ressources suivantes: L'enregistrement des Histogramme, pour l'enregistrement graphique des valeurs des variables Le Manager des paramtres pour l'change de donnes avec d'autres automates au sein d'un rseau

2-8

CoDeSys V2.3

2 - Qui fait quoi dans CoDeSys

PLC-Browser pour le contrle de l'automate D'Outils par attacher des tools externes SoftMotion Se reporter au chapitre 6, 'Ressources'. Bibliothques Dans votre projet, vous pouvez intgrer une srie de bibliothques et utiliser les modules, les types de donnes et les variables globales correspondantes au mme titre que les lments dfinis directement dans le projet. La bibliothques 'standard.lib' et util.lib sont mises votre disposition par dfaut. Se reporter au chapitre 7, 'Gestion des bibliothques'. Types de donnes En plus des types de donnes standards, l'utilisateur peut dfinir ses propres types de donnes. Il est possible de crer des structures, des types numratifs et des rfrences. Se reporter pour cela l'annexe, 'Types de donnes standard' et 'Types de donnes dfinis'. Visualisation CoDeSys peut vous fournir une reprsentation concrte des variables de votre projet au moyen d'une visualisation. A l'aide de la visualisation vous pouvez tracer en mode Hors Ligne des lments gomtriques. Lors de l'utilisation en mode En Ligne, ces lments peuvent ensuite changer de forme / couleur / affichage du texte, en fonction de valeurs de variables dtermines. Une visualisation peut galement servir de zone de commande exclusive pour un projet avec CoDeSys HMI, ou encore sous forme de Visualisation Web ou de Visualisation Cible via Internet ou sur le systme cible. Se reporter pour cela au manuel 'CoDeSys Visualisation'.

2.2 Les Langages


2.2.1 Liste d'Instructions (IL)
La Liste d'Instructions (IL) est constitue d'une succession d'instructions. Avec chaque instruction commence une nouvelle ligne, qui contient un oprateur et, selon le type d'opration, un ou plusieurs oprandes spars entre eux par des virgules. Une Etiquette d'identification suivi de deux-points (:) peut tre place avant une instruction. Lorsqu'une ligne contient un commentaire celui-ci doit obligatoirement constituer le dernier lment de la ligne. Des lignes vides peuvent tre insres entre les instructions.
Exemple : LD 17 ST lint (* Kommentar *) GE 5 JMPC next LD idword EQ istruct.sdword STN test next:

CoDeSys V2.3

2-9

Les Langages

plus: Modificateurs et oprandes en langage IL Modificateurs et oprandes en langage IL En langage IL, il est possible d'utiliser les oprateurs et modificateurs suivants: Modificateurs: C pour JMP, CAL, RET: l'instruction est excute uniquement si l'expression prcdente fournit le rsultat TRUE. N pour JMPC, CALC, RETC: l'instruction est excute uniquement si l'expression prcdente fournit le rsultat FALSE. N autres: ngation de l'oprande (mais pas de l'accumulateur) Vous trouvez ci-dessous un tableau de tous les oprateurs en langage IL et leurs modificateurs autoriss, avec une description de ces oprateurs: Oprateur Modificateurs LD ST S R AND OR XOR ADD SUB MUL DIV GT GE EQ NE LE LT JMP CAL RET ) N,( N,( N,( ( ( ( ( ( ( ( ( ( ( CN CN CN N N Description Rendre le rsultat courant gal l'oprande Mmoriser le rsultat courant l'emplacement de l'oprande Positionner l'oprande boolenne sur TRUE si et seulement si le rsultat courant est TRUE Remettre l'oprande boolenne sur FALSE si et seulement si le rsultat courant est TRUE AND bit bit OR bit bit OR exclusif bit bit Addition Soustraction Multiplication Division > >= = <> <= < Saut vers l'tiquette Appel d'un bloc fonctionnel Retour d'un bloc fonctionnel appel Evaluation d'une opration diffre

2-10

CoDeSys V2.3

2 - Qui fait quoi dans CoDeSys

Vous trouvez une liste de tous les oprateurs CEI en annexe. Exemple de programme en langage IL utilisant certains modificateurs: LD ANDN JMPC TRUE (*charger TRUE dans l'accumulateur*)

BOOL1 (*excuter AND avec la ngation de la valeur de la variable BOOL1*) label (*si le rsultat est TRUE, sauter l'tiquette "label"*)

LDN ST label: LD ST

BOOL2 (*mmoriser la ngation de la valeur de*) ERG (*BOOL2 dans ERG*)

BOOL2 (*mmoriser la valeur de*) ERG (*BOOL2 dans ERG*)

En langage IL, il est galement possible de placer des parenthses aprs une opration. La valeur entre parenthses est alors considre comme une oprande. Par Exemple : LD MUL ADD ST 2 2 3 Erg

Dans ce cas la valeur de Erg est 7. En revanche, si l'on place des parenthses: LD MUL ADD ) ST Erg 2 (2 3

Dans ce cas cela donne 10 comme rsultat de Erg, tant donn que l'opration MUL est excute seulement partir du moment o l'on rencontre ")"; le calcul de l'oprande pour MUL donne alors 5. Littral Structur (ST) Le Littral Structur est constitu d'une srie d'instructions, qui peuvent tre excutes en ayant dfini des conditions (IF..THEN..ELSE) ou sous forme de boucles (WHILE..DO), comme c'est le cas pour les langages volus.
Exemple : IF value < 7 THEN WHILE value < 8 DO value := value + 1; END_WHILE; END_IF;

Expressions Une expression est une construction syntaxique qui, lorsqu'elle est value, fournit une valeur. Les expressions sont composes d'oprateurs et d'oprandes. Un oprande peut tre soit une constante, soit une variable, soit un appel de fonction, soit une autre expression.

CoDeSys V2.3

2-11

Les Langages

Evaluation des expressions Une expression est value par l'application des oprateurs en suivant des rgles de priorit dtermines. L'oprateur possdant la plus forte priorit est appliqu en premier, puis c'est le tour des autres oprateur par ordre de priorit dcroissante, jusqu' ce que tous les oprateurs aient t appliqus. Si des oprateurs ont mme rang de priorit, ils sont appliqus successivement, en commenant gauche et en se dplaant vers la droite. Vous trouvez ci-aprs un tableau avec les oprateurs du langage ST rangs par ordre de priorit dcroissante:
Operation Symbole Priorit

Mise entre parenthses Evaluation de fonction Exponentiation Ngation Complment Multiplication Division Modulo Addition Soustraction Comparaison Similitude Dissimilitudet AND boolen OR exclusif boolen OR boolen

(Expression) Nom de fonction (liste d'arguments) EXPT NOT * / MOD + <,>,<=,>= = <> AND XOR OR

Priorit la plus leve

Priorit la plus faible

En langage ST, les noncs existants sont ordonns dans un tableau et illustrs par des exemples:
Type d'nonc Exemple

Affectation

A:=B; CV := CV + 1; C:=SIN(X);

Lancement d'un bloc CMD_TMR(IN := %IX5, PT := 300); fonctionnel A:=CMD_TMR.Q et utilisation de sortie FB RETURN IF RETURN; D:=B*B; IF D<0.0 THEN C:=A; ELSIF D=0.0 THEN C:=B; ELSE C:=D; END_IF; CASE INT1 OF

CASE

2-12

CoDeSys V2.3

2 - Qui fait quoi dans CoDeSys

1: BOOL1 := TRUE; 2: BOOL2 := TRUE; ELSE BOOL1 := FALSE; BOOL2 := FALSE; END_CASE; FOR J:=101; FOR I:=1 TO 100 BY 2 DO IF ARR[I] = 70 THEN J:=I; EXIT; END_IF; END_FOR; J:=1; WHILE J<= 100 AND ARR[J] <> 70 DO J:=J+2; END_WHILE; J:=-1; REPEAT J:=J+2; UNTIL J= 101 OR ARR[J] = 70 END_REPEAT; EXIT; ;

WHILE

REPEAT

EXIT Enonc Vide

Enoncs du langage Littral structur Comme son nom l'indique, le Littral Structur est conu pour permettre une programmation structure. Cela signifie que le langage ST offre des structures prdfinies pour programmer des constructions syntaxiques frquemment utilises, telles que des boucles. Cela prsente deux avantages, savoir une probabilit d'erreurs moindre et une prsentation plus lisible du programme. Comparons par exemple deux squences de programme identiques, programmes dans les langages IL et ST. Il s'agit d'une boucle pour calculer des puissances de deux en IL: bou Aperucle:
LD EQ JMPC LD MUL ST LD SUB ST JMP compteur 0 fin Var1 2 Var1 compteur 1 compteur boucle Var1 res

fin:
LD ST

La mme boucle programme en langage ST donnerait ceci:

CoDeSys V2.3

2-13

Les Langages

WHILE compteur<>0 DO Var1:=Var1*2; compteur:=compteur-1; END_WHILE res:=Var1;

Comme on peut le voir, la boucle programme en langage ST est non seulement plus courte, mais aussi plus facile lire, surtout si on imagine le cas de boucles embotes dans des constructions syntaxiques plus importantes. Voici la signification des diffrentes structures existant en langage ST: Oprateur d'affectation Dans la partie gauche de l'affectation se trouve un oprande (variable, adresse), auquel est affect, au moyen de l'oprateur :=, la valeur de l'expression situe dans la partie droite de l'affectation.
Exemple : Var1 := Var2 * 10;

Aprs avoir excut cette ligne, Var1 a une valeur dix fois plus grande que celle de Var2. Appel de blocs fonctionnels en langage ST Pour appeler un bloc fonctionnel en langage ST, il faut crire le nom d'instance du bloc fonctionnel et puis affecter aux paramtres les valeurs souhaites, entre parenthses. Dans l'exemple suivant un temporisateur est appel et des valeurs sont affectes aux paramtres IN et PT. Ensuite, la variable de rsultat Q est affecte la variable A. On accde la variable de rsultat comme en langage IL l'aide du nom du bloc fonctionnel suivi d'un point et du nom de la variable:
CMD_TMR(IN := %IX5, PT := 300); A:=CMD_TMR.Q

Enonc RETURN L'nonc RETURN peut tre utilis pour quitter une fonction, en dfinissant par exemple une condition pour cela. Enonc CASE L'nonc CASE permet de regrouper plusieurs noncs lis des conditions et qui possdent la mme variable de condition dans une construction syntaxique. Syntaxe:
CASE <Var1> OF <valeur_1>: <nonc_1> <valeur_2>: <nonc_2> ... <valeur_n>: <nonc_n> ELSE <nonc_ELSE> END_CASE;

Un nonc CASE fonctionne suivant le schma ci-dessous: si la variable <Var1> a comme valeur <valeur_i>, alors l'nonc <nonc_i> est excut; si <Var1> a une valeur diffrente des valeurs dclares, alors l'nonc <nonc_ELSE> est excut; lorsque le mme nonc doit tre excut pour diffrentes valeurs de la variable de condition, il est possible d'crire ces valeurs la suite, en les sparant par des virgules, ce qui revient dfinir de faon commune les conditions pour l'excution de l'nonc.

2-14

CoDeSys V2.3

2 - Qui fait quoi dans CoDeSys

Exemple : CASE INT1 OF 1, 5: BOOL1 := TRUE; BOOL3 := FALSE; 2: BOOL2 := FALSE; BOOL3 := TRUE; ELSE BOOL1 := NOT BOOL1; BOOL2 := BOOL1 OR BOOL2; END_CASE;

Enonc IF L'nonc IF permet de vrifier une condition et de dfinir cette condition pour l'excution d'un nonc. Syntaxe: IF <expression_boolenne_1> THEN
<noncs_IF>

{ELSIF <expression_boolenne_2> THEN


<noncs_ELSIF_1> . .

ELSIF <expression_boolenne_n> THEN


<noncs_ELSIF_n-1>

ELSE
<noncs_ELSE>}

END_IF; La partie entre accolades {} est facultative. Lorsque <expression_boolenne_1> donne comme rsultat TRUE, seules les <noncs_IF> sont excutes, l'exclusion de toutes les autres. Dans le cas contraire, les expressions boolennes suivantes sont successivement vrifies en commenant avec <expression_boolenne_2>, jusqu' ce qu'une des expressions donne comme rsultat TRUE. Ensuite, seuls sont excuts les noncs situs aprs cette expression boolenne et avant le ELSE ou le ELSEIF suivant. Lorsque aucune des expressions boolennes ne donne comme rsultat TRUE, alors seuls les <noncs_ELSE> sont excuts.
Exemple : IF temp<17 THEN chauffage_on := TRUE; ELSE chauffage_off := FALSE; END_IF;

Dans ce cas, le chauffage est mis en marche si et seulement si la temprature descend en dessous de 17 degrs. Enonc d'itration FOR L'nonc d'itration FOR permet de programmer des processus rpts. Syntaxe: INT_Var :INT;

CoDeSys V2.3

2-15

Les Langages

FOR <INT_Var> := <INIT_VAL> TO <END_VAL> {BY <pas>} DO <noncs> END_FOR; La partie entre accolades {} est facultative. Les <noncs> sont rpts aussi longtemps que le compteur <INT_Var> ne dpasse pas la valeur <END_VAL>. La vrification de cette condition est effectue avant l'excution des <noncs>, de sorte que ceux-ci ne sont jamais excuts lorsque la valeur <INIT_VAL> est suprieure la valeur <END_VAL>. A chaque fois que les <noncs> ont t excuts, <INT_Var> est incrment de la valeur du <pas>. Le pas peut avoir comme valeur n'importe quel nombre entier. On lui affecte par dfaut la valeur 1. La boucle doit obligatoirement se terminer, tant donn que <INT_Var> ne peut qu'augmenter.
Exemple : FOR compteur:=1 TO 5 BY 1 DO Var1:=Var1*2; END_FOR; Erg:=Var1;

En supposant que la valeur 1 a t praffecte la variable Var1, celle-ci aura comme valeur 32 aprs la boucle FOR.
Remarque : <END_VAL> ne peut pas tre gale la valeur limite du type de variable du compteur <INT_Var>. P.ex. lorsque la variable compteur est du type SINT, <END_VAL> ne peut pas tre 127 sinon il y a une boucle infinie.

Enonc d'itration WHILE L'nonc d'itration WHILE peut tre utilis au mme titre que l'nonc d'itration FOR, une diffrence prs: la condition de terminaison peut tre n'importe quelle expression boolenne. Cela signifie que l'on spcifie une condition qui, si elle est vrifie, a pour effet l'excution de la boucle. Syntaxe:
WHILE <expression_boolenne> DO <noncs> END_WHILE;

Les <noncs> sont excuts de faon rpte aussi longtemps que <expression_boolenne> donne comme rsultat TRUE. Si <expression_boolenne> donne comme rsultat FALSE ds la premire valuation, alors les <noncs> ne sont jamais excuts. Si <expression_boolenne> ne prend jamais la valeur FALSE, alors les <noncs> sont rpts indfiniment, ce qui entrane une erreur d'excution.
Remarque : le programmeur doit veiller lui mme ce qu'aucune boucle infinie ne soit gnre, en modifiant la condition de terminaison dans la partie <noncs> de la boucle, par exemple en incrmentant ou en dcrmentant un compteur. Exemple : WHILE compteur<>0 DO Var1 := Var1*2; compteur := compteur-1; END_WHILE

Les noncs WHILE et REPEAT sont dans un certain sens plus puissants que l'nonc FOR, car il n'est pas ncessaire de savoir combien de fois la boucle sera parcourue avant son excution. Dans certains cas, on est donc oblig de travailler uniquement avec ces deux types de boucle. Cependant, si l'on sait combien de fois la boucle sera parcourue, il est prfrable de recourir un nonc FOR, car ce type de boucle exclut automatiquement les boucles infinies.

2-16

CoDeSys V2.3

2 - Qui fait quoi dans CoDeSys

Enonc d'itration REPEAT L'nonc d'itration REPEAT se distingue de l'nonc d'itration WHILE par le fait que la vrification de la condition de terminaison est effectue aprs que la boucle est excute. Il en rsulte que la boucle est parcourue au moins une fois, quelle que soit la condition de terminaison. Syntaxe:
REPEAT <noncs> UNTIL <expression_boolenne> END_REPEAT;

Les <noncs> sont excuts aussi longtemps que <expression_boolenne> donne comme rsultat TRUE. Si <expression_boolenne> donne comme rsultat TRUE ds la premire valuation, alors les <noncs> sont excuts exactement une fois. Si <expression_boolenne> ne prend jamais la valeur TRUE, alors les <noncs> sont rpts indfiniment, ce qui entrane une erreur d'excution.
Remarque : le programmeur doit veiller lui mme ce qu'aucune boucle infinie ne soit gnre, en modifiant la condition de terminaison dans la partie <noncs> de la boucle, par exemple en incrmentant ou en dcrmentant un compteur. Exemple : REPEAT Var1 := Var1*2; compteur := compteur-1; UNTIL compteur=0 END_REPEAT

Enonc EXIT Si l'nonc EXIT apparat dans une boucle FOR, WHILE ou REPEAT, alors la boucle la plus intrieure est termine, indpendamment de la condition de terminaison.

2.2.2

Diagramme Fonctionnel en Squence (SFC)


Le diagramme fonctionnel en squence (SFC) est un langage graphique, qui permet de dcrire la succession chronologique d'actions dans un programme. On utilise pour ce faire des lments d'tape auxquels certaines actions sont affectes et dont la suite est commande par des lments de transition.

Etape Un module crit en SFC est constitu d'une succession d'tapes, qui sont relies entre elles par des liaisons diriges (transitions). Il existe deux types d'tapes. La forme simplifie est constitue d'une action et d'un drapeau, qui indique si l'tape est active ou inactive. Pour chaque tape dont une action est implmente, un petit triangle apparat dans le coin suprieur droit de l'tape. Une tape CEI est constitue d'un drapeau et d'une ou de plusieurs actions attribues l'tape. Les actions associes apparaissent droite de l'tape. Des informations supplmentaires sont fournies par la suite.

CoDeSys V2.3

2-17

Les Langages

Example d'un Rseau en SFC:

Action Une action peut se prsenter soit comme un ensemble d'instructions en langage IL, soit comme un ensemble d'noncs en langage ST, soit comme un ensemble de rseaux en langage FBD, soit comme une ensemble d'chelons en langage LD, ou contenir un diagramme fonctionnel en squence (SFC). Dans le cas des tapes simplifies, une action est toujours associe son tape. Pour diter une action, double-cliquez avec votre souris sur l'tape laquelle est associe l'action, ou bien marquez l'tape et excutez dans la commande de menu "Zoom action/transition" dans le menu 'Extras'. En outre, une action dentre et/ou de sortie par tape est possible. Les actions des tapes CEI sont attaches dans l'Organisateur d'objets directement sous le module SFC correspondant et sont chargs dans l'diteur par un double-clic ou par l'activation de la touche <Entre>. De nouvelles actions peuvent tre cres au moyen de '"rojet' + "Ajouter une action". Action d'entre et de sortie Il est possible d'ajouter une tape, en plus de laction dtape, une action d'entre et une action de sortie. Une action d'entre est excute une seule fois, immdiatement aprs que l'tape ait t active. Une action de sortie est excute une seule fois, avant que l'tape ne soit dsactive. Une tape avec action d'entre est indique par un 'E' dans le coin infrieur gauche, alors qu'une tape avec action de sortie est signale par un 'X' dans le coin infrieur droit. Les actions d'entre et de sortie peuvent tre implmentes dans le langage de votre choix. Pour diter une action d'entre ou de sortie, double-cliquez sur le coin correspondant de l'tape. Les actions d'entre et de sortie peuvent tre dfinies uniquement pour une tape simplifie et non pour une tape CEI
Voici un exemple d'tape avec action d'entre et de sortie:

2-18

CoDeSys V2.3

2 - Qui fait quoi dans CoDeSys

Transition / condition de transition Entre les tapes se trouvent les "transitions". Une condition de transition doit tre avoir la valeur TRUE ou FALSE. Ainsi, elle est soit une variable boolenne, une adresse boolenne ou une constante boolenne. Elle peut galement comprendre une suite d'instructions avec rsultat boolen en syntaxe ST (p.ex.(i <= 100) AND b) ou un autre langage au choix (voir &lsquo;Extras' 'Action Zoom/Transition'). Une transition ne peut cependant contenir un programme, un bloc fonctionnel ou des affectations ! Pour l'analyse des expressions de transition, on peut dfinir le drapeau SFCErrorAnalyzationTable.
Remarque : Outre les transitions, vous pouvez galement utiliser le mode par tapes pour passer l'tape suivante, voir cet effet SFCtip et SFCtipmode.

Etape active Aprs l'appel du module SFC, l'action correspondant l'tape initiale (entoure en double) sera ensuite excute. Une tape dont l'action sera excute, est appele active. En mode En Ligne, les tapes actives sont reprsentes en bleu. A chaque tape correspond un drapeau, lequel mmorise l'tat de l'tape. Le drapeau d'tape (tat actif ou inactif de l'tape) sera reprsent par la valeur logique d'un lment boolen <nom_du_pas>.x. Cette variable boolenne a la valeur TRUE (vraie) quand l'tape correspondante est active et FALSE (fausse) quand elle est inactive. Cette variable est dclare implicitement et peut tre utilise dans toutes les actions et transitions du module SFC. Dans un cycle de commande, toutes les actions appartenant des tapes actives sont excutes. Ensuite, les tapes qui suivent les tapes actives deviennent actives quand les conditions de transition des tapes suivantes sont TRUE. Les tapes prsent actives ne sont excutes qu'au prochain cycle.
Remarque : Si ltape active contient une action de sortie, celle-ci ne sera excute quau prochain cycle, pour autant que la transition suivante ait la valeur TRUE.

Etape CEI A ct des tapes simplifies, les tapes conformes aux normes CEI peuvent tre utilises dans le langage SFC. Pour pouvoir utiliser des tapes CEI, vous devez intgrer dans votre projet une bibliothque SFC particulire nomme lecsfc.lib. Un maximum de neuf actions peut tre affect une tape CEI. Les actions des tapes CEI ne sont pas rattaches de manire fixe une tape, comme par exemple les actions d'entre, d'tape ou de sortie pour les tapes simplifies, mais existent sparment des tapes et peuvent tre utilises plusieurs fois l'intrieur de votre module. Pour cela, elles doivent tre associes aux tapes souhaites avec la commande "Relier action" dans le menu 'Extras'. Outre les actions, des variables boolennes peuvent aussi tre affectes aux tapes. En fonction du qualificateur (qualifier), les actions et variables boolennes sont actives ou dsactives, parfois avec temporisation. Comme une action peut rester active, mme si l'tape suivante est dj termine, par ex. avec le qualificateur S (set), des droulements parallles peuvent tre obtenus. Une variable boolenne associe est positionne ou remise zro chaque appel du module SFC. En clair, la valeur TRUE ou FALSE lui est chaque fois attribue. Les actions associes une tape CEI sont reprsentes par une case se trouvant la droite de l'tape et divise en deux. Le champ de gauche contient le qualificateur, ventuellement avec une constante de temps et celui de droite le nom de l'action.

CoDeSys V2.3

2-19

Les Langages

Exemple d'une tape CEI avec deux actions :

Pour pouvoir suivre facilement le processus, toutes les actions actives en mode En Ligne sont reprsentes en bleu comme les tapes actives. Aprs chaque cycle, on vrifie quelles actions sont actives. Observez galement cet effet les limitations lors de l'utilisation de qualificatifs temporels pour des actions utilises plusieurs fois au cours d'un mme cycle (voir 'Qualificatifs') !
Remarque : Si une action est dsactive, elle sera excute encore une fois. Ceci signifie que chaque action est excute au moins deux fois (mme une action avec le qualificatif P).

Lors d'un appel, les actions dsactives sont excutes en premier lieu dans l'ordre alphabtique, puis les actions actives, elles aussi dans l'ordre alphabtique.

Le fait qu'une tape nouvellement introduite soit ou non une tape CEI dpend de la slection de la commande "Utiliser les tapes CEI" dans le menu 'Extras'. Dans l'Organisateur d'objets, les actions sont attaches directement sous le module SFC correspondant. De nouvelles actions peuvent tre cres au moyen de la commande "Ajouter une action" du menu 'Projet'.
Module SFC avec actions dans l'Organisateur d'objets:

Qualificatif Pour associer des actions des tapes CEI, vous disposez des qualificatifs (qualifier) suivant: N R Non-stored (non mmoris) overriding Reset (remise zro prioritaire) Set (Stored) (positionn (mmoris)) l'action demeure active aussi longtemps que l'tape demeure active dsactivation de l'action

activation de l'action, qui demeure ensuite active jusqu'au prochain reset

L D P SD

time Limited activation de l'action pendant une dure dtermine (limite dans le temps) time Delayed (temporis) Pulse (impulsion) Stored and time Delayed activation de l'action aprs un certain temps, pour autant que l'tape demeure active l'action est excute exactement une fois, lorsque l'tape est active activation de l'action aprs un certain temps; l'action demeure ensuite active jusqu'au prochain reset

2-20

CoDeSys V2.3

2 - Qui fait quoi dans CoDeSys

(mmoris et temporis) DS Delayed and Stored (temporis et mmoris) Stored and time Limited (mmoris et limit dans le temps) activation de l'action aprs un certain temps, pour autant que l'tape demeure active; l'action demeure alors active jusqu'au prochain reset activation de l'action pendant une dure dtermine

SL

Les qualificatifs L, D, SD, DS et SL doivent tre accompagns dune spcification de temps sous format de constante TIME, p.ex. L T#5s.

Attention : Si la mme action avec qualificatifs influant sur le droulement temporel est utilise dans deux tapes se succdant directement, le qualificatif temporel ne peut plus tre efficace lors de la deuxime utilisation. Pour contourner ce problme, il suffit dintroduire une tape intermdiaire qui verrait, en plus du cycle effectuer, une rinitialisation de ltat daction.

Variables implicites en SFC Il existe des variables dclares implicitement en SFC qui peuvent tre utilises. A chaque tape correspond un drapeau, lequel mmorise l'tat de l'tape. Le drapeau d'tape (tat actif ou inactif de l'tape) s'appelle <StepName>.x dans le cas des tapes CEI et <StepName> dans le cas des tapes simplifies. Cette variable boolenne a la valeur TRUE (vraie) quand l'tape correspondante est active et FALSE (fausse) quand elle est inactive. Elle peut tre utilise dans chaque action et transition d'un module SFC. L'tat actif ou inactif d'une action CEI peut tre contrl l'aide de la variable <ActionName>.x. Dans le cas des tapes CEI, les variables implicites <StepName>.t peuvent tre utilises pour contrler la dure des tapes. Vous pouvez galement accder aux variables implicites partir dautres programmes. Exemple : boolvar1:=sfc1.step1.x; step1.x (tape 1 x) est ici la variable boolenne implicite reprsentant ltat de ltape CEI 1 dans le module sfc1. Drapeaux SFC Pour faciliter le contrle du droulement dans le langage SFC, vous pouvez utiliser des drapeaux qui seront gnrs lors du traitement du projet. cet effet, vous devez dclarer les variables correspondantes comme tant des variables d'entre ou de sortie globales ou locales. Exemple : Lorsque dans le SFC une tape dure plus longtemps que ce qu'indiquent ses attributs, un drapeau est utilis, et vous y avez accs par le biais d'une variable dnomme SFCError (SFCError obtient la valeur TRUE). Les variables suivantes sont possibles pour les drapeaux : SFCEnableLimit: Cette variable spcifique appartient au type BOOL. Si celle-ci a la valeur TRUE, tous les dpassements de temps au niveau des tapes sont enregistrs dans SFCError. Dans le cas contraire, les dpassements de temps ne sont pas pris en compte. SFCInit: Si cette variable boolenne est a la valeur TRUE, alors le diagramme fonctionnel en squence est rinitialis sur l'tape Init et les autres drapeaux SFC sont rinitialiss (Initialisation). Longtemps que la variable a la valeur TRUE, l'tape Init reste active mais ne sera pas excute. Le traitement du module ne reprend normalement qu' partir du moment o la valeur FALSE est affecte SFCInit. SFCReset: Cette variable de type BOOL se comporte comme la variable SFCInit. Elle diffre cependant de celle-ci en ce sens que l'tape Init s'excute aprs l'initialisation elle-mme. Ceci peut par exemple tre mis profit pour affecter nouveau la valeur FALSE au SFCReset durant l'tape Init.

CoDeSys V2.3

2-21

Les Langages

SFCQuitError: Aussi longtemps que cette variable boolenne est a la valeur TRUE, l'excution du diagramme fonctionnel en squence est suspendue et les dpassements de temps ventuels enregistrs dans la variable SFCError sont rinitialiss. A partir du moment o la valeur FALSE est nouveau affecte la variable, tous les temps existants au niveau des tapes actives sont rinitialiss. Une condition pour ce faire est la dclaration du drapeau SFCError qui enregistre les dpassements de temps. SFCPause. Aussi longtemps que cette variable boolenne est a la valeur TRUE, l'excution du diagramme fonctionnel en squence est suspendue. SFCError: Cette variable boolenne obtient la valeur TRUE lorsqu'un dpassement de temps est intervenu dans un diagramme fonctionnel en squence. Si, dans le programme, un second dpassement de temps se produit aprs le premier, il ne sera plus enregistr si la variable SFCError n'a pas auparavant t remise zro. La dclaration de SFCError est la condition pour le fonctionnement des autres variables de drapeaux contrlant le droulement dans le temps (SFCErrorStep, SFCErrorPOU, SFCQuitError, SFCErrorAnalyzation). SFCTrans: Cette variable boolenne devient TRUE lorsqu'une transition s'effectue. SFCErrorStep: Cette variable appartient au type STRING. En cas de dpassement de temps, le nom de l'tape qui a caus le dpassement est mmoris dans cette variable. Une condition pour ce faire est la dclaration de la variable SFCError qui enregistre les dpassements de temps. Une condition pour ce faire est la dclaration de la variable SFCError qui enregistre les dpassements de temps. SFCErrorPOU: En cas de dpassement de temps, enregistr par SFCError, le nom du module qui a caus le dpassement est mmoris dans cette variable de type STRING. SFCCurrentStep: Cette variable appartient au type STRING. Le nom de l'tape active est stock dans cette variable indpendamment de la surveillance des temps. Le nom de l'tape de la branche la plus droite est stock dans le cas d'une squence simultane. SFCErrorAnalyzationTable: Cette variable de type ARRAY [0..n] OF ExpressionResult donne les informations ci-dessous pour chaque variable d'une expression de transition compose et impliquant le statut FALSE de la transition, ainsi qu'un dpassement de temps de l'tape prcdente: nom, adresse, commentaire, valeur actuelle. Cette fonction est possible pour un maximum de 16 variables, ce qui signifie que la plage d'array est de maximum 0..15. La structure ExpressionResult ainsi que les modules d'analyse utiliss de manire implicite se trouvent dans la bibliothque AnalyzationNew.lib. Les modules d'analyse peuvent galement tre utiliss de manire explicite au sein de modules qui ne sont pas programms en SFC. Une condition pour l'analyse de l'expression de transition est l'enregistrement d'un dpassement de temps dans l'tape prcdente. C'est pourquoi il faut y implmenter une surveillance et dclarer la variable SFCError (voir plus haut) dans le module. SFCTip, SFCTipMode: Ces variables de type BOOL permettent le fonctionnement par tapes du SFC. Si celui-ci est activ par le biais de SFCTipMode=TRUE, on ne peut passer l'tape suivante que si SFCTip est positionn sur VRAI. Tant que SFCTipMode est positionn sur FALSE, vous pouvez en outre passer la suite par le biais des transitions. Squence alternative Dans les rseaux SFC, deux ou plusieurs squences peuvent tre dfinies comme squences alternatives. Toute squence alternative doit commencer et terminer par une transition. Une squence alternative peut contenir des squences simultanes et d'autres squences alternatives. Une squence alternative commence au niveau d'une ligne horizontale (dbut de squences alternatives) et finit au niveau d'une ligne horizontale (fin de squences alternatives) ou par un saut. Elle peut tre munie dune tiquette de saut. Si l'tape prcdant la ligne de dbut de squences alternatives est active, alors la premire transition de chaque squence alternative est value de la gauche vers la droite. La premire transition dont la condition de transition a comme valeur TRUE est ouverte, puis les tapes suivantes sont actives (voir tape active).

2-22

CoDeSys V2.3

2 - Qui fait quoi dans CoDeSys

Squence simultane Dans les rseaux SFC, deux ou plusieurs squences peuvent tre dfinies comme squences simultanes. Toute squence simultane doit commencer et terminer par une transition. Une squence simultane peut contenir des squences alternatives et d'autres squences simultanes. Une squence simultane commence au niveau d'une double ligne (dbut de squences simultanes) et finit au niveau d'une ligne double horizontale (fin de squences simultanes) ou par un saut. Elle peut tre munie dune tiquette de saut. Si l'tape prcdant la ligne de dbut de squences simultanes est active, et si la condition de transition qui suit cette tape a comme valeur TRUE, alors la premire tape de chacune des squences simultanes est active (voir tape active). Ds lors, ces squences sont excutes paralllement les unes par rapport aux autres. L'tape qui suit la ligne de fin de squences simultanes est active si toutes les tapes prcdentes sont actives et si la condition de transition prcdant cette tape a la valeur TRUE. Saut Un saut constitue une liaison vers l'tape dont le nom est indiqu sous le symbole de saut. Les sauts ont une utilit du fait qu'il n'est pas permis de crer des liaisons vers le haut ni de crer des liaisons qui s'entrecroisent.

2.2.3

Schma en Blocs Fonctionnels (FBD)


Le Langage en blocs fonctionnels est un langage de programmation graphique. Il fonctionne avec une liste de rseaux, o chaque rseau contient une structure visualisant une expression logique ou arithmtique, un appel de bloc fonctionnel, un saut ou une instruction return.
Exemple pour un rseau en langage FBD

Se reporter pour cela galement au chapitre 5.4.2, 'L'diteur graphique FBD' dans 'Les diteurs dans CoDeSys'.

2.2.4

Schma en CFC
Lditeur graphique CFC ne travaille pas avec des rseaux comme le schma en plans fonctionnels FBD, mais bien avec des lments disposer librement. Ceci permet par exemple des asservissements. Exemple de rseau en diteur graphique CFC tel quil apparat dans CoDeSys :
Exemple de rseau en diteur graphique CFC

CoDeSys V2.3

2-23

Les Langages

2.2.5

Langage Contacts (LD)


Le Langage contacts est galement un langage de programmation graphique, qui se rapproche du principe des schmas lectriques. D'une part, le langage LD est adapt la construction de dispositifs de commutation logiques et d'autre part, il permet de raliser des rseaux, comme dans le langage FBD. Par consquent le langage LD peut parfaitement tre utilis pour commander l'appel d'autres modules. Le langage LD est constitu d'une succession de rseaux. Un rseau LD est dlimit sur sa gauche par une barre d'alimentation verticale gauche et sur sa droite par une barre d'alimentation verticale droite. Entre les deux barres d'alimentation se trouve un schma comprenant des contacts, des bobinages et des lments de liaison. La partie gauche de chaque rseau est constitue d'une succession de contacts, qui transmettent de gauche droite l'tat "ON" ou "OFF"; ces tats correspondent aux valeurs boolennes TRUE et FALSE. A chaque contact correspond une variable boolenne. Si cette variable a comme valeur TRUE, alors l'tat est transmis de la gauche vers la droite le long de l'lment de liaison. Dans le cas contraire, la liaison de droite prend la valeur OFF.

Exemple d'un rseau en langage contact constitu de contacts et de bobinages:

Contact En langage LD, la partie gauche de chaque rseau est constitu d'un rseau de contacts (un contact est visualis par deux lignes parallles : | |), qui transmet de la gauche vers la droite l'tat "ON" ou "OFF". Ces tats correspondent aux valeurs boolennes TRUE et FALSE. A chaque contact correspond une variable boolenne. Si cette variable a comme valeur TRUE, alors l'tat est transmis de la gauche vers la droite le long de l'lment de liaison. Dans le cas contraire, la liaison de droite prend la valeur "OFF". Si les contacts sont disposs paralllement, alors une des branches parallles doit transmettre la valeur "ON" pour que la disposition parallle transmette la valeur "ON"; si les contacts sont monts en srie, alors tous les contacts doivent transmettre l'tat "ON" pour que le dernier contact transmette l'tat "ON". Cela correspond donc respectivement aux montages en parallle et aux montages en srie des circuits lectriques. Un contact peut aussi exister sous forme de ngation (contact normalement au travail), ce qui est signal par la barre oblique l'intrieur du symbole de contact: |/|. Dans ce cas, la valeur est transmise l'lment de liaison si la variable a comme valeur FALSE. Bobinage En langage LD, on trouve dans la partie droite d'un rseau un nombre indtermin de "bobinages", visualiss par des parenthses: ( ). Ceux-ci peuvent tre monts uniquement en parallle. Un bobinage transmet la valeur de la liaison de gauche droite, et copie cette valeur dans une variable boolenne associe. La liaison d'entre peut avoir la valeur ON (correspondant la variable boolenne TRUE) ou la valeur OFF (correspondant FALSE). Les contacts et les bobinages peuvent galement exister sous forme de ngation (dans l'exemple, le contact SCHALT1 et le bobinage %QX3.0 existent sous forme de ngation). Si un bobinage existe sous forme de ngation (ce qui est signal par la barre oblique l'intrieur du symbole de bobinage: (/)), alors celui-ci copie la ngation de la valeur dans la variable boolenne associe. Si un contact

2-24

CoDeSys V2.3

2 - Qui fait quoi dans CoDeSys

existe sous forme de ngation, alors celui-ci n'tablit la connexion que si la variable boolenne associe a comme valeur FALSE. Blocs fonctionnels dans le rseau LD En plus des contacts et des bobinages, vous pouvez aussi introduire des blocs fonctionnels et des programmes. Les blocs fonctionnels et les programmes doivent avoir une entre et une sortie de rseau de type boolen et peuvent tre utiliss aux mmes endroits que les contacts, c.--d. dans la partie gauche du rseau LD. Bobinage SET/RESET Il est possible de dfinir des bobinages SET (verrouillage) ou RESET (dverrouillage). Un bobinage SET (identifi par un "S" l'intrieur du symbole de bobinage: (S)) n'crase jamais la valeur TRUE dans la variable boolenne associe. En d'autres termes, il suffit que la valeur TRUE ait t affecte une fois ladite variable pour que cette affectation soit dfinitive. Un bobinage RESET (identifi par un "R" l'intrieur du symbole de bobinage: (R)) n'crase jamais la valeur FALSE dans la variable boolenne associe. En d'autres termes, il suffit que la valeur FALSE ait t affecte une fois ladite variable pour que cette affectation soit dfinitive. Bobinage SET/RESET Il est possible de dfinir des bobinages SET (verrouillage) ou RESET (dverrouillage). Un bobinage SET (identifi par un "S" l'intrieur du symbole de bobinage: (S)) n'crase jamais la valeur TRUE dans la variable boolenne associe. En d'autres termes, il suffit que la valeur TRUE ait t affecte une fois ladite variable pour que cette affectation soit dfinitive. Un bobinage RESET (identifi par un "R" l'intrieur du symbole de bobinage: (R)) n'crase jamais la valeur FALSE dans la variable boolenne associe. En d'autres termes, il suffit que la valeur FALSE ait t affecte une fois ladite variable pour que cette affectation soit dfinitive. LD sous forme de FBD En travaillant en langage LD, il se peut facilement que vous souhaitiez utiliser le rsultat produit par le montage des contacts pour commander d'autres modules. Dans ce cas, vous pouvez placer l'aide des bobinages le rsultat dans une variable globale, qui sera ensuite utilise un autre endroit. Vous pouvez galement installer un appel ventuel directement dans votre rseau LD. Pour cela introduisez un module avec entre EN. Ces modules sont des oprandes, des fonctions, des programmes ou des blocs fonctionnels tout fait ordinaires, qui possdent une entre supplmentaire portant l'inscription EN. Une entre EN est toujours de type BOOL et a la signification suivante: le module avec entre EN est valu si EN a comme valeur TRUE. Un module EN est mont en parallle sur les bobinages, de faon relier l'entre EN l'lment de liaison entre les contacts et les bobinages. Si l'information "ON" est vhicule le long de cette ligne, alors le module est valu de faon tout fait ordinaire. Un tel module EN peut servir pour raliser des rseaux comme ceux existant en langage FBD.
Exemple de rseau en langage LD avec module EN:

CoDeSys V2.3

2-25

Dbogage, Fonctionnalits En Ligne

2.3 Dbogage, Fonctionnalits En Ligne


Dbogage Les fonctions de dbogage de CoDeSys vous aident dtecter les erreurs. Pour effectuer un dbogage, il faut excuter la commande 'Projet'-"Options" et slectionner ensuite le point Dbogage dans Options de compilation, dans le dialogue qui apparat. Point d'arrt Un point d'arrt est un endroit dans le programme au quel l'excution du programme est interrompue. Cela permet d'observer la valeur des variables un endroit donn du programme. Les points d'arrt peuvent tre dfinis dans n'importe quel diteur. Les points d'arrts sont dfinis au niveau des numros de ligne dans les diteurs littraux, au niveau des numros de rseau en langage FBD et LD, au niveau du module dans lditeur CFC et au niveau des tapes dans le cas des rseaux SFC. On ne peut pas introduire de points darrt dans les instances de blocs fonctionnels. Pas pas Signification du pas pas: en langage IL: excution du programme jusqu' la prochaine instruction CAL, LD ou JMP. en langage ST: excuter l'nonc suivant. en langage FBD, LD: excuter le rseau suivant. en SFC: excuter l'action de la prochaine tape. Avec une excution pas pas, vous pouvez vrifier si la logique de votre programme est correcte. Cycle par cycle Si cycle par cycle est slectionn, l'excution s'interrompt la fin de chaque cycle. Modifier valeurs en ligne Il est possible d'affecter une valeur donne une variable une seule fois en cours d'excution (ecrire valeur) ou encore d'affecter une valeur donne une variable l'issue de chaque cycle (forcer). Surveillance En mode En ligne, toutes les valeurs relles de l'automate sont lues et reprsentes pour toutes les variables en cours et visibles l'cran. Vous trouvez cette reprsentation dans l'diteur de dclaration et de programme, et vous pouvez en outre afficher toutes les valeurs relles de variables par le biais du gestionnaire d'espion et de recettes ou lors d'une visualisation. Si des variables d'instances de blocs fonctionnels sont espionnes, il faut tout d'abord ouvrir l'instance concerne (voir cet effet : Gestion des objets). Lors de l'espionnage de variables VAR_IN_OUT, la valeur obtenue par drfrencement est affiche. Lors de l'espionnage de pointeurs, ceux-ci ainsi que les valeurs obtenues par drfrencement sont affich(e)s dans la partie dclaration. Dans la partie programme, le pointeur seul est affich : + --pointervar = '<'pointervalue'>'; Les pointeurs obtenus en drfrenant un pointeur sont galement affichs en consquence. Par un simple clic sur la croix ou double-clic sur la ligne, l'affichage est tendu ou rduit.

2-26

CoDeSys V2.3

2 - Qui fait quoi dans CoDeSys

Exemple d'espionnage de pointeurs:

La valeur du pointeur est affiche dans l'implmentation. Pour les drfrencements, la valeur drfrence est affiche. Espionnage des composants d'un tableau : En plus des composants d'un tableau indexs par une constante, des composants indexs sur une variable sont affichs.
anarray[1] = 5 anarray[i] = 1

Si l'index se compose d'une expression (p.ex. [i+j] ou [i+1]), les composants ne peuvent tre affichs.
Veuillez noter:Lorsque le nombre maximal de variables pouvant tre "espionnes" est atteint, le texte "Trop de variables espionnes" est affich la place de la valeur actuelle pour chaque variable supplmentaire.

Simulation Dans le cas de la simulation, le programme d'automate cr est excut dans l'ordinateur sur lequel CoDeSys est excut et non dans l'automate. Toutes les fonctions En Ligne sont disponibles. Vous avez donc la possibilit de vrifier si la logique de votre programme est correcte sans recourir un matriel d'automate programmable.
Remarque: Les modules provenant de bibliothques externes ne fonctionnent pas dans la simulation.

Journal Lors du mode En Ligne, le journal enregistre chronologiquement les actions de lutilisateur, les processus internes, les changements d'tats et les cas exceptionnels. Il sert la surveillance et la traabilit des erreurs (voir chapitre 'Fonctions En ligne').

CoDeSys V2.3

2-27

La Norme

2.4 La Norme
La norme CEI 661131-3 est une norme internationale relative aux langages de programmation pour automates programmables. Les langages de programmation mis en uvre dans le cadre de CoDeSys sont conformes aux exigences de cette norme. D'aprs cette norme, un programme est constitu des lments suivants: Structures Modules Variables globales L'excution d'un programme CoDeSys commence par le module particulier PLC_PRG. Le module PLC_PRG peut appeler d'autres modules.

2-28

CoDeSys V2.3

3 - Ecrivons un petit programme

3 Ecrivons un petit programme


3.1 Automatiser un systme de feux de signalisation
Introduction Nous allons prsent commencer crire un petit programme d'exemple. Il s'agit de concevoir un mini-systme, capable de commander deux feux de signalisation. Les phases rouge/vert de chaque feu alterneront de faon ce que les phases des deux feux soient toujours en opposition. De plus, afin d'empcher tout accident, nous prvoirons des phases de transition jaune et jaune/rouge qui marqueront le passage entre les diffrentes phases. Les phases jaune et jaune/rouge seront d'une dure plus longue que les phases rouge et vert. De plus nous supposons que la commande de feux de signalisation utilise un bus CAN et nous ferons la configuration de l'automate correspondante. Comment reprsenter des programmes dpendant du temps en utilisant les outils de langage de la norme CEI61131-3, comment diter les diffrents langages de la norme avec l'aide de CoDeSys, mais aussi comment les relier entre eux sans problmes: voil ce que le programme d'exemple vous fera dcouvrir. Ce n'est pas tout: vous dcouvrirez la simulation de CoDeSys et vous l'apprcierez sa juste valeur. Crer des modules Le dbut est toujours facile: commencez par lancer CoDeSys, puis slectionnez 'Fichier' + "Nouveau". Dans la bote de dialogue qui apparat, le nom PLC_PRG a t praffect au premier module. Conservez ce nom, sachant que de toutes faons le module doit tre du type programme; chaque projet ncessite un programme de ce nom. Dans notre cas, vous slectionnez l'diteur FBD graphique (CFC) comme langage de programmation pour ce module. Crez prsent trois objets supplmentaires au moyen de la commande 'Projet' + `Insrer objet' de la barre de menus ou du menu contextuel (cliquer avec le bouton droit de la souris dans l'Organisateur d'objets): un programme en diagramme fonctionnel en squence (SFC) nomm SEQUENCE, un bloc fonctionnel en langage FBD nomm TRAFFICSIGNAL et un module nomm WAIT, galement du type bloc fonctionnel, que nous souhaitons programmer en langage Liste d'Instructions (IL). Quel est le rle de TRAFFICSIGNAL? Dans le module TRAFFICSIGNAL nous allons affecter les diffrentes phases de feux aux lampes des feux, c.--d. que nous veillerons ce que la lampe rouge s'allume pendant les phases rouge et jaune/rouge, ce que la lampe jaune s'allume pendant les phases jaune et jaune/rouge, etc. Quel est le rle de WAIT? Dans WAIT nous allons programmer un temporisateur simple, qui reoit comme entre la dure de la phase en millisecondes et qui fournit comme sortie la valeur TRUE ds que le temps est coul. Quel est le rle de SEQUENCE? SEQUENCE reliera tous les lments de faon ce que la bonne lampe s'allume au moment voulu et pendant le temps voulu. Quel est le rle de PLC_PRG? PLC_PRG reliera le signal de dpart entrant avec la squence de droulement des phases des feux de signalisation et fournira les "instructions d'allumage" des diffrentes lampes des deux feux de signalisation sous forme de sorties.

CoDeSys V2.3

3-1

Automatiser un systme de feux de signalisation

Dclaration de "TRAFFICSIGNAL" Consacrons-nous d'abord au module TRAFFICSIGNAL. Dans l'diteur de dclaration vous dclarez comme variable d'entre une variable nomme STATUS, de type INT (entre les mots-cls VAR_INPUT et END_VAR). STATUS pourra adopter quatre tats diffrents, correspondant respectivement aux phases de feux vert, jaune, jaune-rouge et rouge. Notre feu possde par consquent trois sorties, savoir RED, YELLOW et GREEN. (Attention : des trmas ne sont pas permis dans les noms de variables!) Dclarez ces trois variables et la partie de dclaration de notre bloc fonctionnel TRAFFICSIGNAL ressemblera alors ceci:
Bloc fonctionnel TRAFFICSIGNAL, partie de dclaration

Corps de "TRAFFICSIGNAL" A prsent, il s'agit de calculer les valeurs des variables de sortie en fonction de l'entre STATUS pour le module. Accdez la partie corps du module. Cliquez dans la zone situe gauche du premier rseau (la zone grise portant le numro 0001). Vous avez slectionn le premier rseau. Slectionnez maintenant l'option 'Insrer' + `Module' Une bote avec l'oprateur AND et deux entres est insre dans le premier rseau:

Cliquez sur le texte AND avec le pointeur de la souris et remplacez ce texte par EQ. Slectionnez les trois points d'interrogation de l'entre suprieure et entrez la variable STATUS. Ensuite, slectionnez les trois points d'interrogation du dessous et remplacez les par 1. Vous obtenez le rseau suivant:

Cliquez prsent un endroit quelconque derrire la bote EQ. La sortie de l'opration EQ est maintenant slectionne. Slectionnez 'Insrer' + 'Affectation'. Remplacez les trois points d'interrogation ??? par GREEN. Vous avez cr un rseau de cette forme:

STATUS est compar 1 et le rsultat est affect GREEN. Ce rseau commute sur GREEN lorsque STATUS a la valeur 1.

3-2

CoDeSys V2.3

3 - Ecrivons un petit programme

Pour les autres couleurs de feux, nous avons besoin de deux rseaux supplmentaires. Crez le premier avec la commande 'Insrer' + "Rseau (derrire)" et crez un module EQ comme dcrit cidessus. Lorsque vous avez slectionn la sortie, choisissez la commande 'Insrez' 'Module' et remplacez le "AND" par un "OR" dans celle-ci. Slectionnez nouveau la sortie du module OR et affectez lui YELLOW par le biais de la commande 'Insrer' 'Affectation'. Slectionnez maintenant la seconde entre du OR en cliquant sur la barre horizontale ct des trois points dinterrogation, si bien que celle-ci est maintenant marque dun rectangle pointill, puis insrez un autre module EQ comme dcrit ci-dessus au moyen de la commande 'Insrer' 'Module'. En fin de compte, le rseau devrait se prsenter comme indiqu la figure 3.2.
Bloc fonctionnel TRAFFICSIGNAL, partie d'instructions

Pour insrer un nouvel oprateur devant un oprateur existant, vous devez slectionner l'entre laquelle vous voulez ajouter l'oprateur, puis slectionner l'endroit prcis o l'entre aboutit la bote. Ensuite, excutez la commande 'Insrer' + `Module'. Pour le reste, vous pouvez procder l'laboration des autres rseaux de la mme faon que pour celui-ci. Notre premier module est prsent termin. TRAFFICSIGNAL commande la couleur de feu approprie, en fonction de la valeur qui a t entre dans STATUS. Intgrer la bibliothque standard.lib Pour le temporisateur du module WAIT, nous avons besoin d'un module issu de la bibliothque standard. Ouvrez le gestionnaire de bibliothques au moyen de Fentre' + `Gestion des

CoDeSys V2.3

3-3

Automatiser un systme de feux de signalisation

bibliothques'. Slectionnez 'Insrer' + Autre bibliothque. La bote de dialogue d'ouverture des fichiers apparat. Dans la liste des bibliothques, slectionnez standard.lib. Dclaration de "WAIT" Intressons-nous prsent au module WAIT. Ce module doit jouer le rle d'un temporisateur, au moyen duquel nous pouvons spcifier la dure de chaque phase des feux. Notre module reoit comme entre une variable nomme TEMPS du type TIME et fournit comme sortie un lment boolen que nous appellerons OK; cet lment aura pour valeur TRUE lorsque le temps prescrit sera coul. Nous attribuons par dfaut la valeur FALSE cet lment, en insrant " := FALSE " la fin de la dclaration (mais avant le point-virgule). Pour nos besoins, nous utilisons un module TP, un gnrateur d'impulsions. Celui-ci possde deux entres (IN, PT) et deux sorties (Q, ET). Voici ce qu'effectue TP: Aussi longtemps que IN a comme valeur FALSE, ET a comme valeur 0 et Q a comme valeur FALSE. Ds que IN fournit la valeur TRUE, le temps est incrment dans la variable de sortie ET, avec des millisecondes comme unit d'incrmentation. Lorsque ET atteint la valeur PT, l'incrmentation cesse. Entre-temps, Q fournit comme valeur TRUE aussi longtemps que ET demeure infrieur PT. Ds que la valeur PT est atteinte, Q fournit nouveau comme valeur FALSE. Pour pouvoir utiliser le module TP dans le module WAIT, nous devons crer une instance locale de TP. Pour cela, nous dclarons une variable locale ZAB (pour le temps coul) de type TP (entre les mots-cls VAR, END_VAR). La partie de dclaration de WAIT ressemble par consquent ceci:
Bloc fonctionnel WAIT, partie de dclaration

Corps de "WAIT" Pour raliser le temporisateur voulu, il faut que le corps du module soit programm comme suit: Pour commencer, un contrle est effectu pour savoir si Q est dj TRUE (on veut savoir si le comptage a dj commenc). Si c'est le cas, nous ne modifions en rien l'affectation de ZAB, et appelons le bloc fonctionnel ZAB sans fournir d'entre (pour vrifier si le temps est dj coul). Dans le cas contraire, nous affectons la valeur FALSE la variable IN dans ZAB, ce qui implique simultanment l'affectation de 0 ET et de FALSE Q. Toutes les variables se trouvent ainsi l'tat initial voulu. A prsent, nous transfrons la dure ncessaire depuis la variable TIME vers la variable PT, et appelons ZAB avec IN:=TRUE. Au niveau du bloc fonctionnel ZAB, la variable ET est incrmente jusqu' ce qu'elle atteigne la valeur TIME, puis la valeur FALSE est affecte Q.

3-4

CoDeSys V2.3

3 - Ecrivons un petit programme

Bloc fonctionnel WAIT, partie d'instructions

La valeur inverse de Q est mmorise dans OK chaque fois que WAIT a t parcouru une fois. Ds que Q a comme valeur FALSE, OK fournit donc comme valeur TRUE. Nous avons ainsi termin le temporisateur. A prsent, il s'agit de runir nos deux blocs fonctionnels WAIT et TRAFFICSIGNAL dans le programme principal SEQUENCE. "SEQUENCE" - premier niveau de dveloppement Pour commencer, nous dclarons les variables dont nous avons besoin. C'est--dire une variable d'entre START du type BOOL, deux variables de sorties TRAFFICSIGNAL1 et TRAFFICSIGNAL2 du type INT et une de type WAIT (DELAY pour la temporisation). Le programme SEQUENCE ressemble maintenant ceci:
Programme SEQUENCE, premier niveau de dveloppement, partie de dclaration

CoDeSys V2.3

3-5

Automatiser un systme de feux de signalisation

Crer un diagramme SFC Les diagrammes initiaux d'un module en langage SFC sont toujours constitus d'une action "Init", suivie d'une transition "Trans0" et d'un saut pour retourner Init. Il convient de dvelopper un peu cela. Dfinissons d'abord la structure du diagramme, avant de programmer les actions et les transitions une par une. Pour commencer, nous avons besoin d'une tape pour chaque phase des feux. Insrez cette tape en marquant Trans0 puis en slectionnant 'Insrer' + "'Etape-Transition (derrire)". Rptez ce procd trois fois. En cliquant directement sur le nom d'une transition ou d'une tape, vous marquez celle-ci et vous pouvez la modifier. Attribuez le nom "START" la premire transition aprs Init et le nom "DELAY.OK" toutes les autres transitions. La premire transition s'effectue lorsque START prend la valeur TRUE et les autres s'effectuent uniquement lorsque la variable OK de DELAY est TRUE, c.--d. lorsque le temps entr s'est coul. Les tapes reoivent les noms Switch1, Green2, Switch2, Green1 (de haut en bas) tandis que Init conserve videmment son nom. "Switch" dsigne chaque fois une phase jaune, Green1 indique que SIGNAL1 est vert, Green2 indique que SIGNAL2 est vert. Pour finir, modifiez l'adresse de saut de retour de Init vers Switch1. Si vous avez procd sans erreur, le diagramme devrait maintenant ressembler ceci:
Programme SEQUENCE, premier niveau de dveloppement, partie d'instructions

3-6

CoDeSys V2.3

3 - Ecrivons un petit programme

Nous devons prsent raliser la programmation des tapes une une. En double-cliquant sur la zone d'une tape, vous ouvrez une bote de dialogue pour ouvrir une nouvelle action. Dans le cas prsent, nous utiliserons chaque fois le langage IL (Liste d'Instructions) actions et conditions de transition Actions et conditions de transition Au niveau de l'action relative l'tape Init les variables sont initialises, STATUS de TRAFFICSIGNAL1 doit tre 1 (vert), STATUS de TRAFFICSIGNAL2 doit tre 3 (rouge). L'action Init ressemble alors ceci:
Action Init

Au niveau de Switch1 STATUS de TRAFFICSIGNAL1 change d'tat, savoir 2 (jaune), STATUS de TRAFFICSIGNAL2 change galement d'tat, savoir 4 (jaune-rouge). En plus, une temporisation de 2000 millisecondes est dfinie. L'action ressemble prsent ceci:
Action Switch1

Au niveau de Green2 TRAFFICSIGNAL1 est rouge (STATUS:=3), TRAFFICSIGNAL2 est vert (STATUS:=1) et la dure de temporisation est de 5000 millisecondes.
Action Green2

Au niveau de Switch2 STATUS de TRAFFICSIGNAL1 change d'tat, savoir 4 (jaune-rouge), STATUS de TRAFFICSIGNAL2 change galement d'tat, savoir 2 (jaune). Une dure de temporisation de 2000 millisecondes est maintenant dfinie.
Action Switch2

Au niveau de Green1 SIGNAL1 est vert (STATUS:=1), SIGNAL2 est rouge (STATUS:=3) et la dure de temporisation est de 5000 millisecondes.

CoDeSys V2.3

3-7

Automatiser un systme de feux de signalisation

Action Green1

Le premier niveau de dveloppement de notre programme est prsent termin. Vous pouvez maintenant le compiler et le tester dans la simulation. Pour cela, le projet doit tre compil par le biais de la commande 'Projet' 'Compiler'. Vous devriez avoir lindication "0 erreurs, 0 avertissements" dans la fentre des messages situe sous la fentre de travail. Excutez maintenant la commande 'En Ligne' 'Accder au systme', pour accder au mode de simulation (loption 'En Ligne' 'Simulation' devrait dj tre active). Dmarrez le programme avec 'En Ligne' 'Dmarrer'. Ouvrez le module SEQUENCE, en double-cliquant sur SEQUENCE dans lOrganisateur dobjets. Le programme est maintenant dmarr, mais pour dbuter le fonctionnement des feux, il faut encore que la variable START soit affecte de la valeur TRUE (vrai). Elle recevra cette valeur plus tard par le biais de PLC_PRG, mais pour linstant, nous devons encore la lui attribuer directement dans le module. Double-cliquez cet effet sur la ligne dans laquelle START est dfini (START = FALSE) dans la partie dclaration de SEQUENCE. Suite quoi loption "<:=TRUE>" apparat en couleur turquoise derrire la variable. Slectionnez la commande 'En Ligne' 'Ecrire valeurs des variables', pour rgler la variable sur cette valeur. START apparat alors en bleu sur le diagramme de droulement, et vous pouvez identifier le traitement de chaque tape individuellement grce au marquage en bleu de ltape en cours. Le test intermdiaire est alors termin. Effectuez ensuite la commande 'En Ligne' 'Quitter le systme' afin de pouvoir quitter le mode simulation et continuer programmer. "SEQUENCE" - deuxime niveau de dveloppement Afin que notre diagramme comporte au moins une squence alternative et pour pouvoir arrter notre systme la nuit, nous installons maintenant dans notre programme un compteur qui arrte le systme aprs que les feux aient parcouru un nombre donn de cycles. Nous avons d'abord besoin d'une nouvelle variable COUNTER de type INT. Dclarez cette variable en procdant comme vu prcdemment dans la partie de dclaration de SEQUENCE et initialisez-la la valeur 0, dans Init.
Action Init, deuxime version

Marquez prsent la transition vers Switch1 et insrez sa suite une tape et une transition. Marquez la transition qui vient d'tre cre et insrez sur sa gauche une squence alternative. Insrez une tape et une transition aprs la transition de gauche. Insrez un saut vers Switch1 aprs la transition ainsi cre. Nommez les composants nouvellement crs comme suit: en ce qui concerne les deux tapes nouvellement cres, l'tape suprieure doit recevoir le nom "Count" et l'tape infrieure le nom "Off". Les transitions sont nommes (de haut en bas et de gauche droite) EXIT, TRUE et DELAY.OK. La partie nouvellement cre devrait donc ressembler la partie encadre en noir et reprsente cidessous:

3-8

CoDeSys V2.3

3 - Ecrivons un petit programme

Systme de feux de signalisation

Il faut donc implmenter deux nouvelles actions et une nouvelle condition de transition. Au niveau de l'tape Count, le COUNTER est incrment d'une unit; il s'agit de la seule intervention ce niveau:
Action Count

La transition EXIT vrifie si le compteur (COUNTER) est suprieur un nombre donn, disons par exemple 7:
Transition EXIT

Au niveau de l'action Off, les variables d'tat STATUS des deux feux prennent la valeur 5 (OFF) (toute autre valeur diffrente de 1, 2, 3 ou 4 peut tre choisie pour dfinir cet tat), COUNTER est remis zro et une dure de temporisation de 10 secondes est dfinie:

CoDeSys V2.3

3-9

Automatiser un systme de feux de signalisation

Action Off

Le Rsultat Dans notre petite agglomration, o sont installs les feux, la nuit survient aprs que les feux aient parcouru sept cycles, ensuite le feu s'teint pendant dix secondes, puis le jour se lve, le systme de feux se met de nouveau en marche et tout ce cycle complet est rpt. Si vous le souhaitez, vous pouvez maintenant le tester en mode de simulation comme dcrit ci-dessus, avant de crer le module PLC_PRG. PLC_PRG Nous avons dfini et mis en corrlation l'volution des phases des deux feux de signalisation dans le module SEQUENCE. Cependant, du fait que nous assimilions le systme de feux de signalisation un module CAN et que nous souhaitions crer la configuration d'automate en utilisant un bus CAN, nous devons encore prvoir des variables d'entre et de sortie appropries au sein du module PLC_PRG. Nous souhaitons mettre en marche le systme de feux de signalisation au moyen d'un interrupteur ON et transmettre l'instruction de signal" adquat pour chaque tape du module SEQUENCE aux six diffrentes lampes (lampes rouge, verte et jaune pour chaque feu de signalisation). Nous dclarons prsent avant de crer le programme dans l'diteur des variables de type boolen appropries aux six sorties et l'unique entre. Dans le mme temps, nous affectons ces variables aux adresses CEI appropries. Dans l'diteur de dclaration de PLC_PRG, nous dclarons dans un premier temps les variables LIGHT1 et LIGHT2 de type TRAFFICSIGNAL.
Dclaration de SIGNAL1 et SIGNAL2

Ces variables transmettent aux six sorties exiges ci-dessus les valeurs boolennes pour chacune des six lampes, chaque tape du module SEQUENCE. Cependant, nous ne dclarons pas les six variables de sortie prvues cet effet l'intrieur du module PLC_PRG, mais bien dans Ressources, au niveau des Variables Globales. La mme remarque s'applique la variable d'entre ON de type boolen, qui permet d'affecter la valeur TRUE la variable START dans le module SEQUENCE. Une adresse CEI est attribue aussi la variable ON. Slectionnez prsent l'onglet Ressources et ouvrez la liste Variables Globales. Effectuez la dclaration comme ceci:

3-10

CoDeSys V2.3

3 - Ecrivons un petit programme

Dclaration des variables d'entre / de sortie pour la configuration CAN

Le nom de la variable (par exemple ON) est suivi de AT et de l'adresse CEI, qui commence par un signe pour cent ". I dsigne une entre, Q dsigne une sortie, B (utilis dans cet exemple) signifie "octet" et 0.0 (0.1, 0.2, etc.) permet d'accder chacun des bits du module. Nous allons crer la configuration de l'automate requise, mais avant cela nous allons terminer le module PLC_PRG. Pour ce faire, nous accdons la fentre d'dition. Nous avons slectionn l'diteur graphique FBD, c'est pourquoi nous accdons la barre d'icnes FBD, qui est situe sous la barre de menu et qui comprend les lments pouvant tre utiliss comme composants . Cliquez avec la touche droite de la souris dans la fentre d'dition et slectionnez l'lment Module. Cliquez sur le teste AND et remplacez-le par le texte "SEQUENCE". Vous accdez alors au module SEQUENCE qui est visualis avec les variables d'entre et de sortie dj dfinies. Ajoutez deux lments de type module supplmentaires, auxquels vous donnerez le nom de LIGHT1. SIGNAL est un bloc fonctionnel, c'est pourquoi trois points d'interrogation rouges sont placs au-dessus du module. Remplacez ces points d'interrogation par le nom des variables LIGHT1 et LIGHT2 dclares localement ci-dessus. Dfinissez prsent un lment de type Entre, que vous dsignerez par ON et six lments de type Sortie, auxquels vous donnerez les noms de variable S1_green, S1_yellow, S1_red, S2_green, S2_yellow, S2_red, comme dans la figure ci-aprs. Tous les lments du programme sont prsent placs et vous pouvez relier vos entres et vos sorties en cliquant avec la souris sur la courte ligne situe l'entre ou la sortie d'un lment et en dplaant ensuite la souris jusqu' l'entre ou la sortie de l'lment voulu, tout en maintenant la touche de la souris enfonce. Votre ligne est trace. En dfinitive, votre programme doit se prsenter comme ceci:
PLC_PRG, dclaration et reprsentation dans l'diteur graphique FBD

CoDeSys V2.3

3-11

La visualisation du systme de feux de signalisation

Simulation de feux Testez prsent votre programme. Pour cela, il vous faut le compiler compiler) et le charger ('En Ligne' + Accder au systme') et puis 'En Ligne' + 'Lancer'. Si vous excutez maintenant 'En Ligne' + 'Dmarrer', vous pouvez suivre la succession chronologique des tapes individuelles de votre programme principal. La fentre du module PLC_PRG s'est prsent transforme en fentre d'espion. Lorsque vous double-cliquez sur le signe plus dans l'diteur de dclaration, la visualisation des variables apparat, et vous pouvez observer les valeurs prises par chacune des variables.

3.2 La visualisation du systme de feux de signalisation


La visualisation incluse dans CoDeSys permet d'animer facilement et simplement les variables du projet. Dans la section prsente, nous allons dessiner deux feux de signalisation et un interrupteur de mise en marche (ON) pour notre systme de feux, qui sont censs reprsenter les squences de commutation. Elaboration d'une nouvelle visualisation Pour laborer une visualisation, il faut tout d'abord slectionner la zone Visualisation dans l'Organisateur d'objets. Pour cela, cliquez d'abord sur l'onglet nomm Visualisation et portant le symbole au niveau du cadre infrieur de la fentre situe sur le ct gauche, dans laquelle est crit Modules. Excutez maintenant l'ordre 'Projet' + `Insrer objet' et une bote de dialogue s'ouvre. Entrez un nom de votre choix cet endroit. Confirmez par OK le choix fait dans cette bote de dialogue et une fentre s'ouvre, dans laquelle vous pouvez laborer votre nouvelle visualisation. Insrer un lment dans la visualisation Pour la visualisation qui concerne nos feux, nous vous conseillons de procder comme suit: Activez la commande 'Insrer' + Ellipse et essayez de dessiner un cercle qui ne soit pas trop grand ( 2 cm). Pour ce faire, cliquez dans le champ d'dition et tracez le cercle en dplaant la souris tout en maintenant la touche gauche enfonce. Effectuez maintenant un double-clic sur le cercle. La bote de dialogue destine diter des lments de visualisation s'ouvre alors. Choisissez la catgorie Variables et entrez dans le champ Changer le texte "L1_red" ou ".L1_red". Cela signifie que la variable globale A1_red effectue le changement de couleur si elle prend la valeur TRUE. Le point avant le nom de la variable indique quil sagit dune variable globale mais nest cependant pas absolument ncessaire.

Ensuite, vous slectionnez la catgorie Couleurs et vous cliquez sur le bouton Dedans dans la zone Couleur. Slectionnez une couleur neutre, par exemple noir. Cliquez prsent sur le bouton Dedans dans la zone Couleur d'alarme et slectionnez le ton rouge qui correspond le mieux un feu rouge.

3-12

CoDeSys V2.3

3 - Ecrivons un petit programme

Le cercle ainsi constitu sera noir l'tat normal et passera au rouge lorsque la variable RED de SIGNAL1 aura comme valeur TRUE. Nous avons donc labor ds prsent la premire lampe du premier feu! Les autres lampes des feux Slectionnez maintenant les commandes 'Editer' + "Copier" (<Ctrl>+<C>), puis deux fois 'Editer' + "Coller" (<Ctrl>+<V>). Ainsi, vous obtenez deux autres cercles de mme dimension, qui sont situs au-dessus du premier. Vous pouvez dplacer les cercles en cliquant sur le cercle voulu et en dplaant la souris jusqu' la position voulue, tout en maintenant la touche gauche de la souris enfonce. Dans le cas prsent, la position voulue correspondrait une range verticale dans la partie gauche de la fentre d'dition. En double-cliquant sur un des deux cercles infrieurs, vous ouvrez nouveau la bote de dialogue de configuration. Entrez les variables suivantes dans le champ Changer du cercle associ: pour le cercle du milieu: L1_yellow pour le cercle infrieur: L1_green Slectionnez maintenant la couleur adquate pour chaque cercle (jaune ou vert), dans la catgorie Couleurs et dans la zone Couleur d'alarme. Le botier des feux Slectionnez prsent la commande 'Insrer' + "Rectangle", et insrez un rectangle qui entoure les trois cercles, en procdant de la mme faon que prcdemment pour le premier cercle. Choisissez pour le rectangle nouveau une couleur aussi neutre que possible et activez la commande 'Extras' + "Arrire-plan", pour que les cercles deviennent nouveau visibles. Au cas o le mode simulationn'est pas encore activ, vous pouvez l'activer au moyen de la commande 'En Ligne' + `Simulation'. Si vous lancez prsent la simulation au moyen des commandes 'En Ligne' + `Accder au systme' et 'En Ligne' + `Dmarrer', vous pouvez suivre le changement de couleur du premier feu. Le deuxime feu Pour crer le deuxime feu, le plus simple est de copier l'ensemble des composants du premier feu. Pour ce faire, marquez tous les lments du premier feu et copiez-les (comme prcdemment pour les lampes du premier feu) au moyen des commandes 'Editer' + `Copier' et 'Editer' + `Coller'. Pour terminer la visualisation du deuxime feu, vous n'avez plus qu' transformer le texte "S1" en "S2" dans les botes de dialogue de visualisation respectives. L'interrupteur ON Insrez un rectangle, attribuez les couleurs de votre choix, selon ce qui est dcrit ci-dessus dans le cas des feux, et entrez .ON dans Variables si vous souhaitez un Changer la couleur. A l'intrieur de la catgorie Texte, entrez "MARCHE" dans le champ Contenu.

CoDeSys V2.3

3-13

La visualisation du systme de feux de signalisation

Bote de dialogue pour configurer des lments de visualisation (catgorie Texte)

Pour pouvoir affecter laide dun clic de la souris la valeur TRUE la variable ON, vous devez activer loption Frapper la variable dans la catgorie Entre et ensuite entrer la variable .ON. Slectionnez en plus l'option Variable impulsion et entrez cet endroit la variable .ON. Si cette option est active, la valeur TRUE est affecte la variable .ON en cliquant avec la souris sur l'lment de visualisation, alors que si vous relchez la touche de la souris, la valeur FALSE est raffecte cette variable (ainsi, nous avons cr un interrupteur simple pour les besoins de notre programme de feux).
Bote de dialogue pour configurer des lments de visualisation (catgorie Entre)

Inscription dans la visualisation Pour complter la visualisation, il convient d'ajouter deux rectangles aplatis et de les placer en dessous des feux. Au niveau de la bote de dialogue de visualisation, dans la catgorie Couleurs et dans Cadre, vous choisissez chaque fois la configuration 'Aucune couleur de cadre'. Dans la catgorie Texte et dans le champ Contenu vous entrez respectivement "Feux 1" et "Feux 2". Votre visualisation ressemble maintenant ceci:

3-14

CoDeSys V2.3

3 - Ecrivons un petit programme

Visualisation pour l'application d'exemple Feux

CoDeSys V2.3

3-15

La visualisation du systme de feux de signalisation

3-16

CoDeSys V2.3

4 - Les composants dans le dtail

4 Les composants dans le dtail


4.1 La fentre principale
La fentre principale

Les lments suivants sont situs dans la fentre principale de CoDeSys (de haut en bas): La barre de menus (Un grand nombre de commandes de menus se trouve galement dans le menu contextuel, ce dernier s'ouvrant par le biais du bouton droit de la souris) La barre d'outils (facultative); avec des boutons pour excuter plus rapidement les commandes de menus. L'Organisateur d'objets avec des onglets pour les modules, types de donnes, visualisations et ressources. Une barre de fractionnement verticale entre l'Organisateur d'objets et l'environnement de travail de CoDeSys. L'environnement de travail qui comprend les fentres des diteurs. La fentre de messages (facultative). La barre d'tat (facultative); avec des informations sur l'tat actuel du projet. Barre de menus La barre de menus est situe au niveau du bord suprieur de la fentre principale. Elle contient toutes les commandes des menus.

CoDeSys V2.3

4-1

La fentre principale

Barre d'outils En cliquant avec la souris sur une icne de la barre d'outils, il est possible de slectionner plus rapidement une commande de menu. La slection d'icnes s'adapte automatiquement la fentre active. La commande n'est excute qu'en enfonant et en relchant la touche de la souris pralablement positionne sur l'icne. Si vous maintenez pendant un temps rduit le pointeur de la souris sur une icne de la barre d'outils, le nom de l'icne est affich dans une info-bulle. Pour recevoir la description de chaque icne de la barre d'outils il suffit de slectionner dans l'aide l'diteur propos duquel vous souhaitez recevoir des informations et de cliquer sur l'icne de la barre d'outils qui vous intresse. L'affichage de la barre d'outils est facultatif (voir 'Projet' + 'Options', Catgorie "Environnement de travail").

Organisateur d'objets L'Organisateur d'objets se situe toujours sur la partie gauche de CoDeSys. Dans la partie infrieure se trouvent quatre onglets avec des symboles pour les quatre types d'objets, savoir les modules , types de donnes visualisations et ressources . Pour passer d'un type d'objet un autre, cliquez sur l'onglet appropri avec la souris ou bien utilisez la touche directionnelle gauche ou droite. Des symboles supplmentaires avant ou aprs les entres dobjets caractrisent certains statuts concernant les Fonctions En Ligne et la Connexion ENI vers une base de donnes. Le chapitre 4.4, 'Gestion des objets', vous indiquera comment travailler avec les objets dans l'Organisateur d'objets. Barre de fractionnement La barre de fractionnement constitue la frontire entre deux fentres accoles. CoDeSys prvoit des barres de fractionnement entre l'Organisateur d'objets et l'environnement de travail de la fentre principale, entre l'interface (partie de dclaration) et l'implmentation (partie instructions) des modules et entre l'environnement de travail et la fentre de messages. Si vous amenez le pointeur de la souris sur la barre de fractionnement, vous pouvez dplacer cette dernire. Pour ce faire, dplacez la souris en maintenant le bouton gauche de la souris enfonc. Tenez compte du fait que la barre de fractionnement conserve toujours sa position absolue, mme si la taille de la fentre est modifie. Si la barre de fractionnement semble avoir disparue, alors il convient tout simplement d'agrandir votre fentre. Environnement de travail L'environnement de travail se trouve dans la partie droite de la fentre principale de CoDeSys. Tous les diteurs relatifs aux objets et la gestion des bibliothques s'ouvrent au niveau de cette zone. Vous trouvez la description des diteurs aux chapitres 5, Les diteurs dans CoDeSys, 6, Les ressources, Manuel CoDeSys Visualisation et chapitre 6.4, Gestion des bibliothques. Le nom de chaque objet apparat dans la barre de titre de la fentre, et une abrviation y est ajoute entre parenthses dans le cas des modules, indiquant le type de module et le langage de programmation utilis. Dans l'option "Fentre" se trouvent toutes les commandes relatives la gestion des fentres.

4-2

CoDeSys V2.3

4 - Les composants dans le dtail

Fentre de messages La fentre de messages se situe dans la fentre principale, en dessous de l'environnement de travail et est spare de celui-ci par une barre de fractionnement. Elle fournit tous les messages relatifs aux derniers procds de compilation, de vrification et de comparaison effectus. Les rsultats de recherches et les 'Listes des rfrences croises' peuvent galement tre affichs ici. Si, dans la fentre de messages, vous excutez avec la souris un double-clic sur un message ou si vous enfoncez la touche <Entre>, alors l'diteur de l'objet s'ouvre. La ligne concerne de l'objet est marque. Les commandes 'Editer' + "Erreur prochaine" et 'Editer' + "Erreur prcdente" permettent de se dplacer rapidement d'un message d'erreur l'autre. L'affichage de la fentre de messages est facultative. Barre d'tat La barre d'tat, qui se situe au niveau du cadre infrieur de la fentre principale de CoDeSys, vous indique des informations sur le projet actuel et sur les commandes de menu. Si un nonc est valable, alors l'nonc apparat droite dans la barre d'tat, dans une couleur de police noire, sinon il apparat dans une couleur de police grise. Si vous travaillez en ligne, alors l'expression En Ligne apparat dans une couleur de police noire. Si en revanche vous travaillez hors ligne, cette expression apparat dans une couleur de police grise. Lorsque vous tes en mode En Ligne, la barre d'tat vous renseigne si vous vous trouvez dans la simulation (SIM), si le programme est excut (EXECUTE), si un point d'arrt est dfini (PT ARRET) ou si des valeurs de variables sont forces (FORCER). Dans le cas d'diteurs littraux, le numro de ligne et de colonne de la position actuelle du curseur est indique (p.ex. L.:5, Col.:11). Si le pointeur de la souris se situe dans une visualisation, la position actuelle X et Y du curseur par rapport au coin suprieur gauche de l'image est indique, en pixel. Si le pointeur de la souris se situe sur un lment ou si un lment est en cours de traitement, le numro de celui-ci est indiqu. Si vous avez choisi un lment insrer, cela apparat galement (p.ex. Rectangle). Si vous avez slectionn une commande de menu, sans l'avoir encore active, alors une brve description apparat dans la barre d'tat. L'affichage de la barre d'tat est facultatif (voir 'Projet' + "Options", Catgorie "Environnement de travail"). Menu contextuel Raccourci : <Maj>+<F10> Au lieu d'utiliser la barre de menus pour excuter une commande, vous pouvez utiliser le bouton droit de la souris. Le menu qui est alors affich contient les commandes utilises les plus frquemment en rapport avec un objet marqu ou avec l'diteur actif. La slection des commandes disponibles s'adapte automatiquement la fentre active.

4.2 Projet Options


Les paramtres rgls sous 'Projet' 'Options' servent entre autres la configuration de l'affichage de la fentre principale CoDeSys. moins que ce ne soit stipul autrement, ils sont mmoriss dans le fichier "Codesys.ini" et sont restitus lors du prochain dmarrage de CoDeSys. Une reprsentation des options de projet configures pour le projet se trouve dans les ressources au niveau du l'Environnement de travail. On accde la bote de dialogue 'Options' au moyen de cette commande. Les possibilits de paramtrage sont rparties en diffrentes catgories. Slectionnez dans la partie gauche de la bote

CoDeSys V2.3

4-3

Projet Options

de dialogue la catgorie voulue au moyen d'un clic avec la souris ou l'aide des touches directionnelles et modifiez les options dans la partie droite. Voici les catgories : Ouvrir & Fermer Informations utilisateur Editeur Environnement de travail Couleurs Rpertoires Journal Options de compilation Mots de passe Download Sourcecode Configuration de symbole Base de donnes du projet Macros Ouvrir & Fermer Si vous slectionnez cette catgorie dans la bote de dialogue Options, vous obtenez la bote de dialogue suivante:
Bote de dialogue Options pour la catgorie Ouvrir & Fermer

Lorsqu'une option est active, un crochet ( ) apparat devant l'option. Copie de sauvegarde: CoDeSys sauvegarde l'ancien fichier lors de chaque enregistrement par la commande 'Fichier' 'Enregistrer' dans un fichier de sauvegarde, avec l'extension ".bak". Contrairement au fichier de sauvegarde *.asd (voir ci-dessous, 'Enregistrement automatique'), ce fichier est gard mme aprs avoir termin le programme. Ainsi, vous pouvez toujours restituer la version qui prcde le dernier enregistrement. Enregistrement automatique: Le projet ouvert est frquemment sauvegard selon un intervalle que vous aurez fix (Intervalle denregistrement) dans un fichier temporaire avec lextension ".asd". Ce

4-4

CoDeSys V2.3

4 - Les composants dans le dtail

fichier est effac lorsque le programme sest termin normalement. Si, pour une raison ou une autre, CoDeSys ne se termine pas "normalement" (p.ex. lors dune coupure de courant), le fichier n'est pas effac. Lorsque, dans ce cas, vous ouvrez nouveau le projet, le message suivant apparat:

Vous pouvez alors dcider si vous ouvrez le fichier original ou le fichier de sauvegarde. Demander de l'information sur le projet: alors la bote de dialogue Info sur le projet s'ouvre automatiquement lors de l'enregistrement d'un nouveau projet ou lors de la l'enregistrement d'un projet sous un nouveau nom. Vous pouvez afficher et modifier les informations sur le projet au moyen de la commande 'Projet''Info projet'. Charger automatiquement: alors le dernier projet ouvert sera charg automatiquement lors du prochain lancement de CoDeSys. Le chargement d'un projet lors du lancement de CoDeSys peut galement s'effectuer en spcifiant un projet dans la ligne de commande. Enregistrer avant la compilation: Le projet est enregistr avant toute compilation. Un fichier est alors cr avec lextension ".asd", et celui-ci se comporte comme avec loption 'Enregistrement automatique' dcrite ci-dessus. Rappeler le projet de dmarrage avant de terminer: Si, depuis la cration du projet dinitialisation, le projet sous forme modifie a t charg sur lautomate sans avoir auparavant cr un nouveau projet dinitialisation, ceci sera signal lutilisateur lorsquil tentera de quitter le projet : "Aucun projet dinitialisation na t cr depuis le dernier tlchargement. Voulez-vous malgr tout terminer?" Enregistrer les informations d'autorisation scurises ENI: Le nom dutilisateur et le mot de passe tels quils ont t introduits le cas chant pour laccs la base de donnes ENI, sont enregistrs avec le projet. Informations utilisateur Si vous slectionnez cette catgorie, vous obtenez la bote de dialogue suivante:
Bote de dialogue Options pour la catgorie Informations utilisateur

CoDeSys V2.3

4-5

Projet Options

Les informations utilisateur comprennent le Nom de l'utilisateur, ses Initiales et la Socit pour laquelle il travaille. Chacune des saisies peut tre modifie et est enregistre avec le projet. Editeur Si vous slectionnez cette catgorie, vous obtenez la bote de dialogue suivante:
Bote de dialogue Options pour la catgorie Editeur

Lorsqu'une option est active, un crochet ( ) apparat devant l'option. Dclarer automatiquement: Si cette option a t slectionne, alors apparat dans chaque diteur, aprs entre d'une variable non encore dclare, une bote de dialogue qui aide dclarer cette variable. Formater automatiquement: Si cette option a t slectionne, CoDeSys ralise un formatage automatique dans l'diteur de Liste d'Instructions et dans l'diteur de dclaration. A l'issue de chaque ligne, les formatages suivants sont effectues: Les oprateurs qui figurent en minuscules sont visualiss en majuscules Des tabulateurs sont insrs, de sorte qu'il en rsulte une rpartition uniforme des colonnes. Lister les composants: Si cette option est active, vous disposez de la fonction Intellisense dans CoDeSys. Si vous nintroduisez quun point aux endroits o un identificateur doit tre saisi, vous obtenez une liste de slection reprenant toutes les variables disponibles pour cet endroit. Cette fonction Intellisense est disponible, non seulement dans l'diteur, mais aussi dans le gestionnaire despion et de recettes, dans la visualisation et dans la configuration de lhistogramme. Dclarations sous forme de tableau: Si cette option a t slectionne, vous pouvez diter des variables sous forme de tableau au lieu de le faire au moyen de l'diteur de dclaration classique. Ce tableau est ordonn de la mme faon qu'une cartothque, dans lequel se trouvent des onglets pour les variables d'entre, de sortie, les variables locales et les variables d'entre-sortie. Vous disposez pour chaque variable des champs Nom, Adresse, Type, Initial, Commentaire. Largeur de tabulation: Ici vous pouvez spcifier la largeur d'une tabulation visualise dans les diteurs. La largeur configure par dfaut est de 4 caractres, avec une largeur de caractre qui dpend son tour de la configuration de la police de caractres. Caractres: En appuyant sur ce bouton vous pouvez slectionner la police dans tous les diteurs CoDeSys. La taille de la police est l'unit de base pour toutes les oprations de dessin. Le choix d'une taille de police plus grande agrandit ainsi la reprsentation et mme l'impression pour chaque diteur de CoDeSys. Aprs avoir slectionn la commande, la bote de dialogue pour la slection de la police de caractre, du style et de la taille de police s'ouvre.

4-6

CoDeSys V2.3

4 - Les composants dans le dtail

Bote de dialogue de configuration de la police

Marquage: Ici vous pouvez choisir si une slection dans les diteurs graphiques doit tre reprsente au moyen d'un rectangle en pointills (En pointills), d'un rectangle en ligne continue (Ligne) ou d'un rectangle plein (Rempli). Dans le dernier cas, la slection est visualise "en ngatif" (inverse). Valeur des bits: Ici vous pouvez choisir si des informations binaires (de type BYTE, WORD, DWORD) doivent tre visualises, au niveau de l'espionnage, en mode Dcimal, Hexadcimal ou Binaire. Supprimer le monitoring de types complexes (tableaux, pointeur, VAR_IN_OUT): Si cette option est active, les types de donnes complexes comme les tableaux, les pointeurs, VAR_IN_OUTs ne seront pas reprsents dans la fentre despion du mode En ligne. Afficher les symboles des units de programmation: Si cette option est active, des symboles sont reprsents dans les botiers de modules, pour autant quils soient disponibles dans la bibliothque des rpertoires sous forme dimages bitmap. Le nom du fichier bitmap doit se composer du nom du module et de lextension .bmp. Exemple : pour le module TON, le symbole suivant est contenu dans le fichier TON.bmp :

Environnement de travail Si vous slectionnez cette catgorie, vous obtenez la bote de dialogue suivante:
Bote de dialogue Options pour la catgorie Environnement de travail

CoDeSys V2.3

4-7

Projet Options

Barre d'icnes: La barre d'outils avec les boutons pour slectionner plus rapidement les commandes de menu est rendue visible en dessous de la barre de menus. Ligne d'tat: La barre d'tat est rendue visible au niveau du bord infrieur de la fentre principale de CoDeSys. Opration en ligne en mode scurit: Une bote de dialogue avec une demande de scurit apparat en mode En Ligne, pour les commandes Dmarrer, Arrter, Reset, Point d'arrt actif, Cycle indpendant, Ecrire valeurs des variables, Forcer valeurs des variables, Arrter de forcer, pour demander si la commande doit rellement tre excute. Si le systme d'excution le supporte, un dialogue largi apparat lors du chargement du projet sur l'automate programmable : Ce dialogue indique en outre les informations d'un projet se trouvant ventuellement dj sur l'automate ainsi que celles du nouveau projet charger. Ces informations de projet apparaissent galement lors de la cration d'un projet d'initialisation, si un tel projet est dj prsent sur l'automate programmable. Cette option est enregistre avec le projet. Faire une requte des paramtres de communication avant le login: Suite la commande 'En Ligne' 'Login', la bote de dialogue pour les paramtres de communication apparat l'cran. On ne passe au mode En ligne que lorsque cette bote de dialogue a t ferme l'aide de OK. Ne pas enregistrer les paramtres de communication dans le projet: Les paramtres de la bote de dialogue pour les paramtres de communication ('En Ligne' 'Paramtre de communication') ne sont pas enregistrs dans le projet. Afficher la zone d'impression: Les limites de la zone d'impression en cours de rglage sont marques par des traits discontinus rouges dans chaque fentre d'diteur. L'importance de cette zone dpend des caractristiques de l'imprimante (format de papier, alignement) et de la grandeur de la zone "Contenu" de la mise en page rgle (Menu 'Fichier' 'Paramtres documentation'). F4 ignore les avertissements: En appuyant sur F4 dans la fentre des messages aprs une compilation, l'accent est mis sur les lignes comprenant les messages d'erreur, et les avertissements sont ignors. Reprsentation MDI:Cette option (Multiple-Document-Interface) est active par dfaut, rendant ainsi possible l'ouverture simultane de plusieurs objets (fentres). Si cette option est dsactive (mode SDI, Single-Document Interface), on ne peut alors ouvrir qu'une fentre la fois dans l'environnement de travail, et cette fentre est reprsente en mode plein cran. Exception : l'action d'un programme peut tre reprsente aussi en MDI en mme temps que le programme lui-mme. Langue:Slectionnez dans quelle langue les textes des menus et des botes de dialogue ainsi que l'aide En ligne doivent tre affichs.
Remarque : Notez que la slection d'une langue n'est pas possible sous Windows 98 !

Couleurs Si vous slectionnez cette catgorie, vous obtenez la bote de dialogue suivante:
Bote de dialogue Options pour la catgorie Couleurs

4-8

CoDeSys V2.3

4 - Les composants dans le dtail

Vous pouvez diter la configuration par dfaut des couleurs de CoDeSys. Vous pouvez choisir de modifier la configuration des couleurs pour les Numros de ligne (configuration par dfaut: gris clair), pour la Positions des points d'arrt (gris fonc), pour un Point d'arrt dfini (bleu clair), pour la Position actuelle (rouge), pour les Positions parcourues (vert) ou pour Monitoring de BOOL de valeurs de type boolen (bleu). Si vous avez slectionn un des boutons, la bote de dialogue pour entrer des couleurs s'ouvre.
Bote de dialogue pour la configuration des couleurs

Rpertoires Si vous slectionnez cette catgorie, vous obtenez la bote de dialogue suivante:
Bote de dialogue Options pour la catgorie Rpertoires

Vous pouvez introduire, dans les zones Projet et Gnral, des rpertoires que CoDeSys devra parcourir la recherche de bibliothques et defichiers de configuration d'automate ou qu'il devra utiliser pour la rception de fichiers de compilation ou de fichiers source de tlchargement en amont. Si vous activez le bouton () derrire un champ, alors la bote de dialogue pour slectionner un rpertoire s'ouvre. Plusieurs chemins d'accs spars par un point-virgule ";" peuvent tre introduits pour les fichiers de bibliothque et de configuration.
Remarque: Les chemins d'accs aux bibliothques peuvent tre saisis en relation au rpertoire de projet actuel, en les faisant prcder d'un ".". Si on saisit par exemple ".\libs", les bibliothques seront galement recherches dans le rpertoire 'C:\Programme\projects\libs', pour autant que le projet se trouve dans le rpertoire 'C:\Programme\projects'.

CoDeSys V2.3

4-9

Projet Options

Remarque: N'utilisez pas d'espaces ou de caractres spciaux dans les chemins des rpertoires, l'exception de "_".

Les entres dans la zone Projet sont enregistres avec le projet. Les entres dans la zone Gnralsont crites dans le fichier Ini du systme de programmation et valent pour tous les projets. Les rpertoires de bibliothques et de fichiers de configuration, configurs dans le systme cible, sont affichs dans la zone Systme cible l'aide, par exemple, des donnes dans le fichier cible. Vous ne pouvez pas diter ces champs, mais une entre peut tre slectionne et copie (menu contextuel bouton droit de la souris). En rgle gnrale, CoDeSys cherche d'abord parmi les rpertoires classs sous 'Projet', ensuite les rpertoires sous 'Systme cible' et enfin ceux sous 'Gnral'. Si plusieurs fichiers portent le mme nom, celui qui se trouve dans le premier rpertoire parcouru est utilis. Journal Si vous slectionnez cette catgorie, vous obtenez la bote de dialogue suivante :
Bote de dialogue Options pour la catgorie Journal

lintrieur de cette bote de dialogue, vous pouvez configurez un fichier qui, en tant que journal de projet, enregistre chronologiquement toutes les actions dutilisateur et tous les processus internes durant le mode En ligne. Si un projet existant est ouvert pour lequel aucun journal na t gnr, une bote de dialogue souvre vous signalant quun journal est cr, qui ne mmorisera les entres qu partir du prochain processus d'ouverture de session. Lors de la sauvegarde du projet, le journal sera automatiquement enregistr sous forme de fichier binaire dans le rpertoire de projet. Si vous souhaitez un autre rpertoire cible, vous pouvez activer loption Rpertoire pour les journaux de projet: et introduire le chemin daccs adquat dans le champ ddition. Par le biais du bouton rpertoire'. , vous obtenez la bote de dialogue 'Slectionner le

Le fichier de journal enregistre automatiquement le nom du projet avec lextension .log. Le nombre maximal de Sessions en ligne enregistrer est fix sous la Grandeur maximale d'un journal du projet. Si ce nombre est dpass durant un enregistrement, les entres les plus anciennes sont effaces au profit des nouvelles. Cette fonction de journal est active et dsactive par le biais du bouton doption Activer le journal. Dans la zone Filtre, vous pouvez slectionner les actions qui doivent tre enregistres : Actions par l'utilisateur, Actions internes, changements de l'tat, Exceptions. Les actions provenant de catgories munies ici dun crochet seront seules affiches la fentre du journal ou crites dans le fichier du journal.

4-10

CoDeSys V2.3

4 - Les composants dans le dtail

Vous pouvez ouvrir la fentre de journal par le biais de la commande 'Fentre' 'Journal'. Options de compilation Si vous slectionnez cette catgorie, vous obtenez la bote de dialogue suivante:
Bote de dialogue Options pour la catgorie Options de compilation

Dbogage:Selon le systme cible, cette option peut tre slectionne ou prrgle. Si elle est active, le code peut tre considrablement plus grand. Le choix de cette option permet de gnrer du code de dbogage supplmentaire. Le code de dbogage est ncessaire pour utiliser les fonctions de dbogage disponibles sur CoDeSys. Si vous dsactivez cette option, vous augmentez la rapidit d'excution et vous autorisez des codes de taille plus petite. Cette option est enregistre avec le projet. changer constantes: Les constantes sont remplaces par leur valeur d'initialisation, au cours de la gnration du code. Cette option permet d'accder plus rapidement aux valeurs que dans le cas d'un accs via un emplacement de mmoire. Cependant les constantes ne peuvent pas tre modifies En Ligne dans ce cas ("Forcer valeurs des variables" et "Ecrire valeurs des variables"). Commentaires imbriqus : Vous pouvez introduire des commentaires imbriqus les uns dans les autres. Exemple :
(* a:=inst.out; (* vrifier *) b:=b+1; *)

Le commentaire dbutant avec la premire parenthse ne se termine pas la parenthse situe directement aprs 'vrifier', mais bien la dernire parenthse. Crer fichier binaire de l'application: Une reprsentation binaire du code est cr (Projet d'initialisation) dans le rpertoire de projet lors de la compilation. Nom de fichier: <nom de projet>.bin. Notez galement cet effet la possibilit de crer le projet d'initialisation ainsi que le fichier correspondant de total de contrle En ligne sur l'automate (commande 'En Ligne' 'Crer projet d'initialisation), ou Hors ligne dans le rpertoire de projet.

CoDeSys V2.3

4-11

Projet Options

Actions cachent les programmes: Cette option est active par dfaut ds qu'un nouveau projet est cr. Sa signification : si une action locale porte le mme nom qu'une variable ou un programme, l'excution s'effectue dans l'ordre ci-aprs : variable locale, action locale, variable globale, programme.
Attention: Si on ouvre un projet qui a t cr avec une version prcdente de CoDeSys, cette option est dsactive par dfaut. Ainsi, on garde la hirarchie qui a t applique lors de la cration (variable locale, variable globale, programme, action locale).

Compiler LREAL comme REAL: Si cette option est active (par dfaut, elle ne l'est pas), les valeurs LREAL sont traites comme des valeurs REAL lors de la compilation du projet. Cette option est utilise afin de dvelopper des projets indpendamment de la plate-forme. En spcifiant le Nombre de segments de donnes, vous pouvez dfinir la quantit de segments de mmoire rservs aux donnes de votre projet dans l'automate programmable. Cet espace est ncessaire pour pouvoir effectuer un changement En ligne lorsque des nouvelles variables ont t introduites. Si en cours de compilation le message "Les variables globales occupent trop de mmoire." apparat, augmentez le nombre de segments dfinis ici. Exclure des objets: Ce bouton donne accs au dialogue Exclure des objets de la compilation: Slectionnez au sein de l'arborescence affiche les modules du projet qui ne doivent pas tre compils lors d'une procdure de compilation, puis activez l'option Ne pas compiler. Les modules exclus de la compilation sont alors affichs en vert dans l'arborescence. Afin d'exclure automatiquement tous les modules qui ne sont pas utiliss au sein du projet, appuyez sur le bouton Exclure inutiliss. Version compilateur: La version du compilateur utiliser pour la compilation peut tre dfinie ici. Les versions CoDeSys postrieures V2.3.3 disposent de la version actuelle de compilateur ainsi que des versions prcdentes jusqu' V2.3.3 (pour chaque version / chaque Service Pack / chaque retouche). Si vous souhaitez qu'un projet soit toujours compil avec la version de compilateur la plus rcente, activez l'option Utiliser le plus actuel. Si le projet doit automatiquement tre compil avec une version prcise de compilateur, dfinissez celle-ci dans le champ de slection en regard de Dfinir. Pour agir sur le processus de compilation, deux macros peuvent tre utilises : La macro situe dans le champ Macro avant la compilation est excute avant la compilation, la macro situe dans le champ Macro aprs la compilation s'effectue aprs la compilation. Les commandes de macro ci-dessous ne peuvent cependant jamais tre excutes dans ce contexte : file new, file open, file close, file saveas, file quit, online, project compile, project check, project build, debug, watchlist. Tous les paramtres fixs dans la bote de dialogue des options de compilation sont enregistrs avec votre projet. Vrifier automatiquement: Afin de contrler l'exactitude smantique lors de chaque compilation du projet, vous pouvez activer les options ci-dessous : Variables inutilises Zones de mmoire superposes Accs concurrent Ecriture multiple sur la sortie Les rsultats seront affichs dans une fentre de messages. Ces contrles peuvent tre lancs de manire cible par le biais de l'instruction Vrifier dans le menu 'Projet'.
Remarque: Tous les rglages effectus au sein du dialogue des Options de compilation sont enregistrs en mme temps que le projet.

4-12

CoDeSys V2.3

4 - Les composants dans le dtail

Mots de passe Si vous slectionnez cette catgorie, vous obtenez la bote de dialogue suivante:
Bote de dialogue Options pour la catgorie Mots de passe

Pour protger vos donnes contre des accs non autoriss, CoDeSys vous donne la possibilit de scuriser l'ouverture et la modification de vos fichiers au moyen d'un mot de passe. Entrez le mot de passe voulu dans le champ Mot de passe. Une toile (*) apparat chaque fois que vous saisissez une lettre. Vous devez rpter ce mme mot au niveau du champ Confirmer mot de passe. Fermer la bote de dialogue par OK. Si le message "Le mot de passe et la confirmation ne concordent pas." apparat, vous avez fait une faute de frappe au cours d'une des entres. C'est pourquoi il est prfrable de rpter les deux saisies jusqu' ce que la bote de dialogue se ferme sans qu'un message n'apparaisse. Si maintenant vous ouvrez nouveau le fichier aprs l'avoir enregistr, une bote de dialogue apparat pour vous demander d'entrer le mot de passe. Le projet ne s'ouvre que lorsque vous avez saisi le mot de passe correct. Si ce n'est pas le cas, le message suivant apparat: "Le mot de passe est incorrect." Il vous est possible de protger l'aide d'un mot de passe non seulement l'ouverture mais aussi la modification d'un fichier. Pour ce faire, il faut effectuer une saisie dans le champ Mot de passe lecture seule, puis rpter cette saisie dans le champ du dessous. Un projet protg en criture peut tre ouvert sans mot de passe. Pour cela, appuyez simplement sur le bouton Annuler, si CoDeSys vous demande d'entrer le mot de passe lecture seule au moment d'ouvrir un fichier. Vous pouvez prsent compiler le projet, le charger dans l'automate programmable, procder une simulation, etc. Vous ne pouvez toutefois pas modifier le projet. Il est important que vous mmorisiez bien les deux mots de passe, cela va de soi. Au cas o vous auriez rellement oubli un mot de passe, veuillez vous adresser votre fabricant d'automate programmable. Les mots de passe sont enregistrs avec le projet. Pour crer des droits d'accs spcifiques, vous pouvez dfinir des niveaux d'accs et 'Projet' 'Mots de passe pour niveau d'accs'.

CoDeSys V2.3

4-13

Projet Options

Download Sourcecode Si vous slectionnez cette catgorie dans la bote de dialogue Options, vous obtenez la bote de dialogue suivante:
Bote de dialogue Options pour la catgorie Download Sourcecode

Vous pouvez choisir le Timing et le Degr d'enregistrement du projet dans l'automate programmable. Afin d'tre enregistres, les donnes sont comprimes. L'option Seulement code source concerne uniquement le fichier CoDeSys (Zusatz.pro). L'option Tous les fichiers englobe galement des fichiers supplmentaires, tels que les bibliothques lies au projet, les visualisations sous forme d'image bitmap, les fichiers de configuration, etc. Automatiquement au chargement du programme: Si cette option est active, la commande 'En Ligne' + `Lancer' vous permet de charger automatiquement dans l'automate programmable les fichiers correspondant au degr choisi. Message au chargement: Si cette option est active, la commande 'En Ligne' + `Lancer' vous permet d'accder une bote de dialogue avec l'interrogation suivante "Ecrire le code source dans l'automate programmable ?". Si vous appuyez sur Oui, les fichiers correspondant au degr slectionn sont chargs automatiquement dans l'automate programmable. Si vous appuyez en revanche sur Non, la bote de dialogue se referme. Automatiquement la cration du projet d'initialisation : Si cette option est active, la commande 'En Ligne' 'Crer projet d'initialisation' vous permet de charger automatiquement dans l'automate programmable les donnes choisies. Sur demande: Si cette option est active, les fichiers correspondant au degr choisi doivent tre chargs exprs dans l'automate programmable l'aide de la commande 'En Ligne' 'Application tlcharge du code source dans l'automate' Le projet stock dans l'automate programmable peut tre nouveau charg dans l'ordinateur l'aide de la commande 'Ouvrir projet de l'automate' dans le menu 'Fichier' + "Ouvrir fichier". Les donnes sont dcomprimes au moment du chargement. Configuration de symbole La bote de dialogue donne ici sert la configuration du fichier de symboles. Celui-ci est cr sous forme de fichier de texte <Nom du projet>.sym ou de fichier binaire <Nom du projet>.sdb (en fonction de la gateway utilise) dans le rpertoire du projet. Le fichier de symboles est ncessaire pour l'change de donnes avec l'automate programmable par le biais de l'interface de symboles, et est utilis par exemple par le serveur gateway OPC ou DDE. Si l'option Gnrer des entres de symboles est slectionne, des entres de symboles sont automatiquement cres dans le fichier des symboles chaque compilation de projet.

4-14

CoDeSys V2.3

4 - Les composants dans le dtail

Si en plus l'option Gnrer un tableau XML est active, une version XML du fichier des symboles est en outre cre. Celle-ci est cre dans le rpertoire du projet et est dnomme <Nom du projet>.SYM_XML. Pour la configuration des entres du fichier de symboles : Si l'option 'Configuration des symboles par fichier INI' est active dans la configuration du systme cible, la configuration des entres de symboles est lue partir de codesys.ini ou partir d'un autre fichier INI nomm en cet endroit. (La bote de dialogue CoDeSys 'Dfinir les attributs d'objets' n'est en aucun cas ditable.) Si l'option 'Configuration des symboles par fichier INI' n'est pas active, les entres de symboles sont cres selon les rglages que vous avez dfinis dans la bote de dialogue 'Dfinir les attributs d'objets'. Vous y parvenez par le biais du bouton Configurer un fichier de symbole :
Dialogue 'Dfinir les attributs d'objets' (in catgorie 'Configuration de symbole')

Slectionnez les modules de projet dans l'arborescence et activez les options souhaites dans la partie infrieure de la bote de dialogue en cliquant sur la (les) case(s) en regard. Les options actives sont munies d'un crochet. Les options suivantes sont possibles : Exporter les variables de l'objet : Les variables de l'objet slectionn sont reprises dans le fichier des symboles.

Les options suivantes ne valent que si l'option 'Exporter les variables de l'objet' est active: Exporter les entres des donnes: Des entres pouvant agir sur les variables globales sont cres pour les structures et tableaux de l'objet. Exporter les composants de structure: Pour les structures de l'objet, une entre propre est cre pour chaque composant de variable. Exporter les composants de champ: Pour les tableaux de l'objet, une entre propre est cre pour chaque composant de variable. Accs criture: Les variables de l'objet peuvent tre modifies partir du serveur OPC. Aprs que le rglage des options ait t effectu pour la slection de module en cours, vous pouvez sans devoir fermer la bote de dialogue avec OK - slectionner d'autres modules et leur attribuer une configuration d'options. Vous pouvez traiter autant de modules que vous le souhaitez les uns la suite des autres. Lorsque vous fermez la bote de dialogue l'aide du bouton OK, toutes les configurations effectues depuis l'ouverture de cette bote sont enregistres.

CoDeSys V2.3

4-15

Projet Options

Remarque: Notez qu'il est possible, l'aide de pragmas, de reprendre chaque variable de manire cible sans droit d'criture / de lecture dans le fichier de symboles, ou de ne pas les reprendre du tout.

Options pour le Base de donnes du projet Dans cette bote de dialogue, on dfinit si le projet doit tre gr dans une base de donnes du projet et si tel est Ie cas, on procde aux configurations ncessaires de l'interface ENI.
Options de la bote de dialogue de la catgorie Base de donnes du projet

Utiliser la base de donnes du projet (ENI): Activez cette option si vous souhaitez accder une base de donnes du projet par le biais dun serveur ENI, de faon traiter certains ou tous les modules se rapportant ce projet via cette base de donnes. Il faut pour ce faire que le serveur ENI et la base de donnes soient installs et que vous soyez dfini comme utilisateur dans chacun. Reportez vous cet effet la documentation du serveur ENI ainsi quau chapitre 7, 'L'interface CoDeSys-ENI'. Si cette option est active, les options de la base de donnes (check-in, dition) sont disposition pour chaque objet du projet. Dune part, certaines fonctions de la base de donnes seffectuent automatiquement, si cela a t configur en consquence dans les options de la bote de dialogue, et dautre part les commandes du menu 'Projet' 'Liaison avec la base de donnes' peuvent tre utilises pour un appel cibl des fonctions. En outre, un onglet 'Liaison la base de donnes' est disponible dans la bote de dialogue pour les Proprits, par lequel on peut attribuer une certaine catgorie de base de donnes un module.

Dposer de nouveaux objets automatiquement dans la base de donnes du projet: Vous devez procder ici un rglage standard : Si un objet est insr pour la premire fois dans le projet ('Insrer objet'), il est automatiquement class sous la Catgorie d'objets ici configure. Cette affectation est reproduite dans les caractristiques des objets ('Projet' 'Objet' 'Proprits') et peut galement y tre modifie pour lobjet. Voici les affectations possibles: Projet: Le module est cr dans le rpertoire de la base de donnes dfinie dans la bote de dialogue Configuration-ENI/Objets de projet sous 'Nom du projet'. Objets communs: Le module est gr dans le rpertoire de la base de donnes dfinie dans la bote de dialogue Configuration-ENI/Objets communs sous 'Nom du projet'. Local: Le module nest pas gr via ENI dans la base de donnes, mais est uniquement enregistr localement dans le projet. Outre 'Objets de Projet' et 'Objets communs', il existe une troisime Catgorie de base de donnes 'Fichiers de compilation' pour les objets crs seulement lors de la compilation dun projet et pour lesquels cette catgorie nest pas pertinente. Demander le type de nouveaux objets: Si cette option est active, la bote de dialogue 'Projet' 'Objet' 'Proprits' souvre chaque insertion dun nouvel objet dans le projet; vous pouvez

4-16

CoDeSys V2.3

4 - Les composants dans le dtail

slectionner dans cette bote de dialogue laquelle des trois catgories dobjets ci-dessus doit se rapporter au module. Vous pouvez ainsi craser le rglage standard 'Dposer de nouveaux objets automatiquement dans ...'

Configurer ENI...: Ce bouton nous mne aux rglages ENI qui ont t subdiviss en trois botes de dialogue. Les objets appartenant au projet et devant tre grs par la base de donnes peuvent tre attribus aux catgories de bases de donnes 'Objets de projet', 'Objets communs' ou 'Fichiers de compilation'. Pour chacune de ces catgories, les botes de dialogue des options des bases de donnes du projet ci-dessous dterminent le rpertoire dans lequel elles se trouvent et quelles valeurs par dfaut valent pour certaines fonctions de bases de donnes :

Dialogue Configuration ENI / Objets de Projet Dialogue Configuration ENI / Objets communs

Dialogue Configuration ENI / Fichiers de compilation


Veuillez noter : les objets sont en tout cas galement enregistrs localement - donc en mme temps que le projet.

Les botes de dialogue apparaissent lune la suite de lautre lors dune premire configuration, et un Assistant vous guide (via les boutons Suivant/Prcdent) tout au long de ces tapes. Les paramtres introduits dans la premire bote de dialogue sont repris dans les deux autres et il ne faut alors introduire que les diffrences par rapport ces paramtres. Si une configuration est dj disponible, les botes de dialogue sont reprises sous la forme de trois onglets dans la fentre. Si, avant la configuration, il ny a pas encore eu d'ouverture de session correcte la base de donnes, (Bote de dialogue d'ouverture de session via le menu 'Projet' 'Liaison avec la base de donnes' 'Login') une bote de dialogue d'ouverture de session souvre automatiquement cet effet. Options pour les Objets de Projet and les Objets communs Ces botes de dialogue font partie intgrante de la configuration des options pour la base de donnes du projet ('Projet' 'Options' 'Base de donnes du projet). On y dfinit les paramtres daccs des objets permettant la gestion des catgories 'Projet' et Objets communs' dans la base de donnes. Les deux botes de dialogue se composent des mmes points. (Une troisime bote de dialogue est disponible pour la configuration de la catgorie Fichiers de compilation). Liaison ENI Adresse TCP/IP: Port: Nom du projet: Adresse de lordinateur sur lequel le serveur ENI tourne. Valeur par dfaut : 80; doit correspondre aux rglages de la configuration du serveur ENI. Nom du rpertoire de la base de donnes, sous lequel les objets de la catgorie concerne devraient tre classs. Si le rpertoire existe dj dans la base de donnes, vous pouvez le slectionner dans larborescence des projet ENI, que vous obtenez via le bouton .... Si toutefois vous ntes pas encore identifi comme utilisateur ENI par le biais de la Bote de dialogue d'ouverture de session, cette mme bote de dialogue apparat ds que vous appuyez sur ce bouton; vous devez alors introduire vos Nom dutilisateur et Mot de passe permettant laccs ENI aux trois catgories de bases de donnes. Si cette option est active, vous ne pouvez accder aux donnes des rpertoires de base de donnes dfinis ici quen lecture seule.

Accs lecture seule

CoDeSys V2.3

4-17

Projet Options

Dialogue 'Objets de Projet' dans la catgorie 'Base de donnes du projet'

Appeler La fonction de base de donnes 'Appeler' (Menu 'Projet' 'Liaison avec la base de donnes' permet de copier la version en cours dun module hors de la base de donnes sur un projet ouvert localement, en crasant la version locale. Ceci se produit automatiquement, pour tous les modules modifis par rapport la version locale du projet activ et aux moments dsirs (marqu dun crochet) : Ouvrir au projet Tout de suite aprs des changements dans ENI Lorsque le projet est ouvert dans CoDeSys Au moment du check-in dune version plus rcente dans la base de donnes ; ce module est directement mis jour dans le projet ouvert, et un message adquat vous est alors donn.

Avant chaque compilation Avant chaque compilation dans CoDeSys Extraire La fonction de base de donnes 'Extraire' permet de marquer le module comme tant 'en traitement' et de le bloquer dautres utilisateurs, et ce jusqu ce quil soit nouveau libr par le biais du check-in ou de lannulation du check-out. Si loption Tout de suite au dbut d'un changement est active, le check-out dun module se produit automatiquement ds que son traitement lintrieur du projet a dbut. Si lobjet en question est inaccessible (check-out par un autre utilisateur, reconnaissable la prsence dune croix rouge devant le nom de lobjet dans lOrganisateur dobjet), un message vous est dlivr.

4-18

CoDeSys V2.3

4 - Les composants dans le dtail

Archiver La fonction de base de donnes 'Archiver' signifie quune nouvelle version de lobjet est cre dans la base de donnes. Les anciennes versions sont conserves. Voici les moments possibles: Enregistrer sous projet Apres compilation russite Si cette fonction est active, un check-in de chaque module modifi se produit automatiquement chaque sauvegarde du projet. Si cette fonction est active, un check-in de chaque objet modifi se produit aprs chaque compilation correcte du projet.

Loption Avec demande peut toujours tre active pour les points Appeler, Extraire et Archiver. Dans ce cas, un bote de dialogue saffiche avant que laction concerne ne soit excute, incitant lutilisateur confirmer ou interrompre cette action. Les diffrents points de la bote de dialogue 'Objets communs' correspondent ceux de la bote de dialogue dcrite plus haut 'Objets du Projet'. Les configurations valent pour tous les objets affects la catgorie 'Objets communs'. Les botes de dialogue apparaissent lune la suite de lautre lors dune premire configuration, et un Assistant vous guide (via les boutons Suivant/Prcdent) tout au long de ces tapes. Les paramtres introduits dans la premire bote de dialogue sont repris dans les deux autres et il ne faut alors introduire que les diffrences par rapport ces paramtres. Si une configuration est dj disponible, les botes de dialogue sont reprises sous la forme de trois onglets dans la fentre. Options pour les Fichiers de compilation se rapportant la base de donnes Cette bote de dialogue fait partie intgrante de la configuration des options pour la base de donnes du projet ('Projet' 'Options' 'Base de donnes du projet). On y dfinit la gestion des objets de la catgorie Fichiers de compilation dans la base de donnes. (En outre, deux autres botes de dialogue sont disposition pour dfinir les options des objets de la catgorie Projet et de la catgorie Objets communs.)
Dialogue Fichiers de compilation in catgorie 'Base de donnes du projet

Pour les champs Adresse TCP/IP, Port, Nom du projet, reportez-vous la bote de dialogue Objets du Projet/Objets communs.

CoDeSys V2.3

4-19

Projet Options

Crer une information de symboles ASCII (*.sym) Crer une information de symboles binaires (.sdb) Crer projet d'initialisation

Si cette option est active, tout fichier de symboles *.sym (format texte) ou *.sdb (format binaire) est aussi repris dans la base de donnes ds sa cration. Lors de la cration des symboles, les attributs dobjets configurs dans les options du projet sous la catgorie 'Configuration des symboles' restent valables. Si cette option est active, tout projet dinitialisation est aussi repris dans la base de donnes ds sa cration.

Les botes de dialogue apparaissent lune la suite de lautre lors dune premire configuration, et un Assistant vous guide (via les boutons Suivant/Prcdent) tout au long de ces tapes. Les paramtres introduits dans la premire bote de dialogue sont repris dans les deux autres et il ne faut alors introduire que les diffrences par rapport ces paramtres. Si vous appuyez sur Annuler, vous revenez sur la bote principale de dialogue, et les paramtres de longlet 'Fichiers de compilation' ne sont pas enregistrs. (Ceux qui avaient dj t effectus sous Objets du Projet et Objets communs sont cependant conservs.) Macros Si vous slectionnez cette catgorie dans la bote de dialogue 'Options', vous obtenez les botes de dialogue suivantes :
Options de la bote de dialogue de la catgorie Macros

Dans cette bote de dialogue, vous pouvez dfinir des macros partir du fichier des commandes de CoDeSys; ces macros peuvent alors tre appeles dans le menu 'Editer' 'Macros'. Veuillez procder comme suit pour dfinir de nouvelles macros : 1. Introduisez dans le champ de saisie Nom le nom de la macro crer. Aprs avoir appuy sur le bouton Nouveau, ce nom est repris dans la Liste des macros et y est slectionn. La liste des macros est organise en une arborescence. Les macros cres localement apparaissent lune sous lautre, et les bibliothques de macro ventuellement lies (voir ci-dessous) y apparaissent accompagnes du nom de fichier de bibliothque. Vous pouvez ouvrir ou fermer la liste des lments de la bibliothque par le biais du signe plus ou moins avant le nom de la bibliothque. 2. Dfinissez dans le champ Menu la dnomination de lentre de menu laquelle la macro est rattache dans le menu 'Editer' 'Macros'. Pour dfinir une lettre comme raccourci, il faut placer le symbole '&' avant cette lettre. Exemple : le nom "Ma&cro 1" produit lentre de menu "Macro 1".

4-20

CoDeSys V2.3

4 - Les composants dans le dtail

3. Introduisez maintenant dans le champ dditeur Commandes, les commandes se rapportant la macro marque dans la liste des macros. Toutes les commandes du mcanisme collectif et les mots-cls se rapportant celles-ci sont autoris(e)s, et vous pouvez en obtenir une liste par le biais du bouton Aide. Une nouvelle ligne dinstructions peut tre insre via <Ctrl><Entre>. Vous obtenez le menu contextuel avec toutes les fonctions dditeur littral par le biais du bouton droit de la souris. Les composantes de commande allant ensemble peuvent tre regroupes laide de guillemets. 4. Si vous souhaitez crer dautres macros, rptez les tapes 1 3 avant de confirmer laide du bouton OK et de fermer la bote de dialogue. Si vous souhaitez effacer une macro, slectionnez-la dans la liste des macros et appuyez sur la touche <Suppr>. Si vous souhaitez renommer une macro, slectionnez-la dans la liste des macros, donnez-lui un autre nom sous Nom et appuyez sur le bouton Renommer. Si vous souhaitez modifier une macro existante, slectionnez-la dans la liste des macros et ditez les champs menu et/ou instructions. Les changement sont enregistrs avec OK. En quittant la bote de dialogue avec OK, la version actuelle de la macro est sauvegarde dans le projet. Les entres de menu de macros apparaissent dans lordre selon lequel elles ont t dfinies dans le menu 'Editer' 'Macros'. Une vrification de la macro ne se produit que lors de dexcution de la commande du menu. Bibliothque des macros: Les macros peuvent tre enregistres dans des bibliothques externes de macros, et peuvent ainsi par exemple tre lies dautres projets. Cration dun bibliothque de macros constitue de macros du projet actuel : Appuyez sur le bouton Crer.... Vous obtenez la bote de dialogue 'Copier des objets' qui reprend toutes les macros disponibles. Marquez les macros souhaites et confirmez avec OK. Suite quoi la bote de dialogue pour la slection se referme et une nouvelle bote de dialogue 'Enregistrer la bibliothque des macros' souvre. Introduisez ici le nom et le chemin daccs de la bibliothque crer et appuyez sur le bouton Enregistrer. La bibliothque est ainsi cre sous <nom de la bibliothque >.mac, et la bote de dialogue se referme. Intgration de la bibliothque de macros <nom de la bibliothque>.mac dans le projet en cours dutilisation. Appuyez sur le bouton Inclure.... La bote de dialogue 'Ouvrir la bibliothque des macros' apparat, affichant automatiquement les seuls fichiers avec lextension *.mac. Slectionnez la bibliothque souhaite et appuyez sur le bouton Ouvrir. La bote de dialogue se referme et la bibliothque apparat sous forme darborescence reprenant la liste des macros.
Remarque : Les macros relatives un projet peuvent galement tre exportes ('Projet' 'Exporter').

4.3 Gestion de projets


Les commandes relatives un projet global se situent dans les menus 'Fichier' et 'Projet'. Voyez cet effet les chapitre suivant. 'Fichier' - 'Nouveau'
Icne :

Cette commande vous permet de crer un nouveau projet intitul 'Sans nom'. Lors de l'enregistrement, il faudra modifier ce nom.

CoDeSys V2.3

4-21

Gestion de projets

'Fichier' 'Nouveau de modle' Cette commande vous permet d'ouvrir un projet modle. Un dialogue s'ouvre vous permettant de slectionner un fichier de projet qui sera alors ouvert avec comme nom "Inconnu". 'Fichier' - 'Ouvrir'
Icne :

Cette commande vous permet d'ouvrir un projet existant. Lorsqu'un projet est dj ouvert et qu'il a t modifi, CoDeSys demande si vous souhaitez l'enregistrer ou non. La bote de dialogue Ouvrir s'affiche, dans laquelle vous devez slectionner un fichier de projet portant l'extension "*.pro" ou un fichier bibliothque portant l'extension "*.lib". Ces fichiers doivent exister, car la commande "Ouvrir" ne permet pas de crer un projet.
Bote de dialogue standard Ouvrir

Ouvrir le projet de l'automate Pour charger un projet d'un automate programmable, appuyez sur le bouton PLC dans Ouvrir le projet de l'automate. S'il n'existe pas encore de liaison avec l'automate programmable, vous accdez dans un premier temps la bote de dialogue Paramtres de communication (voir le menu 'En Ligne' 'Paramtres de communication') afin de configurer les paramtres de transmission. S'il existe dj une liaison en ligne, le logiciel vrifie si des fichiers de projet portant le mme nom figurent dj dans le rpertoire de votre ordinateur. Si c'est le cas, vous accdez la bote de dialogue Charger le projet de l'automate afin de dterminer si les fichiers locaux doivent tre remplacs par les fichiers utiliss dans l'automate programmable. (Ce processus est l'inverse du processus 'En Ligne' 'Application tlcharge du code source dans l'automate', grce auquel le fichier source du projet est enregistr dans l'automate. ne pas confondre avec 'Crer projet d'initialisation' !)
Remarque : Nous attirons votre attention sur le fait qu'un projet d'automate programmable qui est charg, ne possde pas encore de nom. Vous devez par consquent enregistrer le projet sous un nouveau nom. Si le systme cible le supporte, une 'Dsignation' saisie au sein des informations sur le projet sera automatiquement attribue comme nouveau nom de fichier. Dans ce cas, le dialogue de sauvegarde de fichier s'ouvrira automatiquement lors du chargement du projet partir de l'API, ce dialogue reprenant ce nom de fichier et vous demandant de le confirmer ou de le modifier.

Dans le cas o aucun projet n'a encore t charg dans l'automate programmable, le message d'erreur adquat est affich. (Se reporter pour cela la catgorie 'Sourcedownload' dans 'Projet' 'Options')

4-22

CoDeSys V2.3

4 - Les composants dans le dtail

Ouvrir projet du gestionnaire des ressources Cette option sert ouvrir un projet gr dans une base de donnes de projet ENI. Il faut pour ce faire avoir accs un serveur ENI qui sert de base de donnes. Utilisez tout d'abord le bouton ENI... afin d'ouvrir la bote de dialogue 'Objets de projet' permettant la connexion au serveur. Introduisez les Donnes d'accs adquates (Adresse TCP/IP, Port, Nom de l'utilisateur, Mot de passe, Accs lecture seule) et le rpertoire de la base de donnes (Nom du projet) hors duquel les objets de la base de donnes doivent tre appels, et confirmez avec Suivant. Suite quoi la bote de dialogue se referme et la bote de dialogue relative la catgorie 'Objets communs' s'ouvre. Introduisez ici aussi les donnes d'accs. Vous refermez la bote de dialogue et appelez automatiquement les objets du rpertoire concern avec Terminer. Vous pouvez maintenant procder aux configurations souhaites des options du projet, telles qu'elles vaudront pour le traitement ultrieur du projet. Si vous souhaitez continuer grer le projet dans le cadre de la base de donnes, configurez-le en consquence dans les botes de dialogue de la catgorie Base de donnes du projet. Les derniers projets utiliss En dessous de la commande 'Fichier' 'Quitter' sont affichs les derniers projets utiliss. Si vous en slectionnez un, il s'ouvre. Si l'accs au projet a t limit par des mots de passe ou des niveaux d'accs, une bote de dialogue s'affiche, dans laquelle vous devez entrer le mot de passe pertinent. 'Fichier' 'Fermer' Cette commande vous permet de fermer le projet actuellement ouvert. Si le projet a t modifi, CoDeSys demande si les modifications apportes doivent tre mmorises ou non. Lorsque le projet enregistrer est intitul "Sans nom", il convient de lui donner un nom (voir 'Fichier' 'Enregistrer sous'). 'Fichier' 'Enregistrer'
Icne : Raccourci : <Ctrl>+<S>

Cette commande permet d'enregistrer tout projet qui a subi des modifications. Lorsque le projet enregistrer est intitul "Sans nom", il convient de lui donner un nom (voir 'Fichier' 'Enregistrer sous'). 'Fichier' 'Enregistrer sous' Grce cette commande, vous pouvez stocker le projet actuel dans un autre fichier ou sous la forme d'une bibliothque. Cette opration n'a pas d'incidence sur le fichier de projet d'origine. Lorsque vous avez slectionn la commande, vous accdez la bote de dialogue pour l'enregistrement. Choisissez soit un Nom de fichier existant, soit entrez un nouveau nom et slectionnez le Type de fichier souhait. Dans le second cas, choisissez le type de fichier CoDeSys Projet (*.pro). En slectionnant le type de fichier Projet Version 1.5 (*.pro) ou Projet Version 2.0 (*.pro) ou Projet Version 2.1 (*.pro), ou Projet Version 2.2 (*.pro) le projet actuel est enregistr comme s'il avait t cr en version 1.5, 2.0, 2.1 ou 2.2) Attention, les donnes spcifiques la version 2.1 peuvent tre perdues! Mais le projet peut continuer tre gr en version 1.5, 2.0, 2.1 ou 2.2. Vous avez galement la possibilit d'enregistrer le projet actuel sous forme de bibliothque, de faon pouvoir l'utiliser dans d'autres projets. Choisissez le type de fichier Librairie interne (*.lib), si vous avez programm vos modules dans CoDeSys.

CoDeSys V2.3

4-23

Gestion de projets

Bote de dialogue Enregistrer sous

Choisissez le type de fichier Librairie externe (*.lib), lorsque vous voulez intgrer des modules qui ont t implments dans d'autres langages de programmation (p. ex. le langage C). Cela signifie qu'un fichier supplmentaire sera enregistr sous le nom de fichier de la bibliothque mais avec l'extension "*.h". Ce fichier est structur comme un fichier C-Header et comporte les dclarations de tous les modules, types de donnes et variables globales. Protection d'une bibliothque par l'attribution d'une licence : Si la bibliothque doit tre soumise une licence, les informations ncessaires relatives la licence peuvent lui tre adjointes. cet effet, il faut ouvrir la bote de dialogue 'Editer les informations relatives lattribution dune licence' par le biais du bouton Edit info de licence. Reportez-vous cet effet la description de la Gestion de licences . Pour terminer, cliquez sur OK. Le projet actuel est enregistr dans le fichier spcifi. Si le nouveau nom donn au fichier existe dj, un message vous demande si vous souhaitez remplacer le fichier concern. Lorsque vous enregistrez le fichier sous la forme d'une bibliothque, la totalit du projet est compile. En cas d'erreur, un message vous indique que, pour tre enregistr sous la forme d'une bibliothque, un projet ne doit comporter aucune erreur. Le projet n'est donc pas enregistr sous la forme d'une bibliothque. 'Fichier' 'Enregistrer archive/envoyer' Vous pouvez crer un fichier zip comprenant tous les fichiers relatifs un projet CoDeSys l'aide de cette commande. Ce fichier zip peut tre enregistr dans le systme de fichiers ou tre envoy directement par e-mail.
Veuillez noter: Cette fonction d'archivage ne convient pas pour rtablir des environnements de projets.

Elle sert tout simplement rsumer tous les fichiers appartenant au projet. Lorsqu'une archive est dcomprime, il faut adapter le chemin de chaque fichier l'environnement CoDeSys correspondant ! Aprs avoir excut cette commande, la bote de dialogue 'Enregistrer le fichier d'archives' s'ouvre.

4-24

CoDeSys V2.3

4 - Les composants dans le dtail

cran 'Enregistrer le fichier d'archives'

Les catgories de fichiers devant tre ajoutes au fichier d'archives du projet sont dfinies ici. Une catgorie est slectionne si la case en regard de cette catgorie est munie d'un crochet . Pour ce faire, il vous suffit de cliquer une fois dans la case ou de cliquer deux fois sur la dsignation de la catgorie. Pour chaque catgorie slectionne, tous les fichiers pertinents sont en principe copis dans le fichier zip (voir tableau ci-dessous). Pour certaines catgories cependant, vous pouvez procder une slection partielle. cet effet, vous disposez de la bote de dialogue 'Dtails' que vous pouvez ouvrir par le biais du bouton Dtails en regard.
Bote de dialogue 'Dtails' pour une slection cible de fichiers pour le fichier d'archives

La bote de dialogue 'Dtails' vous donne une liste de tous les fichiers disponibles dans cette catgorie. Activez ou dsactivez les fichiers souhaits : Les boutons Slectionner tout et Ne rien slectionner agissent sur tous les fichiers de la liste, un clic dans une case (ds)active le fichier en

CoDeSys V2.3

4-25

Gestion de projets

regard, de mme qu'un double-clic sur une entre. En outre, si une entre est marque, vous pouvez l'activer ou la dsactiver au moyen de la touche <Entre>. Lorsque vous fermez la bote de dialogue avec OK, la slection effectue est accepte. La configuration restera en mmoire jusqu' la cration dfinitive du fichier d'archives.

Dans la bote principale de dialogue 'Enregistrer les archives', on reconnat les catgories pour lesquelles une slection partielle a t effectue l'arrire plan gris de la case : .. Le tableau suivant vous indique quelles catgories de fichiers sont prdfinies et quels fichiers s'y rapportent :
Catgorie Fichiers s'y rapportant

Fichier de projet Bibliothques rfrences Informations compilation

<Nom du projet>.pro (le fichier de projet CoDeSys) *.lib, *.obj, *.hex (les bibliothques et, le cas chant, les fichiers .obj et .hex)

de *.ci (Informations au sujet de la dernire compilation), *.ri (Information au sujet du dernier tlchargement) <temp>.* (compilation temporaire et fichiers de tlchargement) galement pour la simulation Codesys.ini Registry.reg (Entres pour Automation Alliance, gateway et API; entres suivantes de la base de registres : HKEY_LOCAL_MACHINE\SOFTWARE\3S-Smart Software Solutions HKEY_LOCAL_MACHINE\SOFTWARE\AutomationAllianceO *.trg (Fichiers cibles en format binaire pour toutes les cibles installes) *.txt (Fichiers cibles en format texte pour toutes les cibles installes, si disponibles) Fichiers pour la configuration de l'automate (fichiers de configuration, fichiers d'outils, icnes, etc.) : p.ex. *.cfg, *.con, *.eds, *.dib, *.ico .... *.sdb, *.sym (informations relatives aux symboles cres partir du projet) *.log (Journal du projet) *.bmp (Images bitmap utilises dans les modules du projet et la visualisation) Fichiers de gateway : Gateway.exe, GatewayDDE.exe, GClient.dll, GDrvBase.dll, GDrvStd.dll, Ghandle.dll, GSymbol.dll, GUtil.dll, et le cas chant, d'autres DLL disponibles dans le rpertoire de la gateway.

Fichier INI Entres dans la registry

Fichier cible

Fichiers de configuration Fichiers de symbole Journal Fichiers de bitmap Gateway local

Pour ajouter d'autres fichiers votre guise dans le fichier d'archives, ouvrez la bote de dialogue Autres fichiers... via le bouton du mme nom.

4-26

CoDeSys V2.3

4 - Les composants dans le dtail

Bote de dialogue 'Autres fichiers' pour fichier d'archives du projet

Vous pouvez crer ici votre propre liste de fichiers. Ouvrez cet effet au moyen du bouton Ajouter... la bote de dialogue standard permettant d'ouvrir un fichier. Choisissez un fichier et confirmez avec Ouvrir. Ce fichier est alors inclus dans la liste de la bote de dialogue 'Autres fichiers'. Vous pouvez effacer une entre de la liste au moyen du bouton Effacer. Lorsque la liste est termine, fermez la bote de dialogue avec OK, et les entres seront sauvegardes jusqu' la cration du fichier zip. Pour ajouter un fichier Lisezmoi au fichier zip, appuyez sur le bouton Commentaire.... Une bote de dialogue du mme nom s'ouvre, contenant un champ d'dition. Vous pouvez introduire ici du texte votre guise. Lorsque vous refermez la bote de dialogue avec OK, un fichier Lisezmoi.txt est cre en mme temps que le fichier zip. Ce fichier Lisezmoi contient le texte que l'utilisateur a saisi ainsi que les ajouts automatiques de date de cration et numro de la version CoDeSys utilise. Gnrer le fichier zip : Lorsque vous avez procd toutes les configurations souhaites, le fichier zip peut tre cr par le biais de la bote principale de dialogue. Les boutons suivants sont disponibles: Enregistrer... cre et sauvegarde le fichier zip. Le dialogue standard pour la sauvegarde d'un dossier s'ouvre et vous pouvez indiquer l'endroit o ce fichier doit tre class. Par dfaut, ce fichier zip porte le nom <Nom du projet>.zip. Si vous appuyez sur Enregistrer, la cration du fichier d'archives dbute. Le droulement est accompagn d'un dialogue d'avancement et est consign dans la fentre de messages. Envoyer cre un fichier zip temporaire et gnre automatiquement un e-mail vide qui contient le fichier zip en annexe. Cette fonction implique une installation correcte du MAPI (Messaging Application Programming Interface). Alors que l'e-mail est cr, un dialogue d'avancement apparat et le droulement est consign dans la fentre de messages. Le fichier zip temporaire est effac ds qu'il est repris comme annexe de l'e-mail. Annuler :La bote de dialogue est ferme sans qu'il y ait cration de fichier zip, et les configurations effectues ne sont pas enregistres. 'Fichier' 'Imprimer'
Raccourci : <Ctrl>+<P>

Cette commande vous permet d'imprimer le contenu de la fentre active. Aprs avoir slectionn la commande, vous accdez la bote de dialogue Imprimer. Choisissez l'option souhaite ou configurez l'imprimante, puis cliquez sur OK. Le contenu de la fentre active s'imprime. Des impressions en couleurs sont possibles partir de tous les diteurs.

CoDeSys V2.3

4-27

Gestion de projets

Bote de dialogue Imprimer

Dans la bote de dialogue Imprimer, vous pouvez choisir la zone d'impression au niveau de Documentation du projet (soit Tout soit une slection de Pages explicitement indiques); pour ce qui est des objets, ils sont imprims dans leur totalit. Vous pouvez spcifier le Nombre de copies et imprimer dans un fichier. Le bouton Proprits permet d'ouvrir la bote de dialogue Configuration de l'imprimante. Vous pouvez dterminer la mise en page du document que vous souhaitez imprimer via la commande 'Configuration Documentation' du menu 'Fichier'. Pendant l'impression, une bote de dialogue vous indique le nombre de pages dj imprimes. Si vous fermez cette bote de dialogue, l'impression cesse la page suivante. Pour documenter l'ensemble de votre projet, utilisez la commande 'Projet' 'Documentation du projet'. Si vous souhaitez crer un document modle pour votre projet, dans lequel vous souhaitez introduire tous les commentaires relatifs aux variables utilises dans ce projet, ouvrez une liste globale de variables et utilisez la commande 'Extras' 'Crer document modle'. 'Fichier' 'Configuration Documentation' Cette commande vous permet de configurer les pages imprimes et donne accs la bote de dialogue affiche ci-dessous:
Bote de dialogue Configurations de documentation

4-28

CoDeSys V2.3

4 - Les composants dans le dtail

Vous pouvez entrer le nom du fichier dans lequel la configuration doit tre mmorise au niveau de la zone Fichier et lui donner l'extension ".dfr". Par dfaut, le modle est enregistr dans le fichier DEFAULT.DFR. Si vous souhaitez modifier une configuration existante, cliquez sur le bouton Parcourir pour rechercher le fichier souhait dans l'arborescence de rpertoires. De mme, vous pouvez choisir de faire commencer une nouvelle page pour chaque objet et une nouvelle page pour chaque sous-objet. Le bouton Configuration vous permet d'accder la configuration de l'imprimante. En cliquant sur le bouton Modifier, vous accdez au modle de configuration de la mise en page. Dans ce fichier, vous pouvez indiquer les numros de page, la date, le nom du fichier et du module ainsi que placer des graphiques et spcifier les zones dans lesquelles la documentation doit tre imprime. La surface de feuille prise en compte par la configuration de limprimante est hachure en rouge.
Fentre pour insrer des espaces rservs dans la mise en page

L'option 'Espace rserv' du menu 'Insrer' vous permet d'insrer un espace rserv. Vous avez le choix entre les cinq espaces rservs suivants (Page, Nom de module, Nom de fichier, Date, Contenu) et vous pouvez les placer sur la page en dessinant un rectangle. Ces espaces rservs ont les effets suivants:
Commande Espace rserv Effet

Page Nom de module Nom de fichier Date Contenu

{Page} {POUName} {FileName} {Date} {Content}

Impression du numro de la page actuelle. Impression du nom du module actuel. Impression du nom du projet. Impression de la date du jour. Impression du contenu du module.

En outre, vous pouvez insrer une image Bitmap l'aide de l'option 'Bitmap' du menu 'Insrer' (p. ex. le logo d'une socit). Pour cela, vous devez choisir le graphique insrer, puis tracer un nouveau rectangle sur la page l'aide de la souris. Il est possible d'insrer d'autres lments de visualisation (voir le manuel 'CoDeSys Visualisation'). Lorsque le modle a t modifi, CoDeSys demande, lors de la fermeture de la fentre, si vous souhaitez conserver ces modifications ou non.

CoDeSys V2.3

4-29

Gestion de projets

'Fichier' 'Quitter'
Raccourci : <Alt>+<F4>

Cette commande permet de quitter CoDeSys. Lorsqu'un projet est ouvert et que vous choisissez cette commande, le projet est ferm conformment la description faite dans la partie 'Fichier' - 'Enregistrer'. 'Projet' 'Compiler'
Raccourci : <F11>

Vous compilez le projet l'aide de 'Projet' 'Compiler'. La compilation est fondamentalement incrmentale, c.--d. les modules modifis sont seuls compils. Une compilation non incrmentale peut galement tre ralise partir de cette commande si vous avez auparavant excut la commande 'Projet' 'Rorganiser tout'. Pour les systmes cible supportant les changements En ligne, tous les modules du gestionnaire des objets devant tre chargs sur l'automate lors du prochain tlchargement sont marqus aprs la compilation d'une flche bleue. La compilation effectue par le biais de 'Projet' 'Compiler' s'effectue automatiquement si vous tes inscrit auprs de l'automate via 'En Ligne' 'Accder au systme'. La fentre de messages s'ouvre lors de la compilation, indiquant l'avancement de la compilation, les erreurs ventuellement apparues pendant l'opration, les avertissements, ainsi que les donnes relatives aux indices ou l'espace mmoire utilis (avec un nombre et un pourcentage). Les erreurs et les avertissements sont indiqus par des numros. Par le biais de F1, vous pouvez obtenir plus d'informations sur l'erreur marque.
Exemple de messages d'erreur et d'informations de compilation pouvant apparatre dans la fentre de messages d'un projet

Toutes les erreurs possibles sont rpertories dans l'annexe. En activant l'option Enregistrer avant la compilation dans la bote de dialogue Options, catgorie Charger & Enregistrer, le projet est enregistr avant la compilation.

4-30

CoDeSys V2.3

4 - Les composants dans le dtail

Remarque : Les rfrences croises sont cres pendant la compilation et sont mmorises dans les informations de compilation. Pour pouvoir utiliser les commandes 'Afficher diagramme d'appel', 'Afficher liste de rfrences croises' et les commandes 'Variables non-utilises', 'Accs concurrent' et 'Ecriture multiple sur la sortie' du menu 'Projet' 'Enregistrer modifications' , le projet doit tre nouveau compil aprs une modification.

'Projet' 'Compiler tout' linverse de la compilation incrmentale ('Projet' 'Compiler'), la commande 'Projet' 'Compiler tout' permet de compiler le projet dans son entiret. Cependant, toutes les informations relatives au tlchargement ne sont pas rejetes, comme cest le cas pour la commande 'Rorganiser tout'. 'Projet' 'Rorganiser tout' l'aide de cette commande, toutes les informations relatives au dernier tlchargement et la dernire compilation sont effaces. Aprs avoir slectionn cette commande, une bote de dialogue s'ouvre vous indiquant qu'un accs au systme ne sera pas possible sans nouveau tlchargement. Vous pouvez ici confirmer ou interrompre cette commande.
Remarque : Une ouverture de session aprs 'Rorganiser tout' n'est possible que si le fichier *.ri contenant les informations du projet relatives au dernier tlchargement a auparavant t renomm ou copi en dehors du rpertoire du projet (voir 'Charger les de download') et si ce mme fichier peut nouveau tre recharg explicitement avant l'ouverture de session.

'Projet' 'Charger les informations de download' l'aide de cette commande, vous pouvez nouveau charger de manire cible les informations de tlchargement partir d'un fichier *.ri. . . La bote de dialogue standard 'Ouvrir fichier' s'ouvre lors de cette commande. chaque tlchargement, et ventuellement (selon le systme cible) lors de la cration de tout projet d'initialisation en mode Hors ligne, les informations relatives au tlchargement sont automatiquement sauvegardes dans un fichier dnomm <Nom du projet><Identificateur cible>.ri et class dans le rpertoire du projet. Ces informations sont automatiquement charges chaque ouverture du projet et servent, d'une part, lors d'une nouvelle ouverture de session, vrifier si le projet correspond au projet qui vient d'tre ouvert sur l'automate (vrification d'identit) ; d'autre part, on vrifie pour quels modules le code gnr a t modifi. Seuls ces modules seront nouveau chargs lors d'un tlchargement dans les systmes supportant les changements en ligne. Ce fichier *.ri est ainsi une condition pralable un changement En ligne. Veuillez ds lors noter: La commande 'Projet' 'Rorganiser tout' efface automatiquement du rpertoire de projet le fichier *.ri appartenant ce mme projet, si bien qu'aucun changement En ligne ne soit ensuite possible, moins que le fichier *.ri n'ait t enregistr en un autre emplacement ou sous un autre nom et qu'il puisse nouveau tre charg de manire cible. 'Projet' 'Traduire dans d'autres langues' Cette option sert traduire ou visualiser le fichier de projet en cours d'utilisation dans une autre langue. Ceci se produit par la lecture d'un fichier de traduction cr partir du projet et complt l'aide d'un diteur littral avec des textes traduits dans la langue souhaite. Vous disposez pour ceci de sous-menus : Crer un fichier de traduction... Traduire projet... Montrer le projet traduit Commuter traduction

CoDeSys V2.3

4-31

Gestion de projets

'Projet' 'Crer fichier de traduction Cette commande du menu 'Projet' 'Traduire dans une autre langue' active une bote de dialogue 'Crer un fichier de traduction'.
Bote de dialogue pour la cration d'un fichier de traduction

Introduisez dans le champ Fichier de traduction: un chemin d'accs indiquant l'endroit o le fichier doit tre sauvegard. L'extension du fichier est par dfaut *.tlt, il s'agit un fichier texte. L'extension *.txt est galement possible, et mme recommande si par exemple le fichier doit tre trait par le biais de WORD ou EXCEL, vu que dans ces cas, les donnes sont disposes sous forme de tableau. S'il y a dj un fichier de traduction que vous souhaitez traiter, introduisez le chemin d'accs de ce fichier ou utilisez la bote de dialogue standard Windows permettant de slectionner un fichier par le biais du bouton Rechercher. Les informations suivantes provenant du projet peuvent tre donnes en option en plus du fichier de traduction remplacer ou modifier, de telle sorte que vous disposiez, dans ce fichier de traduction, de : Noms (p.ex. le titre 'Module' dans l'organisateur d'objets), Identificateurs, Chane de caractres, Commentaires, Textes de visualisation, Textes d'alarme. Des Informations sur la position par rapport ces lments de projets peuvent galement tre reprises. Si les options correspondantes sont pourvues d'un crochet, les informations sont reprises comme symboles linguistiques du projet en cours d'utilisation dans un nouveau fichier de traduction crer, ou ajoutes un fichier de traduction existant. Si l'option n'est pas slectionne, toutes les informations relatives la catgorie concerne sont effaces du fichier de traduction, quel que soit le projet d'o elles proviennent. Les textes de visualisation utiliss ici sont les lments de visualisation 'Texte' et 'Texte pour infobulle'.
Remarque : propos des textes de visualisation ('Texte' et 'Texte pour info-bulle'), il faut veiller ce qu'ils soient saisis dans la bote de dialogue des lments de visualisation entours de symboles "#" (p.ex. #texte#) de faon ce qu'ils puissent tre repris dans le fichier de traduction. (Voir cet effet le manuel 'CoDeSys Visualisation') Ces textes ne seront pas traduits par le biais de la commande 'Projet' 'Traduire dans une autre langue'. Un changement de langue pour la visualisation ne peut s'effectuer qu'en mode En ligne, en slectionnant la langue correspondante dans la bote de dialogue 'Extras' 'Configurations'.

Informations sur la position : l'aide des donnes Chemin d'accs au fichier, Module, Ligne, cellesci dcrivent la position du symbole linguistique mis disposition pour la traduction. Vous avez ici le choix entre trois options: Pas d'information: il n'y a pas d'informations de position gnres.

4-32

CoDeSys V2.3

4 - Les composants dans le dtail

Premire occurrence: La position de la premire occurrence de l'lment traduire est reprise dans le fichier de traduction. Tous: Toutes les positions auxquelles l'lment concern intervient dans le projet vous sont indiques. Si un fichier de traduction cr auparavant est dit et comporte plus d'informations de position que ceux mis disposition par la slection, celles-ci sont abrges en consquence ou entirement effaces, quel que soit le projet d'o elles ont t gnres.
Remarque : Par lment (symbole linguistique), on ne peut gnrer qu'un maximum de 64 informations sur la position, mme si l'utilisateur a slectionn 'Tous' sous la rubrique "Informations sur la position" dans la bote de dialogue du fichier de traduction.

Ecraser: Toutes les informations existantes sur la position dans le fichier de traduction en cours de traitement sont crases, quel que soit le projet d'o elles ont t gnres. Langages cible: Cette liste contient des dsignations pour toutes les langues comprises dans le fichier de traduction ou qui doivent tre reprises aprs avoir ferm la bote de dialogue 'Crer fichier de traduction'. Le bouton Exclure ouvre la bote de dialogue 'Exclure les librairies'. Vous pouvez slectionner ici, dans la liste des bibliothques associes au projet, toutes celles dont les identificateurs ne sont pas repris dans le fichier de traduction. L'entre concerne est slectionne l'aide de la souris dans le tableau de gauche Bibliothques inclues et ajoute la liste dans le tableau de droite Bibliothques exclues l'aide du bouton Ajouter. De la mme manire, le bouton Effacer permet d'effacer une entre slectionne droite. La configuration est confirme avec OK et la bote de dialogue se referme.
Bote de dialogue permettant d'exclure des informations venant de certaines bibliothques dans l'laboration du fichier de traduction

Le bouton Ajouter ouvre la bote de dialogue 'Ajouter une langue cible':


Bote de dialogue permettant l'ajout d'une langue cible (Projet, Traduire dans une autre langue)

Un identificateur de langue doit tre saisi dans le champ d'dition, et celui-ci ne peut contenir un espace au dbut ou la fin ou encore un trma (, , ). Vous refermez la bote de dialogue avec OK, et la nouvelle langue cible apparat dans la liste des langues cibles.

CoDeSys V2.3

4-33

Gestion de projets

Le bouton Effacer permet d'effacer l'entre slectionne de la liste. Vous pouvez galement confirmer la bote de dialogue 'Crer un fichier de traduction' l'aide du bouton OK de manire gnrer un fichier de traduction. S'il y a dj un fichier de traduction du mme nom, une demande de scurit apparat tout d'abord, vous incitant rpondre par oui ou par non :
"Le fichier de traduction donn existe dj. Il va tre modifi en consquence, et une copie de scurit du fichier existant dj sera ralise. Voulez-vous continuer ?"

Non permet de revenir la bote de dialogue 'Crer un fichier de traduction' sans modification. Si Oui a t choisi, une copie du fichier de traduction existant dj est ralise, portant le nom "Backup_of_<Fichier de traduction>.xlt" et classe dans le mme rpertoire, et le fichier de traduction concern est modifi conformment aux options slectionnes. Lors de la cration d'un fichier de traduction : Pour chaque nouvelle langue cible, un espace rserv (&bdquo;##TODO") est gnr pour chaque symbole linguistique affich. Si vous traitez un fichier de traduction dj existant, les entres dans le fichier relatives aux langues prsentes dans le fichier de traduction mais non reprises dans la liste des langues-cibles sont effaces, quel que soit le projet d'o elles ont t gnres. Edition du fichier de traduction Le fichier de traduction est ouvrir et sauvegarder sous forme de fichier texte. Les symboles ## identifient des mots-cls. Les espaces rservs ##TODO dans le fichier peuvent tre remplacs par les textes de traduction adquats. Un extrait dlimit par ##NAME_ITEM et ##END_NAME_ITEM est cr pour chaque symbole linguistique (Pour les commentaires, ##COMMENT_ITEM et ainsi de suite). Reportez-vous lexemple ci-dessous dun extrait du fichier de traduction relatif au nom dun module utilis dans le projet : ST_Visualisierung. Les langues cibles anglais (USA) et franais sont prvues. Dans cet exemple, les informations sur la position pour llment de projet traduire sont inclus : avant la traduction :
##NAME_ITEM [D:\CoDeSys\projects\Bspdt_22.pro::ST_Visualisierung::0] ST_Visualisierung ##English :: ##TODO ##French :: ##TODO ##END_NAME_ITEM

aprs la traduction : les traductions en anglais et en franais de 'Visualisierung' ont t introduites en lieu et place de #TODO :
##NAME_ITEM [D:\CoDeSys\projects\Bspdt_22.pro::ST_Visualisierung::0] ST_Visualisierung ##English :: ST_Visualization ##French :: ST_Visu ##END_NAME_ITEM

Il faut veiller ce que les identificateurs ou noms traduits restent valables et corrects selon la norme, et que les chanes de caractres et commentaires restent inclus entre les guillemets. Dans le cas dun commentaire (##COMMENT_ITEM), repris dans le fichier de traduction avec "(* Commentaire 1 )", le "##TODO' doit tre remplac par un "(* Commentaire 1 *)", et dans le cas dune chane de caractres (##STRING_ITEM), "'chane de caractres1'" par "'texte1'".
Remarque : Les parties suivantes dun fichier de traduction ne devraient pas tre modifies sans connaissances pralables approfondies : bloc linguistique, bloc de drapeaux, informations sur la position, textes originaux.

4-34

CoDeSys V2.3

4 - Les composants dans le dtail

'Projet' 'Traduire projet' Cette commande du menu 'Projet' 'Traduire dans une autre langue' active une bote de dialogue 'Traduire le projet dans une autre langue'.
Bote de dialogue pour la traduction du projet dans une autre langue

Le projet en cours d'utilisation peut tre traduit dans une autre langue moyennant l'utilisation d'un fichier de traduction valable.
Remarque: Si vous souhaitez conserver le projet dans la version linguistique originale, faites une copie de ce projet sous un autre nom avant la traduction. Un processus de traduction n'est pas rversible. Veuillez noter cet gard la possibilit d'uniquement visualiser le projet dans une autre langue, cette visualisation ne permettant pas une dition de ce projet.

Indiquez dans le champ Fichier de traduction le chemin d'accs du fichier de traduction utiliser. Grce Rechercher, vous obtenez une bote de dialogue standard Windows permettant la slection d'un fichier. Sous Langue cible, vous obtenez une liste des langues disponibles dans le fichier de traduction vous permettant de choisir la langue cible. OK dbute la traduction du projet en cours d'utilisation l'aide du fichier de traduction indiqu dans la langue cible slectionne. Lors de la traduction, un dialogue d'avancement apparat en mme temps que les messages d'erreur ventuels. Aprs la traduction, la bote de dialogue se referme ainsi que toutes les fentres d'diteur du projet. Annuler ferme la bote de dialogue sans aucune modification du projet en cours d'utilisation. Si le fichier de traduction contient des donnes incorrectes, un message d'erreur apparat aprs avoir appuy sur OK, reprenant le chemin d'accs du fichier et la ligne incorrecte, par exemple : "[C:\Programme\CoDeSys\projets\visu.tlt (78)]; texte de traduction attendu". Montrer le projet traduit Si un fichier de traduction existe pour le projet, il est possible d'afficher une des versions traduites sans pour autant craser le projet dans sa version linguistique originale. (Veuillez noter cette possibilit en plus de la possibilit de traduction "effective" du projet, cette dernire disposant des commandes 'Traduire le projet dans une autre langue' et 'Traduire le projet'.) La commande 'Afficher le projet traduit' du menu 'Projet' 'Traduire dans une autre langue' donne accs au dialogue 'Montrer le projet traduit'.
Bote de dialogue pour montrer le projet traduit

CoDeSys V2.3

4-35

Gestion de projets

Indiquez dans le champ Fichier de traduction le chemin d'accs du fichier de traduction utiliser. Grce Rechercher..., vous obtenez une bote de dialogue standard Windows permettant la slection d'un fichier. Le champ Langue cible vous donne une liste de slection proposant, outre l'entre de <Langue d'origine>, les dsignations des langues contenues dans le fichier de traduction. La langue d'origine est celle qui est actuellement enregistre avec le projet. Elle ne change que lorsque vous excutez l'instruction 'Projet' 'Traduire'. Choisissez maintenant une des autres langues proposes puis fermez le dialogue via OK. Le projet sera alors affich dans la langue que vous aurez slectionne, mais il ne sera cependant pas ditable dans cette visualisation ! Pour revenir la langue d'origine, vous pouvez utiliser la commande 'Commuter traduction'. Commuter traduction Si vous avez transform, par le biais de la commande 'Montrer le projet traduit', l'affichage du projet (protg en criture) dans une autre langue disponible dans le fichier de traduction, la commande 'Commuter traduction' du menu 'Projet' 'Traduire dans une autre langue' vous permet de passer de cette version traduite la version originale (ditable) et vice-versa. 'Projet' 'Documentation du projet' Cette commande vous permet d'imprimer une documentation relative l'ensemble de votre projet.
Bote de dialogue Documenter le projet

Une documentation complte se compose des lments suivants: les modules, le contenu de la documentation, les types de donnes,

4-36

CoDeSys V2.3

4 - Les composants dans le dtail

les visualisations, les ressources (variables access, variables globales, configuration des variables, histogramme, configuration de l'automate, configuration des tches, gestionnaire d'espion et des recettes), les diagrammes d'appel des modules et des types de donnes, ainsi que la liste des rfrences croises.
Pour les deux derniers points, la compilation du projet doit avoir eu lieu sans erreur.

Les zones slectionnes apparaissant en bleu dans la bote de dialogue sont imprimes. Si vous souhaitez slectionner la totalit du projet, slectionnez le nom du projet figurant sur la premire ligne. Par contre, si vous souhaitez slectionner un objet unique, cliquez sur l'objet concern ou dplacez, l'aide des touches directionnelles, le rectangle trac en pointill sur l'objet souhait. Les objets dont le symbole est prcd du caractre "+" sont des objets d'organisation contenant d'autres objets. En cliquant sur le caractre "+", l'objet d'organisation s'ouvre; en cliquant sur le caractre "" qui apparat alors, il se ferme. Lorsque vous slectionnez un objet d'organisation, tous les objets qui en font partie sont slectionns dans le mme temps. En maintenant la touche <Maj> enfonce, vous pouvez slectionner un bloc d'objets; la touche <Ctrl> permet de slectionner plusieurs objets sparment. Aprs avoir effectu votre slection, cliquez sur OK. La bote de dialogue Imprimer s'affiche. Vous dfinissez la prsentation des pages imprimer l'aide de la commande 'Fichier' 'Configuration Documentation'. 'Projet' 'Exporter' CoDeSys permet d'exporter ou d'importer des projets. Cette fonctionnalit vous donne la possibilit d'changer des programmes entre diffrents systmes de programmation CEI. Jusqu' prsent, les modules en langage IL, ST et SFC ont un format d'change standard (il s'agit du format 'Common Elements' de la norme CEI 61131-3). Pour les modules en langage LD et FBD et les autres objets, CoDeSys propose un format de stockage propre, car la norme CEI 61131-3 ne dispose pas de format textuel pour ces units et objets. Les objets slectionns sont enregistrs dans un fichier ASCII. Il est possible d'exporter les modules, les types de donnes, les visualisations et les ressources. Il est possible en outre d'exporter les entres provenant du gestionnaire des bibliothques, c.--d. les informations relatives aux liens vers les bibliothques (pas les bibliothques elles-mmes !).
Attention:La rimportation d'un module FBD ou LD choue si, dans l'diteur graphique, un commentaire contient un guillemet simple ('), ce dernier tant interprt comme le dbut d'une chane de caractres!

Aprs avoir effectu votre slection dans la bote de dialogue, (pour la slection, procdez comme pour 'Projet' 'Documentation du projet'), cliquez sur OK. La bote de dialogue Enregistrer s'affiche. Nommez le fichier en lui attribuant l'extension ".exp". 'Projet' 'Importer' Slectionnez le fichier d'exportation souhait dans la bote de dialogue Ouvrir qui s'affiche. Les donnes sont importes dans le projet actuel. S'il existe un objet du mme nom dans le projet, une bote de dialogue s'ouvre et affiche la question suivante: "Remplacer l'objet existant?": Si vous rpondez Oui, l'objet existant est remplac par celui du fichier d'importation; si vous rpondez Non, le nouvel objet garde le nom de l'objet existant, lequel est complt par un caractre de soulignement et un numro ("_0", "_1", ..). L'option Oui, tout ou Non, tout effectue la mme opration pour l'ensemble des objets. Si linformation relative un lien vers une bibliothque est importe, la bibliothque en question est charge dans le gestionnaire des bibliothques et ajoute la fin de la liste. Si la bibliothque dj t charge dans le projet, elle nest pas nouveau charge. Si cependant un autre moment de sauvegarde pour la bibliothque est indiqu dans le fichier dexportation qui est import, le nom de la bibliothque dans le gestionnaire des bibliothques sera caractris par un "*" (p.ex. standard.lib*30.3.99 11:30:14), comme cest le cas avec le chargement dun projet. Si la bibliothque

CoDeSys V2.3

4-37

Gestion de projets

ne peut tre trouve, la bote de dialogue ci-dessous vous informe : "Impossible de trouver la bibliothque {<chemin daccs>\}<nom> <date> <heure>", comme cest le cas avec le chargement dun projet. La fentre de messages consigne l'opration. 'Projet' 'Extras' 'Importer un fichier Siemens' Le sous-menu 'Importer un fichier Siemens' propose des commandes destines l'importation de blocs et de variables contenus dans les fichiers Siemens STEP5 et STEP7. Les commandes suivantes sont proposes: Importer un fichier SEQ Importer un fichier S5 Pour plus d'informations sur l'importation de fichiers Siemens, reportez-vous chapitre Appendice G, 'Siemens-Import'. 'Projet' 'Comparer' Cette commande permet de comparer deux projets, ou de comparer la version actuelle du projet ouvert avec celle qui a t enregistre en dernier lieu. Aperu : Dfinitions: Projet en cours : Projet actuellement en cours de traitement :

Projet de comparaison : Projet appel pour la comparaison Mode de comparaison : Le projet est prsent sous ce mode aprs slection de la commande. Unit : Plus petite unit de comparaison pouvant se composer dune ligne (diteur de dclaration, ST, IL), dun rseau (FBD, LD) ou dun lment/module (CFC,SFC).

Dans le mode de comparaison, le projet en cours et le projet de comparaison sont confronts dans une fentre scinde en deux parties, et les modules tant diffrent sont marqus dune couleur. Dans le cas de modules dditeur, les contenus sont galement directement confronts. Avant le processus de comparaison, des filtres relatifs la prise en compte despaces et de commentaires peuvent tre activs. Vous pouvez en outre dterminer si, en mode de comparaison, les changements intervenant lintrieur dunits qui subsisteront doivent tre reprsents tels quels, ou si les units diffrentes doivent tre marques comme 'nouveau' ou 'plus disponible'. La version du projet de comparaison peut tre reprise dans le projet en cours soit par units individuelles diffrentes, soit par blocs entiers identifis comme identiques.
Veuillez noter : Tant que le mode de comparaison est activ (voir dans la barre d'tat : COMPARE), le projet ne peut tre dit !

Raliser un Comparaison de projets Aprs slection de la commande, la bote de dialogue 'Comparaison des projets' s'ouvre. Introduisez le chemin d'accs du Projet comparer. Le bouton ouvre la bote de dialogue standard permettant l'ouverture d'un fichier que vous pouvez utiliser comme aide lors du choix du projet. Lorsque le nom du projet en cours a t saisi, la version actuelle de ce projet est compare avec la dernire sauvegarde du mme projet. Si le projet est gr au sein d'une base de donnes ENI, il vous est possible de comparer la version de la base de donnes ouverte au niveau local avec la version actuelle de la base de donnes. Activez pour ce faire l'option Comparer au projet ENI.

4-38

CoDeSys V2.3

4 - Les composants dans le dtail

Bote de dialogue pour la comparaison de projets

Vous pouvez (ds)activer les Options suivantes en relation avec la comparaison : Ignorer les espaces : Aucune diffrence n'est annonce en rapport avec le nombre d'espaces. Ignorer les commentaires :Aucune diffrence n'est annonce en rapport avec les commentaires. Ignorer les caractristiques: Aucune diffrence n'est annonce en rapport avec les caractristiques des objets. Opposer les changements :Si cette option est active : Pour une unit au sein d'un module qui n'a pas t efface ou ajoute mais simplement modifie, la version du projet de comparaison est oppose directement la version du projet en cours grce la fentre scinde en deux du mode de comparaison (marquage en rouge, voir ci-dessous). Si cette option est dsactive : L'unit concerne est reprsente comme 'plus disponible' dans le projet de comparaison et comme 'nouveau' dans le projet en cours (voir ci-dessous) et n'est donc pas directement oppose. Reportez-vous cet effet l'exemple sur la page suivante dans lequel la ligne 0005 du projet en cours diffre (partie gauche de la fentre).
Exemple pour 'Opposer les changements'

Lorsque vous fermez la bote de dialogue de comparaison du projet avec OK, la comparaison s'effectue selon les rglages.

CoDeSys V2.3

4-39

Gestion de projets

Visualisation des rsultats de la comparaison Les rsultats sont tout dabord affichs sous la forme dune arborescence (Aperu du projet) partir de laquelle des modules individuels peuvent tre ouverts de faon visualiser les diffrences au niveau du contenu. 1. Aperu du projet en mode de comparaison : Lorsque la procdure de comparaison des projets est termine, une fentre scinde en deux parties souvre, reprsentant larborescence du projet en mode de comparaison. Vous pouvez lire dans la barre de titre : "Comparaison de projets <Chemin daccs du projet en cours> - <Chemin daccs du projet de comparaison>". La partie gauche de la fentre affiche le projet en cours, la partie droite le projet de comparaison. Laperu du projet indique en position suprieure le nom du projet et correspond par ailleurs la structure de lOrganisateur dobjets :
Exemple, Projet en mode de comparaison

Les modules qui prsentent des diffrences sont affichs ombrs et sont caractriss par la couleur du texte ou par lajout dun texte : Rouge : une unit qui a t modifie est reprsente en rouge dans les deux parties de la fentre. Bleu : unit disponible uniquement dans le projet en cours; un vide est introduit ce mme emplacement dans larborescence du projet de comparaison. Vert : unit disponible uniquement dans le projet de comparaison ; un vide est introduit ce mme emplacement dans larborescence du projet en cours. Noir : unit pour laquelle aucune diffrence na t constate. "(Proprits changes)" : Ce texte apparat derrire le nom dun module dans larborescence du projet en cours lorsque des diffrences ont t constates dans les proprits du module. "(Droits d'accs modifis)" : Ce texte apparat derrire le nom dun module dans larborescence du projet en cours lorsque des diffrences ont t constates dans les droits daccs. 2. Contenu des modules en mode de comparaison : Vous ouvrez le module concern laide dun double-clic sur la ligne dans laperu du projet. Sil sagit dun module texte ou graphique modifi (rouge), il sera ouvert dans une fentre scinde en deux parties. Le contenu du module dans le projet de comparaison ( droite) sera oppos celui du projet en cours, comme ctait le cas dans laperu du projet. Les diffrences constates seront reprsentes avec les mmes couleurs que celles utilises ci avant.

4-40

CoDeSys V2.3

4 - Les composants dans le dtail

Exemple de module en mode de comparaison

Sil ne sagit pas dun module diteur, mais bien par exemple dune configuration de tche, de configurations du systme cible, etc., le module du projet en cours ou le module du projet de comparaison sera ouvert dans une propre fentre selon que vous cliquiez sur la partie gauche ou droite de laperu du projet. Pour ces modules de projet, il ny a pas dautre diffrenciation au niveau du contenu. Travailler en mode de comparaison Si, dans la fentre scinde en deux parties, le curseur se trouve sur une ligne indiquant une diffrence, le menu 'Extras' ou le menu contextuel (bouton droit de la souris) offre une slection des commandes suivantes, selon que lon se trouve au niveau de laperu du projet ou lintrieur dun module : `Prochaine diffrence' `Diffrence prcdente' `Accepter les parties changes' `Accepter lment chang' `Accepter les caractristiques' 'Accepter les droits d'accs' 'Extras' 'Prochaine diffrence'
Icne : <F7>

Le curseur se dplace jusqu lemplacement suivant (ligne dans laperu du projet/ligne ou rseau dans le module) indiquant une diffrence.

CoDeSys V2.3

4-41

Gestion de projets

'Extras' 'Diffrence prcdente'


Icne : <Maj><F7>

Le curseur se dplace vers lemplacement prcdent (ligne dans laperu du projet/ligne ou rseau dans le module) indiquant une diffrence. 'Extras' 'Accepter les parties changes'
Icne : <Ctrl> <Espace> : Accepter les parties changes ou Accepter changement

Pour toutes les units allant ensemble (p.ex. des lignes conscutives) et tant caractrises par la mme modification, la version du projet de comparaison est reprise dans le projet en cours. Les units concernes apparaissent alors dans la partie gauche de la fentre dans la couleur adquate. Sil sagit dune unit qui tait marque en rouge (modification l'intrieur), la reprise dans le projet en cours est indique par la couleur jaune. 'Extras' 'Accepter lment chang'
Icne : <Ctrl> <Espace> : (uniquement dans laperu du projet)

La version du projet de comparaison nest reprise dans le projet en cours que pour lunit de comparaison sur laquelle le curseur se trouve actuellement (p.ex. ligne dans laperu du projet, ou ligne/rseau dans les modules). Lunit concerne apparat alors dans la partie gauche de la fentre dans la couleur adquate. Sil sagit dune unit qui tait marque en rouge (modification l'intrieur), la reprise dans le projet en cours est indique par la couleur jaune. 'Extras' 'Accepter les caractristiques' (uniquement dans laperu du projet) Pour le module sur lequel le curseur se trouve actuellement, les caractristiques du module provenant du projet de comparaison seront reprises dans le projet en cours. 'Extras' 'Accepter les droits d'accs ' (uniquement dans laperu du projet) Pour le module sur lequel le curseur se trouve actuellement, les droits daccs du module provenant du projet de comparaison seront reprises dans le projet en cours. 'Projet' 'Copier' Cette commande permet de copier dans votre projet des objets (modules, types de donnes, visualisations et ressources) ainsi que des liens vers des bibliothques contenus dans d'autres projets. Lorsque vous slectionnez cette commande, la bote de dialogue standard Ouvrir s'affiche, si vous avez slectionn un fichier, puis une autre bote de dialogue s'ouvre, dans laquelle vous pouvez slectionner les objets souhaits. La slection est effectue de la mme faon que pour 'Projet' 'Documentation du projet'. S'il existe dj un objet portant le mme nom dans le projet, le nouvel objet garde le nom de l'objet existant, lequel est complt par un caractre de soulignement et un numro ("_1", "_2" ...). 'Projet' 'Informations sur le projet' Grce cette option, vous pouvez mmoriser des informations relatives votre projet. Cette commande donne accs la bote de dialogue suivante:

4-42

CoDeSys V2.3

4 - Les composants dans le dtail

Bote de dialogue Info sur le projet

Les donnes suivantes sont les informations relatives au projet: Nom de fichier Rpertoire (avec chemin) Date de la dernire modification (Date du dernier changement) Ces donnes ne peuvent pas tre modifies. En outre, vous pouvez entrer diverses informations: un Titre pour le projet
Veuillez noter : Pour autant que cela soit support par le systme cible, la dsignation saisie ici est automatiquement
propose comme nom de fichier ds que le projet est nouveau charg dans CoDeSys via la fonction 'Fichier' 'Ouvrir' 'Ouvrir le projet de l'automate programmable' (provoquant dans ce cas l'ouverture du dialogue d'enregistrement de fichier).

le nom de l'Auteur, le numro de la Version, et une Description du projet. Ces donnes sont optionnelles. Lorsque vous cliquez sur le bouton Statistique, vous obtenez une description statistique du projet. Cette description contient les donnes reprises dans la bote de dialogue Info sur le projet, ainsi que le nombre de Modules, de Types de donnes, de Variables locales et de Variables globales, tels qu'ils ont t enregistrs lors de la dernire compilation.

CoDeSys V2.3

4-43

Gestion de projets

Exemple de statistique de projet

Vous pouvez appuyer sur le bouton Infos relatives la licence ... s'il s'agit d'un projet CoDeSys qui a dj t enregistr comme module soumis licence par le biais de la commande 'Fichier' 'Enregistrer sous...'. Vous obtenez dans ce cas la bote de dialogue de 'Editer informations relatives l'attribution d'une licence', dans laquelle vous pouvez modifier ou effacer les informations relatives cette licence. Voyez cet effet : 'Gestion des licences dans CoDeSys'. Si vous slectionnez l'option Demander de l'information sur le projet dans la catgorie Ouvrir & Fermer de la bote de dialogue Options, les informations sur le projet sont automatiquement appeles lors de l'enregistrement d'un nouveau projet ou de l'enregistrement d'un projet sous un nouveau nom. 'Projet' 'Recherche globale' Cette commande vous permet de rechercher un texte dans les modules, les types de donnes ou les objets des variables globales. Lorsque la commande a t appele, une bote de dialogue s'affiche, dans laquelle vous pouvez slectionner les objets souhaits. La slection est effectue de la mme faon que pour 'Projet' 'Documentation du projet'. Aprs avoir cliqu sur OK pour confirmer votre choix, la bote de dialogue Rechercher s'affiche. Si un texte est trouv dans un objet, ce dernier est charg dans l'diteur auquel il est li et le lieu o il a t dcouvert est affich. Pour ce qui est de l'affichage du texte trouv ainsi que de la recherche et de la poursuite de la recherche, ils sont analogues la commande 'Rechercher' du menu 'Editer'. Aprs avoir cliqu sur OK pour confirmer votre choix, la bote de dialogue standard permettant la recherche s'affiche. Celle-ci souvre directement si la commande 'Recherche globale' a t appele via le symbole dans la barre des menus, et la recherche se rapporte automatiquement toutes les parties du projet pouvant faire lobjet dune recherche. Les dernires recherches introduites peuvent tre slectionnes via la zone de liste modifiable du champ Rechercher. Si un texte est trouv dans un objet, ce dernier est charg dans l'diteur ou le gestionnaire de bibliothques auquel il est li et le lieu o il a t dcouvert est affich. Pour ce qui est de l'affichage du texte trouv ainsi que de la recherche et de la poursuite de la recherche, ils sont analogues la commande "Rechercher" du menu "Editer". Si vous slectionnez le bouton Fentre de messages, tous les endroits o la suite de caractres recherche est utilise dans les objets slectionns sont numrs ligne par ligne sous forme de tableau dans une fentre de messages. Le nombre doccurrences trouves est donn la fin. Si la fentre de messages ntait pas ouverte, elle est affiche. Par emplacement trouv, les donnes suivantes sont affiches :

4-44

CoDeSys V2.3

4 - Les composants dans le dtail

Nom dobjet Emplacement dans la partie de dclaration (Dcl) ou dans la partie dimplmentation (Impl) dun module Numro de ligne ou de rseau Ligne complte dans le cas des diteurs littraux Unit de texte complte dans le cas des diteurs graphiques
Fentre des messages avec affichage des rsultats de recherche

Si, dans la fentre de messages, vous excutez un double-clic sur une ligne avec la souris ou si vous enfoncez la touche <Entre>, alors lditeur de lobjet souvre. La ligne concerne de lobjet est marque. Vous pouvez parcourir rapidement les lignes daffichage au moyen de la touche de fonction <F4> ou <Maj> + <F4>. 'Projet' 'Remplacer globalement' Cette commande vous permet de rechercher un texte dans les modules, les types de donnes ou les objets des variables globales et de le remplacer par un autre. Pour ce qui est de la manipulation et de la procdure, elles sont identiques celles dcrites dans la partie 'Projet' - 'Recherche globale' ou 'Editer' - 'Remplacer'. Cependant, une slection des bibliothques nest pas propose et il ny a pas daffichage possible dans la fentre de messages. 'Projet' 'Vrifier tout' Grce cette commande, vous pouvez ouvrir un sous-menu comprenant les commandes suivantes permettant de contrler l'exactitude smantique du projet : Variables inutilises Zones de mmoire superposes Accs concurrent Ecriture multiple sur la sortie Les rsultats seront affichs dans une fentre de messages. Chacune de ces fonctions contrle l'tat de la dernire compilation. Le projet doit donc avoir t compil au moins une fois sans erreurs avant d'effectuer un contrle, sans quoi les options de menu s'en trouvent inhibes .
Remarque: Ces contrles peuvent galement tre configurs dans les options de projet, catgorie Options de compilation, de telle sorte qu'ils soient automatiquement effectus chaque compilation.

Variables inutilises Cette fonction recherche des variables qui sont dclares mais non utilises dans le programme. Elles sont affiches avec le nom du module et la ligne, par exemple : PLC_PRG (4) var1. Les variables contenues dans des bibliothques ne sont pas prises en compte. Zones de mmoire imbriques Cette fonction vrifie sil ny a pas de recoupements dans certaines zones de mmoire lors de laffectation de variables via une dclaration AT. titre dexemple, il y a un recoupement de par

CoDeSys V2.3

4-45

Gestion de projets

laffectation des variables "var1 AT %QB21: INT" et "var2 AT %QD5: DWORD", puisquelles ont loctet 21 de commun. L'affichage ressemble alors ceci : %QB21 est rfrenc par les variables suivantes: PLC_PRG (3): var1 AT %QB21 PLC_PRG (7): var2 AT %QD5 Accs concurrent Cette fonction recherche des zones de mmoire d'adresses CEI qui sont rfrences dans plus d'une tche. Il n'est pas fait de diffrence entre l'accs en lecture ou l'accs en criture. L'affichage ressemble ceci : %MB28 est rfrenc dans les tches suivantes : Task1 - PLC_PRG (6): %MB28 [accs lecture seule] Task2 - POU1.ACTION (1) %MB28 [accs en criture] Ecriture multiple sur la sortie Cette fonction recherche des zones de mmoire auxquelles on accde en criture partir de plusieurs endroits au sein dun projet. titre dexemple, l'affichage ressemble ceci : %QB24 est accd en criture aux emplacements suivants : PLC_PRG (3): %QB24 PLC_PRG.POU1 (8): %QB24 Niveaux d'accs Le systme CoDeSys permet de configurer jusqu' huit niveaux d'accs pour les modules, types de donnes, visualisations et ressources. Les droits d'accs peuvent tre accords pour la totalit des objets ou pour certains d'entre eux. A chaque fois qu'un projet est ouvert, cette ouverture se fait avec un niveau d'accs dtermin. Ce niveau d'accs est protg par un mot de passe. Les niveaux d'accs sont numrots de 0 7, le niveau 0 dtenant les droits de l'administrateur, c.-d. ceux de dfinir les mots de passe et les droits d'accs pour tous les niveaux ou objets. Lors de la cration d'un nouveau projet, aucun mot de passe n'est dfini. Tant qu'aucun mot de passe n'a t dfini pour le niveau 0, l'utilisateur entrant dans le projet est automatiquement considr comme utilisateur appartenant au niveau 0. Lorsqu'un mot de passe est dfini pour le niveau 0 au moment du chargement du projet, tous les niveaux doivent introduire un mot de passe pour ouvrir le projet concern. Pour cela, la bote de dialogue suivante s'affiche:
Bote de dialogue Mot de passe pour niveau d'accs

Indiquez le niveau auquel vous appartenez dans la zone de liste modifiable Niveau d'accs situe dans la partie gauche de la bote de dialogue, et tapez le Mot de passe correspondant dans la partie droite de la fentre. Cliquez sur OK. Lorsque le mot de passe ne concorde pas avec celui mmoris, le message suivant s'affiche:
Le mot de passe est incorrect."

Le projet ne s'ouvre qu'avec le mot de passe correct.


Attention : Si des mots de passe ne sont pas attribus tous les groupes de travail, un projet peut tre ouvert par un groupe de travail auquel aucun mot de passe na t attribu.

4-46

CoDeSys V2.3

4 - Les composants dans le dtail

La commande 'Mots de passe pour niveau d'accs' vous permet dattribuer des mots de passe et la commande 'Objet' 'Droits d'accs' attribue les droits pour les objets individuels ou pour la totalit dentre eux. 'Projet' 'Mot de passe pour niveau d'accs' Cette commande permet d'ouvrir la bote de dialogue Changer mot de passe pour niveau d'accs. Il n'est accessible qu'aux membres du niveau 0. Cette commande donne accs la bote de dialogue suivante:
Bote de dialogue Changer mot de passe pour niveau d'accs

Vous pouvez slectionner le niveau dans la zone de liste modifiable Niveau d'accs situe dans la partie gauche de la fentre. Tapez le mot de passe correspondant au niveau choisi dans la zone Mot de passe. Une toile (*) apparat chaque fois que vous saisissez une lettre. Confirmez-le en le tapant nouveau dans la zone Confirmer mot de passe. Fermez ensuite la bote de dialogue en cliquant sur OK. Si le message Le mot de passe et la confirmation ne concordent pas." apparat, vous avez fait une faute de frappe au cours d'une des entres. C'est pourquoi il est prfrable de rpter les deux saisies jusqu' ce que la bote de dialogue se ferme sans qu'un message n'apparaisse. Vous pouvez ensuite ventuellement saisir un mot de passe pour le niveau infrieur en appelant nouveau la commande. Il est possible d'attribuer des droits pour les objets individuels ou tous les objets l'aide de 'Objet' 'Droits d'accs'
Attention : Si des mots de passe ne sont pas attribus tous les groupes de travail, un projet peut tre ouvert par un groupe de travail auquel aucun mot de passe na t attribu.

La commande 'Mots de passe pour niveau d'accs' vous permet dattribuer des mots de passe et la commande 'Objet' 'Droits d'accs' attribue les droits pour les objets individuels ou pour la totalit dentre eux. 'Projet' 'Liaison la base de donnes' Cet lment de menu est disponible lorsque loption 'Utiliser la base de donnes du projet (ENI)' des options du projet, catgorie Base de donnes du projet est active. Elle mne un sous-menu avec les commandes pour la gestion de lobjet ou du projet dans la base de donnes en cours dutilisation relie via l'interface ENI. Login (ouverture de session de lutilisateur auprs du serveur ENI) Lorsquun objet est marqu dans lOrganisateur dobjets et que la commande 'Liaison la base de donnes' est slectionne du menu contextuel (bouton droit de la souris), les fonctions correspondantes de la base de donnes peuvent tre appeles pour cet objet par le biais des commandes prsentes. Au cas o aucune ouverture de session na t faite pour lutilisateur auprs de ENI via la bote de dialogue Ouverture de session-Base de donnes, cette dernire souvre tout dabord et la commande nest excute quaprs authentification de l'utilisateur. Dinir Dernire version

CoDeSys V2.3

4-47

Gestion de projets

Check out Check in Annuler check out Afficher les diffrences Afficher l'histoire de la version Si la commande 'Liaison la base de donnes' a t slectionne dans le Menu 'Projet', dautres options de menu saffichent, relatives tous les objets du projet : Dfinition multiple Dernires versions Check out multiple Check in multiple Annuler le check-out multiple Historique de la version du projet Attribuer un nom la version Insrer les objets commun Actualiser le statut
Prsentation des tats des objets relatifs la gestion dans la base de donnes du projet dans lOrganisateur dobjets :

Icne ombr en gris : lobjet est gr dans la base de donnes. Crochet vert devant le nom de lobjet : check-out de lobjet hors du projet CoDeSys ouvert actuellement. Croix rouge devant le nom de lobjet : check-out actuel de lobjet par un autre utilisateur. <R> aprs le nom de lobjet : vous ne pouvez accder lobjet quen lecture seule. Veuillez noter : Certains objets (configuration des tches, configuration de lhistogramme, configuration de lautomate, configuration du systme cible, gestionnaire despion et de recettes) sont en principe munis dun <R> tant quils nont pas encore subi de check-out. Ceci signifie quil ny aura pas la question automatique "Check-out de lobjet ?" quand on dbute ldition de lobjet; cela ne veut pas ncessairement dire quun accs en criture est interdit. Le fait que cet accs ne soit pas possible est reconnaissable au fait que le commande de check-out nest pas slectionnable.

4-48

CoDeSys V2.3

4 - Les composants dans le dtail

Dfinir Commande : 'Projet' 'Liaison avec la base de donnes' 'Dfinir' Nous allons dterminer si lobjet marqu dans lOrganisateur dobjets doit tre gr dans la base de donnes ou uniquement localement (au sein du projet). cet effet, une bote de dialogue souvre dans laquelle vous pouvez choisir entre les deux catgories de base de donnes 'Projet' ou 'Objets communs', ou la catgorie 'Local'. Voir galement cet effet Catgories au sein de la base de donnes du projet. Les icnes de tous les objets qui sont grs dans la base de donnes apparaissent ombrs en gris dans lOrganisateur dobjets. Dernire version Commande : 'Projet' 'Liaison avec la base de donnes' 'Dernire version' La version actuelle de lobjet marqu dans lOrganisateur dobjets est extraite de la base de donnes et remplace la version locale. Contrairement au check-out - voir ci-dessous -, lobjet dans la base de donnes nest pas bloqu au traitement par dautres utilisateurs. Check out Commande : 'Projet' 'Liaison avec la base de donnes' 'Check out' Lobjet marqu dans lOrganisateur dobjets subit un check-out hors de la base de donnes et est alors bloqu au traitement par dautres utilisateurs. A lappel de cette commande, la bote de dialogue 'Extraire objet' souvre. Vous pouvez introduire un commentaire qui sera enregistr dans lhistorique de lobjet dans la base de donnes en mme temps que la procdure de check-out. Aprs avoir confirm la bote de dialogue avec OK, lobjet ayant subi un check-out dans lOrganisateur dobjets est caractris par la prsence dun crochet devant le nom du module, il apparat pour les autres utilisateurs marqu dune croix rouge et ne peut donc pas tre trait par ces autres utilisateurs. Check in Commande : 'Projet' 'Liaison avec la base de donnes' 'Check in' Lobjet marqu dans lOrganisateur dobjets subit un check-in dans la base de donnes. Une nouvelle version de lobjet est ainsi cre dans la base de donnes. Les anciennes versions sont conserves. A lappel de cette commande, la bote de dialogue 'Archiver lobjet' souvre. Vous pouvez introduire un commentaire qui sera enregistr dans lhistorique de lobjet dans la base de donnes en mme temps que la procdure de check-in. Aprs la confirmation de la bote de dialogue avec OK, le crochet vert devant le nom du module disparat de lOrganisateur dobjets. Annuler check out Commande : 'Projet' 'Liaison avec la base de donnes' 'Annuler check out' Le check-out de lobjet marqu dans lOrganisateur dobjets et les changements effectus localement au sein de cet objet sont annuls. Aucune bote de dialogue napparat. Lobjet demeure inchang et est nouveau libr pour les autres utilisateurs dans la base de donnes. La croix rouge devant le nom du module dans lOrganisateur dobjets disparat. Afficher les diffrences Commande : 'Projet' 'Liaison avec la base de donnes' 'Afficher les diffrences' Le module en cours de traitement dans CoDeSys est prsent en une fentre scinde en deux parties opposant la version locale en cours de traitement la dernire version actuelle de la base de donnes. Les diffrences entre les deux versions sont reprsentes visuellement comme lors de la comparaison de projets (voir 'Projet' 'Comparer').

CoDeSys V2.3

4-49

Gestion de projets

Afficher l'histoire de la version Commande : 'Projet' 'Liaison avec la base de donnes' 'Afficher l'histoire de la version' Une bote de dialogue 'Historique de la version <Nom d'objet>' souvre, numrant toutes les versions de lobjet en cours de traitement et qui ont fait lobjet dun check-in ou ont t tiquetes. Cette bote de dialogue comprend :
Dialogue 'Historique de la version

Version : Numrotation des versions de lobjet ayant subi un check-in, par ordre chronologique et en fonction de la base de donnes. Les versions tiquetes ne reoivent pas de numro de version, mais sont caractrises par une icne dtiquette. Utilisateur : nom de lutilisateur qui a effectu laction sur lobjet Date : date et heure de laction Action : type daction qui a t effectue sur lobjet. Dpendant de la base de donnes, par exemple 'cr' (lobjet a subi un premier check-in dans la base de donnes), 'check-in' ou tiquet avec <label>' (cette version de lobjet a t pourvue dun identificateur) Les boutons : Fermer : la bote de dialogue se referme Afficher : la version marque dans le tableau est ouverte dans une fentre dans CoDeSys. Vous pouvez lire dans la barre de titre : ENI: <Nom du projet dans la base de donnes>/<Nom d'objet> Dtails : La bote de dialogue 'Dtails de l'historique de la version' souvre : Fichier, Nom (rpertoire du projet et du nom de lobjet dans la base de donnes), Version (voir cidessus), Date (voir ci-dessus), Utilisateur (voir ci-dessus), Commentaire (commentaire introduit lors du check-in ou de ltiquetage). Les boutons Prochain ou Prcdent permettent de sauter aux dtails de lentre prcdente ou suivante dans le dialogue 'Historique de la version...'. Dernire version : La version marque dans le tableau est charge de la base de donnes de CoDeSys et remplace la version locale.

Afficher les diffrences : Si une seule version de lobjet est marque dans le tableau, la commande a pour effet de comparer cette version avec la version actuelle de la base de donnes. Si deux versions sont marques, celles-ci sont compares. Les diffrences sont reprsentes dans une fentre scinde en deux parties comme avec la comparaison de projets.

Remettre zro la version : la version marque dans le tableau est tablie comme version actuelle de la base de donnes. Les versions introduites ultrieurement sont effaces ! Ceci peut tre utilis pour rtablir une version antcdente et ltablir comme version actuelle.

4-50

CoDeSys V2.3

4 - Les composants dans le dtail

Seulement des noms : Si cette option est active, seules les versions pourvues dune tiquette apparaissent la slection dans le tableau. Bote de slection sous loption 'Seulement des noms' : Les noms de tous les utilisateurs ayant dj effectu des actions de base de donnes sur les objets du projet sont repris ici. Slectionnez 'Tous' ou un seul des noms afin de visualiser lhistorique de version des objets traits soit par tous les utilisateurs soit par un utilisateur particulier. Dfinition multiple Commande : 'Projet' 'Liaison avec la base de donnes' 'Dfinition multiple' laide de cette commande, vous pouvez dterminer, pour plusieurs objets du projet en cours dutilisation en mme temps, dans quelle catgorie de base de donnes ils seront grs. La mme fentre de dialogue 'Proprits de l'objet' que pour la commande 'Dfinir' apparat tout dabord. Choisissez-y la catgorie souhaite et fermez cette bote de dialogue avec OK. Suite quoi la bote de dialogue 'Slection ENI' souvre, numrant les modules du projet pertinents pour la catgorie concerne (par exemple, si vous avez choisi la catgorie 'Ressources', les modules ressources du projet seront proposs la slection). La reprsentation correspond larborescence utilise pour lOrganisateur dobjets. Marquez les modules souhaits et confirmez avec OK. Dernires versions Commande : 'Projet' 'Liaison avec la base de donnes' 'Dernires versions' Pour le projet ouvert, la version actuelle de tous les objets de la catgorie projet sont prises de la base de donnes. Si des objets ont t ajouts dans la base de donnes, ceux-ci seront galement introduits localement, et si des objets ont t effacs de la base de donnes, ceux-ci ne seront pas effacs localement, mais bien classs automatiquement dans la catgorie 'Local'. Pour les objets provenant de la catgorie Ressources, ne sont prises (appeles) de la base de donnes que les objets qui sont dj crs dans le projet local. Pour la signification de lappel, reportez-vous la commande 'Dernire version' Check out multiple Commande : 'Projet' 'Liaison avec la base de donnes' 'Check out multiple' Plusieurs objets peuvent en mme temps faire lobjet dun check-out. cet effet, la bote de dialogue 'Slection ENI' souvre, numrant les modules du projet comme dans larborescence de lOrganisateur dobjets. Marquez les modules qui doivent faire lobjet dun check-out, et confirmez avec OK. Pour la signification du check-out, reportez-vous la commande 'Check out'. Check in multiple Commande : 'Projet' 'Liaison avec la base de donnes' 'Check in multiple' Plusieurs objets peuvent en mme temps faire lobjet dun check-in. La procdure est la mme que pour le check-out multiple. Pour la signification du check-in, reportez-vous la commande 'Check in'. Annuler le check-out multiple Commande : 'Projet' 'Liaison avec la base de donnes' 'Annuler le check-out multiple' Vous pouvez annuler le Check-out pour plusieurs objets en mme temps. La slection seffectue comme pour le 'Check-out multiple' ou le 'Check in multiple'. Historique de la version du projet Commande 'Projet' 'Liaison avec la base de donnes' 'Historique de la version du projet' Choisissez cette commande pour visionner lhistorique de la version du projet en cours. Vous obtenez alors la bote de dialogue 'Historique de la version du <Nom du projet dans la base de donnes>', reprenant une liste chronologique de toutes les actions (cration, check-in, tiquetage) pour tous les objets appartenant au projet. Le nombre de ces objets est indiqu derrire lHistorique de la version du projet. Pour lutilisation du dialogue, voir ci-dessous sous le point 'Afficher l'histoire de la version', pour les objets individuels notez cependant ce qui suit :

CoDeSys V2.3

4-51

Gestion de projets

La commande 'Remettre zro la version' ne sapplique qu' des objets individuels La commande 'Dernire version' signifie que tous les objets provenant de la version du projet marque au tableau sont reprises dans le projet local. Ceci a pour effet que les objets locaux sont crass avec des versions prcdentes. Les objets locaux qui ntaient pas encore contenus dans cette ancienne version du projet ne sont cependant pas effacs de la version locale. Attribuer un nom la version Commande : 'Projet' 'Liaison avec la base de donnes' 'Attribuer un nom la version' Cette commande sert regrouper ltat actuel des objets sous une seule dsignation, ce qui permettra prcisment dappeler cet tat ultrieurement. Une bote de dialogue 'tat du projet de <Nom du projet dans la base de donnes>' souvre. Saisissez une tiquette (label) pour le statut du projet et de manire optionnelle un commentaire. Si vous confirmez avec OK, la bote de dialogue se referme et la dsignation ainsi que laction de ltiquetage ("dsign par...") apparaissent dans le tableau de lhistorique de la version dun objet individuel aussi bien que de la version du projet. Une version tiquete ne reoit pas de numro de version, mais est caractrise par une icne dtiquette dans la colonne 'Version'. Si loption 'Seulement des noms' est active, les versions tiquetes sont seules affiches.
Dialogue 'tiqueter projet <Nom du projet>'

Insrer les objets communs Commande : 'Projet' 'Liaison avec la base de donnes' 'Insrer les objets communs' Cette commande sert intgrer dans le projet ouvert localement dautres objets de la catgorie 'Objets communs' disponibles dans la base de donnes. Pour les objets de la catgorie 'Projet', ceci nest pas ncessaire puisque lors de la commande 'Dernires versions', tous les objets de la base de donnes en cours dutilisation sont automatiquement chargs dans le projet local, mme ceux qui ny avaient pas encore t crs. Pour les objets de la catgorie 'Objets communs' cependant, la commande 'Dernires versions' ne prend en compte que les objets dj intgrs au projet.
Dialogue 'Balayer ENI'

Insrez un objet supplmentaire comme suit : La commande ouvre une bote de dialogue 'Balayer ENI' dans laquelle tous les objets de la base de donnes du projet sont numrs, celle-ci tant identifie par le rpertoire du projet indiqu gauche.

4-52

CoDeSys V2.3

4 - Les composants dans le dtail

Choisissez la ressource souhaite et appuyez sur OK ou double-cliquez dessus. Ainsi, lobjet est insr dans le projet ouvert localement. Actualiser le statut Commande : 'Projet' 'Liaison avec la base de donnes' 'Actualiser le statut' Cette commande actualise laffichage dans lOrganisateur dobjets de faon reprsenter le statut actuel des objets en rapport la base de donnes. Login Cette commande ouvre la bote de dialogue d'ouverture de session par laquelle lutilisateur doit ouvrir une session au serveur ENI pour chaque catgorie de base de donnes, de faon obtenir une connexion du projet vers chaque base de donnes. Les donnes daccs doivent tre connues par le serveur ENI (Administration ENI, User Management) et, le cas chant, par la gestion des utilisateurs de la base de donnes. Aprs excution de la commande, la bote de dialogue d'ouverture de session pour la catgorie 'Objets de projet' souvre en premier lieu. Les points suivants y sont affichs : Host : Adresse du serveur ENI (Hte), telle quelle apparat galement dans Options du projet / catgorie Base de donnes du projet, dans le champ 'Adresse TCP/IP'. Projet : Nom du projet dans la base de donnes (voir galement dans les options du projet, catgorie 'Base de donnes du projet', champ 'Nom du projet') Introduisez le Nom de lutilisateur et le mot de passe dans la zone Lgitimation. Si vous souhaitez accder en tant quutilisateur anonyme, laissez le champ 'Nom de' vide. Appuyez sur OK pour confirmer la saisie. Suite quoi la bote de dialogue pour les 'Objets du projet' se referme et la bote de dialogue d'ouverture de session pour les 'Objets communs' souvre. Saisissez ici galement les donnes correctes daccs, confirmez avec OK et procdez encore de mme pour la troisime bote de dialogue d'ouverture de session, souvrant pour la catgorie 'Fichiers de compilation'. La bote de dialogue d'ouverture de session souvre automatiquement ds que vous tentez daccder une base de donnes sans vous y avoir auparavant authentifi comme dcrit ci-dessus.
Remarque : Si vous souhaitez que les donnes daccs la base de donnes soient enregistres avec le projet, activez loption 'Enregistrer les donnes daccs ENI' dans les options de projet, catgorie 'Charger et Enregistrer'.
Dialogue 'Login'

CoDeSys V2.3

4-53

Gestion des objets

4.4 Gestion des objets


Objet Sont considrs comme "objets" les modules, les types de donnes, les visualisations et les ressources (variables acces, variables globales, configuration des variables, histogramme, configuration de l'automate, configuration des tches, administration d'espion et des recettes). Une partie des dossiers rajouts pour la structuration du projet sont galement inclus. L'ensemble des objets d'un projet se situent dans l'Organisateur d'objets. Lorsque vous laissez un court instant le pointeur de la souris au-dessus d'un module dans l'Organisateur d'objets, le type de module dont il s'agit (programme, fonction ou bloc fonctionnel) apparat dans une info-bulle. Des symboles supplmentaires avant ou aprs les entres dobjets caractrisent certains statuts concernant les Fonctions En Ligne et la Connexion ENI vers une base de donnes. La fonction Glisser-Dplacer (Drag&Drop) vous permet de dplacer des objets (ainsi que les dossiers, voir 'Dossiers') au sein de leur type d'objet. Pour cela, slectionnez l'objet et placez-le l'endroit souhait en maintenant le bouton gauche de la souris enfonc. Si une double appellation se produit suite un dplacement, llment qui vient dtre introduit est clairement diffrenci par lajout dun numro courant (p.ex. "Objet_1"). Dossier Pour obtenir une vue d'ensemble de projets de grande envergure, il convient de regrouper les modules, les types de donnes, les visualisations et les variables globales dans des dossiers. Les dossiers peuvent avoir un nombre illimit de niveaux d'imbrication. Lorsque le symbole du dossier ferm est prcd d'un signe + , cela signifie que ce dossier contient des objets et/ou d'autres dossiers. En cliquant sur le signe +, le dossier s'ouvre, laissant apparatre les objets subordonns. En qui apparat alors, le dossier se ferme. Le menu contextuel propose les cliquant sur le signe commandes 'Dvelopper' et 'Rduire' qui rpondent la mme fonctionnalit. La fonction Glisser-Dplacer (Drag&Drop) vous permet de dplacer les objets ainsi que les dossiers au sein de leur type d'objet. Pour cela, slectionnez l'objet et placez-le l'endroit souhait en maintenant le bouton gauche de la souris enfonc.
Remarque : Les dossiers n'exercent aucune influence sur le programme. Ils servent simplement donner un aperu structur de votre projet.
Exemple de dossiers dans l'Organisateur d'objets

'Nouveau dossier' Cette commande permet d'insrer un nouveau dossier en tant qu'objet de rangement. Si un dossier est slectionn, le nouveau dossier est cr en dessous du dossier slectionn, sinon il est plac au

4-54

CoDeSys V2.3

4 - Les composants dans le dtail

mme niveau ce dernier. Si une action est slectionne, le nouveau dossier est cre au niveau du module auquel laction appartient. Pour afficher le menu contextuel de l'Organisateur d'objets qui propose cette commande, il faut slectionner l'objet ou le type d'objet et appuyer sur le bouton droit de la souris ou effectuer la combinaison de touches <Majuscule>+<F10>. Le dossier qui vient dtre introduit obtient le nom 'Nouveau dossier'. Veuillez respecter les conventions suivantes en matire de noms de dossiers : Les dossiers se trouvant sur le mme niveau hirarchique doivent porter des noms diffrents. Les dossiers se trouvant des niveaux diffrents peuvent porter le mme nom. Un dossier ne peut avoir le mme nom quun objet qui se trouve au mme niveau. Sil y a dj un dossier avec le nom 'Nouveau dossier' sur le mme niveau, tout dossier obtenant le mme nom se voit attribuer en plus un numro courant (par exemple Nouveau dossier 1"). Il est impossible de renommer un dossier daprs un nom dj existant. 'Dvelopper' 'Rduire' La commande 'Dvelopper' permet de faire apparatre les objets placs sous l'objet slectionn, tandis que le commande 'Rduire' permet de les faire disparatre. Vous pouvez faire apparatre ou disparatre des dossiers en double-cliquant dessus ou en appuyant sur la touche <Entre>. Pour afficher le menu contextuel de l'Organisateur d'objets qui propose cette commande, il faut slectionner l'objet ou le type d'objet et appuyer sur le bouton droit de la souris ou effectuer la combinaison de touches <Majuscule>+<F10>. 'Projet' 'Objet' 'Supprimer un objet'
Raccourci : <Suppr>

Cette commande enlve de l'Organisateur d'objets l'objet actuellement marqu (un module, un type de donnes, une visualisation ou des variables globales) ou un dossier et son contenu. Cet objet ou ce dossier sont alors supprims du projet. Avant la suppression effective, il vous est demand de confirmer votre choix. L'effacement peut tre annul au moyen de la commande 'diter' 'Annuler'. Si la fentre de l'diteur de l'objet est ouverte, elle se ferme automatiquement. Si l'on utilise la commande 'Editer' 'Couper', pour supprimer l'objet, alors celui-ci est en outre transfr dans le presse-papiers. 'Projet' 'Objet' 'Insrer objet'
Raccourci : <Inser>

Cette commande vous permet de crer un nouvel objet. Le type d'objet (module, type de donnes, visualisation ou variables globales) dpend de l'onglet choisi dans l'Organisateur d'objets. Veuillez noter cet gard que l'on utilise un modle dfini le cas chant pour le type d'objet slectionn. Ceci est possible pour des objets de type 'Variables globales', 'Type de fichier', 'Fonction', 'Bloc fonctionnel' ou 'Programme', voir ci-dessous, chapitre 'Enregistrer comme modle'. Entrez le nom du nouvel objet dans la bote de dialogue qui s'affiche. Veuillez noter cet effet les restrictions suivantes : Le nom du module ne peut contenir d'espaces. Un module ne peut avoir le mme nom qu'un autre module ou qu'un type de donne. Un type de donne ne peut avoir le mme nom qu'un autre type de donne ou qu'un module. Une liste de variables globales ne peut avoir le mme nom qu'une autre liste de variables globales. Une action ne peut avoir le mme nom qu'une autre action au sein du mme module. Une visualisation ne peut avoir le mme nom qu'une autre visualisation.

CoDeSys V2.3

4-55

Gestion des objets

Dans tous les autres cas, une concordance de nom est permise. Ainsi, des actions provenant de diffrents modules peuvent avoir le mme nom, et une visualisation peut avoir le mme nom qu'un module. S'il s'agit d'un module, vous devez galement indiquer le type de module dont il s'agit (programme, fonction ou bloc fonctionnel) et slectionner le langage dans lequel il doit tre programm. Le Type de l'unit est par dfaut 'Programme', le Langage de l'unit de programmation est celui du dernier module cr. Si un module du type Fonction doit tre cr, le type de la valeur renvoye doit tre introduit dans le champ Type de retour. cet effet, tous les types lmentaires de donnes ou les types dfinis (tableaux, structures, numrations, alias) sont autoriss. Vous pouvez utiliser la liste de slection pour l'dition (p.ex. via <F2>).
Bote de dialogue Nouveau module

Aprs confirmation de la saisie via le bouton OK, ce qui n'est possible que si vous avez respect les conventions de noms dcrites ci-dessus, le nouvel objet est introduit dans l'Organisateur d'objets et la fentre de saisie correspondante est affiche. Si vous utilisez la commande 'Editer' 'Coller', l'objet plac dans le presse-papiers est insr, sans qu'aucune bote de dialogue ne s'ouvre. Si le nom de l'objet insr va l'encontre des conventions de nom, l'objet sera accompagn d'un caractre de soulignement et d'un numro courant de manire le distinguer (p.ex. "Fonction_1"). Si le projet est reli avec une base de donnes de projet par le biais d'un interface ENI, cette connexion peut tre configure de telle sorte que l'on vous demande, lors de la cration d'un nouvel objet, dans quelle catgorie de base de donnes cet objet doit tre gr. Dans ce cas, vous obtenez la bote de dialogue 'Caractristiques des objets' permettant de slectionner la catgorie de base de donnes. Reportez-vous cet effet la description des Options de projet pour les bases de donnes de projet . 'Projet' 'Enregistrer comme fichier modle' Les objets de type 'Variables globales', 'Type de fichier', 'Fonction', 'Bloc fonctionnel' ou 'Programme' peuvent tre sauvegards comme modles de modules. Marquez pour ce faire l'objet dans l'Organisateur d'objets puis slectionnez la commande 'Enregistrer comme fichier modle' dans le menu contextuel (bouton droit de la souris). Ensuite, lors de l'Insertion d'un autre objet du mme type, la partie de dclaration du modle sera reprise en premier. On utilise toujours le modle cr en dernier pour un type d'objet. 'Projet' 'Objet' 'Renommer objet'
Raccourci : <Barre d'espacement>

Cette commande vous permet de renommer l'objet ou le dossier slectionn. Veillez ne pas utiliser un nom existant. Si la fentre de l'diteur de l'objet est ouverte, le nouveau nom apparat automatiquement dans la barre de titre.

4-56

CoDeSys V2.3

4 - Les composants dans le dtail

Bote de dialogue Renommer objet

'Projet' 'Objet' 'Convertir objet' Cette commande n'est excutable que pour les modules. Vous pouvez compiler des modules crs dans les langages ST, FBD, LD et IL dans l'un des trois langages suivants: IL, FBD, LD. Pour cela, le projet doit tre compil. Choisissez le langage dans lequel vous souhaitez effectuer la conversion, et donnez un nouveau nom au nouveau module. Veillez ne pas utiliser un nom existant. Vous pouvez ensuite cliquer sur OK. Le nouveau module est ajout votre liste de modules. Le type de traitement effectu lors d'une procdure de conversion correspond celui d'une compilation.
Attention: Les actions ne peuvent tre converties.
Bote de dialogue Convertir objet

'Projet' 'Objet' 'Copier objet' Cette commande permet de copier un objet slectionn et de l'enregistrer sous un nouveau nom. Entrez le nom du nouvel objet ainsi cr dans la bote de dialogue qui s'affiche. Veillez ne pas utiliser un nom existant. En revanche, si vous utilisez la commande 'Editer' 'Copier', l'objet est copi dans le presse-papiers sans qu'aucune bote de dialogue ne s'ouvre.
Bote de dialogue Copier objet

'Projet' 'Objet' 'Editer objet'


Raccourci : <Entre>

Cette commande vous permet de charger, dans l'diteur pertinent, un objet slectionn dans l'Organisateur d'objets. Si cet objet est dj ouvert dans une autre fentre, celle-ci passe l'avantplan et l'objet peut tre dit. Un objet peut tre dit de deux autres manires: soit en double-cliquant dessus, soit en tapant les premires lettres du nom de l'objet souhait dans l'Organisateur d'objets. Aprs quoi, une boite de dialogue s'ouvre et affiche tous les objets du type slectionn qui commencent par les trois premires lettres introduites dans l'Organisateur d'objets. Slectionnez l'objet souhait et

CoDeSys V2.3

4-57

Gestion des objets

cliquez sur le bouton Ouvrir pour charger l'objet dans la fentre de l'diteur pertinente. Pour le type d'objet Ressources, cette possibilit n'est supporte que pour les variables globales. Cette dernire possibilit est particulirement intressante pour des projets comportant de nombreux objets.
Bote de dialogue pour slectionner l'objet ouvrir

'Projet' 'Objet Proprits' Cette commande ouvre la bote de dialogue 'Proprits' pour lobjet marqu dans lOrganisateur dobjets. La mme bote de dialogue est accessible via longlet 'Droits d'accs' et via la commande 'Projet' 'Objet droits d'accs'' , et on peut sen servir comme dcrit dans cette dernire possibilit. Si une liste de variables globales est marque dans lOrganisateur dobjets, longlet 'Liste de variables globales' contient le dialogue 'Liste de variables globales' dans lequel les paramtres pour la mise jour de la liste et le cas chant pour lchange de donnes de variables globales rseau sont configurs. Les entres peuvent y tre modifies. Lors de la cration dune liste de Variables globales cette bote de dialogue est ouverte avec la commande 'Insrer objet', pour autant que le dossier 'Variables globales' ou une des entres sy rapportant soit marqu(e) dans lOrganisateur dobjets. Si un objet de Visualisation est marqu dans lOrganisateur dobjets et que, dans les configurations du systme cible, 'Visualisation de rseau' ou 'Visualisation cible' sont activs, longlet 'Visualisation' contient un dialogue dans lequel on doit dterminer si lobjet doit tre mis disposition comme Visualisation Web et/ou comme Visualisation cible . Si le projet est reli une base de donnes (voir 'Projet' 'Options' 'Base de donnes du projet'), un autre onglet est disposition avec le titre 'Liens de base de donnes'. Lattribution actuelle de lobjet une des catgories de bases de donnes ou la catgorie 'Local' est affiche et vous pouvez la modifier. Vous trouverez de plus amples informations ce sujet sous 'L'interface ENI CoDeSys . Objet droits d'accs Le commande 'Projet' 'Objet' 'Proprits' permet d'ouvrir la bote de dialogue d'attribution des droits d'accs aux divers niveaux d'accs: Pour cela, la bote de dialogue suivante s'affiche:

4-58

CoDeSys V2.3

4 - Les composants dans le dtail

Bote de dialogue pour attribuer des droits d'accs

Les membres du niveau 0 peuvent attribuer des droits d'accs individuels tous les niveaux d'accs. Ces droits d'accs peuvent prendre trois formes: Pas d'accs: l'objet est inaccessible au niveau d'accs concern. Lecture seule: l'objet peut tre ouvert en lecture seule par les membres du niveau d'accs; il ne peut donc pas tre modifi. Accs complet: l'objet peut tre ouvert et modifi par les membres du niveau d'accs. Ces configurations s'appliquent soit l'objet marqu actuellement dans l'Organisateur d'objets, soit la totalit des modules, types de donnes, visualisations et ressources du projet. Dans ce dernier cas, vous devez cocher l'option Etendre tous les objets. L'affectation un niveau d'accs se fait au moment de l'ouverture du projet par l'intermdiaire d'un mot de passe, dans la mesure o un mot de passe a t attribu par le niveau d'accs 0. Notez galement ce propos la possibilit supplmentaire dattribution de droits daccs relatifs aux groupes de travail et se rapportant lutilisation des lments de visualisation (voir sous Visualisation). 'Projet' 'Ajouter une action' Cette commande permet de gnrer une action pour le module slectionn dans l'Organisateur d'objets. Dans la bote de dialogue qui s'affiche, vous pouvez slectionner le nom de l'action et le langage dans lequel celle-ci doit tre implmente. La nouvelle action est attache sous son propre module dans l'Organisateur d'objets. Un signe plus apparat devant le module. Il vous suffit de cliquer sur ce signe pour faire apparatre les objets de l'action. Un signe moins apparat alors devant le module. En cliquant sur ce signe moins vous masquez les actions et le signe plus apparat nouveau. Vous pouvez obtenir le mme rsultat au moyen des commandes du menu contextuel 'Dvelopper' et 'Rduire'. En double-cliquant sur l'action ou en appuyant sur la touche <Entre> vous pouvez charger une action dans l'diteur en vue de l'diter. 'Projet' 'Ouvrir l'instance' Cette commande permet d'ouvrir et d'afficher des instances individuelles de blocs fonctionnels en mode En ligne. Avant de procder l'ouverture de ces instances, vous devez slectionner le bloc fonctionnel concern dans l'Organisateur d'objets. Vous pouvez ensuite slectionner l'instance souhaite du bloc fonctionnel ainsi que limplmentation dans la bote de dialogue qui s'ouvre. Suite quoi les lments souhaits saffichent dans une fentre.
Remarque : Les instances ne peuvent tre ouvertes qu'aprs l'accs au systme! (Le projet a t correctement compil et transfr dans l'automate programmable l'aide de le commande 'En ligne' 'Accder au systme').

CoDeSys V2.3

4-59

Gestion des objets

Bote de dialogue Ouvrir instance

'Projet' 'Afficher liste de rfrences croises' Cette commande donne accs une bote de dialogue qui donne un aperu des endroits o une variable, une adresse ou un module est utilis. Pour cela, le projet doit avoir t compil. Choisissez la Catgorie Variable, Adresse ou Module, puis entrez le Nom de l'lment souhait. Pour obtenir tous les lments de la catgorie concerne, introduisez "*" dans le champ Nom. Un clic sur le bouton Rfrences croises vous donne accs la liste de tous les endroits o l'lment slectionn est utilis. Le nom de la variable (Variable) et l'adresse ventuelle (Adresse) s'affichent ct du nom du module et du numro de ligne ou de rseau. La colonne Zone indique s'il s'agit d'une variable locale ou globale, la colonne Accs indique si l'accs est en lecture seule ou en criture. La largeur de la colonne est automatiquement adapte l'entre la plus longue.
Bote de dialogue Rfrences croises et exemple de liste des rfrences croises

Lorsque vous marquez une ligne dans la liste des rfrences croises et que vous cliquez sur le bouton Atteindre ou lorsque vous double-cliquez sur la ligne concerne, le module s'affiche dans l'diteur l'endroit pertinent. Cela vous permet de passer d'un endroit d'utilisation l'autre sans vous perdre dans des recherches inutiles.

4-60

CoDeSys V2.3

4 - Les composants dans le dtail

Un moyen de faciliter vos manipulations consiste placer la liste des rfrences croises actuelle dans la fentre de messages l'aide du bouton Dans la fentre de messages de la bote de dialogue et de passer au module correspondant partir de la fentre de messages. 'Projet' 'Afficher diagramme d'appel' Cette commande permet d'ouvrir une fentre qui reprsente le diagramme d'appel d'un objet slectionn dans l'Organisateur d'objets. Pour cela, le projet doit avoir t compil. Le diagramme d'appel contient aussi bien des appels de modules que des rfrences aux types de donnes utilises.
Exemple de diagramme d'appel

4.5 Fonctions d'dition gnrales


Les commandes dcrites ci-dessous sont accessibles dans tous les diteurs et en partie dans l'Organisateur d'objets. Elles se situent toutes dans le menu 'diter' auquel vous accdez par le biais du bouton droit de la souris. Si le logiciel IntelliPoint est install sur votre ordinateur, CoDeSys supporte les fonctions de roulette et de bouton de roulette de Microsoft IntelliMouse. Pour tous les diteurs avec fonction de zoom : Pour agrandir, maintenez la touche <CTRL> enfonce pendant que vous tournez la roulette en avant. Pour rduire, tournez la roulette en arrire en maintenant la touche <CTRL> enfonce. 'Editer' 'Annuler' Raccourci : <Ctrl>+<Z> Cette commande annule la dernire opration effectue dans la fentre de l'diteur actuelle ou dans l'Organisateur d'objets, ou, dans le cas dexcution multiple, elle annule les oprations effectues jusquau moment o la fentre a t ouverte. Ceci est valable pour toutes les oprations effectues dans les diteurs de modules, de types de donnes, de visualisation et de variables globales ainsi que dans l'Organisateur d'objets. La commande 'Editer' 'Refaire' vous permet de rtablir l'opration annule.
Remarque : Les commandes 'Annuler' et 'Refaire' concernent toujours la fentre actuelle. Chaque fentre dispose de sa propre liste d'oprations. Lorsque vous voulez annuler des oprations effectues dans plusieurs fentres, vous devez activer la fentre pertinente. Pour effectuer ces commandes dans l'Organisateur d'objets, celui-ci doit tre au premier plan.

CoDeSys V2.3

4-61

Fonctions d'dition gnrales

'Editer' 'Refaire' Raccourci : <Ctrl>+<Y> Cette commande permet de rtablir une action annule ('Editer' 'Annuler') dans la fentre de l'diteur actuelle ou dans l'Organisateur d'objets. Vous pouvez excuter autant de fois la commande 'Refaire' que vous avez excut la commande 'Annuler'.
Remarque : Les commandes 'Annuler' et 'Refaire' concernent toujours la fentre actuelle. Chaque fentre dispose de sa propre liste d'oprations. Lorsque vous voulez annuler des oprations effectues dans plusieurs fentres, vous devez activer la fentre pertinente. Pour effectuer ces commandes dans l'Organisateur d'objets, celui-ci doit tre au premier plan.

'Editer' 'Couper' Icne : Raccourci : <Ctrl>+<X> ou <Maj>+<Suppr> Cette commande transfre la slection actuelle de l'diteur vers le presse-papiers. L'lment slectionn est effac de l'diteur. Les objets marqus dans l'Organisateur d'objets n'chappent pas cette rgle, la diffrence que certains types d'objets ne peuvent pas tre supprims, p. ex. la configuration de l'automate. Ne perdez pas de vue que les diteurs ne supportent pas tous la commande Couper, et que la fonctionnalit de cette commande peut tre limite dans certains diteurs. La forme de la slection dpend de l'diteur concern: Dans les diteurs de texte (IL, ST, dclarations), la slection prend la forme d'une liste de caractres. Dans les diteurs FBD et LD, la slection prend la forme d'un ensemble de rseaux, chacun d'eux tant marqu par un rectangle en pointills dans les champs numriques, ou d'une zone comportant toutes les lignes, zones et oprandes qui la prcdent. Dans l'diteur SFC, la slection est une partie de la srie d'tapes, entoure d'un rectangle en pointills. Pour insrer le contenu du presse-papiers, utilisez la commande 'Editer' 'Coller'. Dans l'diteur SFC, vous pouvez galement utiliser les commandes 'Extras' 'Insrer squence parallle (droite)' ou 'Extras' 'Insrer derrire'. Pour insrer une slection dans le presse-papiers sans l'effacer, utilisez la commande 'Editer' 'Copier'. Pour effacer une zone marque sans modifier le contenu du presse-papiers, utilisez la commande 'Editer' 'Supprimer'. 'Editer' 'Copier'
Icne : Raccourci : <Ctrl>+<C>

La forme de la slection dpend de l'diteur concern: Dans les diteurs de texte (IL, ST, dclarations), la slection prend la forme d'une liste de caractres. Dans les diteurs FBD et LD, la slection prend la forme d'un ensemble de rseaux, chacun d'eux tant marqu par un rectangle en pointills dans les champs numriques, ou d'une zone comportant toutes les lignes, zones et oprandes qui la prcdent. Dans l'diteur SFC, la slection est une partie de la srie d'tapes, entoure d'un rectangle en pointills. Pour insrer le contenu du presse-papiers, utilisez la commande 'Editer' 'Coller'. Dans l'diteur SFC, vous pouvez galement utiliser les commandes 'Extras' 'Insrer squence simultane (droite)' ou 'Extras' 'Insrer derrire'. Pour effacer une zone marque et la dplacer en mme temps dans le presse-papiers, utilisez la commande 'Editer' 'Couper'.

4-62

CoDeSys V2.3

4 - Les composants dans le dtail

'Editer' 'Coller'
Icne : Raccourci : <Ctrl>+<V>

Cette commande insre le contenu du presse-papiers la position actuelle dans la fentre de l'diteur. Dans les diteurs graphiques, cette commande n'est excutable que lorsque l'insertion se fait dans le respect de la structure. Pour ce qui est de l'Organisateur d'objets, l'objet est insr partir du presse-papiers. Ne perdez pas de vue que les diteurs ne supportent pas tous la commande Coller, et que la fonctionnalit de cette commande peut tre limite dans certains diteurs. La position actuelle varie d'un type d'diteur l'autre: Dans les diteurs de texte (IL, ST, dclarations), la position actuelle correspond celle du curseur clignotant (une petite ligne verticale que l'on positionne l'aide de la souris). Dans les diteurs FBD et LD, la position actuelle est celle du premier rseau dot d'un rectangle en pointills dans la zone numrique du rseau. Le contenu du presse-papiers est insr devant ce rseau. Si l'lment copi est une structure partielle, celle-ci est insre devant l'lment marqu. Dans l'diteur SFC, la position actuelle est dtermine par la zone slectionne entoure d'un rectangle en pointills. Le contenu du presse-papiers est insr devant la slection ou dans une nouvelle branche (simultane ou alternative) gauche de l'lment slectionn. Cela dpend de la slection et du contenu du presse-papiers. Dans l'diteur SFC, vous pouvez galement insrer le contenu du presse-papiers l'aide des commandes 'Extras' 'Insrer squence simultane (droite)' ou 'Extras' 'Insrer derrire'. Pour insrer une slection dans le presse-papiers sans l'effacer, utilisez la commande 'Editer' 'Copier'. Pour effacer une zone marque sans modifier le contenu du presse-papiers, utilisez la commande 'Editer' 'Supprimer'. 'Editer' 'Supprimer'
Raccourci : <Suppr>

Cette commande supprime la zone marque de la fentre de l'diteur. Le contenu du presse-papiers reste inchang. Les objets marqus dans l'Organisateur d'objets n'chappent pas cette rgle, la diffrence que certains types d'objets ne peuvent pas tre supprims, p. ex. la configuration de l'automate. La forme de la slection dpend de l'diteur concern: Dans les diteurs de texte (IL, ST, dclarations), la slection prend la forme d'une liste de caractres. Dans les diteurs FBD et LD, la slection prend la forme d'un ensemble de rseaux, chacun d'eux tant marqu par un rectangle en pointills dans les champs numriques. Dans l'diteur SFC, la slection est une partie de la srie d'tapes, entoure d'un rectangle en pointills. Dans la gestionnaire de bibliothques, la slection correspond au nom de bibliothque actuellement slectionn. Pour effacer une zone marque et la dplacer en mme temps dans le presse-papiers, utilisez la commande 'Editer' 'Couper'. 'Editer' 'Rechercher'
Icne :

Cette commande vous permet de rechercher un texte spcifique dans la fentre de l'diteur actuelle. Elle ouvre la bote de dialogue Rechercher. Celle-ci reste ouverte jusqu' ce que vous cliquiez sur le bouton Annuler. Vous pouvez saisir le chane de caractres recherche dans le champ Rechercher.

CoDeSys V2.3

4-63

Fonctions d'dition gnrales

En outre, vous pouvez effectuer la recherche sur un Mot entier ou sur une partie de mot, vous pouvez cibler la recherche en fonction de la casse (option Respecter la casse) et dfinir le sens de la recherche (vers le haut ou vers le bas). Veuillez noter que dans le cas des modules FBD, le traitement seffectue de droite gauche ! Le bouton Nouvelle recherche lance la recherche. Celle-ci commence l'endroit que vous avez choisi et elle est effectue dans le sens que vous avez spcifi. Lorsque le texte recherch est trouv, il apparat marqu. Dans le cas contraire, un message vous le signale. Des recherches successives peuvent tre effectues jusqu' ce que le dbut ou la fin de la fentre de l'diteur est atteint. Ne perdez pas de vue que le texte trouv peut tre masqu par la bote de dialogue Rechercher.
Bote de dialogue Rechercher

'Editer' 'Rechercher le suivant'


Icne : Raccourci : <F3>

Cette commande vous permet d'effectuer une recherche selon les mmes paramtres que ceux de la commande 'Editer' 'Rechercher'. Veuillez noter que dans le cas des modules FBD, le traitement seffectue de droite gauche ! 'Editer' 'Remplacer' Cette commande vous permet de rechercher un texte spcifique, exactement comme la commande 'Editer' 'Rechercher', et de le remplacer par un autre. Aprs avoir choisi cet ordre, la bote de dialogue Rechercher et remplacer s'ouvre; elle reste ouverte tant que vous ne cliquez pas sur le bouton Annuler ou Fermer. Le bouton Remplacer remplace la slection actuelle par le texte saisi dans le champ Remplacer par de la bote de dialogue. Le bouton Remplacer tout substitue toutes les occurrences du texte saisi dans le champ Rechercher, partir de la position actuelle, par le texte saisi dans le champ Remplacer par. Aprs cette opration, un message vous indique le nombre de substitutions opres.
Bote de dialogue Rechercher et Remplacer

'Editer' 'Liste de slection pour l'dition' Raccourci : <F2> Cette commande donne accs une bote de dialogue proposant de choisir parmi les entres possibles compte tenu de la position actuelle du curseur. Dans la colonne de gauche de la bote de dialogue, choisissez la catgorie d'entre souhaite, puis marquez l'entre souhaite dans la colonne de droite et confirmez votre choix en cliquant sur OK. Votre slection est insre la position actuelle du curseur dans la fentre de l'diteur.

4-64

CoDeSys V2.3

4 - Les composants dans le dtail

Les catgories proposes dpendent de la position actuelle du curseur dans la fentre de l'diteur; en d'autres termes, elles dpendent des entres qu'il est possible d'effectuer cet endroit (p. ex. variables, oprateurs, modules, conversions, etc.). Si loption Avec des arguments est active, les arguments passer sont indiqus lors de linsertion de llment slectionn. Exemples : Slection du bloc fonctionnel fu1, qui a dfini la variable dentre var_in: fu1(var_in:=); Insertion de la fonction func1, qui ncessite les paramtres var1 et var2 : func1(var1,var2); En principe, il est possible dalterner entre une reprsentation structure ou non des lments disposition. Ceci se produit en activant ou en dsactivant loption Image structur.
Veuillez noter : Lors de lintroduction de variables, vous avez en outre la possibilit dutiliser la fonction 'Intellisense' comme aide.

Image non structure


Dialogue Gestionnaire d'Aide non structure

Les modules, variables ou types de fichiers de chaque catgorie sont tout simplement classs par ordre alphabtique et de faon linaire. Pour certaines positions (p. ex. dans la liste d'espion), il peut arriver que des noms composs de variables soient ncessaires. La bote de dialogue Liste de slection pour l'dition affiche alors une liste de tous les modules, et les variables globales sont reprsentes par un point. Le nom de chaque module est suivi d'un point. Si vous marquez un module par un double-clic ou en appuyant sur la touche <Entre>, vous ouvrez la liste des variables sy rapportant. Si des instances et types de donnes sont disponibles, ils peuvent tre affichs. Pour prendre en compte la variable slectionne en fin de compte, cliquez sur OK. Image structure Si Image structure est slectionn, les modules, variables ou types de donnes sont classs de manire hirarchique. Ceci est possibles pour Programmes standard, Fonctions standard, Blocs fonctionnels standard, Programmes dfinis, Fonctions dfinies, Blocs fonctionnels dfinis, Variables globales, Variables locales, Types dfinis, Types, Variables despion. L'apparence et la hirarchie correspondent celles de lOrganisateur dobjets, et si des lments provenant de bibliothques sont concerns, ceux-ci sont insrs la position suprieure et par ordre alphabtique, et la hirarchie est reprsente comme dans le gestionnaire de bibliothques. Les variables dentre et de sortie des blocs fonctionnels, dclares comme variables locales ou globales, sont affiches dans la catgorie 'Variables locales' ou 'Variables globales' en dessous du nom de linstance (p.ex. Inst_TP.ET, Inst_TP.IN, ...). On y accde en slectionnant le nom de linstance (p.ex. Inst_TP) et en confirmant avec OK.

CoDeSys V2.3

4-65

Fonctions d'dition gnrales

Dialogue Gestionnaire d'Aide

Si linstance dun bloc fonctionnel est marque, loption Avec des arguments peut tre slectionne. Le nom de linstance et les paramtres d'entre du bloc fonctionnel seront alors insrs pour les langages littraux IL et ST ainsi que dans la configuration des tches. Par exemple, pour la slection Inst (Dclaration Inst: TON;), Inst(IN:= ,PT:=) est insr. Si loption nest pas slectionne, le nom dinstance est seul insr. Avec les langages graphiques ou encore dans la fentre despion, seul le nom dinstance est gnralement insr. Les composants de structures sont reprsents de la mme faon que les instances de blocs fonctionnels. Pour les numrations, les valeurs individuelles dnumration sont reprises sous le type dnumration. Lordre est : numrations provenant de bibliothques, numrations provenant de types de donnes, numrations locales provenant de modules. En rgle gnrale, les lignes qui contiennent des sous-objets ne peuvent tre slectionnes ( lexception des instances, voir ci-dessus), mais peuvent tre masques ou affiches de la mme faon que les noms composs de variables. Si vous appelez la liste de slection pour ldition dans le gestionnaire despion et de recettes ou lors du choix des variables dhistogramme dans la bote de dialogue de configuration de lhistogramme, vous pouvez procder un choix multiple. En maintenant la touche <Maj> enfonce, vous pouvez slectionner un bloc de variables; la touche <Ctrl> permet de slectionner plusieurs variables sparment. Les variables slectionnes sont marques. Si, lors du marquage du bloc, vous slectionnez des lignes ne contenant pas de variables valables (p.ex. des noms de modules), cellesci ne seront pas reprises dans la slection. Il nest pas possible de marquer de telles lignes lors dune slection individuelle. Dans la fentre despion ou dans la configuration de lhistogramme, vous pouvez reprendre des structures, tableaux ou instances hors de la liste de slection pour ldition. Vu que laffichage ou le masquage des lments est dfini par un double-clic de la souris, la slection ne peut seffectuer dans ces cas que par OK. Suite quoi les variables slectionnes sont introduites ligne par ligne dans la fentre despion, chaque variable slectionne tant donc crite dans une ligne. Pour les variables de lhistogramme, chacune dentre elle est introduite dans une ligne dans la liste des variables de lhistogramme. Si vous dpassez le nombre maximum de 20 variables dhistogramme lors de lintroduction des variables slectionnes, le message derreur suivant apparat : "Vous ne pouvez introduire plus de 20 variables". Toute variable slectionne au-del de ces vingt n'est pas reprise dans la liste.
Remarque: Pour certaines entres (p. ex. les variables globales), la mise jour est effectue aprs une compilation.

4-66

CoDeSys V2.3

4 - Les composants dans le dtail

'Editer' 'Dclarer automatiquement'


Raccourci : <Maj>+<F2>

Cette commande vous permet d'obtenir une bote de dialogue pour dclarer des variables ds que vous entrez une nouvelle variable dans l'diteur de dclaration. Cette bote de dialogue s'ouvre galement lorsque l'option de projet 'Dclarer automatiquement' active. 'Editer' 'Erreur prochaine' Raccourci : <F4> Lorsqu'un projet n'a pas pu tre compil cause de la prsence d'erreurs, cette commande permet d'afficher la prochaine erreur. La fentre de l'diteur pertinente est active, l'emplacement contenant l'erreur est marqu et le message d'erreur correspondant est affich simultanment dans la fentre de messages. Si ces avertissements devaient tre ignors en travaillant pas pas avec F4, loption 'F4 ignore les avertissements' doit tre active dans le menu 'Projet' 'Options' 'Environnement de travail'. 'Editer' 'Erreur prcdente' Raccourci : <Maj>+<F4> Lorsqu'un projet n'a pas pu tre compil cause de la prsence d'erreurs, cette commande permet d'afficher l'erreur prcdente. La fentre de l'diteur pertinente est active, l'emplacement contenant l'erreur est marqu et le message d'erreur correspondant est affich simultanment dans la fentre de messages. Si ces avertissements devaient tre ignors en travaillant pas pas avec F4, loption 'F4 ignore les avertissements' doit tre active dans le menu 'Projet' 'Options' 'Environnement de travail'. 'Editer' 'Macros' Toutes les macros dfinies pour le projet en cours apparaissent sous cette option. (En ce qui concerne la cration, reportez-vous 'Projet' 'Options' 'Macros' ). Si vous slectionnez une macro et quelle est excutable, la bote de dialogue 'Excuter la macro' souvre. Le nom de la macro saffiche ainsi que la ligne de commande en cours. Le bouton Annuler permet dinterrompre lexcution de la macro, tout en terminant l'excution de la commande en cours. Un message correspondant apparat dans la fentre des messages et sajoute au journal dans le mode En ligne : '<Macro>: excution interrompue par lutilisateur'. Vous pouvez procder l'excution des macros En ligne et Hors ligne. Les commandes se rapportant au mode concern seront seules excutes.

4.6 Fonctions en ligne gnrales


Les commandes en ligne qui sont votre disposition sont groupes dans le menu 'En ligne'. L'excution de certains de ces commandes dpend de l'diteur actif. L'accs ces commandes passe par l'accs au systme. La fonctionnalit 'En Ligne' vous permet de procder des changements du programme sur l'automate en cours de fonctionnement. Voyez cet effet 'En Ligne 'Accder au systme'. Les sections suivantes dcrivent chaque commande En ligne titre individuel : 'En Ligne' 'Accder au systme' Icne : Raccourci : <Alt>+<F8>

Cette commande tablit la liaison entre le systme de programmation et l'automate programmable (ou lance le programme de simulation) et bascule en mode En Ligne. Si le projet actuel n'a pas t compil depuis qu'il a t ouvert ou modifi pour la dernire fois, la compilation est lance (voir 'Projet' - 'Compiler'). Si la compilation se heurte une erreur, CoDeSys ne bascule pas en mode En Ligne.

CoDeSys V2.3

4-67

Fonctions en ligne gnrales

Si le projet en cours a t modifi mais pas ferm depuis le dernier tlchargement sur l'automate, et si les informations relatives ce dernier tlchargement n'ont pas t effaces par la commande 'Projet' 'Rorganiser tout', une bote de dialogue s'ouvre aprs la commande 'Accder au systme', vous demandant : "Le programme a t modifi! Voulez-vous charger les modifications ? (Online Change)". (Voyez ce sujet les remarques relatives aux changements En ligne ci-dessous). Si vous appuyez sur Oui, vous confirmez que les parties modifies du projet doivent tre charges sur l'automate lors de l'ouverture de session. Non permet une ouverture de session sans que les changements effectus depuis le dernier tlchargement soient chargs sur l'automate. Annuler vous permet d'interrompre la commande. Charger tout permet de charger le projet complet sur l'automate.
Dialogue d'ouverture de session tendu

Lorsque l'option 'Mode En ligne en mode de scurit' a t active dans les options de projet, catgorie Environnement de travail, et si le systme cible supporte cette fonction, ce dialogue peur tre tendu par le biais du bouton Dtails Les informations relatives au projet actuellement charg dans le systme de programmation et au projet dj disponible au niveau de l'automate sont alors affiches en plus.
Veuillez noter que le bouton par dfaut, c'est--dire celui sur lequel l'accent est automatiquement mis, dpend de la configuration du systme cible.

Si l'accs au systme n'a rencontr aucun problme, toutes les fonctions en ligne sont votre disposition (dans la mesure o la catgorie Options de compilation de la bote de dialogue 'Options' a t configure dans ce sens). Pour toutes les dclarations de variables visibles l'cran, les valeurs actuelles sont espionnes. Pour basculer du mode en ligne au mode hors ligne, utilisez la commande 'Quitter le systme' du menu 'En Ligne'.

4-68

CoDeSys V2.3

4 - Les composants dans le dtail

Remarques relatives aux changements En ligne:

Un changement En ligne n'est pas possible aprs des modifications au niveau de la configuration des tches ou de la configuration de l'automate, aprs l'insertion d'une bibliothque ou suite la commande 'Projet' 'Rorganiser tout' (voir plus bas). Lorsque les informations de tlchargement (fichier <Nom de projet><Targetidentifier>.ri), cres lors du dernier chargement du projet, ont t effaces (par exemple par le biais de la commande 'Rorganiser tout'), aucun changement En ligne n'est possible, moins que le fichier *.ri n'ait t enregistr en un autre emplacement sous un autre nom et qu'il puisse nouveau tre charg par le biais de la commande 'Charger les informations de tlchargement'. Voyez cet effet le point 'Changement En ligne pour un projet....'. Lors d'un changement En ligne, il n'est pas procd une nouvelle initialisation, ce qui signifie que les changements des valeurs d'initialisation ne sont pas pris en compte ! Les variables rmanentes gardent leurs valeurs lors d'un changement En ligne, contrairement un nouveau tlchargement du projet (voir ci-dessous, 'En ligne' 'Charger').
Changement En ligne pour un projet fonctionnant sur plusieurs automates : Si vous utilisez un projet proj.pro sur deux automates programmables identiques API1 et API2 (systme cible identique), et si vous souhaitez, aprs avoir modifi le projet, pouvoir actualiser ce mme projet sur les deux automates par le biais des fonctions En ligne, veuillez procder comme suit: tablissez une connexion avec l'automate API1 (En ligne/Paramtres de communication) puis chargez proj.pro sur API1 (En ligne/Accder au systme, Charger). En parallle au proj.pro, le fichier proj00000001.ri est alors cre, ce dernier contenant les informations de tlchargement. Renommez proj00000001.ri , p.ex. en proj00000001_API1.ri. Cette "sauvegarde" sous un fichier d'un autre nom est ncessaire car lors d'un tlchargement ultrieur de proj.pro, le fichier proj00000001.ri contenant les nouvelles informations de tlchargement serait cras, ce qui provoquerait la perte des informations relatives au tlchargement sur API1. Dmarrez le projet et quittez nouveau le systme. tablissez maintenant la connexion avec l'automate API2 puis chargez proj.pro sur API2. Ensuite, en parallle au proj.pro, un fichier proj00000001.ri est nouveau cre, ce dernier contenant les informations du tlchargement actuel. Sauvegardez ce nouveau fichier proj00000001.ri en le renommant p.ex. proj00000001_API2.ri. Dmarrez le projet sur API2 et quittez nouveau le systme. Effectuez maintenant dans CoDeSys les modifications de proj.pro que vous souhaitez charger dans le projet fonctionnant sur l'automate par le biais des Changements En ligne. Pour pouvoir excuter le changement En ligne proj.pro sur API1, les informations de tlchargement de proj.pro sauvegardes sur API1 doivent tout d'abord tre rendus nouveau disponibles. Pour ce faire, CoDeSys recherche le fichier proj00000001.ri lors de l'ouverture de session. Vous avez sauvegard le fichier .ri valide pour API1 sous proj00000001_API1.ri. Vous avez alors deux possibilits : (a) Vous pouvez nouveau renommer le fichier proj00000001_API1.ri en proj00000001.ri. Ainsi, vous tes assur que lors d'une ouverture de session sur API1, les informations correctes de tlchargement seront prises en compte automatiquement et le changement en ligne sera propos. (b) Vous pouvez galement charger de manire cible le fichier proj00000001_API1.ri par le biais de la commande 'Projet' 'Charger informations de tlchargement', cela avant mme d'ouvrir une session. Vous vitez ainsi de devoir renommer le fichier. Afin de pouvoir galement effectuer le changement en ligne de proj.pro sur API2, veuillez procder comme dcrit au point 8, avec bien entendu le fichier proj00000001_API2.ri.

Si le systme affiche Message derreur :


"Le profil de l'automate slectionn ne correspond pas celui du systme cible! La connexion sera termine."

CoDeSys V2.3

4-69

Fonctions en ligne gnrales

Vrifiez si le systme cible tel quil a t paramtr dans la configuration du systme cible (Ressources) concorde avec le paramtrage 'En Ligne' 'Paramtres de communication'. Message derreur :
"Faute de communication: Logout."

Vrifiez si lautomate fonctionne. Vrifiez si les paramtres configurs dans `En Ligne' `Paramtres de communication' concordent avec les paramtres de votre automate programmable. Vous devez vrifier en particulier si le port adquat a t rgl et si les dbits en bauds concordent sur lautomate et dans le systme de programmation. Si vous utilisez la gateway, vrifiez si le bon canal est rgl. Message derreur :
"Le programme a t modifi! Voulez-vous charger les modifications ?"

Le projet en cours d'utilisation dans l'diteur ne correspond pas au programme charg actuellement dans l'automate. Il est par consquent impossible d'effectuer l'espionnage et le dbogage. Vous pouvez rpondre Non, quitter le systme et ouvrir le projet pertinent, ou rpondre Oui et charger le projet actuel dans l'automate programmable. Message :
"Le programme a t modifi! Voulez-vous charger les modifications ? (Online Change)"

Le projet est en cours dutilisation sur lautomate. Le systme cible supporte les 'Changements En ligne' et le projet a t modifi par rapport au dernier tlchargement ou par rapport au dernier Changement En ligne. Vous pouvez dterminer si ces modifications doivent tre charges sur lautomate, le programme tant en cours, ou si la commande doit tre interrompue. Vous pouvez galement charger le code compil entier en appuyant sur le bouton Charger tout. 'En Ligne' 'Quitter le systme'
Icne : Raccourci : <Ctrl>+<F8>

Cette commande coupe la liaison avec l'automate programmable ou quitte le programme de simulation et vous fait basculer en mode hors ligne. Pour basculer nouveau en mode en ligne, utilisez le commande 'Accder au systme' du menu 'En ligne'. 'En Ligne' 'Lancer' Cette commande charge le projet compil dans l'automate programmable. Si vous utilisez la gnration de code C, le compilateur C qui gnre le fichier de tlchargement est appel avant que ne soit charg le projet dans l'automate programmable. Sinon, ce fichier est gnr ds la compilation. Les informations relatives au tlchargement sont sauvegardes dans un fichier <Nom du projet>0000000ar.ri qui sera utilis lors des changements En ligne afin de comparer le programme en cours avec celui charg en dernier lieu sur l'automate, si bien que les parties modifies seront seules charges nouveau. Vous pouvez effacer ce fichier l'aide de la commande 'Projet' 'Rorganiser tout'. Voir pour Changement En ligne d'un projet sur plusieurs automates au chapitre 4.6, ''En Ligne' 'Accder au systme'. En fonction du systme cible, il est possible de crer automatiquement un nouveau fichier *.ri en mode Hors ligne lors de la cration d'un projet d'initialisation. 'En Ligne' 'Dmarrer'
Icne : Raccourci : <F5>

Cette commande lance l'excution du programme utilisateur dans l'automate programmable ou dans la simulation. Vous pouvez choisir d'excuter cette commande directement aprs l'excution de la commande 'En ligne' 'Lancer' ou aprs avoir arrt l'excution du programme utilisateur dans l'automate

4-70

CoDeSys V2.3

4 - Les composants dans le dtail

programmable l'aide de la commande 'En ligne' 'Arrter' ou encore lorsque le programme utilisateur est un point d'arrt ou lorsque qu'un cycle individuel (commande 'En Ligne' 'Cycle indpendant') a t excut. 'En Ligne' 'Arrter'
Icne : Raccourci : <Maj>+<F8>

Cette commande suspend, entre deux cycles, l'excution du programme utilisateur dans l'automate programmable ou dans la simulation. Pour relancer le programme utilisateur, utilisez la commande 'En ligne' 'Dmarrer'. 'En Ligne' 'Reset' Cette commande ramne toutes les variables ( lexception des variables rmanentes (VAR RETAIN)) la valeur quelles avaient lors de leur initialisation (y compris donc les variables dclares laide de VAR PERSISTENT! ). Les variables qui ne sont pas explicitement munies dune valeur dinitialisation, sont ramenes la valeur standard dinitialisation (par exemple, les nombres entiers sont mis zro). Avant l'crasement de toutes les variables, CoDeSys demande confirmation. Cest la mme situation que lors dune panne de courant ou lors dune mise en/hors service de lautomate (dmarrage chaud) durant le fonctionnement du programme. Pour relancer le programme, utilisez la commande 'En ligne' 'Dmarrer'. Voir galement cet effet 'En Ligne' 'Reset (origine)' et 'En Ligne' 'Reset ( froid)'. 'En Ligne' 'Reset ( froid)' Cette commande ramne toutes les variables, y compris les variables rmanentes, la valeur quelles avaient lors de leur initialisation. Cest la mme situation que lors du dmarrage dun programme qui a t charg pour la premire fois dans lautomate (dmarrage froid). Voir galement cet effet 'En Ligne' 'Reset' et 'En Ligne' 'Reset (origine)'. 'En Ligne' 'Reset origine' Cette commande ramne toutes les variables, y compris les variables rmanentes (VAR RETAIN et VAR PERSISTENT), la valeur quelles avaient lors de leur initialisation et efface le programme utilisateur sur lautomate. Lautomate est ramen son tat original. Voir galement cet effet 'En Ligne' 'Reset' et 'En Ligne' 'Reset ( froid)'. 'En Ligne' 'Point d'arrt actif/inactif' Icne : Raccourci : <F9>

Cette commande dfinit un point d'arrt la position actuelle dans la fentre active. Si un point d'arrt y est dj dfini, il est enlev. La position o un point d'arrt peut tre dfini dpend du langage dans lequel est crit le module dans la fentre active. Dans les diteurs de texte (IL, ST) le point d'arrt est dfini sur la ligne o se trouve le curseur, lorsque cette ligne est une position de point d'arrt (on peut le dterminer grce la couleur gris fonc du champ de numrotation de ligne). Pour dfinir ou enlever un point d'arrt dans les diteurs de texte, vous pouvez cliquer sur le champ de numrotation de ligne. Dans les diteurs FBD et LD, le point d'arrt est plac sur le rseau actuellement marqu. Pour dfinir ou enlever un point d'arrt dans ce type d'diteur, vous pouvez cliquer sur le champ de numrotation de rseau. Dans l'diteur SFC, le point d'arrt est dfini sur l'tape marque actuellement. Pour dfinir ou enlever un point d'arrt dans l'diteur SFC, vous avez la possibilit d'utiliser la touche <Maj> associe un double-clic de la souris. Lorsqu'un point d'arrt est dfini, le champ de numrotation de ligne, de rseau ou l'tape apparaissent dans une couleur de fond bleu clair.

CoDeSys V2.3

4-71

Fonctions en ligne gnrales

Lorsque le programme atteint un point d'arrt en cours d'excution, il s'arrte et la couleur de fond du champ correspondant apparat en rouge. Pour poursuivre, utilisez les commandes 'En ligne' 'Dmarrer' ou 'En Ligne' 'Etape individuelle dans' ou 'En Ligne' 'Etape individuelle sur'. 'En Ligne' 'Dialogue des points d'arrt' Cette commande ouvre une bote de dialogue permettant d'diter les points d'arrt de l'ensemble du projet. En outre, cette bote de dialogue affiche l'ensemble des points d'arrt actuellement dfinis. Pour dfinir un point d'arrt, slectionnez un module dans la zone de liste modifiable pertinente de la bote de dialogue et, dans la zone de liste modifiable Emplacement, choisissez la ligne ou le rseau o vous souhaitez dfinir un point d'arrt et cliquez sur le bouton Ajouter. Le point d'arrt est intgr la liste. Pour supprimer un point d'arrt, slectionnez-le dans la liste et cliquez sur le bouton Effacer. Le bouton Effacer tout supprime tous les points d'arrt. Pour vous rendre un endroit de l'diteur o un point d'arrt a t dfini, marquez ce point d'arrt dans la liste des points d'arrt dfinis et cliquez sur le bouton Atteindre. Pour dfinir ou enlever des points d'arrt, vous pouvez galement utiliser la commande 'En Ligne' 'Point d'arrt actif/inactif'.
Bote de dialogue pour diter les points d'arrt

'En Ligne' 'tape individuelle sur'


Icne : Raccourci : <F10>

Cette commande permet d'excuter une tape individuelle. Dans le cas d'un appel de module, l'excution s'arrte uniquement aprs que l'excution du module est termine. Dans l'diteur SFC, une action complte est excute. Lorsque l'instruction actuelle consiste en un appel de fonction ou de bloc fonctionnel, la fonction ou le bloc fonctionnel sont excuts jusqu'au bout. Pour aller la premire instruction d'une fonction ou d'un bloc fonctionnel qui a t appel(e), utilisez la commande 'En ligne' 'Etape individuelle dans'. Lorsque la dernire instruction est atteinte, le programme passe l'instruction suivante du module partir duquel l'appel a t effectu. 'En Ligne' 'tape individuelle dans'
Raccourci : <F8>

Cette commande permet d'excuter une tape individuelle. Dans le cas de l'appel de modules, l'application s'arrte avant l'excution de la premire instruction du module. Le cas chant, vous basculez dans un module qui est appel.

4-72

CoDeSys V2.3

4 - Les composants dans le dtail

Lorsque la position actuelle consiste en un appel de fonction ou de bloc fonctionnel, le programme passe de la premire instruction du module appel. Dans les autres cas, cette commande se comporte exactement comme la commande 'En ligne' 'tape individuelle sur'. 'En Ligne' 'Cycle indpendant'
Raccourci : <Ctrl>+<F5>

Cette commande se limite effectuer un cycle de commande unique, aprs quoi il s'arrte. Cette commande peut tre rpte continuellement, pour avancer en effectuant des cycles uniques. Un cycle indpendant prend fin lorsque que la commande 'En ligne' 'Dmarrer' est excute. 'En Ligne' 'crire valeurs des variables' Raccourci : <Ctrl>+<F7> Cette commande permet de ramener au dbut dun cycle - une seule fois ! - une ou plusieurs variable(s) des valeurs dfinies par lutilisateur. Vous pouvez modifier la valeur de toutes les variables composes d'un seul lment qui sont aussi visibles lespionnage. Avant deffectuer la commande 'Ecrire valeurs des variables', vous devez dfinir une valeur de variable pour lcriture. 1. Dfinition des valeurs : Pour les variables autres que boolennes, il suffit de double-cliquer sur la ligne laquelle la variable est dclare, ou de marquer cette variable et dappuyer sur la touche <Entre>. Suite quoi une bote de dialogue 'crire variable <x>' apparat, vous permettant de saisir la valeur qui sera crite dans la variable. Bote de dialogue pour lcriture dune nouvelle valeur de variable

Pour les variables boolennes, il suffit de double-cliquer sur la ligne laquelle la variable est dclare, et la valeur change dun tat lautre (TRUE, FALSE, et pas de nouvelle valeur) sans quune bote de dialogue apparaisse. La nouvelle valeur prvue pour lcriture est affiche couleur turquoise entre les signes '<' et '>', la suite de lancienne valeur, par exemple a=0 <:=34>.

Remarque : Exception laffichage des valeurs crire : Dans les diteurs FBD et LD, la nouvelle valeur est indique en couleur turquoise mais sans les signes '<' et '>'.

Vous pouvez dfinir une nouvelle valeur pour autant de variables que vous le souhaitez. Les valeurs introduites pour les variables crire peuvent galement tre corriges voire effaces de la mme manire. Ceci est galement possible avec 'En Ligne' 'Dialogue crire/Forcer' (voir cidessous). Les valeurs attribues pour lcriture sont sauvegardes dans une liste d'criture (Liste d'espion) jusqu leur utilisation effective ou leur effacement; elles peuvent galement tre dposes dans une liste de forage via la commande 'Forcer valeurs des variables' Les listes d'espion et de forage peuvent tre consultes dans 'Dialogue Ecrire/Forcer'.

CoDeSys V2.3

4-73

Fonctions en ligne gnrales

2. criture des valeurs : La commande permettant lcriture des valeurs provenant de la liste dcriture se trouve en deux endroits : Commande 'crire valeurs des variables' dans le menu 'En Ligne'. Bouton <crire valeurs des variables> dans la bote de dialogue 'Editer la liste d'criture et de forage'. Si vous excutez la commande 'crire valeurs des variables', toutes les valeurs contenues dans la liste d'criture sont attribues une seule fois en dbut de cycle aux variables correspondantes de l'automate et ainsi effaces de la liste d'criture. (Si la commande 'Forcer valeurs des variables' est excute, les valeurs sont galement effaces de la liste dcriture et reprises dans la Liste de forage!)
Remarque : Dans le diagramme fonctionnel en squence, les valeurs individuelles formant une expression de transition ne peuvent tre modifies par le biais de 'crire des valeurs'. Ceci repose sur le fait que lors de lespionnage, la valeur totale de lexpression est reprsente, et non pas la valeur des variables individuelles (p.ex. a ET b ne seront reprsents comme TRUE que si les deux valeurs ont effectivement la valeur TRUE).

En FBD par contre, la premire variable est seule espionne dans une expression utilise par exemple comme entre d'un bloc fonctionnel. Ainsi, 'crire valeurs des variables' est possible pour cette seule variable. 'En Ligne' 'Forcer valeurs des variables'
Raccourci : <F7>

Cette commande permet de ramener de manire permanente une ou plusieurs variable(s) des valeurs dfinies par l'utilisateur. Cette opration s'effectue dans le systme d'excution au dbut et la fin d'un cycle. Droulement chronologique au sein d'un cycle : 1.lire les entres, 2. forcer les valeurs, 3. excuter le code, 4. forcer les valeurs, 5. crire les sorties. La fonction est active tant qu'elle n'est pas expressment interrompue par l'utilisateur (Commande 'En Ligne' 'Arrter de forcer') ou que le systme de programmation ait ferm la session. Pour la cration d'une nouvelle valeur, une Liste d'espion (liste d'criture) est tout d'abord cre, comme cela a t dcrit sous 'En Ligne' 'Ecrire valeurs des variables' (voir 1. Dfinition des valeurs). Les variables contenues dans la liste d'criture sont identifies en consquence dans l'espion. La liste d'criture est transmise dans une Liste de forage ds que la commande 'Forcer valeurs des variables' est excute. Les entres dans la liste de forage peuvent tre consultes dans 'Dialogue crire/Forcer'. Il se peut qu'il y ait dj une Liste de forage active, celle-ci sera alors mise jour en consquence. La liste d'criture se vide et les nouvelles valeurs sont reprsentes en rouge comme "forces"; par exemple:

Des modifications dans la Liste de forage sont transmises au programme lors d'une commande ultrieure 'Forcer valeurs des variables'. Veuillez noter : La Liste de forage est cre lors du premier forage des valeurs contenues dans la Liste d'espion alors que cette dernire existait dj avant la premire criture des valeurs qu'elle contient.
Remarque: Si le systme cible le supporte, une liste de forage est maintenue sur l'automate programmable, mme si la connexion est interrompue p.ex. par une fin de session.

La commande permettant de forcer une variable (et par l mme l'enregistrement dans une liste de forage) se trouve aux emplacements suivants : Commande 'Forcer valeurs des variables' dans le menu 'En Ligne'.

4-74

CoDeSys V2.3

4 - Les composants dans le dtail

Bouton <Forcer valeurs des variables> dans la bote de dialogue 'Editer la liste d'criture et de forage'.
Remarque : Dans le diagramme fonctionnel en squence, les valeurs individuelles permettant de former une expression de transition ne peuvent tre modifies par le biais de 'Forcer valeurs des variables'. Ceci repose sur le fait que lors de l'espionnage, la valeur totale de l'expression est reprsente, et non pas la valeur des variables individuelles (p.ex. a ET b ne seront reprsents comme TRUE que si les deux valeurs ont effectivement la valeur TRUE). En FBD par contre, la premire variable est seule espionne dans une expression utilise par exemple comme entre d'un bloc fonctionnel. Ainsi, 'Forcer valeurs des variables' n'est possible que pour cette variable.

Dans le diagramme fonctionnel en squence, les valeurs individuelles formant une expression de transition ne peuvent tre modifies par le biais de 'Forcer valeurs des variables'. Ceci repose sur le fait que lors de l'espionnage, la valeur totale de l'expression est reprsente, et non pas la valeur des variables individuelles (p.ex. a ET b ne seront reprsents comme TRUE que si les deux valeurs ont effectivement la valeur TRUE). En FBD par contre, la premire variable est seule espionne dans une expression utilise par exemple comme entre d'un bloc fonctionnel. Ansi, 'Forcer valeurs des variables' n'est possible que pour cette variable. 'En Ligne' 'Arrter de forcer'
Raccourci : <Maj>+<F7>

Cette commande met fin au Forage de valeurs de variables dans lautomate. Les variables modifient nouveau leur valeur selon la procdure normale. Les variables forces sont reconnaissables leur reprsentation en rouge dans lespion. Vous avez la possibilit deffacer compltement la liste de forage ou den effacer quelques variables individuelles ( slectionner avant de donner la commande d'arrt de forage). Pour effacer compltement la liste de forage et donc lever le forage pour toutes les variables, slectionnez les possibilits suivantes : Commande 'Arrter de forcer' dans le menu 'En Ligne'. Bouton <Arrter de forcer> dans la bote de dialogue 'Editer la liste d'criture et de forage'. Effacer toute la liste de forage par le biais de la bote de dialogue 'Effacer les listes d'criture/de forage'. Celle-ci s'ouvre grce la commande 'En Ligne' 'Arrter de forcer' pour autant quil y ait encore des entres dans la Liste d'espion. Pour lever le forage de quelques variables individuelles de la 'Liste de forage', vous devez tout dabord marquer ces variables. Vous devez pour ce faire slectionner une des possibilits dcrites ciaprs. Les variables concernes sont reconnaissables lajout couleur turquoise <Arrter de forcer>. Un double-clic sur la ligne laquelle une variable non boolenne forcer est dclare donne accs la bote de dialogue 'crire variable <x>'. Appuyez alors sur le bouton <Arrter de forcer pour cette variable>. En multipliant les doubles-clics sur la ligne laquelle une variable boolenne forcer est dclare, vous pouvez modifier les donnes jusqu lindication <Arrter de forcer> aprs la variable. Effacez la valeur dans le champ ddition de la colonne 'Valeur force' dans la bote de dialogue crire/Forcer, laquelle vous avez accs via le menu 'En Ligne'. Si '<Arrter de forcer>' se trouve aprs la valeur de toutes les variables souhaites dans la fentre de dclaration, vous pouvez excuter la commande 'Forcer valeurs des variables', qui transmettra le nouveau contenu de la Liste de forage lautomate. Si, lors de lexcution de la commande 'Arrter de forcer', la Liste d'espion (voir 'En Ligne' 'crire valeurs des variables') nest pas vide, la bote de dialogue 'Effacer les listes d'criture/de forage' souvre, incitant lutilisateur dcider sil veut Annuler le forage ou Effacer la liste d'criture, ou les deux.

CoDeSys V2.3

4-75

Fonctions en ligne gnrales

Bote de dialogue pour effacer les listes d'espion et d'criture

'En Ligne' 'Dialogue Ecrire/Forcer' Cette commande donne accs une bote de dialogue reprsentant sous deux onglets la liste dcriture actuelle (Liste despion) ainsi que la Liste de forage. Les noms de variables ainsi leurs valeurs prpares ou forces pour lcriture sont toutes reprsentes dans un tableau.
Dialogue pour diter la liste d'criture et de forage

Grce la commande 'En Ligne' 'crire valeurs des variables', les valeurs parviennent la 'Liste d'espion', et elles sont transmises dans la 'Liste de forage' par le biais de la commande 'En Ligne' 'Forcer valeurs des variables'. Les valeurs peuvent tre dites dans les colonnes 'Valeur prpare' ou 'Valeur force' en ce sens quun clic de la souris sur lentre ouvre un champ ddition. Un message derreur est dlivr en cas d'inconsistance de type. Si vous effacez une valeur, cela signifie que lentre est enleve de la liste dcriture ou que la variable est marque pour lever le forage ds que vous quittez la bote de dialogue par le biais dune commande autre que Annuler. Les commandes suivantes, correspondant celles du menu En ligne, sont disposition par le biais des boutons : Forcer valeurs des variables: Toutes les entres de la liste dcriture actuelle sont dplaces dans la liste de forage, ce qui signifie que les valeurs de variables sont forces dans lautomate. Les variables marques par "<Arrter de forcer>" ne sont plus forces. La bote de dialogue se referme ensuite.

4-76

CoDeSys V2.3

4 - Les composants dans le dtail

Ecrire valeurs des variables: Toutes les entres de la liste dcriture actuelle sont crites une seule fois dans les variables correspondantes dans lautomate. La bote de dialogue se referme ensuite. Arrter de forcer: Toutes les entres de la liste de forage sont effaces ou, si une liste d'criture est disponible, la bote de dialogue 'Effacer les listes d'criture/de forage' souvre, incitant lutilisateur dcider sil veut Annuler le forage ou Effacer la liste d'criture, ou les deux. La bote de dialogue se referme ensuite ou aprs avoir ferm la bote de dialogue qui a permis la slection. 'En Ligne' 'Hirarchie d'appel' Vous pouvez appeler cette commande lorsque la simulation s'arrte un point d'arrt. Une bote de dialogue s'ouvre et affiche une liste des modules qui se trouvent actuellement dans la pile d'appel.
Exemple de hirarchie d'appel

Le premier module est toujours PLC_PRG, car c'est dans ce module que dbute l'excution. Le dernier module est toujours celui o le programme tait excut actuellement. Aprs avoir slectionn un des modules et cliqu sur le bouton Atteindre, le module slectionn est charg dans une fentre, et la ligne ou le rseau en cours d'excution est affich(e). 'En Ligne' 'Contrle de droulement' ' Selon la configuration du systme cible actuel, on peut activer ou dsactiver le contrle de droulement par l'utilisateur au moyen de cette option de menu. Si Contrle de droulement est slectionn, un crochet ( ) apparat devant l'lment de menu. Tous les rseaux ou lignes qui ont t excuts au cours du dernier cycle de commande sont marqus. Les champs de numrotation des lignes ou des rseaux qui ont t parcourus sont visualiss en vert. Dans l'diteur IL, un champ supplmentaire est ajout au niveau du bord gauche de chaque ligne. Le contenu actuel de l'accumulateur y est affich. Dans les diteurs graphiques du schma en blocs fonctionnels et du langage contacts, un champ supplmentaire est ajout tous les lments de liaison qui ne vhiculent pas de valeurs boolennes. Lorsque ces entres et sorties sont dfinies, la valeur vhicule par l'lment de liaison s'affiche dans ce champ. Les lments de liaison qui transportent exclusivement des valeurs boolennes apparaissent en bleu lorsqu'ils transportent des valeurs TRUE; ce systme permet de suivre continuellement le flux d'informations. 'En Ligne' 'Simulation' Si la Simulation est slectionne, un crochet ( ) apparat devant l'lment de menu. En mode simulation, le programme utilisateur est excut mme le PC sous Windows. Le mode simulation sert tester le projet. La communication entre le PC et la simulation utilise le technique usuelle de transfert de messages de Windows. Lorsque le programme n'est pas en mode simulation, il est excut sur l'automate programmable. La communication entre le PC et l'automate programmable se fait de manire usuelle, par l'intermdiaire de l'interface srie. L'tat de ce drapeau est enregistr avec le projet.

CoDeSys V2.3

4-77

Fonctions en ligne gnrales

'En Ligne' 'Paramtres de communication' Vous accdez au moyen de cette commande une bote de dialogue destine configurer les paramtres de communication entre l'ordinateur local et le systme d'excution via une gateway. (Si vous utilisez un serveur OPC ou DDE, les mmes paramtres de communication doivent y tre configurs.) Voyez cet effet les points suivants : Principe de la gateway Bote de dialogue "Paramtres de communication" de l'ordinateur local Configuration de la passerelle souhaite et du canal Cration d'un nouveau canal pour la passerelle locale Indications pour diter les paramtres dans la bote de dialogue Paramtres de communication Principe de la gateway Votre ordinateur local peut tre reli un ou plusieurs systmes d'excution via une gateway. Une configuration particulire pour chaque gateway dtermine les systmes d'excution auxquels la gateway peut accder tandis que la liaison avec la gateway voulue est configure au niveau de l'ordinateur local. Il est possible de crer une configuration telle que, non seulement la gateway, mais aussi un ou plusieurs systmes d'excution soient en excution sur l'ordinateur local. Si la gateway est installe sur l'ordinateur local, l'change entre le systme de programmation et la gateway se fait par le biais de la mmoire partage ou de TCP/IP. S'il s'agit d'une gateway qui est en excution sur un PC tranger, il faut s'assurer qu'elle a dmarr sur ce mme PC. La connexion n'est alors possible que par le biais de TCP/IP. La gateway dmarre automatiquement ds que, sur l'ordinateur dans lequel il est install, la bote de dialogue permettant la configuration de la communication s'ouvre dans le cadre de CoDeSys, ou ds que vous vous connectez au systme d'excution cible. Si une version de la gateway incompatible avec le systme de programmation est installe sur votre ordinateur, le message correspondant est affich. Il est alors impossible d'ouvrir une session. apparat alors en bas droite, dans la barre des tches. Cette icne est Une icne CoDeSys allume aussi longtemps que vous tes reli au systme d'excution via la gateway.
Le menu de passerelle :

En cliquant sur le bouton droit de la souris sur ladite icne, vous accdez aux options Aide, Info, Changer mot de passe,Inspection, et Quitter. Vous obtenez des informations propos de la version de la gateway par le biais d'Info. Par le biais de Changer mot de passe, vous obtenez une bote de dialogue vous permettant de saisir un mot de passe pour la gateway local ou ventuellement de changer ce mot de passe. Si une telle protection existe, vous tes invit saisir le mot de passe ds que la gateway concerne est slectionne dans la bote de dialogue des paramtres de communication ou ds que vous vous connectez pour la premire fois. Par le biais de Inspection, vous accdez aux botes de dialogue du contrleur de gateway, permettant un espionnage des canaux de gateway (canaux disponibles, services actifs, etc.). Vous pouvez ouvrir, via l'option Aide, l'aide En ligne de l'interface utilisateur de la gateway, afin d'obtenir des informations quant l'utilisation du contrleur. La commande Quitter vous permet de dconnecter la gateway.

4-78

CoDeSys V2.3

4 - Les composants dans le dtail

Le schma suivant reprsente un systme avec gateway:

PC_lokaldsigne votre ordinateur local tandis que PC_x dsigne un PC distinct de l'ordinateur local, utilisant la gateway. PC_gateway dsigne le PC sur lequel est installe la gateway, PC_PLC1, PC_PLC2, PC_PLC3 et PC_PLC4 dsignent les PC sur lesquels les systmes d'excution sont en excution. Les modules apparaissent spars sur la figure, mais il est tout fait possible que la gateway et / ou le systme d'excution soient galement installs sur l'ordinateur local.
Attention : Nous attirons votre attention sur le fait que la liaison avec la passerelle ne peut se faire qu'en utilisant le protocole TCP/IP. Par consquent, votre ordinateur doit tre quip de faon adquate. Si par contre la passerelle est installe sur votre ordinateur local, la liaison est possible via la mmoire partage (srie).Les liaisons entre la passerelle et les diffrents ordinateurs d'excution peuvent quant elles utiliser divers protocoles (TCP/IP, Pipe, etc.).

Reprsentation dans la bote de dialogue 'Paramtres de communication' Cette bote de dialogue sert slectionner une gateway par lintermdiaire de laquelle la connexion doit par exemple seffectuer avec un automate. En outre, vous pouvez tablir de nouveaux canaux pour une gateway installe sur lordinateur local et dfinir leurs paramtres de connexion, de manire ce que ceux-ci soient galement disponibles pour dautres ordinateurs du rseau. Vous pouvez tout moment appeler les paramtres actuellement en vigueur via le bouton Actualiser. Si les paramtres de communication ont dj t configurs conformment au schma prsent titre d'exemple 'Principe de la gateway', la bote de dialogue se prsenterait de la faon suivante:
Bote de dialogue Paramtres de communication par gateway, exemple de configuration

La rubrique Canaux affiche deux catgories de liaisons:

CoDeSys V2.3

4-79

Fonctions en ligne gnrales

La premire catgorie regroupe tous les canaux que la gateway actuellement connecte, dsigne par "localhost", offre sur le rseau, permettant par exemple une liaison avec lautomate. L'adresse ou le nom de ladite gateway est indiqu aprs le signe moins, l'extrmit suprieure. Dans l'exemple que nous avons choisi, cette gateway est en excution sur l'ordinateur local. L'adresse approprie "localhost" correspond en rgle gnrale l'adresse IP 127.0.0.1 de l'ordinateur local (PC_lokal). En dessous, trois adresses de systmes d'excution sont indentes au sein d'une arborescence. Des canaux sont configurs pour ces systmes d'excution, au niveau de la gateway (PC_PLC1 3). Ces canaux ont pu tre configurs aussi bien par l'ordinateur local que par d'autres PC (PC_x), qui sont ou ont t relis la gateway. La deuxime catgorie de canaux englobe toutes les liaisons au niveau de la gateway ayant t configures partir de votre ordinateur local par exemple, l'aide de cette bote de dialogue de configuration. Ces liaisons constituent la "branche" qui descend en droite ligne du signe moins vers PC_PLC1 et PC_PLC4. Les adresses de ces canaux ne doivent pas ncessairement avoir dj t identifies au niveau de la gateway. Certes, les paramtres de communication pour PC_PLC4, dans l'exemple reprsent ci-dessus, sont enregistrs localement dans le projet. Nanmoins, ces paramtres n'ont t identifis par la gateway qu'aprs un nouvel accs au systme d'excution. C'est le cas pour PC_PLC1, qui a t rajout pour cette raison "l'arborescence des canaux", comme "sous-branche" de l'adresse de gateway concerne. Dans la partie centrale de la bote de dialogue se trouvent l'identification du canal slectionn dans la partie de gauche ainsi que les paramtres qui se rapportent ce canal, dans les rubriques Nom, Valeur et Commentaire. Configuration de la gateway souhaite et du canal 1. Slection de la passerelle dans le dialogue Paramtres de communication: Pour dfinir la liaison avec la gateway voulue, ouvrez la bote de dialogue Paramtres de communication par Gateway en appuyant sur le bouton Gateway.
Exemple de bote de dialogue, Dfinition de la connexion locale la passerelle

Vous pouvez alors saisir ou diter les donnes suivantes : le type de connexion que vous souhaitez utiliser entre votre ordinateur et l'ordinateur sur lequel la gateway est en excution. Si la gateway est en excution sur l'ordinateur local, une connexion via la mmoire partage ("Local") est possible, de mme qu'une connexion par le biais de TCP/IP; si vous devez vous connecter un autre ordinateur, vous ne pouvez utiliser que TCP/IP. l'adresse de l'ordinateur que vous souhaitez utiliser et sur lequel la gateway tourne. Adresse IP ou nom symbolique correspondant, par exemple localhost. Lors d'une premire configuration, localhost est propos par dfaut comme nom d'ordinateur (adresse), ce qui signifie qu'on accderait la gateway installe localement. Le nom "localhost" est automatiquement assimil dans la plupart des cas l'adresse IP locale 127.0.0.1. Cependant, il se peut que vous ayez entrer directement cette dernire dans le champ Adresse. Si vous souhaitez accder une gateway sur un autre ordinateur, vous devez remplacer localhost par son nom ou son adresse IP. le mot de passe pour la gateway slectionne, si celle-ci est installe sur un ordinateur distance. Si celui-ci est erron ou que vous ne l'introduisez pas, un message d'erreur apparat

4-80

CoDeSys V2.3

4 - Les composants dans le dtail

l'cran. Veuillez noter cet effet : vous pouvez munir d'un mot de passe la gateway installe localement de la manire suivante : Cliquez avec le bouton droit de la souris sur l'icne de la gateway en bas droite dans la barre des tches, et slectionnez Changer mot de passe . Vous accdez alors une bote de dialogue permettant de changer ou de saisir un mot de passe. Si vous accdez localement la gateway, le mot de passe ventuellement attribu n'est pas demand. le port de l'ordinateur que vous souhaitez utiliser et sur lequel la gateway tourne ; en rgle gnrale, il est dj prdfini pour la valeur correspondant la gateway slectionne. Si vous fermez la bote de dialogue en confirmant par OK, l'entre correspondante (adresse d'ordinateur) apparat tout en haut dans la rubrique Canaux de la bote de dialogue Paramtres de communication, et les canaux disponibles de cette gateway apparaissent en dessous.

2. Configuration du canal souhait de la gateway slectionne Slectionnez maintenant un des canaux en cliquant sur une des entres. Les paramtres correspondants sont alors affichs dans un tableau. Si aucune connexion ne peut tre cre vers l'adresse de gateway choisie - du fait que le serveur ne soit pas dmarr ou que l'adresse soit errone , alors l'indication "non connect" apparat entre parenthses derrire l'adresse ainsi que le message 'Aucune gateway avec ces paramtres n'a t trouve'. Reportez-vous dans ce cas la rubrique 'Vrification en cas d'chec de connexion la gateway'. Lorsque le canal souhait est configur, fermez cette bote de dialogue avec OK. Les configurations sont enregistres avec le projet. Cration d'un nouveau canal pour la gateway locale Dans le dialogue Paramtres de communication, vous pouvez crer des nouveaux canaux pour la passerelle actuellement connecte, ceux-ci seront alors disposition pour les connexions de la passerelle, par exemple pour une connexion avec l'automate. Les possibilits dont vous disposez sont fonction de la gamme individuelle des pilotes installs sur votre ordinateur. Appuyez sur le bouton Nouveau.... Vous obtenez alors la bote de dialogue 'Paramtres de communication :Nouveau canal' :
Exemple de bote de dialogue, Cration d'un nouveau canal

Le nom correspondant au dernier canal entr est automatiquement propos dans le champ Nom. Si aucun canal n'a t dfini jusque l, le nom de la gateway actuelle est propos suivi d'un caractre de soulignement, par exemple "localhost_". A cet endroit, vous pouvez modifier le nom de canal. Les noms de canaux sont purement indicatifs. Il n'est donc pas ncessaire qu'ils soient univoques, mme si cela est prfrable. Les pilotes disponibles auprs de l'ordinateur gateway sont numrs dans un tableau sous Appareil. En cliquant avec la souris, slectionnez un des pilotes proposs dans la colonne Nom ; s'il existe, le commentaire correspondant est affich dans la colonne Information.

CoDeSys V2.3

4-81

Fonctions en ligne gnrales

Si vous fermez la bote de dialogue 'Nouveau canal' en confirmant par OK, le canal nouvellement dfini est affich dans la bote de dialogue Paramtres de communication, dans la rubrique Canaux, en dernire position sous le signe moins. Pour le moment, le canal n'est enregistr que localement dans le projet (voir ci-dessus) ! ce stade, vous pouvez diter la colonne Valeur. Confirmez les paramtres rgls l'aide d'OK et quittez la bote de dialogue 'Paramtres de communication'. Vous devez accder au systme d'excution afin que le nouveau canal de gateway et ses paramtres soient identifis au niveau de la gateway xy et afin qu'il soit accessible tous les ordinateurs qui ont accs cette gateway xy. Si vous ouvrez ensuite nouveau la bote de dialogue 'En Ligne' 'Paramtres de communication' le nouveau canal apparat dans une "arborescence de canaux" et en indentation sous l'adresse / le nom de l'ordinateur sur lequel la gateway est installe, tout en continuant tre affich la position qu'il occupait jusque-l. Ceci signifie qu'il est connu du rseau. Vous pouvez alors ouvrir la bote de dialogue des paramtres de communication partir d'un autre ordinateur que l'ordinateur local, slectionner la gateway xy et utiliser son nouveau canal. Si une erreur de communication est affiche lors de l'accs au systme, alors il se peut qu'il soit impossible d'ouvrir l'interface (par exemple COM1 dans le cas d'une liaison srie). En effet, il se peut que cette interface soit dj occupe par un autre priphrique. Il se peut galement que seul l'automate ne fonctionne pas. Il ne vous est plus possible d'diter, partir de la bote de dialogue de configuration, les paramtres d'un canal dj identifi par la gateway. Les champs de paramtres sont visualiss en gris. En revanche, vous conservez la possibilit de supprimer la liaison, condition que celle-ci ne soit pas active.
Attention : Nous attirons votre attention sur le fait que, dans le cas d'un canal, l'opration de suppression ne soit pas rversible. La suppression est effectue au moment o vous appuyez sur le bouton Effacer !

Indications pour diter les paramtres dans la bote de dialogue Paramtres de communication Dans le dialogue Paramtres de communication, vous pouvez diter uniquement les champs de texte de la colonne Valeur. En slectionnant un champ de texte avec la souris, vous pouvez accder au mode dition l'aide d'un double-clic ou en appuyant sur la <Barre d'espacement>. Pour terminer une entre de texte donne, appuyez sur la touche <Entre>. Pour vous dplacer vers le bouton ou la zone d'dition qui suit ou qui prcde, appuyez respectivement sur la touche <Tabulation> et sur les touches <Maj> + <Tabulation>. Si vous ditez des valeurs numriques, il vous est possible d'incrmenter ou de dcrmenter une valeur donne d'une ou de dix units, l'aide des touches directionnelles ou des touches de dfilement d'cran. En double-cliquant avec la souris, vous incrmentez galement la valeur d'une unit. Pour les valeurs numriques, une vrification relative au type a t configure: en appuyant sur les touches <Ctrl> + <Pos1> et <Ctrl> + <Fin>, vous obtenez respectivement la valeur minimale et la valeur maximale susceptible d'tre entre, pour le type de paramtre choisi. Vrification en cas dchec de connexion la gateway Vrifiez les points suivants si vous ne parvenez pas tablir une connexion avec la gateway slectionne (Le message 'Non connect' apparat dans la bote de dialogue des paramtres de communication derrire ladresse de la gateway, dans le champ Canaux) : La gateway est-elle dmarre (apparition dun symbole tricolore dans le coin infrieur droit dans la barre des tches) ? Sagit-il rellement, au niveau de ladresse IP que vous avez saisi dans la bote de dialogue 'Gateway: 'Paramtres de communication, de lordinateur sur lequel la gateway est en excution ? (Vrifier au moyen dun ping ) La connexion TCP/IP fonctionne localement ? Lerreur se situe ventuellement au niveau du TCP/IP. 'En Ligne' 'Application tlcharge du code source dans l'automate' Cette commande permet de charger le code source du projet dans l'automate programmable. ne pas confondre avec le code cr la compilation du projet ! Vous pouvez dterminer les options

4-82

CoDeSys V2.3

4 - Les composants dans le dtail

valables pour un tlchargement (moment, taille) dans la bote de dialogue 'Projet' 'Options' 'Tlchargement code source'. 'En Ligne' 'Crer projet d'initialisation' Si cette commande est effectue en ligne, le projet compil est compltement sauvegarde dans l'automate de sorte que ce dernier puisse le charger lors d'un nouveau dmarrage. La sauvegarde du projet d'initialisation se produit de diffrentes faons, en fonction du systme cible. Par exemple, trois fichiers sont crs sur les systmes bass sur un processeur 386 : default.prg contient le code projet, default.chk le total de contrle du code, et default.sts le statut de l'automate aprs un nouveau dmarrage (Start/Stop). La commande 'En Ligne' 'Crer projet d'initialisation' est galement disposition Hors ligne, lorsque le projet a t compil sans erreurs. Dans ce cas, le fichier <Nom du projet>.prg est cr pour le projet d'initialisation dans le rpertoire du projet, et le fichier <Nom du projet>.chk pour le total de contrle du code. Il peuvent tre copis sur un automate aprs en avoir chang le nom de faon adquate. S'il existe dj un projet d'initialisation dans l'automate programmable et si en outre l'option 'Mode En ligne en mode de scurit' est active au sein des options de projet, catgorie Environnement de travail, un dialogue s'ouvre lors de la cration d'un nouveau projet d'initialisation, reprenant les informations relatives au projet actuellement charg sur le systme de programmation et au projet d'initialisation existant au niveau de l'automate. Cette fonctionnalit doit bien entendu tre supporte par le systme cible ! Toujours selon la configuration du systme cible, un nouveau fichier *.ri (informations de compilation) sera ventuellement cr en mme temps que la cration Hors ligne d'un projet d'initialisation. Si un tel fichier existe, un dialogue de confirmation s'ouvrira le cas chant (selon le systme cible).
Remarque : Si l'option Automatiquement la cration du projet d'initialisation (catgorie Download Sourcecode) est active, la commande 'En Ligne' 'Crer projet d'initialisation' vous permet de charger automatiquement dans l'automate programmable les fichiers source choisis.

'En Ligne' 'Ecrire le fichier dans l'automate' Cette option sert charger un fichier au choix dans l'automate. Elle donne accs la bote de dialogue 'crire un fichier dans l'automate' dans laquelle vous marquez le fichier souhait. Aprs avoir confirm la slection au moyen du bouton Ouvrir, le dialogue se referme, le fichier est charg dans l'automate puis y est cr sous le mme nom. Le chargement s'accompagne d'une barre d'avancement. La commande 'En Ligne' 'Charger le fichier de l'automate' permet de charger nouveau un fichier dj cr dans l'automate. 'En Ligne' 'Charger le fichier de l'automate' Cette commande permet de charger nouveau un fichier cr dans lautomate par le biais de 'En Ligne' 'Ecrire le fichier de l'automate'. Vous obtenez la bote de dialogue 'Charger le fichier de l'automate'. Introduisez le nom du fichier souhait sous Nom du fichier et slectionnez le rpertoire dans lequel il doit tre charg (Enregistrer sous) ds que vous avez referm la bote de dialogue via le bouton 'Enregistrer'.

4.7 Ordonner les fentres


Dans l'option 'Fentre' se trouvent toutes les commandes relatives la gestion des fentres. Il s'agit aussi bien de commandes pour ordonner automatiquement vos fentres que pour ouvrir le gestionnaire de bibliothques et pour basculer d'une fentre ouverte vers une autre fentre ouverte. A la fin du menu toutes les fentres ouvertes sont rpertories dans l'ordre dans lequel elles ont t ouvertes. En cliquant avec la souris sur l'entre approprie, vous accdez la fentre de votre choix. Un crochet ( ) apparat devant le nom de la fentre active. Les paragraphes qui suivent dcrivent en dtail les commandes du menu 'Fentre':

CoDeSys V2.3

4-83

Gestionnaire d'Aide

'Fentre' 'Mosaque horizontale' Cette commande vous permet d'ordonner l'une ct de l'autre toutes les fentres l'intrieur de l'environnement de travail, de faon ce qu'elles ne se recoupent pas et qu'elles occupent la totalit de l'environnement de travail. 'Fentre' 'Mosaque verticale' Cette commande vous permet d'ordonner l'une au-dessus de l'autre toutes les fentres l'intrieur de l'environnement de travail, de faon ce qu'elles ne se recoupent pas et qu'elles occupent la totalit de l'environnement de travail. 'Fentre' 'Cascade' Cette commande vous permet d'ordonner l'une derrire l'autre toutes les fentres l'intrieur de l'environnement de travail, de faon former une cascade. 'Fentre' 'Rorganiser les icnes' Cette commande vous permet d'ordonner toutes les fentres rduites, situes l'intrieur de l'environnement de travail, sur une ligne situe la limite infrieure de l'environnement de travail. 'Fentre' 'Fermer tout' Cette commande vous permet de fermer toutes les fentres ouvertes l'intrieur de l'environnement de travail. 'Fentre' 'Messages' Raccourci : <Maj>+<Echap> Cette commande vous permet d'ouvrir ou de fermer la fentre de messages avec les messages relatifs aux derniers procds de compilation, de vrification et de comparaison effectus. Si la fentre de messages est ouverte, un crochet ( ) apparat devant la commande, dans le menu. 'Fentre' 'Gestionnaire de bibliothques' Cette commande vous permet d'ouvrir ou de fermer la fentre de 'Gestionnaire de bibliothques'. 'Fentre' 'Journal' Cette commande vous donne accs la fentre Journal qui permet d'afficher des protocoles relatifs aux sessions En ligne. (voir chapitre 6.5, Ressources, Journal).

4.8 Gestionnaire d'Aide


'Aide' 'Sommaire et Index' Les commandes Contenu et Rechercher dans le menu Aide vous permettent d'ouvrir la fentre rubriques d'aide. Dans l'onglet Contenu vous trouvez la table des matires. Les livres s'ouvrent et se ferment au moyen d'un double-clic ou des boutons correspondants. En double-cliquant sur une rubrique marque ou en activant le bouton Indiquer, cette rubrique est affiche dans la fentre principale d'aide ou dans la fentre mots cl. Pour chercher un mot cl prcis, cliquez sur l'onglet Index, et cliquez sur l'onglet Chercher pour effectuer une recherche sur l'ensemble du texte. Conformez vous aux instructions dans les onglets.

4-84

CoDeSys V2.3

4 - Les composants dans le dtail

Fentre rubriques d'aide

Aide adapte au contexte


Raccourci : <F1>

Vous pouvez activer la touche <F1> dans une fentre active, une bote de dialogue ou lorsqu'un lment de menu est slectionn. Dans le cas des lments de menu, c'est l'aide qui correspond la commande actuellement slectionne qui est affiche. Vous pouvez aussi marquer un texte (p.ex. un mot cl ou une fonction standard) et obtenir que l'aide correspondante soit affiche.

CoDeSys V2.3

4-85

Gestionnaire d'Aide

4-86

CoDeSys V2.3

5 - Les Editeurs

5 Les Editeurs
5.1 Pour toutes les diteurs
Structure d'un diteur Tous les diteurs pour les langages de programmation dans CoDeSys sont constitus dune partie de dclaration et dun corps. Le corps peut tre compos dun diteur graphique ou littral, la partie de dclaration quant elle est toujours un diteur littral. Le corps et la partie de dclaration sont spars par une barre horizontale de fractionnement, que lon peut dplacer sa convenance, en cliquant dessus avec la souris et en la dplaant vers le haut et vers le bas tout en maintenant la touche de la souris enfonce. Zone d'impression Les dlimitations horizontales et verticales relatives aux pages et en vigueur lors de limpression du contenu de lditeur sont marques par les lignes rouges pour autant que vous ayez slectionn loption 'Zone d'impression' parmi les options de projet de la bote de dialogue 'Environnement de travail'. cet effet, les donnes par dfaut de limprimante configure sont dapplication, de mme que la mise en page slectionne pour limpression dans le menu 'Fichier' 'Configuration Documentation'. Si aucune imprimante ou mise en page nest disponible, on se base sur une assignation par dfaut (Dfaut DFR et Imprimante standard). Les limites horizontales dimpression sont affiches comme si on avait slectionn loption 'Nouvelle page pour chaque objet' ou 'Nouvelle page pour chaque sous-objet' dans la 'Configuration Documentation'. La limite infrieure nest pas reprsente.
Veuillez noter : Un affichage prcis des zones limites dimpression nest obtenu quavec un facteur zoom rgl 100%.

Commentaires Les commentaires de l'utilisateur doivent tre enferms dans les chanes de caractres spcifiques "(*" et "*)". Les commentaires sont autoriss dans tous les diteurs littraux, et ce n'importe quel endroit. Autrement dit, les commentaires sont autoriss dans les dclarations, en langage IL et en langage ST, et dans les types de donnes dfinis par l'utilisateur. Si le projet est imprim moyennant lutilisation dun document modle, le commentaire saisi en regard de la dclaration de variable apparat toujours derrire cette variable, ceci pour les parties de programme se basant sur des textes. Pour chaque rseau, il est possible dintroduire un commentaire dans les diteurs graphiques en langage FBD et LD Pour cela, choisissez le rseau que vous souhaitez commenter et activez "Insrer" + "Commentaire". En langage LD, vous pouvez ajouter un commentaire chaque contact ou chaque bobinage, si le rglage dans laffichage des options du menu 'Extras' 'Options' le permet. Avec lditeur CFC , il existe des modules spciaux de commentaire qui peuvent tre placs selon son gr. En SFC, vous pouvez entrer des commentaires relatifs aux tapes dans la bote de dialogue pour ldition dattributs dtape. Des 'commentaires imbriqus' sont galement permis, pour autant que loption correspondante ait t active dans la bote de dialogue 'Projet' 'Options' 'Options de compilation'. Si, dans le mode En Ligne, vous maintenez pendant une courte dure le pointeur de la souris sur une variable, alors le type et, le cas chant, le commentaire de celle-ci sont visualiss l'intrieur d'une info-bulle. Zoom sur module appel Cette commande est disponible dans le menu contextuel (<F2>) ou dans le menu Extras, pour autant que le curseur se trouve sur le nom du module appel dans les diteurs littraux, ou si la bote dun

CoDeSys V2.3

5-1

L'diteur de dclaration

module est marque dans les diteurs graphiques. Le zoom ouvre le module concern dans sa fentre dditeur. S'il s'agit d'un module issu d'une bibliothque, alors le gestionnaire de bibliothques est appel et le module correspondant est affich. Ouvrir l'instance Cette commande correspond la commande 'Projet' 'Ouvrir l'instance' . Elle est disponible dans le menu contextuel ou dans le menu Extras, pour autant que le curseur se trouve sur le nom du bloc fonctionnel dans les diteurs littraux, ou si la bote dun module est marque dans les diteurs graphiques. Fonction Intellisense Si loption Lister les composants est active parmi les options de projet dans la catgorie diteurs, la fonction Intellisense est disponible dans tous les diteurs, dans le gestionnaire despion et de recettes, dans la visualisation et dans la configuration de lhistogramme. Si un point . est donn en tant quidentificateur, une liste de slection de toutes les variables locales et globales souvre. Vous pouvez slectionner un lment hors de cette liste et l'insrer en appuyant sur la touche dentre aprs le point. Linsertion se produit galement aprs un doubleclic sur llment de la liste. Si lidentificateur est une instance d'un bloc fonctionnel ou une variable dfinie comme une structure et suivie dun point, une liste des variables dentre et de sortie du bloc fonctionnel ou des composants de structure souvre aprs la saisie du point. Exemple : Saisie de "struvar." -> les composants de la structure struct1 sont affichs :

5.2 L'diteur de dclaration


5.2.1 Gnralits quant aux diteurs de dclaration
Les diteurs de dclaration servent la dclaration de variables pour les modules et les variables globales, la dclaration de types de donnes et au niveau du gestionnaire d'espion et de recettes. Ils disposent de toutes les fonctions normales de Windows, et les fonctionnalits IntelliMouse peuvent galement tre utilises si le pilote adquat est install. En mode crasement, le symbole correspondant est affich en noir dans la barre des statuts, et vous pouvez commuter entre le mode crasement et le mode Insertion en appuyant sur la touche <Inser>. La dclaration de variables est assiste par la coloration de la syntaxe. Vous trouvez les commandes les plus importantes dans le menu contextuel (touche droite de la souris ou <Ctrl>+<F10>). Partie de dclaration Dans la partie de dclaration d'un module sont dclares toutes les variables qui sont utilises exclusivement dans ce module. Il peut s'agir de variables d'entre, de variables de sortie, de variables

5-2

CoDeSys V2.3

5 - Les Editeurs

d'entre-sortie, de variables rmanentes ou de constantes. La syntaxe de dclaration est conforme la norme IEC61131-3. Notez que pour le remplissage de la partie dclaration lors de la cration d'un nouvel objet de type 'Variables globales', 'Type de fichier', 'Fonction', 'Bloc fonctionnel' ou 'Programme', il est possible d'utiliser des objets modles, voir chapitre 4.3. Voici un exemple de dclaration de variables correcte dans l'diteur CoDeSys:

Variables d'entre Entre les mots cls VAR_INPUT et END_VAR sont dclares toutes les variables qui interviennent en tant que variables d'entre d'un module, c.--d. que la valeur de ces variables peut galement tre entre au moment de l'appel, au niveau de l'endroit d'appel.
Exemple : VAR_INPUT in1:INT; (* premire variable d'entre *) END_VAR
Voici un exemple d'accs une variable d'entre d'un bloc fonctionnel:

Le bloc fonctionnel FUB a une variable d'entrein1 du type INT. Dclaration: PROGRAM prog VAR inst:FUB; END_VAR Implmentation en langue IL: LD 17 ST inst.in1 CAL inst Implmentation en langue ST: inst(in1:=17);

Variables de sortie Entre les mots cls VAR_OUTPUT et END_VAR sont dclares toutes les variables qui interviennent comme variables de sortie d'un module, c.--d. que les valeurs de ces variables sont renvoyes au module d'appel, pour y tre contrles et rutilises.
Exemple : VAR_OUTPUT out1:INT; (* premire variable de sortie *)

CoDeSys V2.3

5-3

L'diteur de dclaration

END_VAR

Variables d'entre-sortie Entre les mots cls VAR_IN_OUT et END_VAR sont dclares toutes les variables qui interviennent comme variables d'entre-sortie d'un module.
Attention : dans le cas des variables d'entre-sortie, la valeur de la variable transfre est modifie directement ("transfert sous forme de pointer", Call-by-Reference). C'est pourquoi une telle variable n'accepte que des constantes comme valeurs d'entre. Ceci explique galement pourquoi les variables dentresortie VAR_IN_OUT ne peuvent tre lues ou crites directement de lextrieur par <Instance de bloc fonctionnel> <Variables dentre-sortie>. Exemple : VAR_IN_OUT inout1:INT; (* premire variable d'entre-sortie *) END_VAR

Variables locales Entre les mots cls VAR et END_VAR sont dclares toutes les variables locales d'un module. Celles-ci n'ont pas de relation avec l'extrieur, c.--d. qu'il est impossible d'y accder partir de l'extrieur.
Exemple : VAR loc1:INT; (* premire variable locale *) END_VAR

Variables rmanentes Les variables rmanentes gardent leur valeur au-del de lexcution normale de programme. Les variables rmanentes ("retain") et les variables persistantes en font partie.
Exemple : VAR RETAIN rem1:INT; (* premire variable rmanente *) END_VAR

Les variables rmanentes ("retain") sont caractrises par le mot cl RETAIN. Ces variables conservent leur valeur mme aprs un arrt non intentionnel de lautomate ou aprs une remise zro ('En Ligne' 'Reset'). Lors d'un nouveau lancement du programme, le travail continue avec les valeurs mmorises. Un exemple dapplication possible est un compteur install sur une installation de production, qui doit pouvoir continuer compter aprs une panne de secteur. Les variables rmanentes sont rinitialises 'En Ligne' 'Reset froid', 'En Ligne' 'Reset origine' et au contraire des variables persistantes - , chaque nouveau tlchargement de programme. Toutes les autres variables sont rinitialises, soit avec leurs valeurs d'initialisation, soit avec des initialisations standard. Les variables persistantes sont caractrises par le mot cl PERSISTENT. Elles gardent leur valeur seulement aprs un nouveau tlchargement ('En Ligne' 'Lancer'), mais - au contraire des variables rmanentes ("retain") - non aprs 'En Ligne' 'Reset', 'En Ligne' 'Reset froid', 'En Ligne' 'Reset origine', vu quelles ne sont pas enregistres dans la "zone mmoire rmanente". Si les variables persistantes doivent garder leur valeur mme aprs un arrt non intentionnel de l'automate, elles doivent donc tre dclares en plus comme des VAR RETAIN. Un exemple dapplication possible de "variable rmanente persistante" est un compteur pour calculer le nombre dheures de service effectif, qui doit pouvoir continuer compter aprs une panne de secteur.

5-4

CoDeSys V2.3

5 - Les Editeurs

x = valeur est conserv apres command 'En Ligne'...

- = valeur est rinitialis VAR VAR RETAIN VAR PERSISTENT VAR RETAIN PERSISTENT VAR PERSISTENT RETAIN

Reset Reset froid Reset origine Lancer (=Download) Attention :

x -

x x

- Si une variable locale est dclare dans le programme comme variable rmanente, cest prcisment cette variable qui sera sauvegarde dans la zone mmoire rmanente (comme une variable rmanente globale). - Si une variable locale est dclare dans un bloc fonctionnel comme variable rmanente, linstance complte de ce bloc fonctionnel sera enregistre dans la zone mmoire rmanente (toutes les donnes du module), les variables rmanentes dclares tant cependant seules traites comme telles. - Si une variable locale dune fonction est dclare comme variable rmanente, ceci na pas deffet. La variable nest pas enregistre dans la zone mmoire rmanente ! Si une variable locale dune fonction est dclare comme variable persistante, ceci na pas deffet non plus !

Constantes, Typed Literals Les constantes sont caractrises par le mot cl CONSTANT. Elles peuvent tre dclares de faon locale ou globale. Reportez-vous galement la possibilit d'utilisation de constantes types (libells typs - Typed Literals). Syntaxe:
VAR CONSTANT <Identificateur>:<Type> := <Initialisation>; END_VAR

Exemple :
VAR CONSTANT con1:INT:=12; (* premire constante *) END_VAR

Vous trouverez au chapitre 10.2. Variables externes Les variables globales qui doivent tre importes dans le module sont caractrises par le mot-cl EXTERNAL. Elles apparaissent galement en mode En ligne dans la fentre despion de la partie de dclaration. Si la dclaration globale ne concorde pas avec la dclaration de variable externe, le message derreur suivant saffiche lcran : "Dclaration de '<var> ne correspond pas la dclaration globale!!" Si la variable globale nexiste pas, le message suivant est affich : "Variable globale inconnue <var>!"
Exemple : VAR EXTERNAL var_ext1:INT:=12; (* 1. variable externe *) END_VAR

Mots cls Les mots cls s'crivent en majuscule dans tous les diteurs . Il n'est pas permis de choisir des mots cls comme nom de variable.

CoDeSys V2.3

5-5

L'diteur de dclaration

Dclaration de variables La syntaxe d'une dclaration de variables se prsente comme suit: <Identificateur> {AT <Adresse>}:<Type> {:= <Initialisation>}; Les parties entre accolades {} sont facultatives. Un identificateur est une srie de lettres, chiffres et caractres de soulignement qui commence avec une lettre ou un caractre de soulignement. En ce qui concerne les identificateurs (noms) de variables, il faut veiller ce qu'ils ne comportent ni espace ni trma, ce qu'ils ne soient pas dclars deux fois et ce qu'ils ne concident pas avec des mots-cls. Les variables peuvent s'crire indiffremment en majuscules ou en minuscules, c.--d. que VAR1, Var1 et var1 reprsentent une seule et mme variable. Les caractres de soulignement sont significants, c.--d. que "A_BCD" et "AB_CD" sont interprts comme deux identificateurs diffrents. Les caractres de soulignement successifs ne sont autoriss ni au dbut ni l'intrieur d'un identificateur. La longueur des identificateurs ainsi que la zone significative sont illimites. Toutes les dclarations de variables et tous les lments appartenant aux types de donnes peuvent contenir des initialisations (attribution d'une valeur initiale). Celles-ci sont constitues d'un oprateur d'affectation " := ". Dans le cas de variables ayant un type lmentaire, les initialisations sont des constantes. L'initialisation par dfaut pour toutes les dclarations est 0.
Exemple : var1:INT:=12; (* variable integer avec la valeur initiale 12*)

Si vous voulez placer directement une variable une adresse donne, vous devez dclarer la variable avec le mot cl AT. Pour entrer plus rapidement les dclarations, vous pouvez utiliser le mode raccourci. Dans des blocs fonctionnels, les variables peuvent tre spcifies mme en utilisant des adresses incompltes. Pour utiliser de telles variables dans une instance locale, vous devez effectuer l'entre approprie dans la configuration des variables. Tenez compte de la possibilit de la dclaration automatique. Dclaration AT Si vous voulez placer directement une variable une adresse donne, vous devez dclarer la variable avec le mot cl AT. L'avantage d'un tel procd rside dans le fait que l'on peut donner une adresse un nom plus parlant, et aussi dans le fait qu'il suffit d'effectuer un seul endroit (plus prcisment au niveau de la dclaration) une ventuelle modification au niveau d'un signal d'entre ou d'un signal de sortie. Veillez ce que l'on ne puisse pas avoir un accs en criture des variables qui sont places sur une entre. Une autre contrainte rside dans le fait que les dclarations AT peuvent tre effectues uniquement pour des variables locales ou globales, et non pour des variables d'entre ou de sortie de module. Veillez ce que l'on ne puisse pas avoir un accs en criture des variables places sur une entre.
Exemples: commutateur_chauffage7 AT %QX0.0: BOOL; impulsion_barrage_photoelectrique AT %IX7.2: BOOL; rcepteur AT %MX2.2: BOOL; Remarque : Lorsque des variables boolennes sont alignes sur une adresse Byte, Word ou DWORD, elles occupent 1 octet entier avec TRUE ou FALSE et pas seulement le premier bit aprs l'offset !

'Insrer' 'Mots cls de dclaration' Cette commande entrane l'ouverture d'une liste reprenant tous les mots cls pouvant tre utiliss dans la partie de dclaration d'un module. Aprs qu'un mot cl a t slectionn et que ce choix a t confirm, le mot est insr l'endroit dsign par la position actuelle du curseur.

5-6

CoDeSys V2.3

5 - Les Editeurs

Vous pouvez aussi obtenir cette liste en appelant la liste de slection (<F2>) pour l'dition et en slectionnant la catgorie Dclarations. 'Insrer' 'Types' Cette commande vous prsente les types qui peuvent tre utiliss pour une dclaration de variables. Vous pouvez aussi obtenir cette liste en appelant la liste de slection pour l'dition. Les types sont rpartis en catgories: Types standard BOOL, BYTE etc. Types dfinis Structures, types d'numration etc. Blocs fonctionnels standard pour des dclarations d'instance Blocs fonctionnels dfinis pour des dclarations d'instance CoDeSys supporte tous les types standard de la norme IEC61131-3: Coloration de la syntaxe Vous recevez une aide visuelle dans l'implmentation et la dclaration de variables, dans les diteurs littraux et dans l'diteur de dclaration. Le fait que le texte soit visualis en couleurs permet d'viter des erreurs ou de les dtecter plus rapidement. Un commentaire non ferm, qui termine un ensemble de commentaires relatif des instructions, est repr immdiatement. Les mots cls ne comportent pas d'erreurs involontaires etc. Les conventions de couleurs sont les suivantes: Bleu Vert Rose Rouge Noir Mode raccourci L'diteur de dclaration de CoDeSys vous offre la possibilit d'utiliser le mode raccourci. Celui-ci est activ lorsque vous terminez une ligne par <Ctrl>+<Entre>. Les raccourcis suivant sont supports: Tous les identificateurs dans une ligne, l'exception du dernier, sont changs en identificateurs des variables intervenant dans la dclaration. Le type de la dclaration est fix par le dernier identificateur de la ligne: B ou BOOL fournit comme rsultat BOOL I ou INT fournit comme rsultat INT R ou REAL fournit comme rsultat REAL S ou STRING fournit comme rsultat STRING Si ces rgles ne suffisent pas dfinir un type, alors c'est le type BOOL qui est retenu, et le dernier identificateur n'est pas utilis comme type (exemple 1). Chaque constante est change en une initialisation ou en une longueur de chane de caractres, en fonction du type de dclaration (exemples 2 et 3). L'attribut AT est ajout une adresse (comme dans %MD12) (exemple 4). Un texte aprs un point-virgule (;) est chang en commentaire (exemple 4). Tous les autres caractres de la ligne sont ignors (comme par exemple le point d'exclamation dans l'exemple 5). Mots cls Commentaires Valeurs de type boolen (TRUE/FALSE) Entre errone (p.ex. constante de temps non valable, mot cl crit en minuscule, ) Variables, constantes, oprateurs d'affectation,

CoDeSys V2.3

5-7

L'diteur de dclaration

Exemples: Raccourci A A B I 2 ST S 2; une chane de caractres X %MD12 R 5; nombre rel B ! Dclaration A: BOOL; A, B: INT := 2; ST: STRING(2); (* une chane *) X AT %MD12: REAL := 5.0;(* nombre rel *) B: BOOL;

Dclarer automatiquement Si l'option Dclarer automatiquement a t slectionne, alors apparat dans chaque diteur, aprs entre d'une variable non encore dclare, une bote de dialogue qui aide dclarer cette variable.
Bote de dialogue Dclarer variables

Dans la zone de liste modifiable Classe, oprez une slection pour dclarer cette variable, soit comme variable locale (VAR), soit comme variable d'entre (VAR_INPUT), soit comme variable de sortie (VAR_OUTPUT), soit comme variable d'entre-sortie (VAR_INOUT), soit comme variable globale (VAR_GLOBAL). Les options CONSTANT et RETAIN, PERSISTENT vous permettent de dfinir s'il s'agit d'une constante ou d'une variable rmanente. Le nom de variable entr dans l'diteur a t praffect au champ Nom, tandis que BOOL a t praffect au champ Type. Le bouton vous permet d'accder la bote de dialogue de la liste de slection pour l'dition, afin d'oprer une slection parmi tous les types possibles. Si vous slectionnez comme type de variable ARRAY (tableau), la bote de dialogue permettant la saisie des 'Limites du tableau' saffiche' :
diteur de dclaration pour les tableaux

5-8

CoDeSys V2.3

5 - Les Editeurs

Pour chacune des trois dimensions (Dim.), vous pouvez saisir les limites du tableau sous Dmarrage et Fin en cliquant sur le champ correspondant. Le type de tableau est donn dans le champ Type. Le bouton vous permet dappeler une bote de dialogue Liste de slection pour l'dition.

En quittant la bote de dialogue des limites du tableau via le bouton OK, les donnes du champ 'Type' dans la bote de dialogue de 'Dclaration de variable' sont remplies dans le format CEI. Exemple : ARRAY [1..5, 1..3] OF INT

Vous pouvez entrer la valeur initiale de la variable dclarer dans le champ Valeur initiale. Si celle-ci est un tableau ou une structure valable, vous pouvez ouvrir une bote de dialogue spciale pour linitialisation par le biais du bouton l'dition pour tous les autres types. ou , ou ouvrir une bote de dialogue Liste de slection pour

Dans la bote de dialogue dinitialisation pour un tableau, vous obtenez une liste de tous les lments de tableau et vous pouvez ouvrir, laide dun clic de la souris derrire le ":=", un champ ddition pour la saisie de la valeur initiale dun lment. Dans la bote de dialogue dinitialisation pour une structure, les composants individuels sont prsents sous la forme dune arborescence. Le type et la valeur initiale par dfaut sont donns entre parenthses derrire le nom de la variable, suivi eux aussi de ":=". En cliquant avec la souris sur le champ derrire ce ":=", vous ouvrez un champ ddition dans lequel vous pouvez saisir la valeur initiale souhaite. Si un des composants est un tableau, vous pouvez, laide dun clic de la souris sur le signe Plus devant le nom du tableau, faire apparatre les champs individuels du tableau et les diter avec les valeurs initiales. En quittant la bote de dialogue avec OK, linitialisation du tableau ou de la structure en format CEI apparat dans le champ Valeur initiale de la bote de dialogue de dclaration. Exemple : x:=5,champ:=2,3,struct2:=(a:=2,b:=3)

Dans le champ Adresse vous pouvez placer une variable dclarer sur une adresse CEI (dclaration AT). Le cas chant, entrez un Commentaire. Il est possible d'insrer des retours la ligne dans le commentaire l'aide des touches "Ctrl" + "Entre". Si vous appuyez sur OK, la bote de dialogue de dclaration se referme et la variable convertie en syntaxe CEI est entre dans lditeur de dclaration appropri.
Remarque : La bote de dialogue de dclaration de variables peut galement tre ouverte en cas de besoin en utilisant la commande "Editer" + "Dclarer automatiquement".

Si le curseur se trouve sur une variable, la fentre de dclaration automatique ainsi que les paramtres relatifs aux variables peuvent tre ouverts en mode Hors ligne via les touches <Maj> <F2>. Numros de ligne dans l'diteur de dclaration En mode hors ligne, un simple clic sur un numro de ligne donn suffit pour marquer toute la ligne de texte correspondante. Dans le mode En Ligne, un simple clic sur un numro de ligne donn permet d'afficher ou de masquer la variable qu'elle contient, dans le cas o il s'agit d'une variable structure. Dclarations sous forme de tableau Si l'option Dclarations sous forme de tableau a t configure au niveau de la catgorie Editeur, dans la bote de dialogue Options, l'diteur de dclaration est propos sous forme de tableau. Comme pour une cartothque, vous pouvez slectionner sparment les onglets correspondant aux diffrents types de variables et diter les variables. Pour chaque variable les champs suivants vous sont proposs, afin d'effectuer une saisie:

CoDeSys V2.3

5-9

L'diteur de dclaration

Nom: Adresse: Type: Valeur initiale: Commentaire:

Entrez l'identificateur de la variable. Le cas chant, entrez l'adresse de la variable (dclaration AT). Entrez le type de la variable. (lors de la cration d'une instance de bloc fonctionnel, entrez le bloc fonctionnel) Le cas chant, entrez l'initialisation de la variable (correspondant l'oprateur d'affectation " := "). Entrez un commentaire cet endroit.

Il est possible de basculer sans aucune difficult d'un type de visualisation l'autre. Dans le mode En Ligne, il n'existe pas de diffrences au niveau de la visualisation de l'diteur de dclaration. Utilisez la commande 'Insrer' 'Nouvelle dclaration' pour diter une nouvelle variable.
Editeur de dclaration sous forme de tableau

'Insrer' 'Nouvelle dclaration' Cette commande vous permet de saisir une nouvelle variable dans le tableau de dclaration de l'diteur de dclaration. Si le curseur est actuellement positionn dans un champ du tableau, la nouvelle variable est insre devant cette ligne, sinon elle est insre la fin du tableau. En outre, vous pouvez insrer la fin du tableau une nouvelle dclaration, en actionnant dans le dernier champ du tableau la touche directionnelle de droite ou la touche du tabulateur. Vous obtenez une variable pour laquelle le texte 'Nom' a t prdfini dans le champ Nom et pour laquelle le texte 'Bool' a t prdfini dans le champ Type. Il convient que vous remplaciez ces valeurs par les valeurs de votre choix. Le nom et le type sont suffisants pour une dclaration de variable complte.

5.2.2

Editeurs de dclaration dans le mode En Ligne


Dans le mode En Ligne le dclarateur d'dition est chang en fentre d'espion. Chaque ligne comprend une variable, qui est suivie d'un caractre gal (=) et de la valeur de la variable. Si la variable n'a pas encore t dfinie, trois points d'interrogation (???) apparaissent. Dans le cas des blocs fonctionnels, la valeur nest affiche que pour les instances ouvertes (commande 'Projet' 'Ouvrir l'instance'). Chaque variable constitue de plusieurs lments est prcde du signe plus. En appuyant sur la touche <Entre> ou en double-cliquant sur une telle variable, celle-ci est affiche. Dans l'exemple, c'est la structure Signal1 qui serait affiche.

5-10

CoDeSys V2.3

5 - Les Editeurs

Dans le cas o une variable est affiche, tous ses composants sont affichs l'un aprs l'autre. La variable est prcde d'un caractre moins. En double-cliquant une nouvelle fois ou en appuyant sur la touche <Entre> les lments de la variable sont masqus et le signe plus apparat nouveau. En appuyant sur la touche <Entre> ou en double-cliquant sur une variable un seul lment, la bote de dialogue pour crire les variables s'ouvre. Celle-ci permet de modifier la valeur actuelle de la variable. Dans le cas des variables boolennes il n'apparat pas de bote de dialogue; la valeur change directement d'un tat l'autre. La nouvelle valeur est affiche couleur turquoise derrire la variable entre les signes '<' et '>' et reste inchange. En donnant la commande 'En Ligne' 'Ecrire valeurs des variables', les valeurs slectionnes sont affectes toutes les variables et ces dernires se colorent nouveau en noir. En donnant la commande 'En Ligne' 'Forcer valeurs des variables', les valeurs slectionnes sont affectes toutes les variables, jusqu' ce que la commande 'Arrter de forcer' soit effectue. Dans ce cas, la couleur de la valeur de forage vire au rouge.

5.2.3

Instructions Pragma

Instruction Pragma L'instruction Pragma sert au contrle du processus de compilation. Elle est donne dans une ligne de programme comme texte supplmentaire ou encore dans sa propre ligne d'diteur de dclaration. L'instruction Pragma est donne entre accolades (majuscules ou minuscules n'ont aucune importance) : { <texte de l'instruction> } Si le compilateur ne parvient pas interprter le texte de l'instruction, la Pragma entire est considre comme tant un commentaire et est ignore. Un message vous est cependant donn : "Ignore directive du compilateur "<texte de l'instruction>"!". Selon le type et le contenu de la Pragma, celle-ci agit sur la ligne dans laquelle elle se trouve ou sur les lignes suivantes et ce jusqu' ce qu'elle soit leve, que la mme pragma soit excute avec d'autres paramtres, ou qu'on ait atteint la fin du fichier. On comprend ici sous le terme fichier : partie de dclaration, partie d'implmentation, liste de variables globale, dclaration de types. L'accolade d'ouverture peut suivre le nom d'une variable. Les accolades d'ouverture et de fermeture doivent se trouver sur la mme ligne. l'heure actuelle, les pragmas ci-dessous peuvent tre utilises dans CoDeSys : Pragma {flag} pour l'initialisation, l'espionnage et la cration d'icnes Pragma {bitaccess...} pour accs binaire Pragma {parameter..}, {template...}, {instance...} pour la cration d'entres dans le gestionnaire des paramtres La Pragma suivante est actuellement disposition : Pragmas pour la cration d'entres dans le gestionnaire des paramtres Grce aux pragmas au sein des dclarations de variables, il est possible de crer automatiquement, dans la liste des paramtres, des entres gres par le biais du gestionnaire des paramtres. Le Gestionnaire des paramtres est selon le systme cible disponible dans le systme de programmation, ce qui signifie qu'il doit tre activ dans la configuration du systme cible (fonctions rseau).
Gnralits sur la syntaxe :

Une pragma est donne entre des accolades. L'criture en majuscules ou en minuscules n'a aucune importance. Si la pragma est ajoute des dclarations de variables "normales", elle doit

CoDeSys V2.3

5-11

L'diteur de dclaration

l'tre juste avant le point-virgule de clture de la dclaration de variable sur laquelle elle est sense agir. Les pragmas utilises dans des fentres VAR_CONFIG sont donnes chacune dans une seule ligne et ne sont pas cltures par un point-virgule ! <name> (=nom): nom de la liste de paramtres dans le gestionnaire des paramtres. Si la liste de variables n'existe pas encore, elle est automatiquement cre. <key> (=cl): nom de l'attribut, c.--d. titre de colonne dans la liste des paramtres ; par exemple "nom", "valeur", "niveau d'accs" etc.; les cls pouvant tre indiques sont fonction de la dfinition du type de liste de paramtres. <value> (=valeur): valeur selon laquelle l'attribut dfini par <cl> doit tre entr dans la liste. Veuillez noter cet gard que les valeurs qui contiennent des espaces doivent tre donnes entre guillemets doubles. Exemple : ...niveau d'accs="read only"... Toutes les dfinitions de cls dans les pragmas sont donnes l'une la suite de l'autre dans des crochets, spares par des espaces.
Remarque: Les noncs de pragmas agissent dj ds que l'on passe autre chose (prcompilation), et donc ds que l'on quitte l'diteur de dclaration. Les entres de pragmas incorrectes ne sont signales qu' la compilation du projet.

Les entres ci-dessous peuvent tre cres :


1.Entres dans des listes de paramtres de type 'Liste de variables' (a) partir de la partie Dclaration des programmes et des listes de variables globales

Pour une variable au sein d'une dclaration de PROGRAMME ou de VAR_GLOBAL, une entre peut tre cre dans une liste de paramtres de type 'Variables', pour autant qu'elle soit dclare comme suit: (Si la liste de paramtres n'existe pas encore, elle est cre.) Syntaxe: {parameter list=<name> [ <key>=<value> <key>=<value> ...autres cls ] } Exemple : La variable bvar est dclare dans un programme, et elle doit tre entre dans la liste de paramtres parlist1, de type liste de variables, avec comme nom bvar1, comme valeur 102, comme index 16#1200 et comme sous-index 16#2.
VAR bvar:INT{parameter list=parlist1 [name=bvar1 value=102 index=16#1200 subindex=16#1 ] }; END_VAR (b) au moyen d'une dclaration dans l'interface VAR_CONFIG:

Pour des variables, une entre peut tre cre dans une liste de paramtres de type 'Variables' si elle est dclare comme suit dans une fentre VAR_CONFIG.(Si la liste de paramtres n'existe pas encore, elle est cre.) Syntaxe: {parameter list=<name> path=<path> [ <key>=<value> <key>=<value> ...autres cls ] } <path> chemin d'accs de la variable selon laquelle l'entre doit tre cre, p.ex. "PLC_PRG.act1.var_x" Exemple : pour la variable var_x, une entre est cre dans la liste des paramtres varlist1, et xvar est saisi comme nom symbolique.
VAR_CONFIG {parameter list=varlist1 path=PLC_PRG.act1.var_x [ END_VAR name=xvar ] }

5-12

CoDeSys V2.3

5 - Les Editeurs

2. Entres dans des listes de paramtres de type 'Modle' partir de blocs fonctionnels et de structures Avec des dclarations de variables dans des blocs fonctionnels ou des structures, il est possible de crer des entres dans des listes de paramtres de type 'Modle'. (Si le modle n'existe pas encore, il est cr.) Syntaxe: {template list=<name> [ <key>=<value> <key>=<value> ...autres cls ] } Exemple : La variable strvar, lment de la structure stru1, doit tre entre dans le gestionnaire des paramtres sous le nom (member) "struvar1" et avec niveau d&lsquo;accs=low dans le modle "vorl1":
TYPE stru : STRUCT ivar:INT; strvar:STRING{template list=vorl1 [member=struvar1 accesslevel=low] }; END_STRUCT END_TYPE

3. Entres dans des listes de paramtres de type 'Instance' (pour des variables d'array, de bloc
fonctionnel ou structures) (a) partir de programmes et de listes de variables globales

On peut crer directement une liste d'instances dans le gestionnaire des paramtres lors de la dclaration de variables d'array, de bloc fonctionnel ou de structure au sein d'un programme ou d'une liste de variables globales. Syntaxe: {instance list=<name> template=<template> baseindex=<index> basesubindex=<subindex> [ <key>=<value> <key>=<value> ...autres cls ] }
Attention : Pour des variables d'array, ne dfinissez pas de valeur pour la cl "Member", car celle-ci est automatiquement cre partir de l'index d'array pour chaque lment d'array.

Exemples :
Exemple1: Une variable d'array arr_1 est dclare comme suit, afin qu'un liste d'instances

"arrinst" soit cre dans le gestionnaire des paramtres (si elle n'est toutefois pas encore disponible) dans laquelle les lments d'array doivent tre entrs; chaque lment doit tout d'abord tre entr sous le nom symbolique xname (ditable par aprs au sein de la liste), et le sous-index doit tre incrment de 1, en partant de 0 (sous-index de base), pour chaque nouvelle entre.
arr_1: ARRAY [1..8] OF INT{instance list=arrinst baseindex=16#0 basesubindex=16#0 [name=xname ] };
Pour l'exemple1, insrer array dans la liste d'instances

template=ARRAY

CoDeSys V2.3

5-13

L'diteur de dclaration

Exemple2 : Une variable structure struvar de type stru1 est dclare comme suit, afin qu'une liste

d'instances "strulist" soit cre dans le gestionnaire des paramtres (si elle n'est toutefois pas encore disponible), cette liste se basant sur le modle strulist_temp et contenant comme entres les variables a,b,c de la structure existante stru1. Les variables ne reoivent pas encore de nom symbolique l'insertion, le niveau d'accs est mis sur High, et l'index tel que dfini par le modle est chaque fois incrment de 2. Veillez ce que le modle d'instance indiqu strulist_temp soit prsent dans le gestionnaire des paramtres:
struvar:stru1{instance list=strulist template=strulist_templ baseindex=16#2 basesubindex=16#0 [accesslevel=high] };
Pour l'exemple2, variable structure insre dans la liste d'instances

(b) au moyen d'une dclaration dans l'interface VAR_CONFIG Pour des variables sujettes instanciation, des entres peuvent tre directement dfinies dans une liste d'instances au sein du gestionnaire des paramtres, cela par le biais d'une dclaration dans une fentre VAR_CONFIG. Cette dclaration n'est en rien lie d'ventuelles configurations de variables ! (Si la liste d'instances n'existe pas encore, elle est cre.) Veillez ce que le modle indiqu (template) soit prsent dans le gestionnaire des paramtres. Syntaxe: {instance list=<name> path=<path> template=<template> baseindex=<index> basesubindex=<subindex>[ <key>=<value> <key>=<value> ...autres cls ] } <path>: le chemin d'instance de la variable; p.ex. "PLC_PRG.fb1inst", dans lequel fb1inst est une instance du bloc fonctionnel fb1. Exemple :Grce l'entre ci-dessous dans une fentre VAR_CONFIG (indpendamment d'ventuelles configurations de variables!), des entres sont cres dans une liste d'instances "varinst1" pour toutes les variables du bloc fonctionnel fb1, sur base du modle "fb1_templ" (obligatoirement disponible). Pour chaque entre, le dcalage d'index tel que prdfini par le modle est incrment de 2 (index de base), tandis que le dcalage de sous-index reste tel quel (sous-index de base). Chaque entre se voit attribuer un nom symbolique "fb1var" qui peut encore tre dit dans la liste.

5-14

CoDeSys V2.3

5 - Les Editeurs

VAR_CONFIG {instance END_VAR list=varinst1 path=PLC_PRG.fb1 template=fb1_templ basesubindex=16#0 [ name=fb1var ]} baseindex=16#2

Pragma {flag} pour l'initialisation, l'espionnage et la cration de symboles Syntax: {flag [<flags>] [off|on]} Cette pragma peut influer les proprits d'une dclaration d'une variable: <flags> peut tre une combinaison du flags figurantes ci dessous: noinit: La variable n'est pas initialise.

nowatch: La variable n'est pas garde. noread: La variable est exporte sans dun droit daccs lecture dans le fichier du symboles.

nowrite: La variable est exporte sans dun droit daccs criture dans le fichier du symboles. noread, La variable n'est pas exporte dans le fichier du symboles. nowrite: Avec la modification "on" la pragma fait effet sur toutes les dclarations subordonnes, jusqu'elle est enleve par la pragma {flag off}, respectivement jusqu'elle est surimprime par une autre pragma {flag <flags> on}. Sans la modification "on" ou "off" la pragma seulement fait effet sur la dclaration actuelle (c'est la dclaration qu'est termine par le point-virgule prochain).

Exemples par utilisation de la pragma {flag}: Initialisation et espionnage de variables : Variable "a" n'est pas initialise et n'est pas observe. Variable b n'est pas initialise: VAR a : INT {flag noinit, nowatch}; b : INT {flag noinit }; END_VAR VAR {flag noinit, nowatch on} a : INT; {flag noinit on} b : INT; {flag off} END_VAR

Les deux variables ne sont pas initialises:


{flag noinit on} VAR a : INT; b : INT; END_VAR {flag off} VAR {flag noinit on} a : INT; b : INT; {flag off} END_VAR

CoDeSys V2.3

5-15

L'diteur de dclaration

Exportation de variables dans le fichier des symboles : Les drapeaux "noread" et "nowrite" permettent, au sein dun module disposant du droit de lecture ou dcriture, de pourvoir les variables individuelles dun droit daccs limit. La configuration par dfaut dune variable est celle relative au module dans lequel cette variable est dclare. Une variable ne disposant ni dun droit de lecture, ni dun droit dcriture, ne sera pas exporte dans le fichier des symboles. Exemples: Le module est pourvu dun droit de lecture et dcriture ; les Pragmas suivantes permettent lexportation de la variable a uniquement avec droit daccs criture, et empchent lexportation de la variable b: VAR a : INT {flag noread}; b : INT {flag noread, nowrite}; END_VAR VAR { flag noread on} a : INT; { flag noread, nowrite on} b : INT; {flag off} END_VAR Les deux variables ne sont pas exportes dans le fichier des symboles: { flag noread, nowrite on } VAR a : INT; b : INT; END_VAR {flag off} VAR { flag noread, nowrite on } a : INT; b : INT; {flag off} END_VAR La pragma agit de manire additionnelle sur toutes les dclarations subordonnes de variables.

Exemple: (toutes les modules utilises sont exportes avec droit daccs lecture et criture)
a : afb; ... FUNCTION_BLOCK afB VAR b : bfb {flag nowrite}; c : INT; END_VAR ... FUNCTION_BLOCK bfB VAR d : INT {flag noread}; e : INT {flag nowrite}; END_VAR

"a.b.d": N'est pas exporte. "a.b.e": Exporte seulement avec droit daccs lecture. "a.c": Exporte avec droit daccs lecture et criture.

5-16

CoDeSys V2.3

5 - Les Editeurs

Pragma {bitaccess...} pour l'accs binaire Cette pragma vous permet de dfinir des accs binaires valides et symboliques des structures, ces accs se faisant l'aide d'une constante globale. Ces symboles seront alors proposs dans la liste de slection pour l'dition et la fonction Intellisense et utiliss pour la reprsentation de l'accs binaire lors de l'espionnage dans l'diteur de dclaration. Les constantes globales utilises y sont galement affiches.
Veuillez noter: L'option de projet 'Remplacer constantes' (catgorie Options de compilation) doit tre active !

Dans la dfinition de la structure, la pragma doit tre insre dans une ligne spare. Cette ligne n'est pas clture par un point virgule.
Syntaxe: {bitaccess <Constante globale> <Numro de bit> '<Commentaire>'}

<Constante globale> : nom de la constante globale qui doit tre dfinie au sein d'une liste de variables globales. <Numro de bit> : valeur de la constante globale telle que dfinie dans la liste des variables constantes.

Pour voir un exemple, reportez-vous au chapitre Appendice B, oprandes dans CoDeSys, adressage de bits au sein de variables.

5.3 Les diteurs littraux


5.3.1 Gnralits propos des diteurs littraux
Les diteurs littraux (l'diteur de la liste d'instructions et l'diteur du littral structur) de CoDeSys utiliss pour la partie implmentation d'un projet, disposent des fonctionnalits courantes des diteurs littraux Windows. Dans les diteurs littraux, l'implmentation est assiste par la coloration de la syntaxe. Lorsque vous travaillez en mode Refrappe, l'abrviation 'RFP' est affiche en noir dans la barre d'tat. Vous pouvez commuter entre le mode Refrappe et le mode Insertion en actionnant la touche <Inser>. Vous trouvez les commandes les plus importantes dans le menu contextuel (touche droite de la souris ou <Ctrl>+<F10>). Les diteurs littraux utilisent de faon spcifique les commandes de menu suivantes: 'Insrer' 'Oprateur' Cette commande entrane l'affichage dans une bote de dialogue de tous les oprateurs disponibles dans le langage actuel. Si un oprateur est slectionn et si la liste est ferme au moyen de OK, alors l'oprateur slectionn est insr au niveau de la position actuelle du curseur. (L'utilisation a lieu de la mme faon que dans la Liste de slection pour l'dition). 'Insrer' 'Oprande' Cette commande entrane l'affichage dans une bote de dialogue de toutes les variables. Vous pouvez opter pour la visualisation de la liste des variables globales, des variables locales ou des variables systme. Si un des oprandes est slectionn et si la bote de dialogue est ferme au moyen de OK, alors l'oprande slectionn est insr au niveau de la position actuelle du curseur. (L'utilisation a lieu de la mme faon que dans Liste de slection pour l'dition).

CoDeSys V2.3

5-17

Les diteurs littraux

'Insrer' 'Fonction' Cette commande entrane l'affichage, dans une bote de dialogue, de toutes les fonctions. Vous pouvez opter pour la visualisation de la liste des fonctions dfinies par l'utilisateur ou de la liste des fonctions standard. Si une des fonctions est slectionne et si la bote de dialogue est ferme au moyen de OK, alors la fonction slectionne est insre au niveau de la position actuelle du curseur. (L'utilisation a lieu de la mme faon que dans la Liste de slection pour l'dition). Si l'option Avec arguments a t slectionne dans la bote de dialogue, alors les variables d'entres et de sorties requises par la fonction sont insres avec celle-ci. 'Insrer' 'Bloc fonctionnel' Cette commande entrane l'affichage, dans une bote de dialogue, de tous les blocs fonctionnels. Vous pouvez optez pour la visualisation de la liste des blocs fonctionnels dfinis par l'utilisateur ou de la liste des blocs fonctionnels standard. Si un des blocs fonctionnels est slectionn, et si la bote de dialogue est ferme au moyen de OK, alors le bloc fonctionnel slectionn est insr au niveau de la position actuelle du curseur. (L'utilisation a lieu de la mme faon que dans la Liste de slection pour l'dition). Si l'option Avec arguments a t slectionne dans la bote de dialogue, alors les variables d'entre et de sortie requises par le bloc fonctionnel sont insres avec celui-ci. Ceux-ci ne doivent cependant pas obligatoirement tre affects. Appel de module avec paramtres de sortie Les paramtres de sortie d'un module appel peuvent directement tre affects lors de l'appel dans le cas des langages textuels IL ou ST. Exemple : le paramtre de sortie out1 de afbinst est attribu la variable a.
Langage IL : Langage ST CAL afbinst(in1:=1, out1=>a) afbinst(in1:=1, out1=>a);

Si le module est insr dans la fentre d'implmentation d'un module ST ou IL, en utilisant la liste de slection pour l'dition (<F2>) et l'option Avec arguments, ce module sera automatiquement reprsent avec ses paramtres dans cette syntaxe. Il n'est pas absolument ncessaire d'affecter les paramtres. Les diteurs littraux en mode En Ligne Les fonctions En Ligne des diteurs sont Dfinir point d'arrt et Pas pas. Si l'on ajoute cela l'espionnage, l'utilisateur dispose alors d'une fonctionnalit de dbogage comparable celle existant pour un langage de programmation volu sous Windows. Dans le mode En Ligne, la fentre de l'diteur littral est scinde verticalement en deux parties. Dans la partie gauche de la fentre est situe le texte de programmation normal et dans la partie droite sont visualises les variables, dont les valeurs sont modifies dans la ligne correspondante. La visualisation est la mme que pour la partie de dclaration. Autrement dit, lorsque l'automate programmable est en service, les valeurs instantanes des variables respectives sont visualises. Les valeurs structures (tableaux, structures ou instances de bloc fonctionnel) sont signales par un signe plus plac devant l'identificateur. En cliquant avec la souris sur le signe plus ou en appuyant sur la touche <Entre>, la variable est affiche ou masque. Lors de lespionnage dexpressions ou de position binaires d'une variable, veuillez noter : Dans le cas des expressions, la valeur de lexpression entire est affiche. Exemple : a AND b saffiche en bleu ou avec ":=TRUE" si a et b ont la valeur TRUE). Dans le cas de positions binaires d'une variable, la position binaire concerne est espionne (p.ex. a.3 sera affich en bleu ou reprsent avec :=TRUE si a la valeur 4). Si vous maintenez le pointeur de souris pendant une courte dure sur une variable, le type et le commentaire de la variable sont affichs dans une info-bulle.

5-18

CoDeSys V2.3

5 - Les Editeurs

'Extras' 'Options d'espionnage" Avec cette commande vous pouvez configurer votre fentre d'espion. Si l'espionnage est effectu, alors, l'intrieur des diteurs littraux, la fentre est scinde en une partie gauche, qui contient le programme, et en une partie droite, dans laquelle sont espionnes toutes les variables contenues dans la ligne de programme correspondante. Vous pouvez configurer la Largeur que la zone d'espionnage doit occuper dans la fentre de texte, ainsi que la Distance qui doit sparer deux variables d'espionnage dans une mme ligne. La spcification de distance 1 correspond une hauteur de ligne dans la police de caractres choisie.
Bote de dialogue Options d'espionnage

Positions des points d'arrt Il n'est pas possible de dfinir des points d'arrt au niveau de chaque ligne, tant donn que plusieurs lignes en langage IL sont synthtises en interne par CoDeSys,de faon obtenir une seule ligne sous forme de code C. Les points d'arrt peuvent tre dfinis tous les endroits du programme o les variables peuvent changer de valeur, ou encore tous les endroits o le flux du programme subit une dviation ( l'exception des appels de fonction. Dans ce cas il faut dfinir un point d'arrt au niveau de la fonction). Il est superflu de dfinir un point d'arrt entre les positions prcites, tant donn que les donnes n'ont pu subir aucune modification depuis le point d'arrt prcdent. Cela permet les positions de point d'arrt suivantes, en langage IL: Au dbut du module Au niveau de chaque LD, LDN (ou au niveau d'une tiquette, si un LD est plac directement la suite de l'tiquette)

Au niveau de chaque JMP, JMPC, JMPCN Au niveau de chaque tiquette Au niveau de chaque CAL, CALC, CALCN Au niveau de chaque RET, RETC, RETCN A la fin du module Pour le langage ST, les positions de point d'arrt possibles sont les suivantes: Au niveau de chaque affectation Au niveau de chaque instruction RETURN et EXIT Dans des lignes au sein desquelles des conditions sont values (WHILE, IF, REPEAT) A la fin du module Les positions des points d'arrt sont caractrises par une coloration grise plus fonce au niveau du champ de numrotation de ligne.

CoDeSys V2.3

5-19

Les diteurs littraux

Editeur IL avec les positions de point d'arrt disponibles (champs de numrotation plus foncs

Pour dfinir un point d'arrt, l'utilisateur doit cliquer avec la souris sur le champ de numrotation de la ligne dans laquelle il souhaite dfinir un point d'arrt. Si le champ slectionn est une position de point d'arrt, alors la couleur du champ de numrotation de ligne passe du gris fonc au bleu clair et le point d'arrt est activ dans l'automate programmable. De faon analogue, pour supprimer un point d'arrt, il faut cliquer sur le champ de numrotation de la ligne contenant ce point d'arrt. Il est galement possible d'opter pour la dfinition ou la suppression de points d'arrt via le menu ('En Ligne' 'Point d'arrt actif/inactif'), via la touche de fonction <F9> ou via l'icne approprie de la barre d'outils. Comment dfinit-on un point d'arrt ? Pour dfinir un point d'arrt, l'utilisateur doit cliquer avec la souris sur le champ de numrotation de la ligne dans laquelle il souhaite dfinir un point d'arrt. Si le champ slectionn est une position de point d'arrt, alors la couleur du champ de numrotation de ligne passe du gris fonc au bleu clair et le point d'arrt est activ dans l'automate programmable. Supprimer un point d'arrt De faon analogue, pour supprimer un point d'arrt, il faut cliquer sur le champ de numrotation de la ligne contenant ce point d'arrt. Il est galement possible d'opter pour la dfinition ou la suppression de points d'arrts via le menu ('En Ligne' 'Point d'arrt actif/inactif'), via la touche de fonction <F9> ou via l'icne approprie de la barre d'outils. Que se produit-il au niveau du point d'arrt ? Si l'automate programmable a atteint un point d'arrt, alors la section contenant la ligne avec le point d'arrt est visualise l'cran. Le champ de numrotation de la ligne qui contient le point d'arrt est colore en rouge. Dans l'automate programmable, le traitement du programme utilisateur est suspendu. Lorsque le programme est arrt au niveau d'un point d'arrt, le traitement du programme peut reprendre au moyen de 'En Ligne' 'Dmarrer'. En outre, les commandes 'En Ligne' 'Etape individuelle sur' ou 'En Ligne' 'Etape individuelle dans' ne permettent d'atteindre que la position de point d'arrt suivante. Si l'instruction sur laquelle on est arrt est une instruction CAL ou encore si un appel de fonction est prsent dans les lignes qui prcdent la position de point d'arrt suivante, alors, soit on saute cet appel au moyen de 'Etape individuelle sur', soit on dvie dans le module appel au moyen de 'Etape individuelle dans'.

5-20

CoDeSys V2.3

5 - Les Editeurs

Numros de ligne de l'diteur littral Les numros de ligne de l'diteur littral indiquent le numro de chaque ligne de texte prsente dans l'implmentation d'un module. En mode hors ligne, un simple clic sur un numro de ligne donn suffit pour marquer toute la ligne de texte correspondante. Dans le mode En Ligne, la couleur de fond du numro de ligne indique l'tat de chaque ligne en ce qui concerne les points d'arrt: gris fonc: cette ligne est une position possible de point d'arrt. bleu clair: un point d'arrt a t dfini dans cette ligne. rouge: l'excution du programme a atteint cet endroit. Dans le mode En Ligne, un simple clic avec la souris modifie l'tat de la ligne en ce qui concerne le point d'arrt.

5.3.2

L'diteur de la liste d'instructions (IL)


Voici comment se prsente un module crit en langage IL dans l'diteur correspondant de CoDeSys:

Tous les diteurs pour modules sont constitus d'une partie de dclaration et d'un corps. Ceux-ci sont spars entre eux par une barre de fractionnement. L'diteur IL est un diteur littral qui comporte les fonctionnalits courantes des diteurs littraux de Windows. Vous trouvez les commandes les plus importantes dans le menu contextuel (touche droite de la souris ou <Ctrl>+<F10>). Un appel dinstance sur plusieurs lignes est possible. Exemple:
CAL CTU_inst( CU:=%IX10, PV:=( LD A ADD 5 ) )

CoDeSys V2.3

5-21

Les diteurs littraux

Pour obtenir des informations sur le langage IL, reportez vous au chapitre 2.2.1, "Liste d'instructions (langage IL)". Contrle de droulement Avec la commande 'En Ligne' 'Contrle de droulement', vous pouvez insrer, l'intrieur de l'diteur IL, un nouveau champ dans la partie gauche de chaque ligne. Ce champ assure la visualisation du contenu de l'accumulateur. Pour obtenir des informations sur l'diteur IL en mode En Ligne, reportez vous au paragraphe "Les diteurs littraux en mode En Ligne"

5.3.3

L'diteur du Littral structur (ST)


Voici comment se prsente un module crit en langage ST dans l'diteur correspondant de CoDeSys:

Tous les diteurs pour modules sont constitus d'une partie de dclaration et d'un corps. Ceux-ci sont spars entre eux par une barre de fractionnement. L'diteur ST est un diteur littral qui comporte les fonctionnalits courantes des diteurs littraux de Windows. Vous trouvez les commandes les plus importantes dans le menu contextuel (touche droite de la souris ou <Ctrl>+<F10>). Pour obtenir des informations sur l'diteur ST En Ligne, reportez vous au paragraphe "Les diteurs littraux en mode En Ligne" Pour obtenir des informations sur le langage, reportez vous au chapitre 2.2.1, "Littral structur (langage ST)".

5-22

CoDeSys V2.3

5 - Les Editeurs

5.4 Les diteurs graphiques


5.4.1 Gnralits propos des diteurs graphiques
Les diteurs des langages de programmation graphiques ci aprs ont de nombreux points communs :diagramme fonctionnel en squence SFC, langage contact LD, schmas en blocs fonctionnels en langage FBD et diteur graphique CFC. Ces points vont tre repris dans les paragraphes suivants, et ces diffrents langages seront amplement dtaills dans les chapitres suivants. Dans les diteurs graphiques, limplmentation est assiste par la coloration de la syntaxe. Zoom Des objets tels que modules, actions, transitions etc., en langage SFC, LD, FBD, CFC, et apparaissant dans des visualisations, peuvent tre agrandis ou rduits au moyen dune fonction de zoom. Tous les lments contenus dans la fentre de la partie implmentation sont repris, et la partie dclaration reste inchange. Chaque objet est affich par dfaut une valeur de zoom de 100%. La valeur rgle pour le zoom est enregistre dans le projet comme caractristique dobjet. Les impressions de la documentation relative au projet se font toujours en reprsentation 100%. Le degr de zoom peut tre rgl par le biais dune liste de slection dans la barre d'outils. Des valeurs comprises entre 25 et 400% peuvent tre directement slectionnes; des valeurs entre 10 et 500% peuvent tre saisies manuellement. La possibilit de slection dune valeur de zoom nest possible que lorsque le curseur se trouve sur un objet cr laide dun diteur graphique ou sur un objet de visualisation. Les positions du curseur peuvent aussi tre slectionnes ltat zoom, et vous pouvez galement y dplacer le curseur laide des touches directionnelles. La taille du texte est fonction du degr de zoom et de la taille de la police. Lexcution de toutes les options disponibles chez les diteurs (p.ex. linsertion dune bote) en fonction de la position du curseur est possible quel que soit le degr de zoom et en fonction de celuici. Dans le mode En ligne, chaque objet est reprsent selon le degr de zoom spcifi, et toutes les fonctions sont disponibles sans restrictions. Vous pouvez agrandir ou rduire un objet en utilisant IntelliMouse : appuyez sur la touche <Ctrl> et tournez en mme temps la roulette vers lavant ou vers larrire. Rseau Avec les diteurs graphiques LD et FBD, le programme est agenc dans une liste de rseaux. Chaque rseau est caractris par un numro courant dans la partie gauche et contient une structure visualisant une expression logique ou arithmtique, un appel de programme, fonction ou bloc fonctionnel, un saut ou une instruction return. Etiquettes de saut A chaque rseau correspond une tiquette de saut, qui peut ventuellement tre laisse vide. Pour diter cette tiquette, il faut cliquer sur la premire ligne du rseau, situe directement ct du numro de rseau. Entrez prsent une tiquette, suivie du signe deux-points. Commentaires de rseau, Mises en Page, 'Extras' 'Options' Il est possible dattribuer un commentaire de plusieurs lignes chaque rseau . La bote de dialogue 'Options du langage blocs fonctionnels et du langage contacts', accessible via la commande 'Extras' 'Options', permet de procder aux rglages quant aux commentaires. Le champ Longueur maximale du commentaire reprend le nombre maximal de lignes disponibles pour un commentaire de rseau (la valeur par dfaut est 4). Le champ Longueur minimale du commentaire dtermine le nombre de lignes qui doit gnralement tre rserv aux commentaires et laffichage de ceux-ci.

CoDeSys V2.3

5-23

Les diteurs graphiques

Supposons que 2 soit la valeur configure; deux lignes de commentaires vides sont prsentes au dbut de chaque rseau, aprs la ligne dtiquette. Ici, la valeur par dfaut est 0, ce qui prsente lavantage que plus de rseaux peuvent tre disposs dans la zone dcran. Si la taille minimale de commentaire de rseau est suprieure 0, il suffit simplement, pour entrer un commentaire, de cliquer sur la ligne de commentaire et d'entrer le commentaire. Si ce n'est pas le cas, il faut dabord slectionner le rseau qui doit faire lobjet du commentaire, avant dinsrer la ligne de commentaire au moyen de "Insrer" + "Commentaire". Les commentaires sont visualiss en gris, la diffrence du texte de programmation. Lditeur du langage contacts vous permet en outre dattribuer des commentaires pour des contacts ou des bobinages individuels. Activez cet effet loption Commentaires par contact et introduisez le nombre souhait de lignes que vous y prvoyez dans le champ Lignes pour commentaire de la variable. Suite quoi un champ saffiche, rserv au commentaire relatif au contact ou au bobinage et dans lequel vous pouvez saisir du texte. Si cette option de commentaire par contact est active, vous pouvez galement dfinir dans lditeur du Langage contacts le nombre de lignes (Lignes pour texte de la variable:) utilis pour le nom de la variable de contact ou de bobinage, de telle sorte que des noms plus longs puissent le cas chant tre reprsents sur plusieurs lignes. Vous pouvez configurer lditeur du langage contacts de telle manire que des sauts de page soient insrs dans les rseaux ds que la fentre ne permet plus de visualiser tous les lments de ceuxci. Activez pour ce faire loption Rseaux avec mise en page. 'Insrer' 'Rseau (derrire)' ou 'Insrer' 'Rseau (devant)'
Raccourci : <Maj>+<T> (Rseau derrire)

Pour insrer un nouveau rseau dans l'diteur FBD ou dans l'diteur LD, il faut slectionner la commande 'Insrer' 'Rseau (derrire)' ou 'Insrer' 'Rseau (devant)', selon que l'on souhaite insrer le nouveau rseau devant ou derrire le rseau actuel. On modifie le rseau actuel en cliquant avec la souris sur le numro de rseau. Ce rseau est reprable grce au rectangle en pointill situ en dessous du numro. En actionnant la touche <Maj> et en cliquant avec la souris sur un rseau prcis, on slectionne l'ensemble des rseaux situs dans la zone comprise entre le rseau actuel et le rseau sur lequel on a cliqu. Les diteurs de rseaux en mode En Ligne Dans les diteurs FBD et LD, on peut dfinir des points d'arrt uniquement au niveau des rseaux. Le champ de numrotation du rseau pour lequel on a dfini un point d'arrt est visualis en bleu. Le traitement s'arrte avant le rseau qui contient le point d'arrt. Dans ce cas le champ de numrotation du rseau est visualis en rouge. Dans le cas d'une excution pas pas, la progression se fait en sautant de rseau en rseau. Toutes les valeurs sont espionnes au niveau des entres et sorties des modules (rseaux). Lors de lespionnage dexpressions ou de position binaires d'une variable, veuillez noter : Pour les expressions, p.ex. a AND b comme condition de transition ou entres d'un bloc fonctionnel, la valeur de lexpression complte est toujours affiche (a AND b saffiche en bleu ou est reprsente par ":=TRUE" si a et b ont la valeur TRUE). Dans le cas de positions binaires d'une variable, la position binaire concerne est espionne (p.ex. a.3 sera affich en bleu ou reprsent avec :=TRUE si a a la valeur 4). Vous pouvez lancer le contrle de droulement au moyen de la commande de menu 'En Ligne' 'Contrle de droulement'. Ce contrle vous permet d'examiner les valeurs actuelles qui sont vhicules l'intrieur des rseaux au moyen des lments de liaison. Lorsque les lments de liaison ne vhiculent aucune valeur de type boolen, la valeur est affiche dans un champ spcialement insr cet effet. Les champs despion pour les variables qui ne sont pas utilises (p.ex. la fonction SEL) sont ombrs en gris. Si les lments de liaison vhiculent des valeurs de type boolen, et plus prcisment la valeur TRUE, alors elles sont colores en bleu. Cela permet de suivre le flux d'informations lorsque l'automate programmable est en cours d'excution. Si vous maintenez le pointeur de souris pendant une courte dure sur une variable, le type et le commentaire de la variable sont affichs dans une info-bulle.

5-24

CoDeSys V2.3

5 - Les Editeurs

5.4.2

L'diteur du Schma en blocs fonctionnels (FBD)


Voici comment se prsente un module crit en langage FBD dans l'diteur correspondant de CoDeSys:

L'diteur FBD est un diteur graphique. Il fonctionne avec une liste de rseaux, o chaque rseau contient une structure visualisant une expression logique ou arithmtique, un appel de bloc fonctionnel, un appel d'une fonction, un appel d'un programme, un saut ou une instruction Return. Notez que pour un module cr En ou Hors ligne dans le langage FBD, il est possible de basculer entre la visualisation au sein de l'diteur FBD ou LD. Vous trouvez les commandes les plus importantes dans le menu contextuel (touche droite de la souris ou <Ctrl>+<F10>). Positions du curseur en langage FBD Le curseur peut se positionner sur n'importe quelle lment de texte. Le texte slectionn est affich sur fond bleu et peut prsent tre modifi. Par ailleurs, la position actuelle du curseur est caractrise par un rectangle en pointills. Voici une numration des positions de curseurs possibles, illustres par un Exemple : 1) Chaque champ de texte (la position du curseur potentielle est encadre en noir):

2) Chaque entre:

CoDeSys V2.3

5-25

Les diteurs graphiques

3) Chaque oprateur, fonction ou bloc fonctionnel:

4) Les sorties, si elles sont suivies par une affectation ou par un saut:

5) La jonction au dessus d'une affectation, d'un saut ou d'une instruction Return:

6) Derrire l'objet situ le plus droite dans chaque rseau ("dernire position du curseur", il s'agit de la position prise par le curseur lorsqu'un rseau a t slectionn):

7) La jonction prcdant immdiatement une affectation:

Comment positionner le curseur Le curseur peut tre positionn un endroit prcis en cliquant avec la souris ou au moyen du clavier. Les flches directionnelles permettent de sauter vers la position du curseur la plus proche, dans la direction choisie. Toutes les positions du curseur peuvent tre atteintes de cette faon, y compris les champs de texte. Si le curseur occupe la dernire position, alors la dernire position du rseau prcdent ou du rseau suivant peuvent tre atteintes par le curseur, respectivement au moyen de la touche directionnelle <haut> et de la touche directionnelle <bas>. Un rseau vide ne contient que trois points d'interrogation "???". En cliquant derrire ces points d'interrogations, on positionne le curseur sur la dernire position. 'Insrer' 'Module' Icne : Raccourci : <Ctrl>+<B>

Cette commande permet d'insrer des oprateurs, fonctions, blocs fonctionnels et programmes. Tout dabord, un oprateur "AND" est toujours insr par dfaut. Celui-ci peut tre transform en n'importe quel autre oprateur, fonction, bloc fonctionnel ou programme en slectionnant et en crasant le texte type ("AND"). La liste de slection pour ldition (<F2>) vous permet de slectionner le module souhait. Si le module que vous venez de slectionner possde un nombre minimal dentres diffrent, alors celles-ci sont rattaches. Si le nouveau module possde un nombre maximal dentres moindre, alors les dernires entres sont supprimes. Pour les fonctions et les blocs fonctionnels, les noms formels des entres et sorties sont affichs. Il existe un champ dinstance ditable au dessus de la bote pour les blocs fonctionnels. Si, en modifiant le texte type, vous appelez un autre bloc fonctionnel qui nest pas connu, une bote doprateur saffiche avec deux entres ainsi que le type. Si vous slectionnez le champ dinstance, vous pouvez appeler via la touche <F2> la liste de slection pour ldition avec les catgories pour la slection de variables. Le nouveau module sera insr en fonction de la position slectionne (voir Position de curseur).

5-26

CoDeSys V2.3

5 - Les Editeurs

Si une entre est slectionne, alors Bote est insr devant cette entre. La premire entre de cet Box est relie la branche situe gauche de l'entre slectionne. La sortie du nouvel Box est relie l'entre slectionne. Si une sortie est slectionne, alors Bote est insr derrire cette sortie. La premire entre de cet Bote est relie la sortie slectionne. La sortie du nouvel Box est relie la branche laquelle tait relie la sortie slectionne. Si un bote , une fonction ou un bloc fonctionnel est slectionn (position du curseur 3), alors l'ancien lment est remplac par le nouvel bote. Les branches sont relies autant que possible comme elles l'taient avant le remplacement. Si l'ancien lment a plus d'entres que le nouveau, alors les branches qui ne peuvent tre relies un lment sont supprimes. La mme rgle s'applique aux sorties. Si un saut ou une instruction Return est slectionne, alors l'oprateur est insr avant ce saut ou cette instruction Return, selon le cas. La premire entre de bote est relie la branche situe gauche de l'lment slectionn. La sortie de bote est relie la branche situe droite de l'lment slectionn. Si la dernire position de curseur d'un rseau est slectionne (position du curseur 6), alors bote est insr derrire le dernier lment. La premire entre de bote est relie la branche situe gauche de la position slectionne. Box insr est obligatoirement un lment AND. Celui-ci peut tre transform en n'importe quel autre bote en slectionnant et en crasant le texte. La liste de slection pour l'dition vous permet de slectionner bote de votre choix dans la liste des bote supports. Si le nouvel bote possde un nombre minimal d'entres diffrent, alors les entres sont rattaches. Si, le nouvel oprateur possde un nombre maximal d'entres moindre, alors les dernires entres sont supprimes, ainsi que les branches situes devant celles-ci. Toutes les entres de bote qui n'ont pas pu tre relies sont dfinies avec le texte "???". Il faut cliquer sur ce texte et le remplacer par la constante ou la variable voulue. Si une branche est situe droite du module insr, elle est affecte la premire sortie de module. Pour le reste, les sorties ne font pas lobjet dune dfinition. 'Insrer' 'Affectation'
Icne : Raccourci : <Ctrl>+<A>

Cette commande insre une affectation. L'endroit d'insertion est fonction de la position slectionne, soit immdiatement avant l'entre slectionne ), soit immdiatement aprs la sortie slectionne , soit immdiatement avant la jonction slectionne , soit la fin du rseau . Lorsqu'une affectation a t insre, il est ensuite possible de slectionner le texte existant "???" et de le remplacer par la variable qui doit faire l'objet de l'affectation. Pour ce faire, vous pouvez galement utiliser la liste de slection pour l'dition. Pour ajouter une nouvelle affectation une affectation existante, vous devez utiliser la commande 'Insrer' 'Sortie'. 'Insrer' 'Saut'
Icne : Raccourci : <Ctrl>+<L>

Cette commande insre un saut. L'endroit d'insertion est fonction de la position slectionne, soit immdiatement avant l'entre slectionne , soit immdiatement aprs la sortie slectionne , soit immdiatement avant la jonction slectionne , soit la fin du rseau . Lorsqu'un saut a t insr, il est ensuite possible de slectionner le texte existant "???" et de le remplacer par l'tiquette de saut correspondant au saut.

CoDeSys V2.3

5-27

Les diteurs graphiques

'Insrer' 'Return'
Icne : Raccourci : <Ctrl>+<R>

Cette commande insre une instruction RETURN. L'endroit d'insertion est fonction de la position slectionne, soit immdiatement avant l'entre slectionne , soit immdiatement aprs la sortie slectionne , soit immdiatement avant la jonction slectionne, soit la fin du rseau . 'Insrer' 'Entre'
Icne : Raccourci : <Ctrl>+<U>

Cette commande insre une entre d'oprateur. Le nombre des entres est variable pour un grand nombre d'oprateurs (p.ex. l'lment ADD peut possder deux ou davantage d'entres). Pour ajouter une entre un oprateur de ce genre, il faut slectionner, soit l'entre devant laquelle une nouvelle entre doit tre insre (position du curseur 1), soit, lorsqu'une entre doit tre insre en dessous, l'oprateur lui-mme (position du curseur 3). L'entre insre est dfinie avec le texte "???". Il faut cliquer sur ce texte et le remplacer par la constante ou la variable voulue. Pour ce faire, vous pouvez galement utiliser la liste de slection pour l'dition. 'Insrer' 'Sortie'
Icne :

Cette commande permet d'ajouter une affectation existante une nouvelle affectation. Cette fonctionnalit permet de crer des chelles d'affectation, c.--d. que la valeur actuellement contigu la ligne est affecte diffrentes variables. Si la jonction au-dessus d'une affectation ou si la sortie prcdant immdiatement celle-ci est slectionne, alors une nouvelle affectation est insre la suite des affectations existantes. Si la jonction prcdant immdiatement une affectation est slectionne (position du curseur 4), alors une nouvelle affectation est insre devant la premire. La sortie insre est dfinie avec le texte "???". Il faut cliquer sur ce texte et le remplacer par la variable de votre choix. Pour ce faire, vous pouvez galement utiliser la liste de slection pour l'dition. 'Insrer' 'Entre de module'
Raccourci : <Ctrl> + <U>

Cette commande insre une entre de module. Le nombre des entres est variable pour un grand nombre d'oprateurs (p.ex. l'lment ADD peut possder deux ou davantage d'entres). Pour ajouter une entre un module de ce genre, il faut slectionner la module lui-mme (position du curseur 1). 'Insrer' 'Etiquette'
Icne : Raccourci : <Ctrl>+<L>

Cette commande permet d'insrer une tiquette. Il est possible de slectionner le texte existant "???" et de le remplacer par une tiquette de saut. En mode En ligne, une tiquette RETURN (RETOUR) est automatiquement insre pour le marquage de la fin du module. L'tiquette de saut est insre l'aide de la commande 'Insrer' 'Etiquette'.

5-28

CoDeSys V2.3

5 - Les Editeurs

'Extras' 'Ngation'
Icne : Raccourci : <Ctrl>+<N>

Cette commande vous permet d'inverser des entres, des sorties, des sauts ou des instructions RETURN. Le symbole utilis pour la ngation est un petit cercle sur une liaison. Si une entre a t slectionne , alors la valeur de celle-ci est inverse. Si une sortie a t slectionne , alors la valeur de celle-ci est inverse. Si un saut ou une instruction Return est marque, alors la valeur de l'entre de ce saut ou de cette instruction, selon le cas, est inverse. Une ngation peut tre annule en inversant la valeur une nouvelle fois. 'Extras' 'Verrouillage/Dverouillage'
Icne :

Cette commande permet de dfinir des sorties SET (verrouillage) et des sorties RESET (dverrouillage). Une porte avec une sortie SET est visualise par un [S], tandis qu'une porte avec une sortie RESET est visualise par un [R].
Sorties Verrouillage/Dverouillage en langage FBD

Si la porte correspondant une sortie SET fournit comme valeur TRUE, alors la sortie prend la valeur TRUE et elle garde cette valeur mme si la porte reprend la valeur FALSE. Si la porte correspondant une sortie RESET fournit comme valeur TRUE, alors la sortie prend la valeur FALSE et elle garde cette valeur mme si la porte reprend la valeur FALSE. Si la commande est excute plusieurs fois, alors la sortie devient tour tour une sortie SET, une sortie RESET et une sortie normale. 'Extras' 'Affichage' Cette commande vous permet de slectionner, pour un module cr avec l'diteur de schmas en blocs fonctionnels, une reprsentation par le biais de ce mme diteur ou avec l'diteur de langage contacts. Une telle fonction est possible en mode En ligne et en mode Hors ligne. Zoom sur module appel Cette commande est disponible dans le menu contextuel (<F2>) ou dans le menu Extras, pour autant que le curseur se trouve sur le nom du module appel dans les diteurs littraux, ou si la bote dun module est marque dans les diteurs graphiques. Le zoom ouvre le module concern dans sa fentre dditeur. S'il s'agit d'un module issu d'une bibliothque, alors le gestionnaire de bibliothques est appel et le module correspondant est affich. Couper, copier, coller et supprimer dans le schma en blocs fonctionnels Les commandes 'Couper', 'Copier', 'Coller' et 'Supprimer' se trouvent dans le menu 'Editer'. Si une jonction est slectionne , alors les affectations, sauts ou instructions RETURN situs en dessous de celle-ci sont coups, supprims ou copis. Si une bote est slectionne, l'objet slectionn est coup, supprim ou copi, ainsi que toutes les branches contigus aux entres, l'exception de la premire (plus leve) dentre elles.

CoDeSys V2.3

5-29

Les diteurs graphiques

Dans les autres cas, la totalit de la branche situe devant la position du curseur est coupe, supprime ou copie. Aprs l'opration de copiage ou de dcoupage, l'lment supprim ou copi se trouve dans le pressepapiers et peut tre coll autant de fois que l'on veut. Pour ce faire, il faut d'abord slectionner la position d'insertion. Les entres et les sorties sont des positions d'insertion possibles. Si un bote a t charg dans le presse-papiers, (pour mmoire: dans ce cas, toutes les branches contigus se trouvent dans le presse-papiers, l'exception de la premire), alors la premire entre est relie la branche situe devant la position d'insertion. Dans le cas contraire, la totalit de la branche situe devant la position d'insertion est remplace par le contenu du presse-papiers. Dans tous les cas, le dernier lment coll est reli la branche situe droite de la position d'insertion.
Remarque : Le dcoupage et le collage permettent de rsoudre le problme suivant. Supposons qu'un oprateur soit coll au milieu d'un rseau. La branche situe droite de l'oprateur est prsent relie la premire entre, alors qu'elle devrait tre relie la deuxime entre. On slectionne prsent la premire entre et on excute la commande 'Editer' 'Couper'. Ensuite, on slectionne la deuxime entre et on excute la commande 'Editer' 'Coller'. La branche est maintenant rattache la deuxime entre.

Le schma en blocs fonctionnels en mode En Ligne Dans le schma en blocs fonctionnels, il est possible de dfinir des points d'arrt uniquement au niveau des rseaux. Si un point d'arrt a t dfini au niveau d'un rseau, alors le champ de numrotation du rseau est visualis en bleu. Le traitement s'arrte avant le rseau qui contient le point d'arrt. Dans ce cas, le champ de numrotation du rseau se colore en rouge. Dans le cas d'une excution pas pas (tape individuelle), la progression se fait en sautant de rseau en rseau. La valeur actuelle de chaque variable d'entre contigu un lment de rseau (fonction, programme, instance de bloc fonctionnel ou oprateur) est visualise. En double-cliquant sur une variable vous accdez la bote de dialogue pour crire une variable. Exception : si lentre dun bloc fonctionnel est une expression, seule la premire variable de lexpression sera espionne. La nouvelle valeur est colore en rouge et reste inchange. En donnant la commande 'En Ligne' 'Ecrire valeur des variables', les valeurs slectionnes sont affectes toutes les variables et ces dernires se colorent nouveau en noir. Vous pouvez lancer le contrle de droulement au moyen de la commande de menu 'En Ligne' 'Contrle de droulement'. Ce contrle vous permet d'examiner les valeurs actuelles qui sont vhicules l'intrieur des rseaux au moyen des lments de liaison. Lorsque les lments de liaison ne vhiculent aucune valeur de type boolen, la valeur est affiche dans un champ spcialement insr cet effet. Si les lments de liaison vhiculent des valeurs de type boolen, et plus prcisment la valeur TRUE, alors elles sont colores en bleu. Cela permet de suivre le flux d'informations lorsque l'automate programmable est en cours d'excution. Si vous maintenez le pointeur de souris pendant une courte dure sur une variable, le type et le commentaire de la variable sont affichs dans une info-bulle.

5-30

CoDeSys V2.3

5 - Les Editeurs

5.4.3

L'diteur graphique du Schma en blocs fonctionnels (CFC)


Voici comment se prsente un module cr l'aide de l'diteur graphique CFC:

L'diteur graphique du schma en blocs fonctionnels n'utilisant pas de rseaux, les lments peuvent tre placs librement. La liste d'excution comprend les lments suivants: module, entre, sortie, saut, tiquette, return et commentaire. Les entres et sorties de ces lments peuvent tre relies entre elles en dplaant une liaison au moyen de la souris. L'lment de liaison est dessin automatiquement. C'est l'lment de liaison le plus court qui est trac, en tenant compte des liaisons existantes. Lors du dplacement d'lments, les lments de liaison sont ajusts automatiquement. Si un lment de liaison ne peut pas tre trac en raison d'un manque de place, alors une ligne rouge est cre entre l'entre et la sortie correspondante. Ds qu'il existe suffisamment de place, cette ligne est convertie en un lment de liaison. Avec l'diteur graphique du schma en blocs fonctionnels, il est possible d'insrer directement des asservissements, ce qui constitue un avantage par rapport l'diteur ordinaire du schma en blocs fonctionnels. Les commandes principales se trouvent dans le menu contextuel. Positions du curseur dans l'diteur graphique CFC Le curseur peut se positionner sur n'importe quel lment de texte. Le texte slectionn est affich sur fond bleu et peut tre modifi. Par ailleurs, la position actuelle du curseur est caractrise par un rectangle en pointills. Voici une numration des positions de curseurs possibles, illustres par des exemples: 1. Corps des lments module, entre, sortie, saut, tiquette, return et commentaire:

CoDeSys V2.3

5-31

Les diteurs graphiques

2. Champs de texte des lments module, entre, sortie, saut, tiquette et commentaire ainsi que les champs de texte des tiquettes de liaison:

3. Entre des lments module, sortie, saut et return:

4. Sortie des lments module et entre:

'Insrer' 'Module'
Icne : Raccourci : <Ctrl>+<B>

Cette commande permet d'insrer des oprateurs, fonctions, blocs fonctionnels et programmes. Un oprateur "AND" est toujours insr par dfaut. Celui-ci peut tre transform en n'importe quel autre oprateur, fonction, bloc fonctionnel ou programme en slectionnant et en crasant le texte. La liste de slection pour l'dition vous permet de slectionner le module de votre choix dans la liste des modules supports. Si le nouveau module possde un nombre minimal d'entres diffrent, alors les entres sont rattaches. Si le nouveau module possde un nombre maximal d'entres moindre, alors les dernires entres sont supprimes.

5-32

CoDeSys V2.3

5 - Les Editeurs

'Insrer' 'Entre'
Icne : Raccourci : <Ctrl> + <E>

Cette commande permet d'insrer une entre. Il est possible de slectionner le texte existant "???" et de le remplacer par une variable ou une constante. Pour ce faire, vous pouvez galement utiliser la liste de slection pour l'dition. 'Insrer' 'Sortie'
Icne : Raccourci : <Ctrl>+<A>

Cette commande permet d'insrer une sortie. Il est possible de slectionner le texte existant "???" et de le remplacer par une variable. Pour ce faire, vous pouvez galement utiliser la liste de slection pour l'dition. La valeur existant l'entre de la sortie est attribue cette variable. 'Insrer' 'Saut'
Icne : Raccourci : <Ctrl>+<J>

Cette commande permet d'insrer un saut. Il est possible de slectionner le texte existant "???" et de le remplacer par l'tiquette de saut correspondant au saut. L'tiquette de saut est insre l'aide de la commande 'Insrer' 'Etiquette'. 'Insrer' 'Return'
Icne : Raccourci : <Ctrl> + <R>

Cette commande permet d'insrer une instruction RETURN. Veuillez noter quune tiquette de saut est automatiquement insre en mode En ligne, avec la dnomination RETURN, dans la premire colonne et aprs le dernier lment dans lditeur ; on passe cette tiquette lors dune excution pas pas avant de quitter le module. 'Insrer' 'Commentaire'
Icne : Raccourci : <Ctrl> + <K>

Cette commande permet d'insrer un commentaire. Vous insrez une nouvelle ligne dans le commentaire en actionnant <Ctrl> + <Entre>. 'Insrer' 'Entre de module'
Raccourci : <Ctrl> + <U>

Cette commande insre une entre de module. Le nombre des entres est variable pour un grand nombre d'oprateurs (p.ex. l'lment ADD peut possder deux ou davantage d'entres). Pour ajouter une entre un module de ce genre, il faut slectionner la module lui-mme (position du curseur 1). Insrer' 'Insrer une entre CFC, 'Insrer une sortie CFC'
Icne :

Ces commandes sont disponibles ds quune macro est ouverte pour dition. Elles servent linsertion de pins dentre ou de sortie servant dentre et de sortie pour la macro. Elles se diffrencient des entres ou sorties normales de modules de par leur reprsentation et de par le fait quelles nont pas dindex de position.

CoDeSys V2.3

5-33

Les diteurs graphiques

'Extras' 'Connecteur' Des liaisons peuvent aussi tre visualises l'aide de connecteurs (tiquettes de liaisons) plutt qu' l'aide d'lments de liaison. Dans ce cas, la sortie et l'entre correspondante sont dotes d'un connecteur qui est dsign par un nom univoque. S'il existe dj une liaison entre deux lments et que l'on souhaite visualiser prsent cette liaison l'aide de connecteurs, il faut commencer par marquer la sortie de l'lment de liaison (position du curseur 3), puis slectionner l'lment de menu 'Extras' 'Etiquette de liaison'. La figure suivante reprsente une liaison avant et aprs slection de cet lment de menu.

Le programme attribue par dfaut un nom univoque chaque connecteur, commenant par la lettre M. Ce nom peut nanmoins tre modifi. Le nom de connecteur est enregistr comme paramtre de sortie, mais peut cependant tre dit aussi bien comme entre que comme sortie. Nous attirons votre attention sur le fait que le nom de connecteur est considr comme tant une proprit d'une sortie d'une liaison et qu'il est enregistr avec cette sortie. 1. Editer le nom de connecteur au niveau de la sortie: Si le texte l'intrieur du connecteur est remplac, le nouveau nom de connecteur est pris en compte par tous les connecteurs correspondants au niveau des entres. Cependant, il n'est pas possible de choisir un nom qui est dj attribu une autre tiquette de liaison. Cela permet de conserver des noms de connecteur univoques. Dans ce cas, un message adquat saffiche lcran. 2. Editer le nom de connecteur au niveau de l'entre: Si le texte l'intrieur du connecteur est remplac, il le sera galement dans ltiquette de liaison correspondante dans lautre module. Pour rtablir une liaison ordinaire partir d'une liaison visualise l'aide de connecteurs, marquez les sorties des liaisons (position du curseur 4) et slectionnez nouveau l'option de menu 'Extras' 'Etiquettes de liaison'. 'Extras' 'Inversion'
Icne : Raccourci : <Ctrl> + <N>

Cette commande vous permet d'inverser des entres (ngation), des sorties, des sauts ou des instructions RETURN. Le symbole utilis pour la ngation est un petit cercle sur une liaison. Si une entre d'un module, d'une sortie, d'un saut ou d'un return a t slectionne (position du curseur 3, alors la valeur de celle-ci est inverse. Si une sortie d'un module ou d'une entre a t slectionne (position du curseur 4), alors la valeur de celle-ci est inverse. Une ngation peut tre annule en inversant la valeur une nouvelle fois. 'Extras' 'Set/Reset'
Icne : Raccourci : <Ctrl> + <T>

Cette commande n'est excutable que pour les entres slectionnes des lments de type sortie (position du curseur 3). Le symbole S reprsente SET et le symbole R reprsente RESET.

5-34

CoDeSys V2.3

5 - Les Editeurs

VarOut1 devient TRUE lorsque VarIn1 fournit TRUE. VarOut1 garde cette valeur mme si VarIn1 reprend la valeur FALSE. VarOut2 devient FALSE lorsque VarIn2 fournit TRUE. VarOut2 garde cette valeur mme si VarIn2 reprend la valeur FALSE. Si la commande est excute plusieurs fois, alors la sortie prend tour tour l'tat SET, l'tat RESET et l'tat normal. 'Extras' 'EN/ENO'
Icne : Raccourci : <Ctrl> + <0>

Cette commande permet d'ajouter une entre d'activation EN (Enable In) supplmentaire et une sortie boolenne ENO (Enable Out) au module slectionn.

Dans cet exemple, la fonction ADD sera uniquement excute si la variable boolenne "Bedingung" (condition) la valeur TRUE. VarOut prendra galement la valeur TRUE aprs l'excution de la fonction ADD. Si la variable "Bedingung" (condition) est gale FALSE, alors la fonction ADD n'est pas excute et la valeur FALSE est affecte VarOut. L'exemple ci-dessous montre comment la valeur d'ENO peut tre utilise pour d'autres modules.

Pour cela, x doit tre initialis avec la valeur 1 et y avec la valeur 0. Les numros qui figurent dans le coin droit des modules indiquent l'ordre d'excution. x est incrment jusqu' ce qu'il prenne la valeur 10. Ds lors, la sortie du module LT(0) fournit comme valeur FALSE, ce qui entrane l'excution de SUB(3) et de ADD(5). Par consquent, x prend la valeur 1 tandis que y est incrment d'une unit. Ensuite, c'est le module LT(0) qui est nouveau excut aussi longtemps que x est infrieur 10. Par consquent, y comptabilise le nombre de fois que x parcourt les valeurs de 1 10.

CoDeSys V2.3

5-35

Les diteurs graphiques

'Extras' 'Caractristiques...' Dans l'diteur graphique du schma en blocs fonctionnels, les paramtres d'entre constants (VAR_INPUT CONSTANT) des fonctions et des blocs fonctionnels ne sont pas affichs directement. Ces paramtres peuvent tre affichs et leur valeur peut tre modifie en slectionnant le corps du module concern (Position du curseur 1 et la commande 'Extras' 'Proprits', ou simplement en double-cliquant sur le corps. Pour cela, la bote de dialogue suivante s'affiche:
Bote de dialogue Proprits

Les valeurs des paramtres d'entre constants (VAR_INPUT CONSTANT) peuvent tre modifies. Pour cela, il faut slectionner la valeur du paramtre dans la colonne Valeur. Cette valeur peut tre dite en cliquant une nouvelle fois avec la souris ou en appuyant sur la <Barre d'espacement>. Pour confirmer la modification d'une valeur, il faut appuyer sur la touche <Entre>; pour rejeter les modifications, appuyez sur la touche <Echap>. Pour enregistrer toutes les modifications, appuyez sur le bouton OK. Slectionner des lments Pour slectionner un lment, cliquez avec la souris sur le corps de l'lment (position de curseur 1). Pour slectionner plusieurs lments, soit vous maintenez la touche <Maj> enfonce et vous cliquez successivement avec la souris sur chacun des lments correspondants, soit vous crez une fentre recouvrant les lments slectionner, en dplaant la souris et en maintenant la touche gauche enfonce. La commande 'Extras' 'Marquer tout' permet de slectionner tous les lments. Dplacer des lments Vous pouvez dplacer un ou plusieurs lments slectionns en maintenant la touche <Maj> enfonce et en actionnant les touches directionnelles. Vous pouvez galement dplacer des lments au moyen de la souris, en maintenant la touche gauche de la souris enfonce. Pour dposer ces lments, relchez la touche gauche de la souris, condition que les lments ne recouvrent pas d'autres lments et qu'ils n'excdent pas les dimensions prvues pour l'diteur. Dans ce cas, les lments marqus retournent leur emplacement de dpart et un signal d'avertissement retentit. Copier des lments Un ou plusieurs lments slectionns peuvent tre copis au moyen de la commande 'Editer' 'Copier' ou insrs avec la commande 'Editer' 'Coller'. Etablir des liaisons Une entre d'lment peut tre relie une et une seule sortie d'lment. Une sortie d'lment peut tre relie plusieurs entres d'lments. Il existe plusieurs faons de relier une entre d'un lment E2 une sortie d'un lment E1.

5-36

CoDeSys V2.3

5 - Les Editeurs

Cliquez avec la touche gauche de la souris sur la sortie de l'lment E1 (position du curseur 4), maintenez la touche gauche de la souris enfonce, dplacez le pointeur de la souris jusqu' l'entre de l'lment E2 (position du curseur 3) et relchez la touche gauche de la souris cet endroit. Pendant le dplacement de la souris, une liaison est dessine entre la sortie de l'lment E1 et le pointeur de la souris. Cliquez avec la touche gauche de la souris sur l'entre de l'lment E2, maintenez la touche gauche de la souris enfonce, dplacez le pointeur de la souris jusqu' la sortie de l'lment E1 et relchez la touche gauche de la souris cet endroit. Dplacez soit l'lment E1, soit l'lment E2 (position du curseur 1) et dposez-le en relchant la touche gauche de la souris de telle faon que la sortie de l'lment E2 et l'entre de l'lment E1 soient en contact. Dans le cas o l'lment E2 est un module avec une entre libre, il est possible de crer une liaison en effectuant un dplacement partir d'une des sorties de E1 jusque dans le corps de l'lment E2. Ds que vous relchez la touche de la souris, une liaison avec l'entre libre de E2 la plus haute est cre. Si le module E2 ne possde aucune entre libre, mais se trouve tre un oprateur auquel il est possible d'ajouter une entre, alors une nouvelle entre est cre automatiquement. En appliquant les mmes mthodes, il est possible de relier entre elles la sortie et l'entre d'un module (asservissement). Pour tablir une liaison entre deux pins, il suffit de cliquer laide du bouton gauche de la souris sur lun dentre eux, de se dplacer tout en maintenant le bouton enfonc jusquau pin souhait, o vous pouvez relcher le bouton. Si vous quittez la zone de travail de lditeur durant cette manuvre, vous faites automatiquement dfiler lcran. Un contrle du type se produit lors de la liaison dans le cas de types de donnes simples. Si les types des pins que vous souhaitez relier sont incompatibles entre eux, le curseur se modifie et affiche Interdit . Avec des types de donnes complexes, il ny a pas de contrle. Supprimer des liaisons Il existe plusieurs faons de supprimer une liaison entre la sortie d'un lment E1 et l'entre d'un lment E2. Marquez la sortie de E1 (position du curseur 4) et appuyez sur la touche <Suppr> ou excutez la commande 'Editer' 'Supprimer'. Si la sortie de E1 est relie plusieurs entres, alors les liaisons correspondantes sont supprimes. Marquez l'entre E2 (position du curseur 4) et appuyez sur la touche <Suppr> ou excutez la commande 'Editer' 'Supprimer'. Marquez avec la souris l'entre de E2 et, tout en maintenant la touche gauche de la souris enfonce, cartez la liaison de l'entre de E2. Pour supprimer la liaison, il suffit de relcher la touche gauche de la souris dans une zone libre. Modifier des liaisons Il est possible de convertir facilement une liaison entre la sortie d'un lment E1 et l'entre d'un lment E2 en une liaison entre la sortie de E1 et une entre d'un lment E3. Pour ce faire, cliquez avec la souris sur l'entre de E2 (position du curseur 3) et, tout en maintenant la touche gauche de la souris enfonce, dplacez le pointeur de la souris jusqu' l'entre de E3 et relchez la touche de la souris cet endroit. 'Extras' 'Connecteur' Des liaisons peuvent aussi tre visualises l'aide de connecteurs (tiquettes de liaisons) plutt qu' l'aide d'lments de liaison. Dans ce cas, la sortie et l'entre correspondante sont dotes d'un connecteur qui est dsign par un nom univoque. S'il existe dj une liaison entre deux lments et que l'on souhaite visualiser prsent cette liaison l'aide de connecteurs, il faut commencer par marquer la sortie de l'lment de liaison (position du curseur 3), puis slectionner l'lment de menu 'Extras' 'Etiquette de liaison'. La figure suivante reprsente une liaison avant et aprs slection de cet lment de menu.

CoDeSys V2.3

5-37

Les diteurs graphiques

Le programme attribue par dfaut un nom univoque chaque connecteur, commenant par la lettre M. Ce nom peut nanmoins tre modifi. Le nom de connecteur est enregistr comme paramtre de sortie, mais peut cependant tre dit aussi bien comme entre que comme sortie. Nous attirons votre attention sur le fait que le nom de connecteur est considr comme tant une proprit d'une sortie d'une liaison et qu'il est enregistr avec cette sortie. 1. Editer le nom de connecteur au niveau de la sortie: Si le texte l'intrieur du connecteur est remplac, le nouveau nom de connecteur est pris en compte par tous les connecteurs correspondants au niveau des entres. Cependant, il n'est pas possible de choisir un nom qui est dj attribu une autre tiquette de liaison. Cela permet de conserver des noms de connecteur univoques. Dans ce cas, un message adquat saffiche lcran. 2. Editer le nom de connecteur au niveau de l'entre: Si le texte l'intrieur du connecteur est remplac, il le sera galement dans ltiquette de liaison correspondante dans lautre module. Pour rtablir une liaison ordinaire partir d'une liaison visualise l'aide de connecteurs, marquez les sorties des liaisons (position du curseur 4) et slectionnez nouveau l'option de menu 'Extras' 'Etiquettes de liaison'. Insrer des entres / des sorties " la vole" Si vous slectionnez un seul pin dentre ou de sortie dun lment, vous pouvez insrer directement au clavier llment dentre ou de sortie correspondant par le biais dune chane de caractres et remplir son champ ddition laide de cette chane de caractres. Ordre d'excution Dans l'diteur graphique du schma en blocs fonctionnels, un numro d'excution est attribu chaque lment de type module, sortie, saut, return et tiquette. Cela dfinit l'ordre dans lequel les diffrents lments sont pris en compte pendant l'excution du programme. Le numro est attribu automatiquement selon un ordre topologique, lors de l'insertion de l'lment (de gauche droite et de haut en bas). Si l'ordre a dj t modifi, le nouvel lment reoit le numro de l'lment suivant dans l'ordre topologique et tous les numros plus levs sont incrments d'une unit. Le numro d'un lment est conserv lors du dplacement de l'lment. L'ordre influe sur le rsultat et doit tre modifi dans des cas prcis. Si l'ordre est affich, alors le numro d'excution apparat dans le coin suprieur droit de l'lment auquel il se rapporte. 'Extras' 'Ordre' 'Affichage' Cette commande permet d'activer ou de dsactiver l'affichage de l'ordre d'excution. L'ordre d'excution est affich par dfaut (dans ce cas, un crochet est mis devant l'lment de menu). Pour les lments de type module, sortie, saut, return et tiquette, le numro d'excution apparat dans le coin suprieur droit de l'lment auquel il se rapporte. 'Extras' 'Ordre' 'Ordonner selon l'ordre topologique' Les lments sont ordonns selon l'ordre topologique si l'excution a lieu de gauche droite et de haut en bas. Autrement dit, pour des lments en ordre topologique, le numro augmente de la

5-38

CoDeSys V2.3

5 - Les Editeurs

gauche vers la droite et du haut vers le bas. Les liaisons ne jouent aucun rle. Seule la disposition des lments compte. Si la commande 'Extras' 'Ordre' 'Ordonner selon l'ordre topologique' est excute, alors tous les lments slectionns sont ordonns selon l'ordre topologique. Dans le mme temps, tous les lments de la slection sont extraits de la liste d'excution. Ensuite, les lments de la slection sont rinsrs sparment dans la liste d'excution restante, en commenant en bas droite et en terminant en haut gauche. Chaque lment slectionn est insr devant l'lment suivant dans l'ordre topologique, c'est--dire devant l'lment qui serait excut ensuite si tous lments taient ordonns selon l'ordre topologique. Illustrons cela l'aide d'un exemple.

Les lments portant les numros 1, 2 et 3 sont slectionns. Si la commande 'Ordonner selon l'ordre topologique' est slectionne, alors les trois lments slectionns sont extraits de la liste d'excution. Ensuite, Var 3, le saut et l'oprateur AND sont rinsrs, dans cet ordre. Var3 est plac devant l'tiquette et reoit le numro 2. Ensuite, le saut est insr et reoit provisoirement le numro 4 qui se transforme en 5 aprs insertion de l'oprateur AND. On obtient un nouvel ordre d'excution qui se prsente comme ceci:

Lors de la disposition d'un nouveau module, celui-ci est plac par dfaut devant l'lment suivant selon l'ordre topologique, au sein de la liste d'excution. 'Extras' 'Ordre' 'Avancer le squencement par un' Cette commande permet de faire avancer tous les lments slectionns d'une place dans l'ordre d'excution, l'exception de l'lment qui est situ en tte de l'ordre d'excution.

CoDeSys V2.3

5-39

Les diteurs graphiques

'Extras' 'Ordre' 'Remettre le squencement par un' Cette commande permet de faire reculer tous les lments slectionns d'une place dans l'ordre d'excution, l'exception de l'lment qui est situ la fin de l'ordre d'excution. 'Extras' 'Ordre' 'Au dbut' Cette commande permet de dplacer tous les lments slectionns au dbut de l'ordre d'excution, tout en conservant l'ordre d'excution de ces lments. L'ordre d'excution des lments non slectionns est galement conserv. 'Extras' 'Ordre' 'A la fin' Cette commande permet de dplacer tous les lments slectionns la fin de l'ordre d'excution, tout en conservant l'ordre d'excution de ces lments. L'ordre d'excution des lments non slectionns est galement conserv. 'Extras' 'Ordre' 'Ordonner selon flux des donnes' Cette commande est applique tous les lments. L'ordre d'excution est dtermin par le flux des donnes des lments et non par leur disposition. La figure ci-dessous montre des lments ordonns selon l'ordre topologique:

5-40

CoDeSys V2.3

5 - Les Editeurs

Aprs slection de cette commande, les lments sont ordonns comme suit:

Lorsque cette commande est slectionne, tous les lments sont tris dans une premire tape selon l'ordre topologique. Ensuite, une nouvelle liste d'excution est constitue. En s'appuyant sur les valeurs des entres connues, on dtermine quel est le prochain lment non numrot susceptible d'tre excut. Dans le 'rseau' suprieur, le module ADD, par exemple, est susceptible d'tre excut immdiatement, car les valeurs ses entres sont connues (1 et 2). Le module SUB ne pourra tre excut qu'ensuite, tant donn que le rsultat de ADD doit tre connu, etc. Les asservissements sont cependant insrs en dernier. Lorsque l'ordre est tabli en fonction du flux des donnes, cela prsente l'avantage qu'une box de sortie relie la sortie d'un module est toujours place juste aprs celui-ci, ce qui n'est pas toujours le cas avec l'ordre topologique. Par consquent, il se peut que l'ordre topologique ne fournisse pas toujours le mme rsultat que l'ordre dpendant du flux des donnes. Cette dernire hypothse se vrifie dans l'exemple ci-dessus. 'Extras' 'Crer Macro'
Icne :

laide de cette commande, vous pouvez regrouper plusieurs modules slectionns simultanment en un bloc auquel vous pouvez donner un nom en tant que macro. Vous ne pouvez reproduire des macros quau moyen de la fonction copier-coller, chaque copie reprsentant une macro dont vous pouvez choisir le nom en toute libert. De ce fait, les macros ne sont pas des rfrences. Toutes les liaisons qui sont dcapites par la cration de la macro crent des pins dentre ou de sortie la macro. Les liaisons vers des entres crent des pins dentre. Un nom par dfaut apparat ct du pin sous la forme In<n>. Dans le cas de liaisons vers des sorties, le nom est Out<n>. Les liaisons concernes qui disposaient dtiquettes de liaison avant la cration de la macro gardent cette tiquette de liaison sur le PIN de la macro. Une macro reoit tout dabord le nom par dfaut MACRO". Celui-ci peut tre modifi dans le champ du nom de la macro. Si vous ditez la macro, son nom sera affich dans la barre de titre de la fentre dditeur, ajout au nom du module.

CoDeSys V2.3

5-41

Les diteurs graphiques

Exemple : Slection

Macro :

Dans lditeur :

'Extras' 'Sauter dans le macro'


Icne :

Par le biais de cette commande ou en double-cliquant sur le corps de la macro, cette mme macro est ouverte dans la fentre dditeur du module correspondant en vue dune dition. Le nom de la macro est rattach au nom du module dans la barre de titre. Vous pouvez utiliser les botes de pins obtenues lors de la cration de manire similaire aux entres et sorties du module. Elles peuvent donc tre glisses, effaces, ajoutes, etc. Elles ne se diffrencient quau niveau de la visualisation et ne disposent pas dun index de position. Pour lajout, vous pouvez utiliser les boutons (entre) ou (sortie) qui vous sont proposes dans la barre d'outils. Les botes de pins ont des coins arrondis. Le texte de la bote de pin correspond au nom du pin dans la visualisation de la macro. Lordre des pins sur la bote de la macro est tabli en fonction de lordre selon lequel les lments de la macro sont excuts. Un numro d'ordre moins lev avant un plus lev, un pin suprieur avant un infrieur. Lordre dexcution au sein de la macro est ferm, c.--d. la macro est considre comme un bloc et ce au niveau de lemplacement de la macro dans le module principal. Les commandes quant la manipulation de lordre dexcution nont deffet quau sein de la macro.

5-42

CoDeSys V2.3

5 - Les Editeurs

'Extras' 'Expansion de la macro' Cette commande permet dtendre la macro slectionne et d'insrer la position de la macro dans le module les lments qu'elle contient. Les liaisons vers les pins de la macro sont nouveau considres comme des liaisons aux entres ou sorties des lments. Si vous ne pouvez tendre la macro en raison dun manque de place lemplacement de la bote de macro, cette macro sera dplace vers la droite ou vers le bas jusqu ce quil y ait suffisamment de place.
Remarque : Si le projet est sauvegard sous la version de projet 2.1, toutes les macros sont automatiquement tendues. Avant la conversion en dautres langages, toutes les macros sont galement tendues.

'Extras' 'Un niveau / tous les niveaux de la macro en arrire'


Icnes:

Ces commandes sont galement disponibles dans la barre d'outils ds quune macro est ouverte pour dition. Si des macros sont imbriques les unes dans les autres, vous pouvez revenir au niveau de macro juste au dessus ou au niveau le plus lev. Asservissements Contrairement au schma en blocs fonctionnels ordinaire, l'diteur graphique du schma en blocs fonctionnels permet de visualiser directement des asservissements. Il faut savoir qu'une variable intermdiaire interne est toujours cre pour la sortie d'un module. Dans le cas d'un oprateur, le type de donnes de la variable intermdiaire est donn par le plus grand type de donnes des entres. Le type de donnes d'une constante est obtenu partir du plus petit type de donnes possible pour cette constante, c'est--dire qu'avec la constante "1" on obtient le type de donnes SINT. Si l'on effectue prsent une addition avec asservissement avec la constante "1", la premire entre fournit le type de donnes SINT et la deuxime reste indfinie en raison de l'asservissement. Par consquent, la variable intermdiaire est elle aussi de type SINT. La valeur de la variable intermdiaire est affecte seulement ensuite la variable de sortie. La figure ci-dessous montre tantt une addition avec asservissement et tantt une addition directe avec une variable. Dans ces cas, les variables x et y doivent tre de type INT.

Les deux additions diffrent par les points suivants: La variable y peut tre initialise avec une valeur diffrente de 0, ce qui n'est pas le cas pour la variable intermdiaire de l'addition de gauche. La variable intermdiaire de l'addition de gauche possde le type de donnes SINT tandis que la variable intermdiaire de l'addition de droite possde le type de donnes INT. Les variables x et y prennent des valeurs diffrentes partir du 129me appel. La variable x, bien qu'tant de type INT, prend la valeur 127, tant donn que la capacit de la variable intermdiaire est dpasse. En revanche, la variable y prend la valeur 129. CFC en mode en ligne Espionnage : Les valeurs relatives aux entres et sorties sont reprsentes au sein des botes dentre et de sortie. Les constantes ne sont pas espionnes. Pour les variables non boolennes, les botes sont agrandies en fonction de la valeur affiche. Pour des liaisons boolennes, le nom de la variable ainsi que la liaison sont visualiss en bleu si leur valeur est TRUE, et en noir dans les autres cas. En mode En ligne, les variables internes boolennes sont galement visualises en bleu si leur valeur est TRUE, et en noir dans les autres cas. La valeur de liaisons internes non boolennes est reprsente dans une petite bote aux coins arrondis sur le pin de sortie de la liaison.

CoDeSys V2.3

5-43

Les diteurs graphiques

Les pins de macros sont espionns comme des botes dentre et de sortie.

Les liaisons non boolennes avec tiquette de liaison affichent leur valeur au sein de cette tiquette de liaison. Pour des liaisons boolennes, les liaisons ainsi que les labels sont visualis(e)s en bleu pour autant que cette liaison soit TRUE, et en noir dans les autres cas. Contrle de droulement: Si le contrle de droulement est activ, les liaisons parcourues seront marques de la couleur rgle dans les options du projet. Points darrt : Des points darrt peuvent tre attribus aux lments qui possdent galement un index dordre de d'excution. Lexcution du programme est interrompue avant lexcution mme de llment concern, c.--d. pour les modules et sorties avant lattribution des entres, et pour les tiquettes de saut avant lexcution de llment lindex suivant. Lindex d'excution de llment est utilis comme emplacement de point darrt dans la bote de dialogue des points darrt. Le positionnement des points darrt un lment slectionn se fait par le biais de la touche F9, de loption 'Point d'arrt actif/inactif' du menu 'En Ligne' ou du menu 'Extras' ou encore dans le menu contextuel de lditeur. Si un point darrt est attribu un lment, celui-ci sera rendu actif ou inactif par le biais de la commande 'Point d'arrt actif/inactif'. Vous pouvez galement changer la valeur dun point darrt en double-cliquant sur celui-ci. La visualisation du point darrt se fait dans la couleur rgle dans les options du projet. Label RETURN : En mode En ligne, une tiquette de saut est automatiquement cre avec la dnomination RETURN dans la premire colonne et aprs le dernier lment dans lditeur. Cette tiquette marque la fin du module et on y passe en mode pas pas avant de quitter le module. Des tiquettes RETURN ne sont pas insres dans des macros. Pas pas : Avec 'tape individuelle sur', on saute toujours llment avec lindex dexcution suivant (en grandeur). Si llment en cours est une macro ou un module, on branche vers leur implmentation au moyen de 'Cycle indpendant'. Si on excute partir de l une 'tape individuelle sur', on branche llment dont lindex dexcution suit celui de la macro. Zoom sur module appel Cette commande est disponible dans le menu contextuel (<F2>) ou dans le menu Extras, pour autant que le curseur se trouve sur le nom du module appel dans les diteurs littraux, ou si la bote dun module est marque dans les diteurs graphiques. Le zoom ouvre le module concern dans sa fentre dditeur. S'il s'agit d'un module issu d'une bibliothque, alors le gestionnaire de bibliothques est appel et le module correspondant est affich.

5-44

CoDeSys V2.3

5 - Les Editeurs

5.4.4

L'diteur du Langage contacts (LD)


Voici comment se prsente un module crit en langage contacts dans l'diteur de CoDeSys:

Tous les diteurs pour modules sont constitus d'une partie de dclaration et d'un corps. Ceux-ci sont spars entre eux par une barre de fractionnement. L'diteur LD est un diteur graphique. Vous trouvez les commandes les plus importantes dans le menu contextuel (touche droite de la souris ou <Ctrl>+<F10>). Pour obtenir des informations sur les lments de l'diteur, reportez vous au chapitre 2.2.5, Langage contacts (LD). Positions du curseur dans l'diteur LD Vous trouvez ci-dessous les endroits o le curseur peut se positionner, sachant que les appels de blocs fonctionnels et de programmes peuvent tre traits comme des contacts. Les modules avec entres "EN" et les modules qui y sont rattachs sont traits comme dans le schma en blocs fonctionnels. Vous trouvez des informations sur l'dition de ces lments de rseau dans le chapitre 2.2.3 sur l'diteur FBD. 1. Chaque champ de texte (la position du curseur potentielle est encadre en noir)

2. Chaque contact ou bloc fonctionnel

CoDeSys V2.3

5-45

Les diteurs graphiques

3. Chaque bobinage

4. L'lment de liaison entre les contacts et les bobinages

Voici les commandes de menu spcifiques au langage contacts: Dplacer des lments au sein de l'diteur de langage contacts Un lment dans un module LD peut tre dplac vers une autre position dans le mme module grce la fonction "Glisser-Dplacer". Marquez pour ce faire le contact ou le bobinage ou encore le bloc fonctionnel , puis dplacez-le de sa position actuelle tout en maintenant le bouton de la souris enfonc. Ensuite, toutes les positions pouvant accueillir l'lment au sein du rseau de module sont alors affiches par des cases grises. Ds que l'lment est dplac sur un de ces marquages, celui-ci est passe alors au vert. Ds que vous relchez le bouton de la souris, l'lment est insr sa nouvelle position.

'Insrer' 'Contact'
Icne : Raccourci : <Ctrl>+<O>

Dans l'diteur LD, cette commande vous permet d'insrer un contact devant l'endroit slectionn dans le rseau. Si l'endroit slectionn est un bobinage ou l'lment de liaison entre les contacts et les bobinages , alors le nouveau contact est mont en srie sur le montage contacts existant. Le contact est prdfini avec le texte "???". Vous pouvez cliquer sur ce texte et le remplacer par la variable ou la constante de votre choix. Pour ce faire, vous pouvez galement utiliser la liste de slection pour l'dition. Si vous avez activ loption Commentaires par contact par le biais de 'Extras' 'Options' dans la bote de dialogue 'Options de FBD et de LD', vous pouvez, dans cette mme bote de dialogue, dfinir un nombre prcis de Lignes pour texte de la variable en plus du nombre souhait de Lignes pour commentaire de la variable. Ceci est particulirement recommand pour des noms de variables assez longs, et permet de maintenir un rseau compact lhorizontale. Notez galement la possibilit de loption Rseaux avec mise en page que vous pouvez activer via 'Extras' 'Options'.

5-46

CoDeSys V2.3

5 - Les Editeurs

Exemple des options et reprsentation dans le rseau :

'Insrer' 'Bloc fonctionnel'


Raccourci : <Ctrl>+<B>

Vous utilisez cette commande pour insrer un bloc fonctionnel ou un programme sous forme de module. Il faut que la liaison entre les contacts et les bobinages soit marque (position du curseur 4), ou un bobinage (position du curseur 3). La liste de slection pour ldition souvre, vous permettant de choisir entre les modules standard disponibles ainsi que des modules que vous avez personnellement dfinis. La premire entre du module frachement insr est place sur la liaison dentre et la premire sortie est place sur la liaison de sortie, ce qui implique que ces variables doivent toujours tre de type BOOL. Toutes les autres entres et sorties du module sont prdfinies avec le texte "???". Ces textes prdfinis peuvent tre remplacs par des constantes, des variables ou des adresses. Pour ce faire, vous pouvez galement utiliser la liste de slection pour ldition. 'Insrer' 'Contact parallle'
Icne : Raccourci : <Ctrl>+<R>

Dans l'diteur LD, cette commande vous permet d'insrer un contact en parallle par rapport l'endroit slectionn dans le rseau. Si l'endroit slectionn est un bobinage ou la liaison entre les contacts et les bobinages , alors le nouveau contact est mont en parallle sur l'ensemble du montage contacts existant.

CoDeSys V2.3

5-47

Les diteurs graphiques

Le contact est prdfini avec le texte "???". Vous pouvez cliquer sur ce texte et le remplacer par la variable ou la constante de votre choix. Pour ce faire, vous pouvez galement utiliser la liste de slection pour l'dition. Il est possible de reprsenter un nom de variable sur plusieurs lignes ainsi qu'un commentaire propre pour le contact. Voyez cet effet 'Insrer' 'Contact'

'Insrer' 'Bobinage'
Icne : Raccourci : <Ctrl>+<L>

Dans l'diteur LD, cette commande vous permet d'insrer un bobinage mont en parallle sur les bobinages existants. Si l'endroit slectionn est une liaison entre les contacts et les , alors le nouveau bobinage est insr en dernier par rapport aux prcdents. Si l'endroit slectionn est un bobinage , alors le nouveau bobinage est insr directement au dessus du premier. Le bobinage est prdfini avec le texte "???". Vous pouvez cliquer sur ce texte et le remplacer par la variable de votre choix. Pour ce faire, vous pouvez galement utiliser la liste de slection pour l'dition. Il est possible de reprsenter un nom de variable sur plusieurs lignes ainsi qu'un commentaire propre pour le bobinage. Voyez cet effet 'Insrer' 'Contact' Modules avec entres EN Si, avec votre rseau LD, vous voulez utiliser des appels d'autres modules pour la commande, alors vous devez insrer un module avec une entre EN. Un tel module est mont en parallle sur les bobinages. Avec ce module comme point de dpart, vous pouvez dvelopper le rseau comme dans le cas du schma en bloc fonctionnels. Les commandes concernant les oprations d'insertion au niveau d'un module EN sont accessibles dans l'option 'Insrer' 'Ajouter au module'. Un oprateur, un bloc fonctionnel, une fonction ou une programme dot d'une entre EN se comporte comme le module correspondant dans le schma en blocs fonctionnels, la diffrence que son excution est commande par l'entre EN. Cette entre est branche sur la liaison entre les bobinages et les contacts. Si cet lment vhicule l'information "ON", alors le module est valu. Si un module dot d'une entre EN a dj t cr, il est possible de crer partir de celui-ci un rseau semblable ceux existants dans le schma en blocs fonctionnels. Cela signifie qu'un module EN peut recevoir un flux de donnes des oprateurs, des fonctions ou des blocs fonctionnels courants et qu'en retour il peut transmettre des donnes des modules courants de ce type. Par consquent, si vous voulez programmer un rseau la faon du schma en blocs fonctionnels dans l'diteur LD, il vous suffit de commencer par insrer un oprateur EN dans un nouveau rseau, avant de dvelopper votre rseau partir de ce module, comme vous le feriez dans le schma en blocs fonctionnels. Un rseau constitu de la sorte se comporte de la mme faon qu'un rseau semblable dans le schma en blocs fonctionnels. 'Insrer' 'Bloc avec EN' Cette commande vous permet d'insrer un bloc fonctionnel, une fonction ou une programme avec entre EN dans un rseau LD. Cette commande vous permet d'insrer un oprateur avec entre EN dans un rseau LD. Il faut que l'endroit slectionn soit une liaison entre les contacts et les bobinages (position du curseur 4) ou un bobinage . Le nouvel oprateur est insr en parallle par rapport aux bobinages, en dessous de ceux-ci. Dans un premier temps, il est identifi par AND. Vous pouvez remplacer cette dsignation par celle de votre choix. Pour ce faire, vous pouvez galement utiliser la liste de slection pour l'dition. 'Insrer' 'Ajouter au module' Cette commande vous permet d'ajouter des lments supplmentaires un module insr auparavant (il peut s'agir d'un module avec entre EN). Les commandes proposes dans cette option peuvent tre excutes pour les mmes positions du curseur que celles prvues pour les commandes correspondantes dans le schma en blocs fonctionnels.

5-48

CoDeSys V2.3

5 - Les Editeurs

Entre entrane l'ajout d'une nouvelle entre au module. Sortie entrane l'ajout d'une nouvelle sortie au module. Vous pouvez ajouter un module supplmentaire avec Bote. La procdure est la mme que celle dcrite sous 'Insrer' 'Module'. Affectation vous permet dinsrer un affectation une variable. Celle-ci est tout dabord reprsente par 3 points dinterrogation"???" que vous pouvez diter et remplacer par la variable voulue. Vous pouvez bien entendu utiliser la liste de slection pour ldition. Fonction entrane l'ajout d'une fonction l'entre slectionne. Bloc Fonctionnel entrane l'ajout d'un bloc fonctionnel l'entre slectionne. 'Insrer' 'Saut' Cette commande vous permet d'insrer un saut en parallle et la suite des bobinages existants, dans l'diteur LD. Si la liaison gauche fournit comme valeur "ON", alors un saut vers l'tiquette indique est effectu. Il faut que l'endroit slectionn soit une liaison entre les contacts et les bobinages ou un bobinage . Le saut est prdfini avec le texte "???". Vous pouvez cliquer sur ce texte et le remplacer par l'tiquette de saut de votre choix. 'Insrer' 'Return' Cette commande vous permet d'insrer une instruction RETURN en parallle et la suite des bobinages existants, dans l'diteur LD. Si la liaison gauche fournit comme valeur "ON", alors l'excution du module est annule dans ce rseau. Il faut que l'endroit slectionn soit une liaison entre les contacts et les bobinages ou un bobinage. 'Extras' 'Insrer ci-aprs' Dans l'diteur LD, cette commande vous permet d'insrer aprs l'endroit slectionn le contenu du presse-papiers, sous forme de contact mont en srie. Cette commande n'est autorise que si le contenu du presse-papiers et l'endroit slectionn sont des rseaux contacts. 'Extras' 'Insrer ci-dessous'
Raccourci : <Ctrl>+<U>

Dans l'diteur LD, cette commande vous permet d'insrer en dessous de l'endroit slectionn le contenu du presse-papiers, sous forme de contact mont en parallle. Cette commande n'est autorise que si le contenu du presse-papiers et l'endroit slectionn sont des rseaux contacts. 'Extras' 'Insrer ci-dessus' Dans l'diteur LD, cette commande vous permet d'insrer au dessus de l'endroit slectionn le contenu du presse-papiers, sous forme de contact mont en parallle. Cette commande n'est autorise que si le contenu du presse-papiers et l'endroit slectionn sont des rseaux contacts. 'Extras' 'Ngation'
Icne : Raccourci : <Ctrl>+<N>

Cette commande vous permet d'inverser un contact, un bobinage, un saut ou une instruction RETURN, ou encore l'entre ou la sortie de modules EN au niveau de la position actuelle du curseur . Entre les parenthses du bobinage ou entre les traits droits du contact apparat une barre oblique (respectivement (/) et |/|). Dans le cas de sauts, d'instructions Return, d'entres ou de sorties de modules EN, un petit cercle apparat sur la liaison, comme pour l'diteur FBD.

CoDeSys V2.3

5-49

Les diteurs graphiques

Le bobinage crit prsent la valeur inverse de la liaison d'entre dans la variable boolenne correspondante. Un contact invers fait commuter l'tat de l'entre sur la sortie au moment o la variable boolenne correspondante fournit comme valeur FALSE. Si un saut ou une instruction Return est marque, alors la valeur de l'entre de ce saut ou de cette instruction, selon le cas, est inverse. Une ngation peut tre annule en inversant la valeur une nouvelle fois. 'Extras' 'Set/Reset' Si vous excutez cette commande pour un bobinage, alors vous obtenez un bobinage SET. Un tel bobinage n'crase jamais la valeur TRUE contenue dans la variable boolenne correspondante. Autrement dit, si la valeur TRUE est affecte cette variable, alors elle le sera de faon permanente. Un bobinage SET est caractris par un "S" au niveau du symbole de bobinage. Si vous rptez cette commande, alors vous obtenez un bobinage RESET. Un tel bobinage n'crase jamais la valeur FALSE contenue dans la variable boolenne correspondante. Autrement dit, si la valeur FALSE est affecte cette variable, alors elle le sera de faon permanente. Un bobinage RESET est caractris par un "R" au niveau du symbole de bobinage. Si vous rptez plusieurs fois cette commande, alors le bobinage devient tour tour un bobinage SET, un bobinage RESET et un bobinage normal. Couper, copier, coller et supprimer dans le schma en blocs fonctionnels Les commandes 'Couper', 'Copier', 'Coller' et 'Supprimer' se trouvent dans le menu 'Editer'. Si une jonction est slectionne , alors les affectations, sauts ou instructions RETURN situs en dessous de celle-ci sont coups, supprims ou copis. Si une bote est slectionne, l'objet slectionn est coup, supprim ou copi, ainsi que toutes les branches contigus aux entres, l'exception de la premire (plus leve) dentre elles. Dans les autres cas, la totalit de la branche situe devant la position du curseur est coupe, supprime ou copie. Aprs l'opration de copiage ou de dcoupage, l'lment supprim ou copi se trouve dans le pressepapiers et peut tre coll autant de fois que l'on veut. Pour ce faire, il faut d'abord slectionner la position d'insertion. Les entres et les sorties sont des positions d'insertion possibles. Si un bote a t charg dans le presse-papiers, (pour mmoire: dans ce cas, toutes les branches contigus se trouvent dans le presse-papiers, l'exception de la premire), alors la premire entre est relie la branche situe devant la position d'insertion. Dans le cas contraire, la totalit de la branche situe devant la position d'insertion est remplace par le contenu du presse-papiers. Dans tous les cas, le dernier lment coll est reli la branche situe droite de la position d'insertion.
Remarque : Le dcoupage et le collage permettent de rsoudre le problme suivant. Supposons qu'un oprateur soit coll au milieu d'un rseau. La branche situe droite de l'oprateur est prsent relie la premire entre, alors qu'elle devrait tre relie la deuxime entre. On slectionne prsent la premire entre et on excute la commande 'Editer' 'Couper'. Ensuite, on slectionne la deuxime entre et on excute la commande 'Editer' 'Coller'. La branche est maintenant rattache la deuxime entre.

Zoom sur module appel Cette commande est disponible dans le menu contextuel (<F2>) ou dans le menu Extras, pour autant que le curseur se trouve sur le nom du module appel dans les diteurs littraux, ou si la bote dun module est marque dans les diteurs graphiques. Le zoom ouvre le module concern dans sa fentre dditeur. S'il s'agit d'un module issu d'une bibliothque, alors le gestionnaire de bibliothques est appel et le module correspondant est affich.

5-50

CoDeSys V2.3

5 - Les Editeurs

Le langage contacts en mode En Ligne Lorsqu'on utilise le langage contacts dans le mode En Ligne, tous les contacts et bobinages l'tat "ON" sont colors en bleu, de mme que toutes les liaisons qui vhiculent l'information "ON". Les valeurs des variables correspondantes sont visualises au niveau des entres et sorties des blocs fonctionnels. Les points d'arrt peuvent tre dfinis uniquement au niveau des rseaux; en pas pas, la progression s'effectue en sautant de rseau en rseau. Si vous maintenez le pointeur de souris pendant une courte dure sur une variable, le type et le commentaire de la variable sont affichs dans une info-bulle.

5.4.5

L'diteur du Diagramme fonctionnel en squence (SFC)


Voici comment se prsente un module crit en SFC dans l'diteur CoDeSys: Tous les diteurs pour modules sont constitus d'une partie de dclaration et d'un corps. Ceux-ci sont spars entre eux par une barre de fractionnement. L'diteur SFC est un diteur graphique. Vous trouvez les commandes les plus importantes dans le menu contextuel (touche droite de la souris ou <Ctrl>+<F10>). Des info-bulles vous indiquent les noms complets ou expressions dtapes, transitions, sauts, tiquettes, qualificatifs ou actions associes, que ce soit en mode En ou Hors ligne ou mme en zoom. Pour obtenir des informations sur le diagramme fonctionnel en squence, reportez vous au chapitre 2.2.2, Diagramme fonctionnel en squence (SFC).

Slectionner des blocs en SFC Un bloc slectionn est un ensemble d'lments SFC entours d'un rectangle en pointills Un lment (une tape, une transition ou un saut) peut tre slectionn en positionnant le pointeur de la souris dessus et en appuyant sur le bouton gauche de la souris, ou encore en utilisant les touches directionnelles. Pour slectionner un ensemble d'lments, appuyez sur la touche <Maj> aprs avoir slectionn un bloc et slectionnez l'lment situ dans le coin infrieur gauche ou droit de l'ensemble. La slection obtenue est le plus petit ensemble d'lments contigus qui contient ces deux lments. Veuillez tenir compte du fait que toutes les commandes seront excutes seulement si elles sont compatibles avec les conventions du langage. Veuillez noter que vous ne pouvez effacer une tape quavec la transition prcdente ou suivante. 'Insrer' 'Etape-Transition (devant)'
Icne : Raccourci : <Ctrl>+<T>

Dans l'diteur SFC, cette commande permet d'insrer devant le bloc slectionn une tape suivie d'une transition. 'Insrer' 'Etape-Transition (derrire)'
Icne : Raccourci : <Ctrl>+<E>

Dans l'diteur SFC, cette commande permet d'insrer derrire le bloc slectionn une tape suivie d'une transition. Effacer une tape et une transition Vous ne pouvez effacer une tape quavec la transition prcdente ou suivante. Veuillez marquer cet effet ltape et la transition et excutez la commande 'Editer' 'Supprimer' ou appuyez sur la touche <Suppr>.

CoDeSys V2.3

5-51

Les diteurs graphiques

'Insrer' 'Squence alternative (droite)'


Icne : Raccourci : <Ctrl>+<A>

Dans l'diteur SFC, cette commande ajoute au bloc slectionn une squence alternative vers la droite. Pour que cela soit possible, le bloc slectionn doit commencer et finir par une transition. La nouvelle branche est constitue alors d'une transition. 'Insrer' 'Squence alternative (gauche)'
Icne :

Dans l'diteur SFC, cette commande ajoute au bloc slectionn une squence alternative vers la gauche. Pour que cela soit possible, le bloc slectionn doit commencer et finir par une transition. La nouvelle branche est constitue alors d'une transition. 'Insrer' 'Squence parallle' (droite)'
Icne : Raccourci : <Ctrl>+<L>

Dans l'diteur SFC, cette commande ajoute au bloc slectionn une squence parallle vers la droite. Pour que cela soit possible, le bloc slectionn doit commencer et finir par une tape. La nouvelle branche est constitue alors d'une tape. Pour permettre des sauts vers la squence parallle cre, elle doit tre munie dune tiquette de saut. (voir 'Extras' 'Ajouter une tiquette la branche parallle') 'Insrer' 'Squence parallle (gauche)"
Icne :

Dans l'diteur SFC, cette commande ajoute au bloc slectionn une squence parallle vers la gauche. Pour que cela soit possible, le bloc slectionn doit commencer et finir par une tape. La nouvelle branche est constitue alors d'une tape. Pour permettre des sauts vers la squence parallle cre, elle doit tre munie dune tiquette de saut. (voir 'Extras' 'Ajouter une tiquette la branche parallle') 'Insrer' 'Saut'
Icne : Raccourci : <Ctrl>+<U>

Dans l'diteur SFC, cette commande insre un saut la fin de la branche qui se rapporte au bloc slectionn. Pour que cela soit possible, la branche doit tre une squence alternative. Lorsquun saut a t insr, il est possible de slectionner ensuite le texte existant "Step" et de le remplacer par le nom de l'tape correspondant au saut ou par ltiquette de saut dune branche parallle'. 'Insrer' 'Transition-Saut'
Icne :

Dans l'diteur SFC, cette commande insre une transition suivie d'un saut la fin de la squence slectionne, qui doit obligatoirement tre de type parallle. Lorsquun saut a t insr, il est possible de slectionner ensuite le texte existant "Step" et de le remplacer par le nom de l'tape correspondant au saut ou par ltiquette de saut dune branche parallle'. 'Insrer' 'Ajouter une action d'entre' Cette commande vous permet d'ajouter une action d'entre une tape. Une action d'entre est excute une seule fois, immdiatement aprs que l'tape ait t active. L'action d'entre peut tre implmente dans le langage de votre choix. Une tape avec action d'entre est caractrise par un 'E' dans le coin infrieur gauche. Une action d'entre ne peut pas tre dfinie en tant qu'tape CEI.

5-52

CoDeSys V2.3

5 - Les Editeurs

'Insrer' 'Ajouter une action de sortie' Cette commande vous permet d'ajouter une action de sortie une tape. Une action de sortie est excute une seule fois, avant que l'tape ne soit dsactive. L'action de sortie peut tre implmente dans le langage de votre choix. Une tape avec action de sortie est caractrise par un 'X' dans le coin infrieur droit. Une action de sortie ne peut pas tre dfinie en tant qu'tape CEI. 'Extras' 'Insrer branche parallele (droite)

Cette commande insre le contenue du presse-papiers comme une squence parallle vers la droite du bloc slectionn. Pour que cela soit possible, le bloc slectionn doit commencer et finir par une tape. Le contenue du presse-papiers aussi doit tre un bloc SFC qui commence et fini par un tape. 'Extras' 'Ajouter une tiquette la branche parallele' Afin dajouter une tiquette de saut la squence parallle qui vient dtre insre, la transition se trouvant devant cette squence parallle doit tre marque et vous devez ensuite excuter la commande 'Ajouter une tiquette la branche parallle (gauche)". Suite quoi la squence parallle se voit attribuer le nom standard "Parallle" suivi dun numro courant, ces deux lments pouvant tre dits selon les rgles de dnomination didentificateurs. Dans lexemple qui suit, "Parallel" a t remplac par "Par_1_2" et le saut plac la fin du diagramme aprs la transition "Ende" branche vers cette tiquette.

Effacer une tiquette d'un saut Vous effacez une tiquette de saut en effaant le texte de cette mme tiquette de saut. 'Extras' 'Insrer derrire' Cette commande insre le bloc SFC stock dans le presse-papiers aprs la premire tape ou transition du bloc slectionn (un copiage normal ralise une insertion avant le bloc slectionn). Cette opration n'est excute que si la structure SFC rsultante satisfait aux normes de langage. 'Extras' 'Zoom action/transition'
Raccourci : <Alt>+<Entre>

L'action de la premire tape ou le corps de transition de la premire transition du bloc slectionn est charg(e) dans l'diteur, dans le langage dans lequel il (elle) est crit(e). Si l'action ou le corps de transition est vide, alors il faut slectionner le langage dans lequel il (elle) doit tre crit(e).

CoDeSys V2.3

5-53

Les diteurs graphiques

'Extras' 'Effacer action/transition' Cette commande vous permet d'effacer les actions de la premire tape ou le corps de la premire transition du bloc slectionn. Si, au niveau d'une tape, seule l'action, l'action d'entre ou l'action de sortie est implmente, alors elle sera efface par cette commande. Dans les autres cas, une bote de dialogue apparat et permet de choisir quelle(s) action(s) doi(ven)t tre efface(s). Si le curseur est positionn sur une action relie une tape CEI, alors uniquement cette association sera efface par cette commande. Si une tape CEI est slectionne et qu'une action est relie cette tape, alors cette association est efface. Dans le cas d'une tape CEI comportant plusieurs actions, une bote de dialogue apparat pour oprer une slection. 'Extras' 'Attributs d'tape' Cette commande entrane l'ouverture d'une bote de dialogue, dans laquelle vous pouvez diter des attributs de l'tape slectionne.
Bote de dialogue Attributs de l'tape

Vous pouvez effectuer trois entres diffrentes dans la bote de dialogue Attributs de l'tape. Dans Temps minimal, vous entrez le temps minimal prescrit pour l'excution de cette tape. Dans Temps maximal, vous entrez le temps maximal prescrit pour l'excution de cette tape. Nous vous signalons que les entres doivent tre du type TIME. Les rgles d'criture dcrites dans l'annexe C s'appliquent donc au cas prsent. Dans Commentaire vous pouvez entrer un commentaire relatif l'tape. Avec 'Extras' 'Options' vous pouvez configurer l'diteur SFC de faon visualiser au niveau de vos tapes, soit les commentaires, soit le rglage de temps. A droite de l'tape apparat alors le commentaire ou les rglages de temps, selon le cas. Dans le cas d'un dpassement du temps maximal, des drapeaux SFC sont mis. Ils peuvent tre contrls par l'utilisateur.

L'exemple prsente le cas d'une tape dont l'excution doit durer au moins 2 secondes et au plus 10 secondes. En mode En Ligne, l'affichage indique depuis combien de temps l'tape est active, en plus des deux autres donnes.

5-54

CoDeSys V2.3

5 - Les Editeurs

'Extras' 'Vue des temps' Cette commande vous permet d'ouvrir une fentre, au sein de laquelle vous pouvez diter les rglages de temps de vos tapes SFC:
Vue des limites de temps SFC

Dans la Vue des limites de temps SFC, toutes les tapes de votre module SFC sont visualises. Si vous avez spcifi une limite de temps pour une tape donne, alors celle-ci est affiche droite de l'tape (d'abord la limite infrieure et puis la limite suprieure). En outre, vous pouvez diter les limites de temps. Pour ce faire, cliquez sur l'tape souhaite dans la Liste des tapes. Le Nom de l'tape s'affiche alors dans le bas de la fentre. Allez ensuite sur le champ Temps minimal ou Temps maximal et entrez y la limite de temps de votre choix. Lorsque vous fermez la fentre par OK, toutes les modifications sont enregistres. Dans l'exemple, les tapes 2 et 6 possdent une limite de temps. Switch1 dure au moins deux secondes et au plus dix secondes. Switch2 dure au moins sept secondes et au plus huit secondes. 'Extras' 'Options' Cette commande vous donne accs une bote de dialogue, qui vous permet de configurer diffrentes options pour votre module SFC.
Bote de dialogue Options SFC

CoDeSys V2.3

5-55

Les diteurs graphiques

Dans la bote de dialogue Options SFC, vous pouvez effectuer cinq entres. Dans Hauteur de l'tape vous pouvez entrer le nombre de lignes requises pour une tape SFC, au sein de l'diteur SFC. La configuration standard est 4. Dans Largeur de l'tape vous pouvez entrer le nombre de colonnes requises pour une tape. La configuration standard est 6. La Largeur de commentaire dfinit le nombre de caractres affichs lorsque vous laissez afficher le commentaire avec l'tape. Dans la zone Affichage pendant l'tape vous pouvez slectionner les entres faites dans 'Extras' 'Attributs d'tape' qui doivent tre affiches. Vous pouvez opter soit pour Rien, soit pour Commentaire, soit pour Contrle de temps. 'Extras' 'Relier action' Cette commande permet d'associer des actions et des variables boolennes des tapes CEI. Une petite bote en deux parties est ajoute ct de l'tape CEI, pour permettre d'associer une action. Le qualificateur 'N' et le nom 'Action' sont prdfinis dans la partie gauche de la bote. Ces deux praffectations peuvent tre modifies. Pour ce faire, vous pouvez utiliser la liste de slection pour l'dition. Vous pouvez affecter un maximum de neuf actions une tape CEI. De nouvelles actions pour des tapes CEI peuvent tre cres dans l'Organisateur d'objets au niveau d'un module SFC, au moyen de la commande 'Projet' 'Ajouter une action'. 'Extras' 'Utiliser les tapes CEI'
Icne :

Si cette commande est active (dans ce cas un crochet ( ) apparat devant l'lment de menu et l'icne correspondante de la barre de fonction est enfonce), alors des tapes CEI, plutt que des tapes simplifies, sont insres lors de l'insertion de transitions d'tapes et de squences parallle. Le diagramme fonctionnel en squence mode En Ligne Dans le cas o l'diteur du diagramme fonctionnel en squence opre En Ligne, les tapes actuellement actives sont visualises en bleu (en noir dans l'exemple). Si vous avez effectu la configuration approprie dans 'Extras' 'Options', alors le contrle du temps est visualis ct des tapes. En dessous des limites infrieures et suprieures de temps que vous avez spcifies, une troisime donne temporelle apparat, vous indiquant depuis combien de temps l'tape est active.

Dans l'illustration ci-dessus, l'tape reprsente est active depuis 8 secondes et 410 millisecondes. Cette tape doit toutefois demeurer active pendant 7 minutes avant qu'elle ne soit abandonne. Il est possible de dfinir un point d'arrt au niveau d'une tape au moyen de 'En Ligne' 'Point d'arrt actif/inactif'., et au niveau d'une action aux endroits darrt permis par le langage. Le traitement est suspendu avant mme lexcution de cette tape ou de lendroit du programme de cette action. Les tapes ou endroits de programme sur lesquel(le)s un point darrt est dfini sont marqu(e)s en bleu clair. Si plusieurs tapes sont actives dans une squence parallle, alors l'tape dont l'action sera la prochaine tre traite est visualise en rouge. Si des tapes CEI ont t utilises, alors toutes les actions actives sont visualiss en bleu dans le mode En Ligne. Le diagramme fonctionnel en squence supporte lui aussi le pas pas ('En Ligne' 'Etape individuelle sur'). Dans ce cas, on progresse jusqu' la prochaine tape dont l'action sera excute. Vous pouvez atteindre directement une tape, que ce soit une action ou une transition, au moyen de 'En Ligne' 'Etape individuelle dans'.

5-56

CoDeSys V2.3

5 - Les Editeurs

La commande 'En Ligne' 'tape individuelle sur' permet de passer pas pas ltape suivante dont laction est excute. Si la position actuelle est : une tape dans un droulement linaire dun module ou encore une tape dans la squence parallle la plus droite dun module, on quitte le module SFC et on revient lappelant. Si le module est le programme principal, le cycle suivant dbute. une tape dans la squence parallle ntant pas la plus droite, on saute ltape active de la squence parallle suivante. le dernier point darrt au sein dune action 3S, on saute vers lappelant du SFC. le dernier point darrt au sein dune action CEI, on saute vers lappelant du SFC. le dernier point darrt au sein dune action dentre ou de sortie, on saute vers la premire tape active. Vous pouvez en outre avancer pas pas dans des actions au moyen de "En Ligne" + "tape individuelle dans". Si vous devez sauter vers une action dentre, de sortie ou CEI, vous devez y crer un point darrt. A lintrieur des actions, lutilisateur dispose de toutes les fonctionnalits de dbogage de lditeur correspondant. Si vous maintenez le pointeur de souris pendant une courte dure sur une variable dans lditeur de dclaration, le type et le commentaire de la variable sont affichs dans une info-bulle.
Diagramme fonctionnel en squence en mode En Ligne avec une tape active (Switch1) et un point d'arrt (Step 10)

Veuillez noter : Si vous renommez une tape et effectuez un changement En ligne alors que cette mme tape est en cours dexcution, le programme sarrte avec un tat indfini.

CoDeSys V2.3

5-57

Les diteurs graphiques

Ordre dexcution des lments dune chane dtapes :

1. Tous les drapeaux du bloc de contrle des actions CEI utilises dans cette chane sont tout dabord remis zro. (ne concerne cependant pas les drapeaux dactions CEI appeles l'intrieur des actions). 2. Pour chaque action et dans leur ordre dapparition dans la chane (du haut vers le bas et de gauche droite), on vrifie si la condition pour lexcution de laction de sortie est prsente et ralise le cas chant. 3. Pour chaque action et dans leur ordre dapparition dans la chane, on vrifie si la condition pour lexcution de laction dentre est prsente et ralise le cas chant. 4. Pour chaque tape et dans leur ordre dapparition dans la chane, les points suivants sont excuts : - le temps coul est ventuellement copi dans la variable d'tape correspondante. - on vrifie ventuellement un dpassement de temps et on utilise les drapeaux derreur SFC correspondants. - pour les actions autres que CEI, laction correspondante est excute. 5. Les actions CEI utilises dans la chane sont excutes dans lordre alphabtique. cet effet, la liste des actions est parcourue deux fois. Lors du premier passage, toutes les actions CEI dsactives dans le cycle en cours sont excutes. Lors du second passage, toutes les actions CEI actives dans le cycle en cours sont excutes. 6. Les transitions sont values : si ltape dans le cycle en cours tait active et que la transition y faisant suite donne la valeur TRUE (et que le temps minimal est ventuellement dj coul), ltape suivante est active.
Observez les points suivants lors de limplmentation dactions :

Il se peut quune action soit excute plusieurs fois au cours dun cycle, du fait quelle soit associe plusieurs chanes. (Par exemple, un programme SFC peut contenir deux actions CEI A et B, ces deux actions tant implmentes en langage SFC et appelant toutes deux une action CEI C : au cours du mme cycle, les actions CEI A et B pourraient tre actives et au sein de ces deux actions, laction CEI C pourrait galement tre active, ce qui a pour effet que cette dernire action C est excute deux fois.) Si la mme action CEI est utilise simultanment deux niveaux diffrents au sein dun SFC, ceci pourrait avoir des effet indsirables en raison de lordre dexcution dcrit ci-dessus. Dans ce cas, un message derreur apparat lccran. Ceci peut se produire lors du traitement de projet qui ont t crs laide de versions antrieures de CoDeSys !
Remarque : Lors de lespionnage dexpressions (p.ex. A ET B) dans les transitions, la valeur globale

de la transition est seule reprsente.

5-58

CoDeSys V2.3

6 - Ressources

6 Ressources
6.1 Aperu du Ressources
Dans l'onglet Ressources de l'Organisateur d'objets, vous trouvez des objets qui permettent de configurer et d'organiser votre projet, de suivre l'volution de la valeur des variables et de configurer le projet pour utilisation sur le systme cible et dans le rseau, savoir : de Variables globales, qui peuvent tre utilises dans l'ensemble du projet ou du rseau la Configuration de l'alarme pour configurer des classes et groupes d'alarme, qui par example peuvent visualise avec la visualisation de CoDeSys la Gestionnaire de bibliothques pour l'administration des bibliotheques dans un projet de la Configuration de l'automate , pour configurer votre matriel de la Configuration des tches, pour commander votre programme au moyen de tches du Journal pour enregistrer les actions qui ont lieu lors d'une session du Gestionnaire d'espion et des recettes, pour visualiser des valeurs de variables et praffecter des valeurs aux variables. de Configuration de la cible permettant le choix et le cas chant le paramtrage du matriel cible Environnement de travail avec reprsentation des options du projet Dependant de la configuration de la cible en outre ce sont disponibles les ressources suivantes: L'enregistrement des Histogramme, pour l'enregistrement graphique des valeurs des variables Le Manager des paramtres qui met disposition des variables auxquelles d'autres utilisateurs au sein du rseau peuvent accder (Fonctionnalit dpendant de la configuration du systme cible) Le PLC-Browser permettant l'appel d'information de l'automate en cours d'excution Les Outils pour la connexion des outils externes pouvant tre dmarrs partir de CoDeSys. (La fonctionnalit dpend du systme cible) La fonction SoftMotion (soumise licence) avec l'diteur CNC (liste de programme CNC) et l'diteur CAM (cames) En outre, si un objet provenant des variables globales est ouvert, un document modle peut tre cr et appel et l'aide duquel diffrents commentaires peuvent tre mis disposition pour une variable. Ces commentaires se retrouvent dans la documentationEn outre, si un objet provenant des variables globales est ouvert, un document modle peut tre cr et appel et l'aide duquel diffrents commentaires peuvent tre mis disposition pour une variable. Ces commentaires se retrouvent dans la documentation

CoDeSys V2.3

6-1

Variables Globales, Variable Configuration, Fichier cadre pour documentation

L'onglet Ressources

6.2 Variables Globales, Variable Configuration, Fichier cadre pour documentation


Objets in 'Variables Globales' A l'intrieur de l'Organisateur d'objets, dans l'onglet Ressources, le dossier Variables globales contient dans l'tat standard trois objets (entre parenthses figurent les noms prdfinis des objets): Liste des variables globales (Global_Variables) Configuration des variables (Variable_Configuration) Chacune des variables dfinies l'intrieur de ces objets sont connues dans l'ensemble du projet, les variables rseau globales peuvent en outre servir lchange de donnes avec dautres utilisateurs du rseau. Si vous trouvez le dossier Variables globales ferm (un signe plus prcde le dossier), ouvrez-le en double-cliquant ou en appuyant sur la touche <Entre> au niveau de la ligne. Choisissez l'objet appropri. La commande 'Editer objet' vous permet d'accder une fentre affichant les variables globales qui sont dj dfinies. L'diteur utilis dans le cas prsent travaille de la mme manire que l'diteur de dclaration. Plusieurs listes de variables Les variables globales ordinaires (VAR_GLOBAL) et les configurations de variable (VAR_CONFIG) doivent tre dfinies dans des objets spars. Si vous avez dclar un grand nombre de variables globales, et si vous voulez mieux structurer votre liste de variables globales, alors vous pouvez crer des listes de variables supplmentaires. Slectionnez dans l'Organisateur d'objets le dossier Variables globales ou un des objets prsents contenant des variables globales et excutez la commande 'Projet' 'Insrer objet'. Attribuez un nom parlant l'objet, au moyen de la bote de dialogue qui s'affiche. Cela entrane la cration d'un objet supplmentaire, dont le mot cl est VAR_GLOBAL. Si vous prfrez obtenir un objet avec des variables accs ou une configuration de variables, changez respectivement le mot cl en VAR_ACCESS ou en VAR_CONFIG.

6-2

CoDeSys V2.3

6 - Ressources

6.2.1

Variables Globales
Des variables "normales", des constantes ou des variables rmanentes peuvent tre dclares comme variables globales qui seront alors connues dans le projet global, de mme que les variables rseau qui permettent en outre lchange de donnes avec dautres utilisateurs du rseau.
Remarque: Il est possible de dfinir une variable locale avec le mme nom quune variable globale. Au sein dun module, la variable dfinie localement a toujours priorit. Il nest pas possible dattribuer le mme nom deux variables globales ; cela provoque par exemple une erreur de compilation si une variable "var1" est dfinie aussi bien dans la configuration de lautomate que dans une liste de variables globales.

Variables rseau
Remarque: L'utilisation de variables rseau doit tre supporte par le systme cible et tre active au sein de la configuration du systme cible (catgorie Fonctions rseau).

Les variables rseau peuvent tre maintenues au mme niveau auprs de plusieurs automates par le biais d'un change automatique de donnes et ce au sein d'un rseau d'automates compatible avec CoDeSys (comparez ce sujet l'change non-automatique par le biais du gestionnaire des paramtres). Ceci ne ncessite pas de fonctions spcifiques l'automate, mais les utilisateurs rseau doivent cependant disposer dans leurs projets des mmes listes de dclaration et de la mme configuration relative la transmission de variables rseau. Afin d'obtenir des listes identiques, nous vous recommandons de ne pas introduire manuellement la dclaration de ces variables sur chaque automate, mais bien de les reprendre d'un fichier spar pouvant tre cr par le biais d'une exportation. (Voir 'Cration d'une liste de variables globales').
ATTENTION ! Pour les variables rseau globales, il n'est actuellement pas possible d'effectuer des changements En ligne. Les changements dans la configuration des variables rseau ne sont pas reconnus comme des modifications du projet ! (Dfaut Id 3320)

Cration d'une 'Liste de variables globales' Pour crer une liste de variables globales, marquez l'entre 'Variables globales' dans l'Organisateur d'objets des Ressources, ou encore une liste de variables globales qui y serait dj cre. Pour crer une liste de variables globales, marquez l'entre 'Variables globales' dans l'Organisateur d'objets dans la rubrique 'Ressources', ou encore une liste de variables globales qui y serait dj cre. Si vous choisissez ensuite la commande 'Projet' 'Objet' 'Insrer', la bote de dialogue 'Proprits' s'ouvre pour la Liste de variables globales. Cette bote de dialogue s'ouvre par ailleurs aussi par le biais de la commande 'Projet' 'Objet' 'Proprits' pour afficher la configuration de la liste de variables globales dans l'organisateur d'objets, cette liste tant dj configure.

CoDeSys V2.3

6-3

Variables Globales, Variable Configuration, Fichier cadre pour documentation

Bote de dialogue de cration d'une nouvelle liste de variables globales

Liaison au fichier: Nom de fichier : Si vous disposez dj d'un fichier d'exportation (*.exp) ou d'un fichier DCF contenant les variables souhaites, vous pouvez les intgrer. Introduisez cet effet le chemin d'accs correspondant ou aidez-vous de la bote de dialogue standard via le bouton Balayer. Lors de la lecture, les fichiers DCF sont convertis en syntaxe CEI. Choisissez l'option Importer avant la compilation si vous souhaitez que la liste externe de variables soit lue avant chaque compilation du projet. Choisissez l'option Exporter avant la compilation si vous souhaitez que la liste de variables soit nouveau crite dans le fichier externe indiqu avant chaque compilation du projet. Lorsque vous refermez le dialogue 'Liste des variables globales' avec OK, le nouvel objet est cr dans l'Organisateur d'objets, muni du symbole -, et cet objet peut tre ouvert au moyen de la commande 'Projet' 'Objet' 'diter' ou encore par un double-clic sur l'entre correspondante. La commande 'Projet' 'Objet' 'Caractristiques' vous permet d'ouvrir nouveau le dialogue de configuration 'Liste de variables globales' se rapportant l'entre marque dans l'Organisateur d'objets.

6-4

CoDeSys V2.3

6 - Ressources

Configuration de variables rseau :


ATTENTION ! Pour les variables rseau globales, il n'est actuellement pas possible d'effectuer des changements En ligne. Les changements dans la configuration des variables rseau ne sont pas reconnus comme des modifications du projet ! (Dfaut Id 3320)

Si l'option 'Supporter variable de rseau' est activee dans la Configuration de Cible, le bouton Ajouter Liaison au rseau est disponible. Appuyer ce bouton extende la boite de dialogue, voir l'image cidessus. Si l'option n'est pas activee, le bouton manque. Connection <n> (<Netzwerktyp>): Dans la partie infrieure de la bote de dialogue, un jeu de configurations peut tre cr pour un total de quatre (n=1 4) connexion rseau sur quatre onglets, dterminant la faon dont la liste de variables doit tre traite dans l'change avec les autres utilisateurs rseau. Pour que l'change se passe comme convenu, cette liste de variables doit tre configure de faon adquate auprs des autres utilisateurs rseau. S'il n'y a pas encore de configuration, vous obtenez tout d'abord un seul onglet portant l'inscription 'Connexion 1 (UDP)' dans le cas d'un rseau bas sur le protocole UDP. chaque pression sur le bouton 'Ajouter connexion rseau', vous obtenez jusqu' quatre onglets supplmentaires portant l'inscription &bdquo;Connexion" suivie d'un numro courant. Type de rseau : Vous pouvez slectionner le type souhait hors de la liste. Cette liste est fonction de la configuration du systme cible. Vous pouvez choisir par exemple "CAN" comme abrviation pour rseau CAN ou encore "UDP" pour un rseau avec protocole UDP. Environnement : ce bouton donne accs la bote de dialogue Environnement pour <type de rseau> disposant des possibilits de configuration suivantes :
UDP:

Utiliser le standard : Si vous appuyez sur ce bouton, le port 1202 sera inscrit comme tant le port pour l'change avec tous les autres utilisateurs rseau. L'adresse de diffusion / diffusion slective par dfaut est "255.255.255.255", ce qui signifie que l'change se produit avec tous les utilisateurs rseau. Port : Il s'agit d'une alternative au port par dfaut (voir ci-dessus) (Attention : il doit tre rgl de la mme manire auprs de tous les n&oelig;uds concerns). Pour les rseaux UDP, une valeur introduite ici est reprise automatiquement pour toutes les connexions qui seront le cas chant dfinies sur d'autres onglets. Adresse Broadcast/Multicast Il s'agit d'une alternative l'adresse par dfaut (voir ci-dessus) ou zone d'adresse de sous-rseau (p.ex. "197.200.100.255" engloberait tous les utilisateurs avec une adresse IP 197.200.100.x.). Notez que pour les systmes Win32, l'adresse de diffusion / diffusion slective vers le masque de sous-rseau de la configuration TCP/IP du PC doit correspondre !
Dialogue 'Environnement pour UDP'

Les options suivantes peuvent tre (ds)actives pour la configuration de la transmission des variables.

CoDeSys V2.3

6-5

Variables Globales, Variable Configuration, Fichier cadre pour documentation

Comprimer les variables : Les variables sont regroupes en paquets (tlgrammes) pour la transmission, la taille de ces paquets tant dpendante du rseau. Si cette option est dsactive, un paquet est cre pour chaque variable. Identificateur de la liste de variables : Numro d'identification du premier paquet dans lequel des variables sont transmises. (valeur par dfaut = 1). Les paquets suivants sont numrots en squence. Transmettre le total de contrle : Lors de l'envoi, chaque paquet est accompagn d'un total de contrle qui sera vrifi la rception. On dtermine ainsi si les dfinitions de variables sont identiques chez l'metteur et chez le rcepteur. Les paquets avec un total de contrle erron ne seront pas repris et recevront un accus de rception ngatif pour autant que cette option soit choisie (voir ci-dessous, Confirmation de transfert). Confirmation : Chaque message est confirm par un accus de rception du rcepteur. Si l'metteur n'a pas reu un accus de rception au minimum au sein d'un cycle, un message d'erreur et mis. Lire : Les variables de la liste sont lues ; si l'option est dsactive, les nouvelles valeurs de variables envoyes par le biais du rseau sont ignores. Requte l'initialisation : Si le noeud local peut lire (option Lire active, voir ci-dessus) et est redmarr, les valeurs actuelles de variables sont demandes (de manire optionnelle) aux autres automates pouvant crire ces mmes valeurs, et envoyes partir de ces automates, indpendamment des autres conditions temporelles ou vnementielles sous lesquelles elles seraient normalement envoyes conformment la configuration. Il faut pour ce faire que l'option de rponse une demande d'initialisation soit active dans la configuration des variables des automates pouvant crire les valeurs (voir ci-dessous). Ecrire : Les variables de la liste sont crites, les options suivantes tant disponibles : Rpondre aux requtes d'initialisation : Si le noeud local peut crire (option crire active, voir ci-dessus), il peut tre donn une rponse aux requtes provenant de noeuds pouvant lire et envoyes par ces derniers dans le cadre d'une initialisation (option de Requte l'initialisation, voir ci-dessus). Ce qui signifie que les valeurs actuelles de variables sont transmises, mme si les autres conditions temporelles ou vnementielles telles que configures ne l'exigent pas. Transmettre chaque cycle : Les variables sont crites conformment aux intervalles donns la rubrique Intervalle (exemple T#70ms). Transmettre en cas de modification : Les variables ne sont crites que lorsqu'un changement a eu lieu, et on peut cependant dterminer un intervalle minimum de temps entre les transmissions dans le champ Intervalle. Transmettre en cas d'vnement : Les variables de la liste sont crites si la variable introduite sous Variable a la valeur TRUE. Lorsque vous refermez la bote de dialogue 'Liste de variables globales' avec OK, le nouvel objet est cr. Vous reconnaissez les listes de variables rseau globales au symbole dans l'Organisateur d'objets. l'aide de la commande 'Projet' 'Objet' 'Proprits', vous pouvez ouvrir nouveau la bote de dialogue relative l'entre marque dans l'Organisateur d'objets.
Remarque : Si une variable rseau globale est utilise dans une ou plusieurs tches, la composante temporelle de la transmission est soumise aux conditions suivantes : Lors de l'appel de chaque tche, on vrifie quels paramtres sont d'application pour la transmission de la valeur de la variable (configuration par le biais de la bote de dialogue 'Liste de variables globales'). La valeur de variable est transmise ou non en fonction de l'intervalle coul l'instant. Lors de chaque transmission, le compteur pour les intervalles de cette variable est remis zro.

L'envoi s'effectue toujours au dpart du systme d'excution de l'automate concern. Des fonctions spcifiques aux automates ne doivent ds lors pas tre disponibles pour l'change de donnes.
ATTENTION ! Pour les variables rseau globales, il n'est actuellement pas possible d'effectuer des changements En ligne. Les changements dans la configuration des variables rseau ne sont pas reconnus comme des modifications du projet ! (Dfaut Id 3320)

6-6

CoDeSys V2.3

6 - Ressources

dition des listes de variables globales, variables rseau globales L'diteur pour les variables globales travaille de la mme faon que l'diteur de dclaration. Dans le cas de l'affichage d'une liste de variables externe, vous ne pouvez pas l'diter cet endroit. Les listes de variables externes peuvent uniquement tre traites de manire externe et sont lues de nouveau lors de chaque ouverture et de chaque compilation du projet. Syntaxe: VAR_GLOBAL (* Dclarations de variables *) END_VAR Les variables rseau ne peuvent tre utilises que si le systme cible le permet, et elles sont galement dfinies l'aide de cette syntaxe. Exemple de liste de variable rseau cre par l'insertion d'un fichier d'exportation *.exp, et ayant reu le titre NETWORKVARIABLES_UDP :
Exemple d'une liste de variables rseau

dition des listes de variables globales rmanentes Si le systme d'excution le permet, vous pouvez travailler avec des variables rmanentes. Il existe deux sortes de variables rmanentes: Les Variables rmanentes sont gardes mme aprs une interruption non voulue du systme d'excution (on/off) ou une commande 'En Ligne' 'Reset' dans CoDeSys. Les Variables persistantes sont gardes aprs un tlchargement. Le mot-cl RETAIN ou PERSISTENT est ajout aux variables rmanentes.
Attention: Les variables persistantes ne sont pas ncessairement des variables rmanentes !

Syntaxe: VAR_GLOBAL RETAIN (* Dclarations de variables *) END_VAR VAR_GLOBAL PERSISTENT (* Dclarations de variables *) END_VAR Les variables rseau (spcifiques au systme cible) sont galement dfinies l'aide de cette syntaxe.

CoDeSys V2.3

6-7

Variables Globales, Variable Configuration, Fichier cadre pour documentation

Constantes globales Le mot cl CONSTANT est ajout aux constantes globales. Syntaxe: VAR_GLOBAL CONSTANT (* Dclarations de variables *) END_VAR

6.2.2

Variable Configuration
Dans les blocs fonctionnels, il est possible de spcifier des adresses d'entre et de sortie dfinies de manire incomplte, entre les mots cls VAR et END_VAR. Les adresses qui sont dfinies de manire incomplte sont caractrises par une toile. Exemple :
FUNCTION_BLOCK locio VAR loci AT %I*: BOOL := TRUE; loco AT %Q*: BOOL; END_VAR

Dans le cas prsent, deux variables locales d'entre-sortie sont dfinies, une variable local-In (%I*) et une variable local-Out (%Q*). Au cas o vous souhaitez configurer des variables locales d'entre-sortie, vous disposez, l'tat Variable_Configuration dans l'onglet Ressources de l'Organisateur d'objets. standard, de l'objet Le nom de l'objet peut tre modifi et des objets supplmentaires pour configuration de variables peuvent tre cres. L'diteur pour la configuration des variables travaille de la mme faon que l'diteur de dclaration. Les variables ncessaires la configuration de variables locales d'entre-sortie doivent figurer entre les mots cls VAR_CONFIG et END_VAR. Le nom d'une telle variable est compos d'un chemin d'instance complet et les diffrents noms de module et d'instance sont spars par des points. La dclaration doit contenir une adresse, dont la classe (Entre/Sortie) correspond l'adresse spcifie de manire incomplte (%I*, %Q*) dans le bloc fonctionnel. Le type de donnes doit lui aussi correspondre la dclaration au niveau du bloc fonctionnel. Les variables de configuration dont le chemin d'instance n'est pas valide, du fait que l'instance n'existe pas, sont considres comme des erreurs et sont caractrises comme telles. Une erreur est galement signale dans le cas inverse, savoir lorsque aucune configuration n'est attribue une variable d'instance. Pour obtenir une liste complte de toutes les variables de configuration requises, vous pouvez utiliser la commande 'Tous les chemins d'instance' dans le menu 'Insrer'.
Exemple de configuration de variable

Soit un programme avec les dfinitions de blocs fonctionnels suivantes:


PROGRAM PLC_PRG VAR Hugo: locio; Otto: locio; END_VAR

Une configuration des variables correcte ressemblerait alors ceci:


VAR_CONFIG PLC_PRG.Hugo.loci AT %IX1.0 : BOOL; PLC_PRG.Hugo.loco AT %QX0.0 : BOOL; PLC_PRG.Otto.loci AT %IX2.0 : BOOL;

6-8

CoDeSys V2.3

6 - Ressources

PLC_PRG.Otto.loco AT %QX0.3 : BOOL; END_VAR Remarque : Il faut veiller ce que les sorties utilises dans la configuration des variables ne soient pas dfinies directement dans le projet ou par l'intermdiaire de variables (dclaration AT) car ces dfinitions seront ngliges.

'Insrer' 'Tous les chemins d'instance' Cette commande permet de crer un bloc VAR_CONFIG END_VAR, qui contient tous les chemins d'instance prsents l'intrieur du projet. Les dclarations existantes ne sont pas insres nouveau, afin de conserver les adresses existantes. Cette option est disponible dans la fentre de la configuration des variables, lorsque le projet a t compil ('Projet' 'Compiler tout').

6.2.3

Fichier cadre pour la documentation


Si vous devez documenter un projet plusieurs reprises, vous pouvez, outre la fonction 'Projet' 'Traduire dans une autre langue', utiliser le document modle. Il se peut galement que vous ayez besoin de la documentation pour le mme projet avec des commentaires se rapportant aux variables dans plusieurs langues, ou encore vous souhaitez documenter plusieurs projets similaires qui utilisent les mmes noms de variables. Slectionnez la commande 'Extras' 'Etablir fichier cadre pour la documentation'. Le fichier ainsi constitu peut tre charg et dit dans l'diteur littral de votre choix. Le fichier dbute par la ligne DOKUFILE, qui est suivie par une liste des variables du projets. Pour chacune de ces variables, trois lignes sont prdfinies: une ligne VAR, qui indique le dbut d'une nouvelle variable, ensuite une ligne avec le nom de la variable, et enfin une ligne vide. Vous pouvez prsent remplacer cette ligne par un commentaire se rapportant la variable. Les variables que vous ne voulez pas voir documentes peuvent tout simplement tre enleves du texte. Vous avez la possibilit de crer autant de fichiers cadres pour la documentation que vous le souhaitez.
Editeur Windows avec fichier cadre pour la documentation

Pour utiliser un fichier cadre pour la documentation, effectuez la commande 'Extras' 'Slectionner fichier cadre pour la documentation'. Si vous voulez prsent documenter la totalit de votre projet, ou imprimer des parties de votre projet, alors le commentaire que vous avez cr au niveau du fichier cadre pour la documentation de cette variable est insr dans la partie implmentation (pas la partie dclaration !), l'endroit mme o cette variable est utilise. Ce commentaire n'apparat qu' l'impression!

CoDeSys V2.3

6-9

Configuration de l'alarme

'Extras' 'Etablir fichier cadre pour la documentation' Cette commande vous permet de crer un fichier cadre pour la documentation. Cette commande est disponible lorsqu'un objet a t slectionn dans Variables globales. La bote de dialogue pour l'enregistrement des fichiers sous un nouveau nom s'affiche. Dans le champ Nom de fichier, l'extension *.txt a dj t entre. Choisissez un nom votre convenance. Un fichier texte est cr, dans lequel sont rpertories toutes les variables de votre projet. 'Extras' 'Slectionner fichier cadre pour la documentation' Cette commande vous permet de slectionner un fichier cadre pour la documentation. La bote de dialogue pour l'ouverture des fichiers est affiche. Slectionnez le fichier cadre pour la documentation et appuyez sur OK. Si vous voulez prsent documenter la totalit de votre projet, ou imprimer des parties de votre projet, alors le commentaire que vous avez cr au niveau du fichier cadre pour la documentation est insr dans le texte de programmation, pour chacune des variables. Ce commentaire n'apparat qu' l'impression! Pour crer un fichier cadre pour la documentation, vous pouvez utiliser la commande 'Extras' 'Etablir fichier cadre pour la documentation'.

6.3 Configuration de l'alarme


6.3.1 Aperu de la configuration de l'alarme
l'aide du systme d'alarme intgr CoDeSys, il est possible de dtecter des tats de processus critiques, d'enregistrer ceux-ci ou de les illustrer dans une visualisation pour l'utilisateur. Le traitement de l'alarme peut tre effectu dans CoDeSys mais galement sur l'automate programmable, cette dernire possibilit tant une option. Pour le traitement de l'alarme sur l'automate programmable, reportez-vous la configuration du systme cible dans le dialogue 'Visualisation'. Pour la configuration, vous disposez de la 'Configuration d'alarme' dans l'Organisateur d'objets, dans le registre Ressources. C'est ici que les Classes d'alarme et les Groupes d'alarme sont dfinis. La classe d'alarme sert la standardisation d'une alarme, elle confre en d'autres termes des paramtres prcis cette alarme. Le groupe d'alarme sert la configuration concrte d'une ou de plusieurs alarmes (auxquelles une classe prcise et d'autres paramtres sont attribus) afin qu'elles soient utilisables au sein du projet. Il offre ainsi la possibilit de structurer les alarmes disponibles. Les diffrents groupes d'alarme sont rattachs et dfinis par l'utilisateur sous le point 'Systme' de la structure. L'lment de 'Tableau d'alarme' sert visualiser les alarmes. Ce tableau permet l'utilisateur de surveiller et de confirmer les alarmes. Pour obtenir un historique ou un enregistrement des vnements d'alarme dans un fichier journal, un tel fichier doit tre signal, et le Comportement la sauvegarde doit tre dfini pour chaque groupe d'alarme. Si vous slectionnez l'entre 'Configuration de l'alarme' au sein des Ressources, vous avez accs au dialogue 'Configuration de l'alarme' contenant une fentre scinde en deux, et dont le mode de fonctionnement correspond celui de la configuration de l'automate ou celui de la configuration des tches. L'arborescence de configuration est donne gauche, tandis que la partie droite reprend le dialogue de configuration correspondant l'entre slectionne dans l'arborescence.

6-10

CoDeSys V2.3

6 - Ressources

Exemple de configuration d'alarme

Ouvrez l'arborescence actuellement disponible en cliquant sur le symbole Plus en regard de l'entre 'Configuration de l'alarme'. Dans le cas d'une nouvelle configuration, cette arborescence ne contient que les entres 'Classes d'alarme' et 'Systme'.

6.3.2

Systme d'alarme
L'utilisation d'un systme d'alarme dans CoDeSys rpond aux descriptions et dfinitions gnrales relatives aux alarmes: Alarme: une alarme est gnralement considre comme tant une condition spciale (valeur d'expression). Priorit: la priorit ou "Severity" d'une alarme dcrit quel point la condition d'alarme est importante ou lourde de consquences. La plus grande priorit est "0", la moins urgente est "255". tat d'alarme : une expression / variable configure pour la surveillance par alarme peut prendre les tats suivants: NORM (pas d'tat d'alarme), INTO (une alarme est intervenue, "l'alarme entre"), ACK (l'alarme est intervenue et a t confirme par l'utilisateur), OUTOF (l'tat d'alarme est termin, "l'alarme est sorti'', mais pas encore confirme!) Sous-tat : une condition d'alarme peur disposer de limites (Lo, Hi) et de limites "extrmes" (LoLo, HiHi). Exemple : la valeur d'une expression augmente et dpasse tout d'abord la limite Hi, ce qui dclenche l'alarme Hi. Si la valeur continue augmenter et dpasse la limite HiHi avant mme que l'alarme Hi n'ait pu tre confirme, cette dernire se confirme automatiquement en interne et il ne reste plus que l'tat d'alarme HiHi dans la liste des alarmes (liste interne de gestion des alarmes). L'tat Hi est dsign dans ce cas par les termes de sous-tat Confirmation d'alarmes : une application principale de l'alarme est de communiquer une situation d'alarme l'utilisateur. cet gard, il s'avre souvent ncessaire de s'assurer que l'information bien t reue (voir actions possibles dans la configuration des classes d'alarme). L'utilisateur doit "confirmer" l'alarme afin que cette dernire puisse tre efface de la liste des alarmes. vnement d'alarme : un vnement d'alarme ne doit pas tre confondu avec une condition d'alarme. Alors qu'une condition d'alarme peut s'tendre sur une dure plus longue, un vnement d'alarme dcrit l'apparition momentane d'une modification, par exemple le passage de l'tat normal l'tat d'alarme. vnements d'alarme possibles: INTO, OUTOF, ACK,

CoDeSys V2.3

6-11

Configuration de l'alarme

Les possibilits ci-dessous sont supportes par CoDeSys. Dsactivation de la cration d'alarme d'une seule alarme ou de groupes d'alarme entiers Slection des alarmes reprsenter par le biais des groupes d'alarme, ainsi que de la priorit d'alarmes isoles Enregistrement de tous les vnements d'alarme survenus lment de visualisation Tableau d'alarme dans la visualisation CoDeSys

6.3.3

Classes d'alarme
Les classes d'alarmes servent la description gnrale de certains critres d'alarme comme par exemple la philosophie de l'acquittement (confirmation d'une alarme par l'utilisateur), l'excution de l'action (ce qui doit se passer automatiquement avec certains tats d'alarme) et la visualisation au sein du Tableau d'alarme. Les classes d'alarmes sont dfinies de manire globale dans la Configuration de l'alarme et font alors office de "Configuration de base" pour chaque groupe d'alarme.
Configuration des classes d'alarmes :

marquez l'entre 'Classes d'alarmes' dans l'arborescence de configuration d'alarmes. Cela vous donne accs au dialogue de configuration des 'Classes d'alarmes':
Dialogue de configuration des 'Classes d'alarmes'

6-12

CoDeSys V2.3

6 - Ressources

Appuyez sur le bouton Ajouter pour crer une classe d'alarme. Une ligne est alors ajoute dans la fentre suprieure, n'affichant tout d'abord que le paramtrage "NOACK" (no acknowledgement = pas d'acquittement) dans la colonne 'Acquittement'. Attribuez un nom la classe d'alarme ; cliquez pour ce faire sur le champ sous Nom, ce qui vous donne accs un cadre d'dition, choisissez si ncessaire un autre type d'acquittement dans la liste de slection propose sous Accus de rception. Les types d'acquittement suivants sont possibles : NO_ACK: ACK_INTO: une confirmation de l'alarme par l'utilisateur n'est pas ncessaire une "condition d'alarme entrant" (statut "INTO", l'alarme commence) doit tre acquitte par l'utilisateur.

ACK_OUTOF: une "condition d'alarme sortant" (statut "OUTOF", l'alarme se termine) doit tre acquitte par l'utilisateur. ACK_ALL: toutes les conditions d'alarme (entrant ou sortant) doivent tre acquittes par l'utilisateur.

Vous pouvez en outre saisir un commentaire. Les entres relatives aux autres classes d'alarme sont chaque fois rattaches en bas de la liste. Le bouton Effacer vous permet de supprimer l'entre slectionne l'instant.
Actions assignes pour la classe <Nom de la classe>:

Chaque classe d'alarme peut se voir attribuer une liste d'actions qui seront dclenches ds que des vnements d'alarmes interviennent. Marquez dans la liste Actions possibles celle que vous souhaitez et transfrez-la dans le champ Actions assignes par le biais du bouton ">". Le bouton ">>" vous permet de slectionner simultanment toutes les actions. De mme, vous pouvez supprimer par le biais de "<" ou de "<<" une ou encore toutes les actions de la slection. Lorsqu'une action slectionne est marque dans la liste, le bouton "..." vous donne accs au dialogue correspondant afin d'y dfinir l'adresse e-mail souhaite, la configuration de l'imprimante ainsi qu'un texte de message. Les types d'action ci-aprs sont supports :
Action Description Paramtrage correspondant : effectuer dans le dialogue

Enregistrer:

L'vnement d'alarme est enregistr en interne afin de pouvoir l'afficher par exemple dans un Fichier de journal. Veuillez noter : ce fichier doit pour ce faire tre dfini dans la Configuration des groupes d'alarme ! Un message est dlivr au niveau de l'imprimante.

Ces paramtrages doivent tre effectus lors de la configuration de l'Enregistrement de l'alarme.

Imprimer:

Interface de l'imprimante: slectionnez une des imprimantes dfinies dans le systme local; Texte de sortie: texte de message (voir plus bas) qui doit tre imprim Message: texte de message (voir plus bas) qui doit tre dit dans une propre fentre de messages. De: adresse e-mail du destinateur ; : adresse email du destinataire ; Concerne : texte de rfrence; Message: texte du message (voir plus

Message:

Une bote de message s'affiche avec le texte dfinir. Un message lectronique est envoy, contenant le

E-Mail:

CoDeSys V2.3

6-13

Configuration de l'alarme

texte dfinir. Variables: Le statut d'alarme ou un texte de message est attribu une variable du projet actuel.

bas); Serveur: nom du serveur e-mail Variables: Nom de variable: une variable peut tre slectionne par le biais de la liste de slection pour l'dition (<F2>) : Une variable boolenne peut tre utilise pour afficher les statuts d'alarme NORM=0 et INTO=1, une variable entire indique les statuts d'alarme NORM =0, INTO =1, ACK =2, OUTOF =4; une variable de type string est attribue au texte de message dfini dans le champ Message (voir plus bas) Fichier excutable : nom du fichier qui doit tre excut (p.ex. notepad.exe); le bouton "..." permet d'appeler l'aide le dialogue standard de slection de fichier; Paramtres: les paramtres correspondant au fichier exe qui doivent tre rattachs l'appel.

Excuter :

un programme externe est dmarr ds qu'un vnement d'alarme (voir plus bas) intervient.

Dfinition des Textes de message: Lors de la configuration des actions 'Message','E-mail', 'Imprimer', 'Variable' et ventuellement 'Excuter', vous pouvez dfinir un texte de message qui sera affich ds qu'un vnement d'alarme (voir plus bas) intervient. Il faut insrer des retours la ligne grce <Ctrl>+<Enter>. Les espaces rservs ci-dessous peuvent tre utiliss :

MESSAGE DATE TIME EXPRESSION PRIORITY VALUE TYPE CLASS TARGETVALUE DEADBAND ALLDEFAULT

Le texte de message dfini pour l'alarme dans la Configuration des groupes d'alarme (colonne Messages) apparat l'cran. La date du changement vers le statut correspondant (INTO) L'heure effective du dclenchement de l'alarme apparat l'cran L'expression (dfinie dans le groupe d'alarme) qui a dclench l'alarme. Priorit de l'alarme (dfinie dans le groupe d'alarme) Valeur actuelle de l'expression Type d'alarme (dfini dans le groupe d'alarme) Classe d'alarme (dfinie dans le groupe d'alarme) Valeur cible des types d'alarme DEV+ et DEV- (dfinie dans le groupe d'alarme) Tolrance de l'alarme (dfinie dans le groupe d'alarme) Toutes les donnes relatives l'alarme apparaissent l'cran, comme dcrit dans l'dition dans un Fichier de sauvegarde (Historique)

Exemple :
Saisissez les lments suivants dans la fentre des messages, cela pour la dfinition de la bote de message (action 'Message' ) :

6-14

CoDeSys V2.3

6 - Ressources

Saisissez en outre ce qui suit pour la dfinition de l'alarme dans le groupe d'alarmes, dans le champ de tableau 'Message': "Temperature critical !". Le message d'alarme apparatra alors comme suit l'cran :

Remarque: Le texte de message peut galement tre pris en compte lors de la commutation du projet une autre langue, cela par le biais dun fichier *.vis ou dun fichier de traduction *.tlt. Afin dtre repris dans le fichier de traduction *.tlt, la chane de caractre correspondante doit cependant tre pourvue du symbole "#" au dbut et la fin, comme pour tous les textes se rapportant aux visualisations (p.ex. dans lexemple ci-dessus: "#Temperature critical!#" et "TIME /EXPRESSION: MESSAGE #current#: VALUE", cela afin de conserver les parties adquates de texte comme ALARMTEXT_ITEM dans le fichier de traduction.)

Un fichier de sauvegarde pour l'action 'Enregistrer' est dfini au sein de la configuration des groupes d'alarme. vnements pour les actions : Pour chaque action, il faut dterminer les vnements d'alarme dclencheurs. Activez les vnements souhaits : INTO ACK L'alarme commence. Il y a confirmation par l'utilisateur.

OUTOF L'tat d'alarme est termin.

Couleurs/Bitmaps pour classe <nom de la classe> Chaque classe d'alarmes peut se voir attribuer diffrentes couleurs et diffrents bitmaps, permettant de faire une distinction entre les alarmes lors de la visualisation du Tableau d'alarme. Choisissez chaque fois une Couleur de front et une Couleur de fond pour les vnements possibles d'alarme INTO, ACK et OUTOF (voir plus haut). Si vous cliquez sur les flches, vous avez accs au dialogue standard de slection de couleur, et vous avez accs au dialogue de slection des fichiers bitmap si vous cliquez sur le carr gris.

CoDeSys V2.3

6-15

Configuration de l'alarme

6.3.4

Groupes d'alarme
Les groupes d'alarmes servent structurer les diffrentes alarmes. Chaque alarme est attribue de manire stricte un seul groupe d'alarme et est gre par ce dernier. Toutes les alarmes au sein d'un groupe peuvent recevoir une seule et mme variable de dsactivation ainsi que des paramtres communs pour l'enregistrement de l'alarme. Le groupe peut donc servir la structuration des alarmes disponibles. Mme une alarme individuelle doit tre configure dans un groupe d'alarmes. La structure hirarchique des groupes d'alarmes dans la configuration d'alarme peut tre construite l'aide d'lments de dossiers. Lorsqu'un groupe d'alarme est slectionn dans l'arborescence des alarmes, le dialogue de Groupe d'alarme est automatiquement affich :
Dialogue de configuration 'Groupe d'alarme'

Le champ Description vous permet de saisir une dsignation pour le groupe d'alarme. La Variable de dsactivation peut tre une variable boolenne de projet qui dsactive avec un front montant le dclenchement pour toutes les alarmes du groupe prsent, et qui l'active nouveau avec un front descendant. Le bouton Ajouter vous permet d'ajouter des alarmes individuelles au groupe, ces alarmes tant dfinies par les paramtres ci-dessous: Expression: La variable de projet laquelle l'alarme se rapporte. Aidez-vous de la liste de slection pour l'dition <F2> ou de la fonction Intellisense pour une saisie correcte. Il est galement possible de saisir une expression (p.ex. "a + b") Type: Les types d'alarmes ci-dessous peuvent tre utiliss : (Notez le commentaire correspondant affich en bas du tableau) DIG=0: Alarme numrique, devient active lorsque l'expression prend la valeur FALSE. DIG=1: Alarme numrique, devient active lorsque l'expression prend la valeur TRUE. LOLO: Alarme analogique, devient active lorsque l'expression dpasse par le bas la valeur indique sous 'type d'alarme LOLO'. Il est possible de saisir une tolrance (pourcentage) par rapport cette valeur. Dans cette zone de tolrance, aucune alarme ne se dclenche, mme si la valeur LOLO est dpasse par le bas.

6-16

CoDeSys V2.3

6 - Ressources

LO: HI:

Identique LOLO Alarme analogique, devient active lorsque l'expression dpasse la valeur indique sous 'type d'alarme HIHI'. Il est possible de saisir une tolrance (pourcentage) par rapport cette valeur. Dans cette zone de tolrance, aucune alarme ne se dclenche, mme si la valeur HI est dpasse. Identique HI Dviation (dviation par rapport la valeur cible); l'alarme devient active lorsque l'expression dpasse par le bas la valeur cible indique sous 'Type d'alarme DEV-' + une dviation exprime en pourcentages. Pourcentage de dviation = valeur cible* (dviation en %) /100.

HIHI: DEV-:

DEV+: Dviation (dviation par rapport la valeur cible); l'alarme devient active lorsque l'expression dpasse la valeur cible indique sous 'Type d'alarme DEV-' + la dviation indique. Pourcentage de dviation = valeur cible* (dviation en %) /100. ROC: Rate of Change (taux de changement par unit de temps); l'alarme devient active lorsque l'expression a trop fortement chang par rapport la valeur prcdente. La valeur limite de l'intensit du changement dclenchant l'alarme est dfinie par le nombre d'units (changement de valeur) qui sont modifies par seconde, minute ou heure.

Classe:Slectionnez la Classe d'alarme souhaite. Vous pouvez alors choisir entre les classes dfinies au sein de la configuration des classes d'alarme avant la dernire sauvegarde du projet. Priorit:Vous pouvez ici saisir une priorit entre 0 et 255, 0 reprsentant la plus haute priorit. La priorit agit sur le tri au sein du tableau d'alarme. Message:Dfinissez ici un texte pour le message qui pourra tre affich dans le tableau d'alarme ou par le biais de la macro "MESSAGE" au sein de chaque action. Cette bote doit tre confirme par OK, ce qui ne confirme cependant pas automatiquement l'alarme ! Pour confirmer l'alarme, il faut avoir accs la liste des alarmes, ce qui est possible via l'lment de visualisation 'Tableau d'alarme', ou encore via la date de l'entre de l'alarme reprendre dans un fichier de sauvegarde pouvant tre cr en option. Dsactivation On peut saisir ici une variable de projet qui dsactiverait le dclenchement de l'alarme avec un front montant. Notez cependant que cette entre est crase par une saisie dans le champ 'Variable de dsactivation' (voir plus haut).

6.3.5

Enregistrement de l'alarme
Un fichier peut tre dfini pour chaque groupe d'alarmes, ce fichier enregistrant les vnements d'alarme pour autant (!) qu'un "Enregistrement" soit activ dans la Liste d'actions de la classe concerne. Slectionnez le groupe d'alarmes dans l'arborescence de configuration des alarmes puis choisissez l'onglet du dialogue 'Enregistrement de l'alarme':
Dialogue de configuration 'Enregistrement de l'alarme'

CoDeSys V2.3

6-17

Configuration de l'alarme

Les saisies suivantes sont possibles : Chemin du fichier: Chemin du fichier indiqu sous le nom de fichier ; le bouton "..." vous donne accs au dialogue standard de slection d'un rpertoire. Si l'option spcifique la cible 'Traitement de l'alarme au sein de l'automate programmable' est active, le chemin donn sera ignor et le fichier d'enregistrement sera cr dans le rpertoire de tlchargement de l'automate programmable. Nom du fichier: Nom du fichier dans lequel les vnements d'alarme doivent tre enregistrs (p.ex. "alarmlog"). Le fichier sera alors automatiquement cr avec le nom dfini ici, et auquel on rattache un chiffre ainsi que l'extension ".alm". Le chiffre donne la version du fichier de journal. Le premier fichier d'enregistrement est suivi d'un 0, les autres, gnrs en raison des conditions dcrites sous 'vnement de changement de fichier', sont suivis par ordre croissant de 1, 2, etc. (exemples -> "alarmlog0.alm", "alarmlog1.alm). Le format du fichier d'enregistrement peut tre dfini par le biais du dialogue de 'Configuration de cadre de documentation'. Evnement de changement de fichier: Saisissez ici les conditions sous lesquelles un nouveau fichier d'enregistrement doit tre cr. Conditions possibles : jamais, aprs une heure, aprs un jour, aprs une semaine, aprs un mois, aprs un front montant de la variable indique sous 'Variable dclencheur', aprs avoir atteint un nombre maximal d'entres saisi sous 'Nombre maximal d'entres'. Variable de dclencheur ou Nombre maximal d'entres: voir vnement de changement de fichier : Effacer les donnes anciennes aprs .. Heures: nombre de jours suivant la date de la cration, aprs lesquels tous les fichiers d'enregistrement d'alarme sont effacs, l'exception du fichier en cours. Le fichier d'enregistrement (Historique) contient les entres suivantes.
Date/Heure Date en DWORD Heure vnement Expression Type Valeur Tolrance Valeur act. Classe d'alarme limite PLC_PRG.b LO PLC_PRG.n HIHI -30 35 5 -31 Priorit Message 0 Mess1 Mess2

1046963332 6.3.03 16:08:52 INTO 1046963333 6.3.03 16:08:53 ACK

Alarm_high

Avertissement 9

Exemple :
1046963332,6.3.03 16:08:52,INTO,PLC_PRG.ivar5,HIHI,,,, 1046963333,6.3.03 16:08:53,INTO,PLC_PRG.ivar4,ROC,2,,, 1046963333,6.3.03 16:08:53,INTO,PLC_PRG.ivar3,DEV-,,,, 1046963334,6.3.03 16:08:54,INTO,PLC_PRG.ivar2,LOLO,-35,,3, temperature ! 1046963334,6.3.03 16:08:54,INTO,PLC_PRG.ivar1,HI,20,,5, high ! Acknowledge ! 9.00,a_class2,0, 6.00,a_class2,2, -6.00,a_class2,5, -47.00,warning,10,warning: low 47.00,a_class1,2,temperature to

6.3.6

Menu Extras: Configuration


Catgorie Date/Temps:

Vous pouvez dfinir ici le format dans lequel la date et l'heure doivent tre affichs dans le Fichier d'enregistrement pour les alarmes. Saisissez les formats conformment la syntaxe suivante, les traits d'union et deux-points sont enferms entre des guillemets simples : pour la date : dd'-'MM'-'yyyy -> p.ex. "12-Jan-1993" pour l'heure : hh':'mm':'ss -> p.ex. "11:10:34"
Catgorie Langage:

Slectionnez ici un fichier de langue qui doit tre utilis pour la commutation vers une autre langue et qui doit donc galement contenir les textes de la configuration d'alarme. Reportez-vous pour ce faire aux descriptions ci-dessous : - Visualisation, Configuration de la langue - Traduire projet dans un autre langage

6-18

CoDeSys V2.3

6 - Ressources

6.4 Gestionnaire de bibliothques


Le gestionnaire de bibliothques indique toutes les bibliothques intgres au projet actuel. Les modules, types de donnes et variables globales des bibliothques peuvent tre utiliss au mme titre que des modules, types de donnes et variables globales dfinis directement dans le projet. On accde au gestionnaire de bibliothques au moyen de la commande 'Fentre' 'Gestion des bibliothques' ou en slectionnant longlet 'Ressources'. Les informations relatives aux bibliothques lies sont sauvegardes avec le projet et peuvent tre consultes par le biais de la commande 'Extras' 'Proprits' pour autant que lentre correspondante soit marque dans le gestionnaire des bibliothques.
Gestionnaire de bibliothques

Utiliser le gestionnaire de bibliothques La fentre du gestionnaire de bibliothques est scinde en trois ou quatre zones selon le cas, au moyen de barres de fractionnement. Dans la zone suprieure gauche sont rpertories les bibliothques intgres au projet. Dans la zone situe immdiatement en dessous sont rpertoris les modules, types de donnes variables globales ou visualizations de la bibliothque slectionne dans la zone du dessus, en fonction de l'onglet slectionn. Les dossiers sont ouverts ou ferms en double-cliquant sur la ligne correspondante ou en appuyant sur la touche <Entre>. Devant chaque dossier ferm se trouve un signe plus, devant chaque dossier ouvert se trouve un signe moins. Si un module est slectionn en cliquant avec la souris ou au moyen de touches directionnelles, alors la dclaration du module est affiche dans la zone suprieure droite du gestionnaire de bibliothques et la visualisation apparat dans la zone infrieure, sous forme de graphique "black box" comprenant des entres et des sorties. Dans le cas des onglets Types de donnes et Variables globales, la dclaration est affiche dans la partie droite du gestionnaire de bibliothques. Bibliothque standard La bibliothque 'standard.lib' est mise votre disposition par dfaut. La bibliothque standard contient l'ensemble des fonctions et blocs fonctionnels requis par la norme CEI61131-3, dans laquelle sont dfinis les modules standard ncessaires un systme de programmation CEI. La diffrence entre une fonction standard et un oprateur rside dans le fait que l'oprateur est connu de faon implicite

CoDeSys V2.3

6-19

Gestionnaire de bibliothques

par le systme de programmation, alors que les modules standard doivent tre intgrs au projet sous forme de bibliothque (standard.lib). Le code relatif ces modules est prsent sous forme de bibliothque "C" et fait partie intgrante de CoDeSys. Les bibliothques dfinies par l'utilisateur Un projet peut tre enregistr en tant que bibliothque par le biais de la commande 'Enregistrer sous' dans le menu 'Fichier'. Le projet lui-mme reste inchang, un fichier avec lextension standard ".lib" est cr, qui sera par la suite mis disposition sous le nom que vous lui aurez attribu, comme cest le cas par exemple pour la bibliothque standard. Pour pouvoir utiliser les modules dun projet dans le cadre dun autre projet, elle est sauvegarde comme Bibliothque interne *.lib. Elle peut alors tre lie un autre projet par le biais du gestionnaire de bibliothques, comme cest par exemple le cas pour la bibliothque standard.lib. Cependant, si vous avez implment des modules dans dautres langages de programmation, par exemple C, et que vous souhaitez les relier un autre projet par lintermdiaire dune bibliothque, vous devez slectionner lors de lenregistrement du projet en question le type de fichier Bibliothque externe *.lib. Cela signifie qu'un fichier supplmentaire en plus du fichier de bibliothque sera cr portant galement le nom de fichier de bibliothque mais avec l'extension "*.h". Ce fichier est structur comme fichier du langage de programmation C (Header-file) et comporte les dclarations de tous les modules, types de donnes et variables globales disponibles dans la bibliothque. Si une bibliothque externe est utilise dans un projet, l'implmentation crite pour les modules dans CoDeSys sera excute en mode simulation. Par contre, un systme cible utilise l'implmentation crite en langage C lors de l'excution. Si vous souhaitez soumettre une bibliothque une licence, vous devez appuyer sur le bouton Edit info de licence... et saisir les donnes adquates dans la bote de dialogue 'diter les informations relatives lattribution dune licence'. Reportez-vous pour ce faire la description de la commande 'Fichier' 'Enregistrer sous...' ou la rubrique Gestion des licences dans CoDeSys. 'Insrer' 'Autre bibliothque' Cette commande permet d'associer une nouvelle bibliothque votre projet. Dans la bote de dialogue d'ouverture des fichiers, choisissez la bibliothque souhaite possdant l'extension "*.lib". Cette bibliothque est dsormais reprise dans la liste du gestionnaire de bibliothques et vous pouvez utiliser les objets appartenant cette bibliothque au mme titre que des objets dfinis directement dans le projet. Si vous insrez une bibliothque sujette une licence, un message vous indique que cette bibliothque nest disponible quen mode dmonstration ou quelle nest pas valable pour le systme cible tel quactuellement paramtr. Vous pouvez ignorer ce message ou prendre les mesures ncessaires quant la licence. Des licences non valables crent un message d'erreur lors de la compilation du projet ('Projet' 'Compiler'). En double-cliquant sur le message derreur ou en appuyant sur <F4>, vous avez accs la bote de dialogue 'Informations relatives l'attribution d'une licence' grce laquelle vous pouvez prendre les mesures ncessaires quant cette licence. Enlever une bibliothque La commande 'Editer' 'Supprimer' vous permet d'enlever une bibliothque d'un projet et du gestionnaire de bibliothques. 'Extras' 'Proprits' Cette commande donne accs la bote de dialogue 'Informations relatives l'attribution d'une licence'. Dans le cas des bibliothques internes, elle comprend, en plus des statistiques, toutes les donnes qui ont t introduites lors de la cration de la bibliothque en tant qu'Info sur le Projet, ce qui englobe entre autres les 'Informations sur l'attribution d'une licence'. Dans le cas des bibliothques externes, elle indique le nom de la bibliothque et le chemin d'accs.

6-20

CoDeSys V2.3

6 - Ressources

6.5 Journal
Le journal enregistre dans lordre chronologique toutes les actions qui ont lieu lors dune session En Ligne. Pour ce faire, un fichier journal en format binaire (*.log) est cr pour chaque projet. En outre, lutilisateur peut sauvegarder des extraits provenant de chaque journal de projet dans un journal externe. Vous pouvez accder la fentre du journal En ligne et Hors ligne, et celle-ci peut ainsi galement servir despion direct en mode En ligne. 'Fentre' 'Protocole en ligne' Pour y avoir accs, slectionnez loption 'Fentre' 'Protocole en ligne' ou encore lentre correspondante ('Journal') dans longlet Ressources.
Fentre de journal

Le nom du journal en cours dutilisation est indiqu la suite de Journal : au dessus de la fentre de protocole. Sil sagit du journal du projet en cours, "(Interne)" est galement affich. Les entres consignes sont indiques dans la fentre de protocole. La dernire entre est toujours ajoute la fin. Les actions des catgories actives dans le cadre du menu 'Projet' 'Options' 'Journal', rubrique 'Filtre' sont seules visualises. Les informations relatives lentre slectionne dans la fentre de protocole sont affiches en dessous de cette mme fentre. Catgorie : Il sagit de la catgorie de l'entre de journal. Les quatre catgories suivantes sont possibles : Actions par l'utilisateur : lutilisateur a excut une action En ligne (normalement partir du menu En ligne). Actions internes : une action interne a t excute au niveau En ligne (par exemple Effacer mmoires tampons (Delete Buffers) ou Init dbogage (Init Debugging)). Changements de l'tat : le statut du systme dexcution a t modifi (par exemple, passage de En cours (Running) Pause (Break) si on est pass par un point darrt).

CoDeSys V2.3

6-21

Journal

Exceptions : Une exception est survenue, par exemple une erreur de communication Description : Il sagit du type daction. Les actions de l'utilisateur portent le mme nom que le menu correspondant, toutes les autres actions sont libelles en anglais et portent le mme nom que leur fonction OnlineXXX() correspondante. Information : Ce champ contient une description des erreurs qui se sont ventuellement produites au cours de laction. Sil ny a pas eu derreur, ce champ reste vide. Temps du systme : Le temps du systme au dbut de laction, la seconde prs. Temps relatif : le temps par rapport au dbut de la session En ligne, la milliseconde prs. Dure : la dure de laction en millisecondes. Menu Journal Si la fentre du journal est la fentre active, loption Journal sera affiche la place du point 'Insrer' dans la barre des menus. Le menu vous offre le choix entre les points suivants : Charger Vous pouvez charger et visualiser un fichier de journal externe * log par le biais de la bote de dialogue standard permettant douvrir un fichier. Le journal se trouvant dans le projet ne sera pas cras par cette commande. Si vous refermez la fentre du journal et que vous louvrez nouveau tout de suite ou dbutez une nouvelle session En ligne, la version charge sera nouveau remplace par le journal du projet. Cette option ne peut tre slectionne que si cet instant le journal du projet est affich. Cette commande permet de sauvegarder un extrait du journal du projet dans un fichier externe. cet effet, la bote de dialogue suivante saffiche lcran, vous permettant de slectionner les sessions En ligne sauvegarder.

Enregistrer

Aprs avoir effectu votre slection, la bote de dialogue standard pour la sauvegarde dun fichier souvre ('Enregistrer le journal'). Afficher le journal Cette commande ne peut tre slectionne que si cet instant un journal du projet externe est affich. Elle permet de revenir laffichage du journal du projet.

Enregistrer le journal Indpendamment dune sauvegarde possible du journal dans un fichier externe, le journal du projet est enregistr automatiquement dans un fichier binaire <Nom du projet>.log. Si un autre chemin

6-22

CoDeSys V2.3

6 - Ressources

daccs nest pas donn explicitement dans la bote de dialogue 'Projet' 'Options' 'Journal', la cration se fera dans le mme rpertoire que celui dans lequel le projet est enregistr. Le nombre maximal de sessions En ligne pouvant tre enregistres peut tre dtermin dans la bote de dialogue 'Projet' 'Options' 'Journal'. Si ce nombre est dpass durant lenregistrement en cours, les sessions les plus anciennes sont effaces de la mmoire tampon au profit des nouvelles.

6.6 Configuration de l'automate


6.6.1 Apercu
La configuration de lautomate est prsente sous forme dobjet dans longlet Ressources de lOrganisateur dobjets. Elle donne accs un diteur de configuration avec lequel le matriel cible, sur lequel le projet actuellement ouvert doit tourner, peut tre dcrit. Pour laborer le programme, il importe de connatre le nombre et lemplacement des diffrentes entres et sorties. CoDeSys se fonde sur cette description pour vrifier si les adresses CEI utilises dans le programme existent bien au niveau du matriel. Les fichiers de configuration (* cfg, voir ci-dessous 'Remarques sur la compatibilit') ou les fichiers de matriel (p.ex. *.gsd, .eds) sont la base de tout travail dans lditeur de configuration ; ces fichiers sont trouver dans un rpertoire dfini par le fichier cible (voir Configuration du systme cible) ou dfini dans les options du projet et sont lus lors du dmarrage du projet. Le fichier de configuration dcrit une configuration de base qui est automatiquement visualise lors de louverture de lditeur et indique les possibilits de paramtrage encore disponibles dans lditeur.
Attention : Lorsque le fichier de configuration est modifi, la configuration se basant sur ce fichier doit tre refaite dans CoDeSys. Remarques sur la compatibilit : Un nouveau format de configuration dautomate a t introduit dans CoDeSys V2.2, et les fichiers de configuration ayant servi de base sont munis de lextension *.cfg. Le configurateur dautomate utilis pour la programmation de projets plus anciens se basait quant lui sur des fichiers de configuration reconnaissables lextension *.con. Vous pouvez dterminer dans le fichier cible si le 'vieux' configurateur doit continuer tre utilis, mme si un projet plus ancien est ouvert en V2.2 ou plus. Ceci vous pargne une transcription des fichiers de configuration vu que les fichiers *con peuvent tre utiliss tout en restant inchangs. Au cas o cette dfinition manque dans le fichier cible, la configuration de lautomate qui est enregistre dans le projet peut tre convertie au nouveau format, pour autant quun fichier *.cfg ait t prpar cet effet. Voir pour ce faire 'Extras' 'Convertir'.

Le configurateur dautomate CoDeSys permet la connexion de modules d'E/S simples ainsi que de modules Profibus et CAN. Aprs que lutilisateur ait termin la configuration dans lditeur, une reprsentation binaire du projet est transmise lautomate lors du tlchargement de ce projet.

CoDeSys V2.3

6-23

Configuration de l'automate

Configuration dautomate avec modules CAN et bote de dialogue des rglages gnraux

La configuration est prsente dans lditeur sous forme darborescence et peut tre traite par le biais de commandes de menus et de botes de dialogue. Il existe des lments qui sont soit des entres, soit des sorties, soit des lments de gestion, possdant eux-mmes des sous-lments (p.ex. un bus CAN, un PROFIBUS ou une carte dentres digitales 8 entres). Les entres et sorties apparaissent dans lditeur avec ladresse CEI permettant dy accder. Dans les cas standard, on peut attribuer chaque entre ou sortie un nom symbolique permettant de lidentifier ; celui-ci sera plac avant ladresse CEI. Si vous ouvrez des projets contenant une configuration dautomate effectue laide des versions plus anciennes de CoDeSys, celle-ci peut tre convertie au nouveau format de configuration standard dautomates. La fentre de lditeur de configuration est divise en deux : la partie gauche contient larborescence de configuration. La structure et le contenu de cette arborescence se composent en premier lieu des dfinitions des fichiers de configuration (configuration par dfaut), ils peuvent cependant tre modifis par le biais des configurations effectues par lutilisateur dans le cadre du projet. La partie droite de lcran est rserve aux botes de dialogue de configuration correspondant aux lments slectionns, rparties sur un ou plusieurs onglets. Laffichage de la bote de dialogue de configuration est activ par dfaut mais peut tre dsactiv via la commande 'Extras' 'Proprits'. Le module "Root" est plac la tte de larborescence de configuration, caractris par le symbole et une identification qui lui aura t attribue dans le fichier de configuration. Les autres lments de la configuration sont indents en dessous et par ordre hirarchique : il sagit de modules de diffrents types (CAN, PROFIBUS, E/S), de canaux ou de canaux binaires (identifications de bits l'intrieur d'un canal).

6.6.2

Travailler dans la Configuration de l'automate

Slection d'lments Pour slectionner des lments, cliquez avec la souris sur llment correspondant ou dplacez le rectangle en pointills sur llment voulu, au moyen des touches directionnelles. Les lments qui sont prcds d'un signe plus sont des lments dorganisation contenant des souslments. Pour ouvrir un tel lment, il faut le slectionner et double-cliquer sur le signe plus ou encore appuyer sur la touche <Entre>. Les lments ouverts (signe moins devant llment) se laissent refermer de la mme manire.

6-24

CoDeSys V2.3

6 - Ressources

Insrer les lments, 'Insrer' 'Insrer lment', 'Insrer' 'Ajouter sub-lment' Certains lments de configuration dautomate sont dj disponibles dans larborescence de configuration louverture du projet, et ils sont fonction des donnes par dfaut du (des) fichier(s) de configuration dautomate et des fichiers doutils. Si un de ces lments disponibles est slectionn, dautres lments peuvent tre galement insrs en fonction des dfinitions du fichier de configuration dautomate et de la prsence des fichiers doutils ncessaires. Diffrentes commandes vous sont proposes cet effet : le menu 'Insrer' 'Insrer lment' : un lment peut tre slectionn et insr avant llment marqu. le menu 'Insrer' 'Ajouter sub-lment' : un lment peut tre slectionn et insr comme dernier sous-lment de llment marqu. Vous trouvez toutes les commandes les plus importantes dans le menu contextuel (touche droite de la souris). Remplacer des lments, 'Remplacer lment' Si la dfinition du fichier de configuration le permet, vous pouvez remplacer un lment slectionn dans larborescence de configuration par un autre lment. Ceci comprend galement la permutation de canaux configurs de telle sorte quils soient utiliss comme entre ou comme sortie. Utilisez la commande 'Extras' 'Remplacer lment'. Attribution d'un nom symbolique Vous avez dj pu attribuer des noms symboliques pour les modules et canaux dans le fichier de configuration. Dans larborescence de configuration, ces noms apparaissent avant l'AT' de ladresse CEI se rapportant llment concern. Le fichier de configuration dtermine galement si un nom symbolique peut tre dit ou tre attribu dans lditeur de configuration. Pour une nouvelle attribution, vous pouvez ouvrir un champ de saisie en cliquant sur l'AT' de ladresse CEI, non sans avoir pralablement slectionn un lment. De la mme manire, vous pouvez diter un nom symbolique dj disponible en cliquant sur celui-ci. Veillez ce que le nom symbolique attribu corresponde aux conventions des variables du projet ! Ajouter fichier de configuration Cette commande du menu 'Extras' vous permet d'ajouter un fichier supplmentaire aux Fichiers de configuration. Sous fichiers de configuration, on comprend ici tous les fichiers contenus dans les rpertoires de "Fichiers de configuration" dfinis dans les Options de projet. Le dialogue Slectionner fichier de configuration s'ouvre, permettant de dfinir un filtre (type de fichier) pour les fichiers CAN (*.eds,*. dcf), Profibus (gsd*.*), et les fichiers de configuration (*.cfg), ou encore pour tous les fichiers (*.*). Aprs la slection du fichier souhait, on vrifie si ce fichier se trouve dj dans un des rpertoires dfinis pour les fichiers de configuration. Un message appropri s'affiche si tel est le cas, et le fichier ne peut ds lors tre ajout. Si vous avez slectionn un fichier .cfg, vous obtenez en outre une remarque reprenant ce dont il faut tenir compte dans un tel cas. Si le fichier peut tre ajout, vous avez accs au dialogue Slectionner rpertoire de configuration proposant tous les rpertoires dfinis pour le projet. Slectionnez le rpertoire dans lequel le fichier doit tre copi. Aprs avoir confirm votre slection, ce fichier est directement disponible dans la configuration de l'automate.

CoDeSys V2.3

6-25

Configuration de l'automate

Recalcul des adresses de modules, 'Extras' 'Calcul des adresses' Pour autant que loption 'Adresses automatiques' ait t active dans le cadre des rglages gnraux de la configuration dautomates, vous pouvez procder un nouveau calcul dadresse par le biais de la commande 'Extras' 'Calcul des adresses', comprenant tous les lments suivant le module slectionn. Retour la configuration par dfaut, 'Extras' 'Configuration par dfaut' Aprs des modifications dans l'diteur de configuration, vous pouvez, au moyen de la commande 'Extras' 'Configuration par dfaut', rtablir la configuration originale par dfaut de l'automate, enregistre dans le projet et se basant sur le fichier de configuration.
Attention: Dans le fichier de configuration, on peut grce une entre dterminer que la configuration par dfaut soit toujours restaure lors de l'ouverture d'un projet. Ainsi, toutes les adaptations entreprises au sein de l'diteur de configuration sont perdues !

Conversion d'anciens fichiers de configuration, 'Extras' 'Convertir' Cette commande est disponible dans le menu 'Extras' lorsque vous ouvrez un projet pour lequel une configuration dautomate a t cre dans une version CoDeSys antrieure V2.2 et pour autant quil ne soit pas prcis dans le fichier cible que le configurateur utilis lpoque doive encore tre utilis. Lorsque tous les fichiers de configuration ncessaires sont disponibles (Attention : les informations dans les fichiers *.con doivent maintenant tre contenues dans un fichier de configuration *.cfg !), vous pouvez les convertir la configuration standard dautomates par le biais de la commande 'Convertir'. Vous obtenez pour ce faire une bote de dialogue vous demandant : "Convertir la configuration dautomate au nouveau format? Attention : la conversion se fait titre dfinitif !" ; vous devez alors fermer cette bote de dialogue en rpondant par Oui on Non. Si vous optez pour 'Oui', lditeur de configuration dautomate se referme et affiche le nouveau format lors de toute nouvelle ouverture.
Attention: Lancienne configuration ne peut plus tre rtablie aprs une conversion.

6.6.3

Settings
Marquez lentre en tte de larborescence de configuration (module Root). Vous obtenez alors la bote de dialogue 'Settings' : Calculer les adresses automatiquement: Chaque module que vous ajoutez obtient automatiquement une adresse qui est le rsultat du module insr juste avant, ajout sa propre dimension. Si vous enlevez un module de la configuration, les adresses des modules suivant celui-ci sont automatiquement adaptes en consquence. La commande 'Extras' 'Calcul des adresses' permet de recalculer toutes les adresses partir du nud (module) actuellement slectionn. Vrifier superposition d'adresses: Les superpositions dadresses sont vrifies et communiques lors de la compilation du projet.
Bote de dialogue des rglages gnraux de la configuration dautomates

6-26

CoDeSys V2.3

6 - Ressources

Le mode global dattribution dadresses (adresses plates / adresses selon lidentit) au sein de la configuration dautomate est prdfini dans le fichier de configuration.

6.6.4

Bote de dialogue de paramtrage spcifique l'application (Custom Parameters)


Grce une DLL spcifique lapplication (dialogue individuel), vous pouvez largir les possibilits de paramtrage au sein du configurateur. Cette DLL 'Hook' est cre dans le mme rpertoire que le fichier de configuration et y est rattache par le biais dune entre lors de la description des classes de modules ou de canaux. Pour le module concern ou les canaux sy rapportant, on obtient la bote de dialogue dfinie dans la DLL en lieu et place de la bote de dialogue standard 'Paramtres de module'
Exemple d'une bote de dialogue de paramtrage spcifique l'application (Custom Parameters)

Paramtrage d'un module E/S

CoDeSys V2.3

6-27

Configuration de l'automate

6.6.5

Paramtres de base d'un module E/S


Bote de dialogue des paramtres de base d'un module E/S

Si vous slectionnez un module d'E/S dans l'arborescence de configuration, vous obtenez la bote de dialogue des 'Paramtres de base' comprenant les entres suivantes : Id. du module : l'identit du module est une identification univoque du module au sein de l'environnement total de configuration. Elle est reprise hors du fichier de configuration et n'est pas ditable. Numro de noeud : le numro de noeud dcoule d'une entre dans le fichier de configuration ou de sa position dans l'arborescence de configuration si une telle entre n'est pas dfinie dans le fichier de configuration. Adresse d'entre, Adresse de sortie, Adresse de diagnose : adresses pour les entres et sorties ou pour l'enregistrement des donnes de diagnostic. Ces adresses se rapportent au module. Les adresses dj dfinies, les modes d'adressages utiliss dans la configuration et si cet emplacement est encore ditable dpendent des rglages gnraux (Settings) et des dfinitions dans le fichier de configuration. Ne pas changer les adresses automatiquement :cette option n'est disponible que si cela a t dfini dans le fichier de configuration. Si elle est active, le module est exclu lors d'un Calcul automatique des adresses. Charger description du module : Si cette option est dsactive (elle l'est par dfaut), le module ne sera pas pris en compte lors d'un tlchargement. On dfinit dans le fichier de configuration *.cfg si l'option doit tre visible et ditable dans le prsent dialogue.

Vous trouverez de plus amples informations relatives au diagnostic dans la configuration d'automate : Une adresse de mmento doit tre saisie dans le champ Adresse de diagnostic, laquelle les informations de diagnostic sont automatiquement crites. Dans le cas des modules d'E/S normaux, la faon dont l'adresse de diagnostic est traite dpend de la configuration spcifique du matriel. Pour les systmes de Bus CAN ou Profibus DP, les adresses de diagnostic sont soumises aux points suivants : Il faut spcifier une adresse mmento partir de laquelle se fera l'enregistrement des informations de diagnostic. Ces informations sont cres dans une structure GetBusState contenue dans une bibliothque spcifique au fabricant (par exemple BusDiag.lib de 3S - Smart Software Solutions GmbH). Aprs qu'une tche CEI ait envoy ses donnes de processus aux module E/S ou lu ces donnes partir des modules, tous les modules sont rgulirement invit remplir la structure de diagnostic GetBusState.

6-28

CoDeSys V2.3

6 - Ressources

Si un des participants disponibles sur le bus annonce une erreur, ses donnes spcifiques de diagnostic peuvent tre lues avec le module DiagGetState (galement dfini dans la bibliothque ci avant nomme). Cette fonction n'est cependant active que si le Bus principal a galement t configur dans le cadre de CoDeSys. Voyez ci-dessous les paramtres d'entre et de sortie pour le bloc fonctionnel DiagGetState, appel pour la lecture des informations de diagnostic pour un participant de Bus prcis. Variables d'entre du DiagGetState: ENABLE: BOOL; DRIVERNAME: POINTER STRING; L'excution du module dbute avec un front montant Nom du pilote (adresse du nom) vers lequel l'ordre de diagnostic doit TO tre envoy. Si vous introduisez 0, l'ordre de diagnostic sera envoy tous les pilotes disponibles.

DEVICENUMBER:INT; Identification du bus qui est gr partir de ce module (pilote). titre d'exemple, le pilote Hilscher peut grer jusqu' 5 cartes (bus). L'index commence zro. BUSMEMBERID: DWORD; Identification univoque et spcifique au bus / au module du participant de bus. (p.ex. NodeID dans le cas d'un carte CANopen, adresse du participant dans le cas d'une carte PB-DP)

Variables de sortie du DiagGetState : READY: BOOL ; STATE:INT; TRUE : le traitement de l'ordre de diagnostic est termin. Si READY = TRUE, STATE donne des renseignements sur le statut actuel du module au moyen d'une des valeurs ci-dessous. Elles sont affectes des constantes globales : -1: paramtre d'entre incorrect (NDSTATE_INVALID_INPUTPARAM:INT;) 0: le module ne fonctionne pas (NDSTATE_NOTENABLED:INT;) 1: le module lit les informations de diagnostic (NDSTATE_GETDIAG_INFO:INT;) 2: les informations de diagnostic sont maintenant disponibles (NDSTATE_DIAGINFO_AVAILABLE:INT;) 3: pas d'informations de diagnostic disponibles (NDSTATE_DIAGINFO_NOTAVAILABLE:INT;)

EXTENDEDINFO: Jusqu' 100 octets pour les donnes de diagnostic du participant de ARRAY [0..129] OF bus, spcifiques au fabricant. Un octet est rserv pour chaque BYTE; participant de bus possible, et les bits 0 - 2 sont utiliss comme suit : Bit 0 : le participant de bus est disponible dans la configuration. Bit 1 : le participant de bus est disponible sur le bus. Bit 2 : le participant de bus indique une erreur.

CoDeSys V2.3

6-29

Configuration de l'automate

6.6.6

Paramtres voie / Customer paramtres d'un module E/S


Dialogue de Paramtres voie

Les paramtres donns dans le fichier dappareils sont visualiss. On ne peut procder ldition que dans la colonne Valeur. Index : il sagit dun numro courant (i) qui numrote les paramtres au sein du module. Nom : nom du paramtre Valeur : valeur modifiable du paramtre La valeur par dfaut est tout d'abord affiche. Les valeurs peuvent tre affiches directement ou par le biais dun nom symbolique. Elles peuvent tre dites, pour autant que les entres du fichier de configuration ne soient pas rgles sur 'Lecture seule', en ouvrant un champ de saisie au moyen dun clic sur la valeur ou en slectionnant une autre valeur dans une liste de dfilement. Si la valeur mentionne un fichier, un double-clique sur cette valeur ouvre une bote de dialogue 'Ouvrir fichier' qui vous permet alors de slectionner un autre fichier. Prfrence : valeur par dfaut du paramtre Min. : valeur minimale du paramtre (uniquement si reprsentation directe des valeurs) Max. : valeur maximale du paramtre (uniquement si reprsentation directe des valeurs) Le cas chant, vous pouvez obtenir des informations supplmentaires sur le paramtre actuellement slectionn par le biais dune info-bulle. La bote de dialogue des paramtres spcifiques lapplication peut apparatre la place de la bote de dialogue des paramtres du module. Cest le cas lorsquune bote de dialogue pour les paramtres spcifiques lapplication a t 'rattache' pour le module concern au moyen dune DLL Hook.Paramtrage d'un canal

6-30

CoDeSys V2.3

6 - Ressources

6.6.7

Paramtre de base d'un canal


Bote de dialogue des paramtres de base d'un canal

Commentaire : informations supplmentaires au sujet du canal. Un commentaire prdfini ventuel peut tre dit ou un nouveau commentaire peut tre saisi dans ce champ. Id. de la voie : identification globale univoque du canal. Classe : indique si le canal est utilis comme entre (I), comme sortie (Q) ou comme entre et sortie (I&Q), ou encore sil est permutable en tant que tel (I|Q). Si le canal est permutable, vous pouvez le faire par le biais de la commande 'Extras' 'Remplacer llment'. Taille : taille du canal [octets] Default identifier : nom symbolique du canal attribu dans le fichier de configuration. Le nom du canal est attribu dans le fichier de configuration. Seulement si le module pre est configur en consquence, il peut tre dit dans larborescence de configuration. Adresse : ce champ de saisie napparat que lorsquil a t activ via une entre dans le fichier de configuration. Vous pouvez introduire ici ladresse du canal souhait. Paramtre voie d'un canal Conformment la bote de dialogue des paramtres d'un module E/S, cette bote de dialogue sert la visualisation et la modification des valeurs paramtres du canal : Index, Nom, Valeur, Prfrence, Min., Max.. Comme cest le cas pour les modules, elle peut tre remplace par une bote de dialogue 'Custom Parameters' spcifique lapplication. Canaux binaires Les canaux binaires sont automatiquement insrs lorsquun canal dispose dans le fichier de configuration de lentre CreateBitChannels=TRUE. Les paramtres de base dans le cas des canaux binaires ne comprennent que le champ de saisie Commentaire.

CoDeSys V2.3

6-31

Configuration de l'automate

6.6.8

Configuration de modules Profibus


CoDeSys repose sur une configuration de matriel conformment au standard PROFIBUS-DP. Il faut pour ce faire disposer d'un fichier de configuration qui permette l'insertion de modules Profibus. Un systme PROFIBUS-DP se compose d'un ou de plusieurs matre(s) et de ses (leurs) esclaves. Pour que les appareils puissent changer des donnes entre eux via le bus, ils doivent tout d'abord tre configurs. Lors de la mise en service suivant ces configurations, chaque matre paramtre les esclaves qui lui ont t attribus lors de la configuration. En fonctionnement, un matre envoie des donnes ses esclaves respectifs et/ou exige de leur part des donnes. La configuration des appareils matres et esclaves se base dans CoDeSys sur des fichiers GSD. Ces fichiers GSD (GerteStammDaten = donnes principales des appareils) sont fournis par le fabricant des appareils et comprennent une description uniformise des caractristiques d'un appareil PROFIBUS-DP. Veillez ce que les fichiers GSD ncessaires soient prsents dans le rpertoire dfini pour les fichiers de configuration avant de dmarrer le programme CoDeSys. Les appareils adquats peuvent alors tre insrs dans l'arborescence de configuration via des dialogues et on peut procder l'adaptation de leurs paramtres. Un ou plusieurs esclave(s) peu(ven)t tre rattach(s) un matre. Si un DP matre est marqu dans l'arborescence de configuration, les dialogues suivants (choix en fonction de la dfinition au sein du fichier de configuration) peuvent tre choisis par le biais de leur onglet : paramtres de base, paramtres DP, paramtres de bus, paramtres de module. Le second onglet porte ventuellement un autre titre que "Paramtres DP" dfini dans le fichier de configuration. Si un DP esclave rattach un DP matre est marqu, vous obtenez les dialogues suivants : paramtres de base, paramtres DP, entres/sorties, paramtres d'utilisateur, assignation un groupe, paramtres de module. Par contre, si un DP esclave est configur comme esclave au niveau matre, les dialogues suivants sont ncessaires la configuration : paramtres de base, paramtres DP, entres/sorties, paramtres de module.

Paramtre de base d'un DP-Matre La bote de dialogue des paramtres de base dun DP matre correspond celle des autres modules (voir chapitre 6.6.5, Paramtres de base d'un module E/S). Paramtre DP d'un DP-Matre Cette bote de dialogue indique les paramtres ci-dessous du DP esclave, repris hors du fichier d'appareils (le dialogue porte ventuellement un autre titre dfini dans le fichier de configuration). Info Fabricant, rvision GSD, numro d'identification, version du matriel et version du logiciel, nom du fichier (GSD)

Adresses Adresse de station : la gamme possible va de 0 126. Chaque nouvel appareil insr dans le bus se voit automatiquement attribuer l'adresse directement au dessus. (Veuillez noter : l'adresse 126 est l'adresse d'esclave par dfaut). Une saisie manuelle est possible, et un contrle est effectu la recherche d'adresses attribues deux fois. Numro de station la plus haute : L'adresse la plus haute (HSA) attribue dans le bus est affiche. Vous pouvez saisir une adresse infrieure pour rduire la zone GAP (il s'agit de la gamme d'adresses qui est parcourue la recherche de nouveaux appareils actifs).

6-32

CoDeSys V2.3

6 - Ressources

Bote de dialogue des paramtres DP pour DP matre

Le bouton Fichier GSD vous permet d'ouvrir et de visualiser le fichier GSD relatif aux appareils. Le bouton Groupes vous donne accs la bote de dialogue 'Caractristiques des groupes'. Les caractristiques de groupe se rapportent aux esclaves affects au matre. Vous pouvez amnager jusqu' huit groupes. Dterminez pour chaque groupe s'il doit fonctionner en mode Freeze et/ou en mode Sync. Grce au classement des esclaves en diffrents groupes (voir ci-dessous : 'Caractristiques des DP esclaves', 'Assignation un groupe'), l'change de donnes peut tre synchronis via une commande de contrle global partir du matre. Par la commande Freeze, le matre ordonne un esclave ou un groupe de geler ses entres dans leur tat momentan et de transmettre ces donnes lors de l'change de donnes suivant. Une commande Sync oblige les esclaves transmettre aux sorties les donnes reues par le matre lors de l'change de donnes suivant et ce de manire synchrone lors de la prochaine commande Sync. Pour (ds)activer les options Freeze et Sync d'un groupe, cliquez l'aide du bouton gauche de la souris sur l'endroit correspondant du tableau de faon placer/enlever un 'X' auprs de l'option souhaite, tandis que le bouton droit de la souris vous permet d'activer ou de dsactiver cette option via un menu contextuel. En outre, vous pouvez diter les noms des groupes.
Paramtre DP du DP matre / Caractristiques dau groupe

CoDeSys V2.3

6-33

Configuration de l'automate

Paramtre de bus d'un DP-Matre Le jeu des paramtres de bus dcrit le comportement de la communication dans le temps. Les valeurs des paramtres individuels sont automatiquement calcules sur base des donnes contenues dans les fichiers GSD et en fonction du Dbit en bauds rgl par lutilisateur, pour autant que loption Optimisation automatique soit active.
Attention : Les valeurs calcules automatiquement ne sont que des valeurs approximatives !
Paramtres de bus du DP matre

Tous les paramtres peuvent galement tre dits manuellement selon votre gr. Taux en bauds [kBits/s] Vous pouvez choisir entre les rglages effectus dans le cadre du fichier GSD ; vous ne pouvez cependant rgler quun dbit de transmission qui sera support par tous les esclaves Optimiser automatiquement Si cette option est active, les rglages effectus dans le dialogue 'Paramtres de bus' sont optimiss sur base des donnes contenues dans les fichiers GSD; vous ne pouvez procder une dition de ces valeurs que si loption est dsactive. Attention : les valeurs calcules automatiquement ne sont que des valeurs approximatives ! Il sagit du temps maximum durant lequel le matre, aprs un tlgramme dappel, attend le premier signe dun tlgramme de rponse de la part de lesclave. min. TSDR (en Tbit) : temps minimal de raction aprs lequel un participant de bus peut rpondre (min. 11 Tbit) max TSDR (en Tbit) : dure maximale accorde lesclave pour une rponse. TQUI (en Tbit): Temps d'inactivit qui doit tre respect lors d'une conversion de signaux NRZ (Non Return to Zero) en dautres codages (temps de commutation pour le rpteur) TTR (en Tbit): dure de rotation nominale dun jeton ; dure projete durant laquelle le matre devrait recevoir un jeton. Elle est le rsultat de la somme des temps de retenue du jeton par tous les matres du bus. Facteur G dactualisation GAP : nombre de cycles de bus aprs lequel des nouvelles stations actives sont recherches dans le GAP du matre (gamme dadresses partir de la propre adresse jusqu ladresse du participant actif suivant). Nombre maximal de nouvelles tentatives dappel par le matre, lorsque ce dernier na pas reu de rponse valable de la part de lesclave. Temps entre deux cycles de bus, durant lequel un esclave peut traiter une requte du matre (base = 100 s). La valeur introduite ici doit tre fonction des donnes par dfaut contenues dans les fichiers GSD des esclaves. Temps maximal aprs lequel le demandeur (DP matre de niveau 2)

Slot Time

Min.Station Delay Max.Station Delay Quiet Time

Target Rotation Time

Gap Update Factor

Max. Retry Limit Min. Esclave Interval

Poll Timeout

6-34

CoDeSys V2.3

6 - Ressources

doit aller chercher la rponse du matre lors dune communication matre-matre (base = 1ms). Data Control Time Temps durant lequel le matre communique son tat de fonctionnement ses esclaves. En mme temps, le matre vrifie si un change de donnes effectives a lieu avec les esclaves et actualise la liste Data_Transfer_List. Valeur de temps pour la surveillance de la rponse (keep alive). Le rglage nest pas actuellement support (rgl sur 400ms).

Watchdog Time

Paramtre de base d'un DP-Esclave La bote de dialogue des paramtres de base dun DP esclave correspond celle des autres modules (voir chapitre 6.6.5, Paramtres de base d'un module E/S). Paramtre DP d'un DP-Esclave Cette bote de dialogue indique les paramtres ci-dessous du DP esclave, repris hors du fichier d'appareils (le dialogue porte ventuellement un autre titre dfini dans le fichier de configuration):
Bote de dialogue Paramtre DP d'un DP esclave

Info Paramtres dfaut

Fabricant, rvision GSD, numro d'identification, version du matriel et version du logiciel, nom du fichier (GSD), Type de slave de Numro d'identification: numro univoque d'identification attribu par le PNO pour ce type d'appareil. Ceci permet une rfrence univoque entre le DP esclave et le fichier GSD correspondant TSDR (Tbit*): Time Station Delay Responder: temps de raction aprs lequel l'esclave doit au plus tt rpondre au matre (min. 11 Tbit) * TBit: unit de temps pour la transmission d'un bit par PROFIBUS, inverse du dbit de transmission ; par exemple 1 Tbit 12MBaud=1/12.000.000 Bit/sec=83ns Lock/Unlock: l'esclave est bloqu ou libr pour d'autres matres :

CoDeSys V2.3

6-35

Configuration de l'automate

0: le TDSR min. et les paramtres spcifiques l'esclave peuvent tre crass ; 1: esclave libr pour d'autres matres, 2: esclave bloqu pour d'autres matres, tous les paramtres sont repris ; 3: esclave nouveau libr pour d'autres matres Identification Activation Adresse de station (voir ,Paramtres DP du matre DP&lsquo;), Nom de station (correspond au nom de l'appareil, ditable) l'esclave est actif/non actif dans la configuration actuelle. Si vous n'optez pas pour l'activation, les donnes de configuration des esclaves seront transmises au coupleur lors d'un tlchargement, mais un change de donnes via le bus ne peut se produire. Si Contrle Watchdog est activ, la dure introduite cet effet vaut (surveillance de la rponse, base = 10 ms). Si le matre ne s'adresse pas l'esclave durant ce temps, ce dernier revient son tat d'initialisation.

Watchdog (surveillance)

Entre/Sorties d'un DP-Esclave


Bote de dialogue pour la configuration des entres / sorties d'un DP esclave

La procdure suivre pour la configuration de l'esclave est diffrente selon qu'il s'agisse d'un esclave 'modulaire' ou d'un esclave non modulaire 'fixe'. La slection des modules pour l'esclave modulaire s'effectue comme suit : Vous slectionnez le module d'entre ou de sortie que vous souhaitez en cliquant dessus dans la liste de gauche et vous le copiez dans la fentre de droite par le biais du bouton >>. Des entres incorrectes peuvent tre corriges en slectionnant le module non souhait dans la fentre de droite et en appuyant sur le bouton Effacer. Les modules insrs sont immdiatement repris dans l'arborescence de configuration. S'ils y sont marqus, vous avez accs au dialogue adquat Module Profibus, qui reprend les adresses d'entre, de sortie et de diagnostic du module. Si un canal appartenant ce module est marque, vous avez accs au dialogue Canal Profibus qui affiche

6-36

CoDeSys V2.3

6 - Ressources

l'adresse du canal. Vous pouvez dfinir pour ces deux dialogues un autre titre dans le fichier de configuration. Comme l'on doit tenir compte de la longueur maximale des donnes (Longueur max. de l'entre, Longueur max. de la sortie, Longueur max. de l'entre / de la sortie) et du nombre maximal de modules (No. max. de modules) indiqus dans le fichier GSD, ces informations sont affiches dans les deux listes de modules. Le bloc de gauche reprsente les valeurs maximales possibles pour l'appareil, le bloc de droite reprsente la somme des valeurs atteintes par la configuration slectionne. En cas de dpassement des valeurs maximales, un message d'erreur s'affiche. La bote de dialogue numre dans la fentre de gauche tous les modules d'entre et de sortie disponibles dans le fichier GSD de l'esclave tandis que la fentre de droite contient la configuration slectionne actuellement pour cet appareil en matire d'entres et de sorties. S'il s'agit d'un esclave modulaire (appareil qui peut tre quip de diffrents modules d'entre et de sortie), la slection s'effectue comme suit : vous slectionnez le module d'entre ou de sortie que vous souhaitez en cliquant dessus dans la liste de gauche et vous le copiez dans la fentre de droite par le biais de la touche >>. Des entres incorrectes peuvent tre corriges en slectionnant le module non souhait dans la fentre de droite et en appuyant sur le bouton Effacer. Ce mode de slection n'est pas possible auprs des esclaves non modulaires. Ceux-ci imposent immdiatement une reprsentation fixe de leurs entres et sorties dans la fentre de droite. Le bouton Caractristiques vous donne accs la bote de dialogue 'Caractristiques du module' relative au module d'entre ou de sortie actuellement slectionn dans la liste de gauche ou de droite. Celle-ci indique le Nom, la Configuration (codification de la description du module selon la norme PROFIBUS) et la Longueur de l'entre (octets) ainsi que la Longueur de la sortie (Octets) du module en Octets. Si, dans le fichier GSD, la description du module comprend, en plus du jeu standard de paramtres, des paramtres spcifiques, ceux-ci sont numrs avec leur valeur et leur plage de valeur. Si vous activez l'option Noms symboliques, les noms symboliques seront utiliss.
Bote de dialogue pour la caractristiques de entres/sorties d'un DP-Esclave

Paramtre de l'utilisateur d'un DP-Esclave Diffrents paramtres tendus et dfinis dans le fichier GSD pour un DP esclave sont numrs ici. La colonne Paramtre vous donne le nom du paramtre. Les valeurs de paramtres introduites dans la colonne Valeur peuvent tre modifies par un double-clic ou via le bouton droit de la souris. En outre, la plage de valeur est affiche. Si des noms symboliques ont t attribus aux paramtres dans le fichier GSD, loption Noms symboliques peut tre active de faon ce que les valeurs soient affiches avec ces derniers.

CoDeSys V2.3

6-37

Configuration de l'automate

titre dinformation, le tableau indique en outre la longueur des paramtres de l'utilisateur en octets.
Bote de dialogue pour les paramtres d'utilisateur pour un DP esclave

Assignation des groupes d'un DP-Esclave


Bote de dialogue pour lassignation un groupe dun DP esclave

Cette bote de dialogue sert assigner lesclave un ou plusieurs des huit groupes possibles. Les caractristiques des groupes (Mode Sync et/ou Mode Freeze) gnralement acceptes cet gard sont dfinies lors de la configuration des caractristiques du matre (voir 'Caractristiques du DP matre', 'Caractristiques des groupes'). On accde galement cette bote de dialogue par le biais du bouton Caractristiques globales du groupe.

6-38

CoDeSys V2.3

6 - Ressources

Le(s) groupe(s) auxquel(s) lesclave est assign est (sont) marqu(s) dun signe plus. Lassignation ou lcartement dun esclave par rapport au groupe seffectue en slectionnant le nom du groupe dans la colonne Appartenance un groupe, puis en slectionnant 'Ajouter un esclave au groupe' ou 'carter un esclave du groupe' par le biais du bouton droit de la souris, ou encore en cliquant nouveau gauche du nom du groupe. Un appareil esclave ne peut tre assign quaux groupes dont il supporte les caractristiques. Les caractristiques de chaque esclave ce sujet (Mode Sync / Mode Freeze) sont indiques dans la partie suprieure du tableau. Les modes supports par lappareil sont munis dun crochet. Paramtre de module d'un DP-Esclave La bote de dialogue des paramtres de module dun DP esclave correspond celle des autres modules: Les paramtres qui ont t attribus lesclave en plus des paramtres DP et dutilisateur dans le fichier de configuration sont reprsents ici, et leurs valeurs peuvent normalement tre dites. Caractristiques d'un DP esclave lors d'un fonctionnement esclave du Profibus Si le Profibus est exploit en mode esclave, lappareil esclave est rattach au niveau du matre. La configuration est possible par le biais de quatre onglets : Paramtres de base Paramtres DP Paramtres de module Entres / Sorties

6.6.9

Configuration CAN
CoDeSys supporte une configuration de matriel conforme au projet de norme CANopen 301. Il faut pour ce faire disposer d'un fichier de configuration qui permette l'insertion de modules CAN. Les fichiers EDS (Electronic Data Sheet) ou DCF (Device Configuration File) crs dans le rpertoire destin aux fichiers de configuration peuvent tre utiliss lors de la configuration dans les limites de leur dfinition dans le fichier de configuration. Les possibilits de configuration d'un module CAN sont dfinies dans un fichier EDS. Si un module dfini dans un fichier DCF est insr, alors seules les adresses CEI peuvent tre modifies, tant donn que ce module dj t entirement configur dans un configurateur CAN. Les modules CAN obtiennent une configuration qui permet de dcrire leur comportement eu gard au temps et aux erreurs lors de l'change d'informations (bote de dialogue des paramtres CAN d'un module CAN). En plus, un mappage des PDO (Process Data Objects) est dfini pour chaque module, servant l'envoi ou la rception (bote de dialogue Recevoir et Envoyer mappage PDO). Les valeurs des SDO (Service Data Objects) disponibles peuvent tre adaptes (bote de dialogue Service Data Objects). Grce la bote de dialogue des paramtres de module, vous pouvez configurer les paramtres supplmentaires d'un module CAN ou d'un matre CAN, indiqus dans le fichier d'outils.

Paramtres de base d'un CAN-Matre La bote de dialogue des paramtres de base dun matre CAN correspond celle des autres modules (voir chapitre 6.6.5, Paramtres de base d'un module E/S).

CoDeSys V2.3

6-39

Configuration de l'automate

Paramtre CAN d'un CAN-Matre


Bote de dialogue des paramtres CAN pour matre CAN

Vous pouvez dfinir ici les rglages globaux et les paramtres de surveillance pour le Bus CAN : Configurez le Dbit en bauds qui doit tre utilis pour la transmission, au moyen de l'option correspondante. En ce qui concerne les PDO (Process Data Object), on distingue le mode de transmission synchrone du mode de transmission asynchrone (voir les proprits PDO). Le message de synchronisation est envoy avec un numro univoque Sync.COB-Id (Communication Object Identifier), dans l'intervalle de temps spcifi dans la zone Com.munication Cycle Period, en microsecondes. Activer : cest uniquement lorsque cette option est active quun envoi de messages de synchronisation a lieu entre le matre et les esclaves. Les PDO synchrones sont transmis immdiatement aprs le message de synchronisation dans la fentre de temps (Sync. Window Length en microsecondes). Si les champs Comm. Cycle Period et Sync. Window Length sont dfinis avec 0, aucun message de synchronisation n'est envoy.

Le Node-Id sert identifier de faon univoque le module CAN. Il correspond au numro configur dans le module lui-mme et est compris entre 1 et 127. L'Id doit tre entr en dcimal. ( ne pas confondre avec le 'Numro de nud' qui est en outre utilis dans la configuration de lautomate !)

6-40

CoDeSys V2.3

6 - Ressources

Si l'option Dmarrer automatiquement est active, alors le bus CAN est initialis et lanc automatiquement lors du tlchargement et de l'amorage de l'automate programmable. Dans le cas contraire, le bus CAN doit tre lanc l'intrieur du projet. Si loption Supporter DSP301,V4.01 et DSP306 est active, des esclaves modulaires ainsi que des extensions supplmentaires relatives aux normes DSP301 V3.01 et DSP306 seront supportes. Dans ce cas, la cadence pour la fonction despionnage Heartbeat peut par exemple tre rgle (Heartbeat Matre [ms]:), cette fonction pouvant tre utilise comme alternative la fonction Nodeguarding. Contrairement cette dernire, les Heartbeats peuvent tre envoys partir de tous les modules CAN indpendamment les uns des autres. Normalement, on procde une configuration telle que le matre envoie les Heartbeats aux esclaves. Paramtre de module d'un CAN-Matre La bote de dialogue des paramtres d'une module CAN correspond celle des autres modules: Les paramtres qui ont t attribus au matre en plus des paramtres CAN dans le fichier de configuration sont reprsents ici, et leurs valeurs peuvent normalement tre dites. Paramtres de base d'un module CAN La bote de dialogue des paramtres de base dun CAN-esclave correspond celle des autres modules (voir chapitre 6.6.5, Paramtres de base d'un module E/S). Dans Adresse d'entre et Adresse de sortie, on entre, pour une configuration CAN, les adresses CEI qui permettent d'accder aux PDO (Process Data Object) dans le projet. Le sens (entre ou sortie) est dtermin par rapport au module. Paramtre CAN d'un module CAN Les paramtres CAN dun module CAN ne reprenant pas la fonction globale de surveillance en tant que 'matre' se diffrencient de ceux dun CAN-Matre. Section Gnral : Le ID de nud sert identifier de faon univoque le module CAN. Il correspond au numro configur dans le module lui-mme et est compris entre 1 et 127. L'Id doit tre entr en dcimal. Si Ecrire DCF est activ, un fichier DCF est cr aprs qu'un fichier EDS ait t insr dans le rpertoire configur et rserv aux fichiers de compilation. Le nom de ce fichier reprend le nom du fichier EDS, derrire lequel on accole le Node-Id. Si loption Crer tous les SDO est active, des SDO sont crs pour tous les objets, pas uniquement pour les objets modifis. Si loption Remettre le nud zro est active, lesclave procde une remise zro ds que la configuration est charge sur lautomate. Section Nodeguard : (alternative la fonction Heartbeat) Si l'option Nodeguarding est active, alors un message est envoy au module dans l'intervalle de temps spcifi au niveau de Guard Time, en millisecondes. Si le module ne rpond pas par le Guard COB-ID (Communication Object Identifier) spcifi, alors l'tat Timeout est attribu au module. Si le nombre de tentatives (Life Time Factor) est puis, alors le module est jug invalide. L'tat du module est affich au niveau de l'adresse de diagnose (voir ci-dessus). Si rien n'est spcifi dans Guard Time et dans Life Time Factor (0), il n'existe pas de contrle du module.
Section Configuration Heartbeat : (alternative la fonction Nodeguard)

Si loption Activer gnration heartbeat est active, le module envoie les Heartbeats selon les intervalles indiqus sous Heartbeat Producer Time: en ms. Si loption Activer consommateur heartbeat est active, le module obit aux Heartbeats qui sont envoys par le matre. Ds que de tels Heartbeats ne sont plus reus, le module met les E/S hors circuit.

CoDeSys V2.3

6-41

Configuration de l'automate

Bote de dialogue de paramtres CAN pour un module CAN

Section Emergency Telegram :

Un module envoie des messages Emergency avec un COB-Id univoque dans le cas o des erreurs internes surviennent. Ces messages, propres chaque module, sont affichs au niveau de l'adresse de diagnose. Derrire le bouton Info se cachent les donnes "FileInfo" et "DeviceInfo" du fichier EDS ou DCF du fabricant du module donn. Choix de modules CAN pour esclaves modulaires Les modules disponibles pour l'esclave modulaire sont numrs dans la colonne de gauche. Composez votre propre slection l'aide des boutons Ajouter et Effacer ; cette slection est affiche dans la colonne de droite (Modules slectionns). La slection PDO et SDO est modifie en consquence. Envoyer mappage PDO d'un module CAN Les onglets Recevoir mappage PDO et Envoyer mappage PDO de la bote de dialogue Configuration d'un module CAN permettent de modifier le "mappage" du module dfini dans le fichier EDS.

6-42

CoDeSys V2.3

6 - Ressources

Bote de dialogue pour lenvoi de mappage PDO

Sur le ct gauche se trouvent tous les objets "mappables" du fichier EDS, qui peuvent tre ajouts aux PDO (Process Data Object) situs du ct droit (bouton >>) et tre nouveau supprims (bouton Supprimer). Les StandardDataTypes peuvent tre insrs afin de crer des espaces vides l'intrieur du PDO. Le bouton Insrer PDO permet de crer des PDO supplmentaires et de leur affecter des objets appropris. L'affectation des entres et des sorties aux adresses CEI s'effectue par l'intermdiaire des PDO insrs. Les configurations effectues sont affiches dans la configuration de l'automate une fois que l'on a quitt la bote de dialogue. A cet endroit, des noms symboliques peuvent tre attribus aux diffrents objets. Les proprits des PDO, dfinies dans la norme, peuvent tre dites au moyen de Proprits.
Proprits PDO Dialogue

Chaque message PDO ncessite un COB-Id (Communication Object Identifier) univoque. Si une des options du module n'est pas supporte ou s'il n'est pas permis de modifier la valeur, alors le champ apparat en gris et il n'est pas possible de l'diter. Inhibit Time est le temps minimum entre deux messages d'un PDO donn. Cela permet d'empcher que des PDO transmis aprs la modification de la valeur ne soient envoys trop souvent. Le Groupe de priorit CMS ne peut pas tre modifi. Il dfinit la priorit relative des PDO pour la transmission CAN. Les numros affichs vont de 0 7, le chiffre 0 correspondant la priorit maximale.

CoDeSys V2.3

6-43

Configuration de l'automate

Type de transmission vous permet d'accder une slection des diffrents modes de transmission pour un module donn: acyclique - synchrone: le PDO est transmis en mode synchrone mais non priodique. cyclique synchrone: le PDO est transmis en mode synchrone et Numro Sync's indique le nombre de messages de synchronisation existant entre deux transmissions, pour ce mme PDO. synchrone RTR seulement: le PDO est actualis aprs un message de synchronisation, mais n'est pas envoy. Il n'est transmis qu' la suite d'une demande explicite (Remote Transmission Request). asynchrone RTR seulement: le PDO est actualis et transmis uniquement la suite d'une demande explicite (Remote Transmission Request). asynchrone spcifique au profile de l'appareil et asynchrone - spcifique au fabricant: le PDO est transmis uniquement aprs certains vnements. Numro Sync's : selon le type de transmission, ce champ est ditable pour permettre la saisie du nombre de messages de synchronisation (dfinition dans la bote de dialogue des paramtres CAN, Com. Cycle Period, Sync Window Length, Sync. COB-Id) aprs lequel le PDO doit nouveau tre envoy. Event-Time : selon le type de transmission, lintervalle de temps entre deux transmissions de PDO est indiqu ici en millisecondes (ms). Service Data Objects Tous les objets du fichier EDS ou DCF compris dans la zone allant de Index 0x2000 0x9FFF et identifis comme des objets dfinissables sont numrs ici.
Bote de dialogue pour la configuration des Service Data Objects (SDO)

Un Index, un Nom, une Valeur, un Type et un Prfrence sont spcifis pour chaque objet. La valeur peut tre modifie. Slectionnez la valeur de votre choix et appuyez sur la <Barre d'espacement>. Aprs que la modification ait t effectue, vous pouvez confirmer la valeur au moyen de la touche <Entre> ou la rejeter au moyen de la touche <Echap>. Les valeurs configures sont transmises aux modules CAN sous forme de SDO (Service Data Object), au moment de l'initialisation du bus CAN.
Remarque : Tout type de donnes pour lequel il n'existe pas de compatibilit entre CANopen et la norme CEI61131, est remplac dans CoDeSys par le type de donnes CEI-61131 qui est le plus proche et de taille plus grande que le type d'origine.

6-44

CoDeSys V2.3

6 - Ressources

6.6.10 Configuration CANDevice (CANopen-Esclave)


Un automate programmable CoDeSys peut apparatre dans un rseau CAN sous la forme d'un esclave CANopen (galement appel N&oelig;ud CANopen et dsign dans la suite par CanDevice). Pour ce faire, l'automate peut tre configur dans le configurateur d'automate CoDeSys, et la configuration peut tre sauvegarde comme fichier d'appareil (fichier EDS). Ce fichier EDS peut alors tre utilis au gr dans une configuration de Matre CANopen. Conditions pour la cration d'un CanDevice dans le configurateur d'automate CoDeSys : Les bibliothques - 3S_CanDrv.lib - 3S_CanOpenManager.lib - 3S_CanOpenDevice.lib sont relies au projet CoDeSys. Elles sont ncessaires afin de pouvoir exploiter un automate comme appareil CANopen. Dans le fichier de configuration (*.cfg) servant de base, il y a dj une entre approprie pour un CanDevice, si bien que l'on puisse insrer un sous-lment 'CanDevice' dans le configurateur d'automate et le paramtrer dans les trois dialogues de configuration ci-dessous: - Configuration de base - Configuration CAN - Default PDO-Mapping Configuration de base, CANDevice
Bote de dialogue pour Configuration de base

Nom de bus: actuellement inutilis. Nom de la tche mise jour: nom de la tche dans laquelle a lieu l'appel du CanDevice. Gnrer fichier EDS: si un fichier EDS a t cr ici partir des configurations, cela afin de pouvoir insrer le CanDevice dans n'importe quelle configuration matre, cette option doit tre active et le nom du fichier EDS doit tre indiqu. En option, on peut galement indiquer un fichier modle cr manuellement (Dfaut pour fichier EDS) auquel la configuration du CanDevice peut tre ajoute. titre d'exemple, vous pouvez sauvegarder certaines entres qui seraient pertinentes pour plusieurs fichiers EDS dans un fichier

CoDeSys V2.3

6-45

Configuration de l'automate

texte "EDS_template.txt" et indiquer ce fichier cet emplacement. Lorsqu'un fichier EDS "device_xy.eds" est alors cr pour la configuration CanDevice partir du projet actuel, les entres dans ce fichier sont sauvegardes en mme temps que celles de "EDS_template.txt" dans "device_xy.eds". (Veillez ne pas utiliser l'extension ".eds" pour le modle!) Lorsque des entres dj dfinies dans le modle sont cres partir du projet, les donnes du modle ne sont pas crases. Configuration CAN, CANDevice
Bote de dialogue pour Configuration CAN

Vous pouvez configurer ici l'ID noeud' ainsi que le Taux de baud. L'ID n&oelig;ud est le numro du n&oelig;ud grce auquel le matre peut s'adresser l'appareil dans le rseau CANopen. Il est possible de configurer les fonctions Garde-ID COB et le Tlgramme d'urgence. Reportezvous pour ce faire aux descriptions ad hoc pour la configuration des autres modules CAN et matres. (Heartbeat n'est actuellement pas encore support.)

6-46

CoDeSys V2.3

6 - Ressources

Dfault PDO-Mapping, CANDevice


Bote de dialogue pour Dfault PDO-Mapping

On peut dfinir ici l'attribution des entres dans un rpertoire local d'objets (Gestionnaire des paramtres) aux PDO qui sont mises / reues par le CanDevice. Les PDO sont alors disposition lors de l'utilisation du CanDevice dans une configuration matre pour le mappage PDO local. Dans le gestionnaire des paramtres, la liaison avec les variables de l'application est tablie dans les entres (rpertoire de variables) par le biais de l'index/du sous-index. Notez que le sous-index 0 d'un index comprenant plus d'un sous-index est implicitement utilis pour la mention du nombre de sousindex. Les objets (paramtres) d'un index doivent tre saisis par ordre croissant (aprs le sous-index) dans une liste de paramtres. Liste des objets mappables: Slectionnez dans la liste des paramtres la liste de variables pour les entres desquelles le CanDevice doit crer des PDO. En fonction de la liste slectionne, les objets apparaissent dans la fentre de slection gauche. La configuration des PDO est cre dans la fentre de droite (PDO's). Grce aux boutons Insrer PDO de rception et Insrer PDO d'envoi, vous pouvez crer en dessous des lments de dossier 'PDO de rception' et 'PDO d'envoi' des PDO servant l'envoi ou la rception. Afin d'attribuer un des PDO d'envoi / de rception un objet de la liste de gauche, marquez cet objet dans la fentre de gauche ainsi que le PDO dans la fentre de droite, puis appuyez sur le bouton >>. L'objet est alors rattach en dessous du PDO dans la fentre de droite. Les Proprits du PDO peuvent tre dfinies par le biais du dialogue obtenu partir de la configuration des modules CAN sous un matre. Le bouton Effacer permet d'effacer de la configuration le PDO actuellement marqu dans la fentre de droite.

CoDeSys V2.3

6-47

Configuration de l'automate

Exemple: But : La variable PLC_PRG.a doit tre reue sur le premier PDO de rception (COB-Id = 512 + NodeId) du CanDevice. Un index / sous-index doit donc tre reli la variable PLC_PRG.a dans un rpertoire de variables dans le gestionnaire des paramtres: Afin d'ouvrir le gestionnaire des paramtres, ce dernier doit tre activ dans la Configuration du systme cible sous 'Fonctions de rseau', et il doit tre paramtr avec des plages d'index / de sous-index pertinentes. Ensuite, l'entre d'index / de sous-index doit tre attribue comme entre de mappage un PDO dans la bote de dialogue pour le mappage PDO par dfaut du CanDevice.

6.6.11 La configuration de l'automate en mode en ligne


La configuration de l'automate en mode en ligne En mode En Ligne, l'diteur de configuration affiche les tats des entres et sorties de l'automate. Si une entre ou une sortie de type boolen a la valeur 'TRUE', alors la petite bote situe devant l'entre ou la sortie est visualise dans l'arborescence de configuration en bleu, tandis que des valeurs non boolennes sont compltes la fin de l'entre (p. ex."=12"). Les entres de type boolen peuvent tre actives/dsactives en cliquant avec la souris, alors que dans le cas des autres entres une bote de dialogue s'affiche pour entrer la nouvelle valeur et pour autant que vous ayez clique sur le dbut de la ligne. La nouvelle valeur est active dans l'automate programmable ds que la confirmation a t effectue au moyen de OK. Notez en outre, selon le systme cible, les possibilits de Diagnostic En ligne.

6.6.12 Analyse matrielle/Informations/Diagnostic du systme cible


Si le systme cible et le fichier de configuration utilis le supportent, vous pouvez appeler, partir du systme cible, des informations relatives la configuration et au statut actuel ainsi qu'au diagnostic des modules de matriel existants, et utiliser ou afficher ces informations dans la Configuration de l'automate dans CoDeSys. Numriser la configuration du module Si le systme cible et le fichier de configuration actuel le supportent, la commande Numriser la configuration du module est disponible dans le menu contextuel pour le module actuellement marqu dans la Configuration de l'automate. Cette commande n'est disponible qu'en mode Hors ligne et fait que la configuration de matriel actuelle de ce module puisse tre lue partir de l'automate programmable et que les sous-n&oelig;uds ventuellement disponibles dans l'arborescence de configuration puissent tre proposes pour insertion. Si le fichier de configuration le permet, on peut ainsi illustrer d'une manire simple dans CoDeSys la configuration existante du module. Charger l'tat du module Si le systme cible et le fichier de configuration actuel le supportent, la commande Charger l'tat du module est disponible dans le menu contextuel pour le module actuellement marqu dans la Configuration de l'automate. Cette commande n'est disponible qu'en mode En ligne et fait que le statut actuel du module puisse tre lu partir de l'automate programmable et qu'il soit affich dans l'arborescence de configuration dans une couleur spcifique : Noir : le module est disponible et est correctement paramtr. Bleu : le module est disponible mais n'est pas correctement paramtr. Rouge : le module n'est pas disponible. Cette reprsentation du statut s'effectue galement automatiquement chaque tlchargement.

6-48

CoDeSys V2.3

6 - Ressources

Afficher les messages de diagnose Si le systme cible et le fichier de configuration actuel le supportent, la commande Afficher les messages de diagnostic est disponible dans le menu contextuel pour le module actuellement marqu dans la Configuration de l'automate. Cette commande n'est disponible qu'en mode En ligne et fait que les informations actuelles relatives au diagnostic du module puissent tre lues partir de l'automate programmable et affiches dans une fentre.

6.7 Configuration des tches


6.7.1 Aperu de la Configuration des tches
Lexcution dun projet peut tre commande non seulement via le programme spcial PLC_PRG, mais galement via le gestionnaire des tches. Une tche est une unit d'excution dans le droulement dun programme CEI. Elle est dfinie par un nom, une priorit et un type, qui dtermine la condition de son dmarrage. Cette condition est soit dfinie dans le temps (intervalles cycliques, spontan), soit par un vnement interne ou externe qui dclenche la tche devant tre excute ; par exemple le front montant dune variable globale de projet ou un vnement d'interruption de lautomate. Chaque tche peut se voir attribuer une suite de programmes qui devront tre excuts lors de lexcution de la tche. Linteraction des priorits et des conditions dtermine lordre chronologique selon lequel les tches seront excutes. Vous pouvez configurer un Contrle de temps (Watchdog) pour chaque tche. Lexcution de la tche peut tre suivie en mode En ligne dans une reprsentation graphique. Vous pouvez en outre associer directement des vnements dans le systme (p.ex. Start, Stop, Reset) lexcution dun module de projet. est contenue sous forme dobjet dans longlet Ressources de La configuration des tches lOrganisateur dobjets. Lditeur des tches se prsente sous la forme dune fentre scinde en deux.
Exemple de configuration des tches

Les tches sont reprsentes dans la partie gauche de la fentre sous la forme dune arborescence de configuration. La premire ligne contient 'Configuration des tches', ensuite lentre 'vnements dans le systme' puis les entres pour chaque tche individuelle reprsentes par les noms de tches. Les appels de programme correspondants sont rattachs en dessous de chaque entre de tche.

CoDeSys V2.3

6-49

Configuration des tches

La partie droite de la fentre est rserve au Dialogue des caractristiques de lentre marque dans larborescence de configuration. Les tches individuelles, appels de programme ou vnements dans le systme peuvent tre dfinis ici. Les possibilits de configuration disponibles dans la bote de dialogue des caractristiques sont spcifiques au systme cible et sont dfinies en format XML par le biais dun fichier descriptif rfrenc dans le fichier cible. Si les dfinitions standard ont t compltes par des dfinitions spcifiques au client, celles-ci sont disponibles pour la configuration dans un onglet supplmentaire 'Paramtres' dans la partie droite de la fentre.
Remarque : Il est conseill de ne pas utiliser les mmes fonctions de chanes de caractres (voir Bibliothque standard standard.lib) dans plusieurs tches car un crasement pourrait dans ce cas survenir lors de lexcution des tches.

6.7.2

Travailler avec le configurateur de tches


Vous trouvez les commandes les plus importantes dans le menu contextuel (touche droite de la souris). Les mots "Configuration des tches" sont crits dans len-tte de la configuration des tches. Si un signe plus se trouve devant ce mot, alors la liste des entres des tches est masque. En doublecliquant sur la liste ou en appuyant sur la touche <Entre>, celle-ci est affiche. Un signe moins apparat alors et il suffit de double-cliquer nouveau pour masquer la liste. Une liste d'appels de programmes, pouvant galement tre affiche ou masque, est relie chaque tche. La commande 'Insrer' 'Insrer une tche' permet dinsrer une tche aprs lentre marque. La commande 'Insrer' 'Ajouter sous-lment' permet dajouter une tche la fin de larborescence de configuration. La commande 'Insrer' 'Ajouter Appel de programme' permet dajouter un appel de programme une tche marque dans larborescence de configuration. La configuration dune entre slectionne dans larborescence de configuration seffectue dans la bote de dialogue des caractristiques situe dans la partie droite de la fentre, en (ds)activant les options ou par des entres dans les champs de saisie. Vous avez alors accs la bote de dialogue permettant la dfinition des caractristiques des tches (voir 'Insrer tche'), la bote de dialogue permettant lajout dun appel de programme (voir 'Insrer' 'Ajouter Appel de programme'), ou encore le tableau des vnements dans le systme. Les rglages entrepris seront immdiatement repris dans larborescence de configuration et y seront affichs ds que celui-ci sera nouveau actif ( l'avantplan). Un nom de tche ou de programme peut galement tre directement dit dans larborescence de configuration. Pour ce faire, il faut cliquer sur le nom ou appuyer sur la barre d<Espace> en ayant pralablement marqu lentre ; une possibilit ddition souvre alors dans laquelle vous pouvez procder la modification du nom. Les touches directionnelles vous permettent de marquer dans larborescence de configuration lentre prcdente ou suivante.

'Insrer Tche' ou 'Ajouter sous-lment' Cette commande vous permet d'ajouter une nouvelle tche au niveau de la configuration des tches. Les entres se composent toutes d'un symbole et d'un nom de tche. Si vous slectionnez dans l'arborescence de configuration une entre de tche ou encore l'entre vnements dans le systme, la commande 'Insrer tche' est disponible. La nouvelle tche est insre aprs la tche slectionne. Si "Configuration des tches" est slectionne, alors la commande "Ajouter tche" est disponible et toute nouvelle tche est insre la fin de la liste existante. Le nombre maximal de tches est dfini par le systme cible. Notez qu'un certain nombre de tches est dj rserv le cas chant par la configuration de l'automate, pour certains modules (dfinition dans le fichier .cfg actuel).

6-50

CoDeSys V2.3

6 - Ressources

Lorsqu'une tche est insre, la bote de dialogue pour dfinir les attributs des tches est affiche.
Bote de dialogue pour la dfinition des attributs de tches

Entrez les attributs souhaits : Nom : il s'agit du nom de la tche, il sera galement affich dans l'arborescence de configuration ; ce nom pourra aussi tre dit en cet endroit en cliquant dessus ou en appuyant sur la barre d'<Espace>, ce qui aura pour effet d'ouvrir un champ de saisie. Priorit (0 - 31) : un chiffre dfinissant la priorit, 0 tant le plus prioritaire et 31 le moins prioritaire. Type: Cyclique ( Intervalle. ) : la tche est dmarre par cycles conformment au temps entr au champ

A repetion auto ( ) : la tche se dclenche au dmarrage du programme et est redmarre la fin de chaque excution. On ne donne pas de temps de cycle. Dclench par vnements ( ) : la tche est dmarre ds que la variable associe l'vnement obtient un front montant. Dclench par vnement externe ( ) : la tche est dmarre ds que l'vnement du systme associ l'vnement intervient. Les vnements supports prsents dans la liste de slection sont spcifiques au systme cible et sont galement dfinis via le fichier cible. Proprits : Intervalle (pour le type 'cyclique' ou 'spontan') : l'intervalle de temps aprs lequel la tche doit redmarrer. Si un nombre est saisi, l'unit - milliseconde [ms] ou microseconde [s] - peut tre choisie dans le champ de slection suivant le nombre. Les entres en millisecondes apparaissent en format TIME (p. ex. "t#200ms") ds que l'on passe autre chose; vous pouvez galement crire cet intervalle sur la ligne de saisie directement dans ce format. Pour les entres en microsecondes, le chiffre est seul reprsent (p. ex. "300"). (pour le type 'Dclench par vnements' ou 'Dclench par vnement externe') : une variable globale qui doit procder l'excution de la tche aprs un front montant. Le bouton ou la touche vous permet d'accder la liste de slection pour l'dition en vue de choisir parmi les variables globales disponibles.

CoDeSys V2.3

6-51

Configuration des tches

Si vous ne procdez aucune entre dans les deux champs, l'intervalle d'excution dpend du systme d'excution utilis (reportez-vous cet effet la documentation spcifique du systme d'excution ; par exemple, un intervalle de 10 ms est insr dans CoDeSys SP NT partir de la version V2.2). Surveillance Activer surveillance Activez cette option ( ) si vous souhaitez que la tche se termine avec un statut d'erreur ds que l'excution de celle-ci dpasse le temps de surveillance allou sous la rubrique 'Temps' (mcanisme de surveillance (Watchdog). Temps (p. ex. : t#200ms) : temps de surveillance; aprs ce temps, le mcanisme de surveillance est activ moins que la tche ne se soit interrompue d'elle-mme. Sensibilit : nombre de dpassements du temps de surveillance pouvant tre accept sans que l'automate ne se mette en mode d'erreur. 'Insrer' 'Ajouter appel de programme' ou 'Insrer' 'Insrer appel de programme Ces commandes vous permettent douvrir la bote de dialogue pour entrer un appel de programme relatif une tche, lintrieur de la configuration des tches. Lentre dans larborescence de configuration se compose dun symbole ( ) et du nom du programme. La commande "Insrer appel de programme" entrane linsertion du nouvel appel de programme devant lappel de programme slectionn, alors que la commande "Ajouter appel de programme" permet dinsrer l'appel de programme la fin de la liste existante des entres de programmes.
Bote de dialogue pour lentre dun appel de programme

Saisissez dans le champ Appel de programme un nom de programme valide dans votre projet ou bien ouvrez la liste de slection pour ldition au moyen du bouton ... ou de la touche <F2> pour choisir parmi les noms de programme valides. Le nom du programme peut encore tre modifi dans larborescence de configuration pour autant que lentre de programme ait t slectionne. Pour ce faire, ouvrez un champ ddition en cliquant sur le nom ou en appuyant sur la barre <Espace>. Si le programme slectionn ncessite des variables dentre, spcifiez-les de la manire habituelle, en utilisant le type dclar (p.ex. . prg(invar:=17)).

6.7.3

vnements dans le systme


Outre une tche, un vnement du systme (Event) peut galement appeler lexcution dun module du projet. Les vnement du systme utilisables cet effet dpendent du systme cible (dfinition en format XML par le biais dun fichier descriptif rfrenc dans le fichier cible). Ils se composent de la liste des vnements standard de systme relatifs lautomate et ventuellement des vnements supplmentaires spcifiques au fabricant. Des vnements possibles sont par exemple Stop, Start, Changement En ligne. L'assignation des vnements de systme chaque module appeler seffectue par le biais de la bote de dialogue vnements qui souvre ds que lentre " Evnements dans le systme" est marque dans larborescence de configuration.

6-52

CoDeSys V2.3

6 - Ressources

Tableau pour la dfinition des tches d'vnements du systme

Chaque vnement est reprsent sur une ligne du tableau : Nom et Description sont repris hors de la description du systme cible, et vous pouvez insrer dans la colonne Module appel POU le module du projet qui doit tre excut lors de lintervention de lvnement. Pour ce faire, vous pouvez utiliser la liste de slection pour ldition (<F2>) ou saisir manuellement le nom dun module existant (par exemple "PLC_PRG" ou "PRG.ACT1") ou encore le nom dun module qui nest pas encore disponible. De faon crer ce dernier au sein du projet, appuyez sur le bouton Crer un module. Le module apparat alors dans lOrganisateur dobjets et contient automatiquement dans la partie Dclaration les dfinitions des paramtres ventuellement ncessits pour lvnement. Ce paramtrage dun vnement ncessit selon les circonstances est galement reprsent graphiquement en tant que module en dessous de la liste dattribution, et ce ds que lentre correspondante est marque dans le tableau. Lappel dun module par lvnement ne se produit que lorsque lentre est active, savoir lorsque la case dans la premire colonne est munie dun crochet ( ). Lactivation ou la dsactivation seffectue par le biais dun clic sur cette case.

6.7.4

Configuration des tches en mode En Ligne


En mode En ligne, le statut et le nombre de cycles excuts pour chaque tche est indiqu dans larborescence de configuration, et le comportement dans le temps peut tre suivi par le biais dune reprsentation graphique. Il faut pour ce faire que les bibliothques SysTaskInfo.lib et SysTime.lib soient associes au projet. Les fonctions de bibliothques sont utilises de manire interne pour valuer lexcution des tches. Affichage du statut dans larborescence de configuration : Pour chaque tche, le statut actuel ainsi que le nombre de cycles dj excuts sont repris en mode En ligne entre les symboles < et > aprs lentre de la tche : le cycle dactualisation pour cet affichage correspond celui de tout autre espionnage. Voici les tats possibles : Idle Running pas excut depuis la dernire mise jour, ceci vaut principalement pour des tches vnementielles excut au moins une fois depuis la dernire mise jour

CoDeSys V2.3

6-53

Configuration des tches

Stop Stop on BP

arrt arrt, point darrt atteint dans cette tche

Stop on Error erreur, par exemple division par zro, erreur de pagination, etc. Stop Watchdog dpassement du temps de cycle

Lentre de la tche vire au rouge dans les cas 'Stop on Error' et 'Stop Watchdog'.

Reprsentation graphique de lvolution dans le temps de la tche La charge est reprsente pour toutes les tches sous la forme dun graphique en histogramme dans la fentre de droite ds que lentre 'Configuration des tches' est marque dans larborescence de configuration.
Affichage de la charge de tche en mode En ligne

Chaque tche est reprsente par une barre, dont la longueur indique la dure du cycle. Les mesures suivantes sont indiques de gauche droite en dessous de et galement dans la barre par des marquages adquats : Min : Akt : Max : Zyklus : Jitter : temps d'excution minimal mesur en s temps d'excution mesur en dernier lieu en s temps d'excution maximal mesur en s Dure totale du cycle en s gigue maximale mesure en s

Le bouton Remettre zro permet de remettre zro les valeurs Min. , Max. et Gigue. Lchelle de la reprsentation graphique (microsecondes par pixel) peut tre rgle via une liste de slection chelle [s/Pixel]. Fonctions En ligne supplmentaires dans le menu contextuel ou dans le menu 'Extras' : 'Dfinir tche de dbogage' 'Afficher hirarchie d'appel'

6-54

CoDeSys V2.3

6 - Ressources

Quelle tche est traite? Les rgles dexcution suivantes sappliquent: Toute tche est excute si sa condition est vrifie, c.--d. ds que le temps spcifi pour lintervalle est coul ou aprs un front montant de la variable conditionnelle associe lvnement. Si la condition dexcution de plusieurs tches est vrifie, alors la tche possdant la plus haute priorit est excute. Si les conditions dexcution de plusieurs tches de mme priorit sont vrifies, alors la tche ayant le dlai dattente le plus long est excute. 'Extras' 'Dfinir tche de dbogage' Dans le cas des systmes cible avec "environnement multitches premptif", cette commande permet, en mode En ligne, de spcifier une tche dans la configuration des tches; cette tche sera alors dbogue. Le texte "[DEBUG]" apparat alors derrire l'entre de la tche dans l'arborescence de configuration. Les fonctions de dbogage ne s'appliquent qu' cette tche, autrement dit, le programme ne s'arrte un point d'arrt que si le programme est parcouru par la tche spcifie. La dfinition de la tche de dbogage est enregistre dans le projet et est automatiquement reprise lors d'une ouverture de session / lors d'un tlchargement. Extras' 'Activer/Dsactiver tche' Cette commande permet de (ds)activer la tche qui est marque dans la configuration des tches. Une tche dsactive n'est pas prise en compte dans l'excution du programme. Cette mme tche inactive est reprsente en gris clair dans l'arborescence de configuration. 'Extras' 'Afficher hirarchie d'appel' Lorsquun point darrt est atteint durant un dbogage, la hirarchie dappel du module concern peut tre dtermine par le biais de cette commande. Il faut pour ce faire slectionner la tche de dbogage dans larborescence de configuration de la configuration des tches. La fentre Hirarchie dappel de la tche <nom de la tche> souvre affichant le module dans lequel un point darrt a t dfini (p.ex. "prog_x (2)" pour la ligne 2 du module prog_x). Viennent ensuite les entres des positions de module appelantes, en ordre inverse. Si vous appuyez sur le bouton Aller vers, on accde la position marque.

6.8 Gestionnaire d'espion et de recettes


6.8.1 Aperu de la Gestionnaire d'espion et de recettes
Le gestionnaire d'espion et de recettes permet d'afficher les valeurs des variables choisies. Le gestionnaire d'espion et de recettes permet aussi de praffecter des valeurs dtermines des variables et de les transfrer en une fois vers l'automate programmable ('Ecrire la recette'). De mme, des valeurs actuelles de l'automate programmable peuvent tre rcupres et enregistres comme praffectations dans le gestionnaire d'espion et de recettes ('Lire la recette'). Ces fonctions sont par exemple utiles pour configurer et enregistrer les paramtres de rglage. Toutes les listes d'espion cres ('Insrer' 'Nouvelle liste d'espion') sont affiches dans la colonne de gauche du gestionnaire d'espion et de recettes et peuvent tre slectionnes en cliquant avec la souris ou au moyen des touches directionnelles. Dans la partie droite du gestionnaire d'espion et de recettes sont affiches les variables correspondantes. Pour travailler avec le gestionnaire d'espion et de recettes, ouvrez l'objet Gestionnaire d'espion et de recettes dans l'onglet Ressources de l'Organisateur d'objets. En mode hors ligne, il est possible de crer dans le gestionnaire d'espion et de recettes plusieurs listes d'espion en utilisant la commande 'Insrer' 'Nouvelle liste d'espion'.

CoDeSys V2.3

6-55

Gestionnaire d'espion et de recettes

Pour entrer les variables que l'on souhaite observer, il est possible d'appeler une liste de toutes les variables au moyen de la Liste de slection pour l'dition. On peut aussi entrer les variables via le clavier, en respectant la formulation suivante: <Nom de module>.<Nom de variable> Pour les variables globales, le nom du module n'est pas prcis. Elles commencent par un point. Le nom de variable peut son tour comporter plusieurs lments. Il est possible d'entrer les adresses directement. Exemple de variable plusieurs lments: PLC_PRG.Instance1.Instance2.Structure.Nom_composant Exemple de variable globale: .global1.component1
Gestionnaire d'espion et de recettes en mode hors ligne

Des valeurs constantes peuvent tre praffectes aux variables de la liste d'espion, autrement dit, en mode En Ligne, ces valeurs peuvent tre crites dans les variables au moyen de la commande 'Extras' 'Ecrire la recette'. Pour ce faire, la valeur constante doit tre affecte la variable par les signes ":=":
Exemple : PLC_PRG.TIMER:=50

Dans l'exemple, la valeur 6 est praffecte la variable PLC_PRG.COUNTER.

6.8.2

Gestionnaire d'espion et de recettes en mode autonome

'Insrer' 'Nouvelle liste d'espion' Cette commande permet d'insrer une nouvelle liste d'espion dans le gestionnaire d'espion et de recettes. Entrez le nom que vous souhaitez attribuer la liste d'espion, dans la bote de dialogue qui apparat. 'Extras' 'Renommer liste d'espion' Cette commande permet de modifier le nom d'une liste d'espion dans le gestionnaire d'espion et de recettes. Entrez dans la bote de dialogue qui apparat le nouveau nom de la liste d'espion. 'Extras' 'Charger l'histogramme' Cette commande permet de charger nouveau un histogramme stock. La bote de dialogue pour l'ouverture des fichiers s'affiche. Slectionnez un fichier avec l'extension "*.trc". La commande 'Extras' 'Stocker l'histogramme' permet de stocker un histogramme.

6-56

CoDeSys V2.3

6 - Ressources

'Extras' 'Enregistrer liste d'espion' Cette commande permet d'enregistrer une liste d'espion. La bote de dialogue pour enregistrer un fichier s'ouvre. Le nom du fichier est prdfini avec le nom de la liste d'espion, auquel vient s'ajouter l'extension "*.wtc". La liste d'espion enregistre peut tre nouveau charge au moyen de la commande 'Extras' 'Charger liste d'espion'. 'Extras' 'Charger liste d'espion' Cette commande permet de charger nouveau une liste d'espion enregistre. La bote de dialogue pour l'ouverture des fichiers s'affiche. Slectionnez le fichier voulu parmi ceux qui possdent l'extension "*.wtc". Dans la bote de dialogue qui s'affiche, vous pouvez attribuer un nouveau nom la liste d'espion. Le nom de fichier a t prdfini sans extension. La commande 'Extras' 'Enregistrer liste d'espion' permet d'enregistrer une liste d'espion.

6.8.3

Gestionnaire d'espion et de recettes en mode En Ligne


Dans le mode En Ligne, les valeurs des variables entres sont affiches. Les valeurs structures (tableaux, structures ou instances de bloc fonctionnel) sont signales par un signe plus plac devant l'identificateur. En cliquant avec la souris sur le signe plus ou en appuyant sur la touche <Entre>, la variable est affiche ou masque. Si une variable de bloc fonctionnel est marque dans la liste despionnage, les options 'Zoom' et 'Ouvrir l'instance' seront ajoutes au menu contextuel correspondant. Pour entrer de nouvelles variables, il est possible d'arrter l'affichage en utilisant la commande 'Extras' 'Espionnage actif'. Cette mme commande permet d'activer l'affichage des valeurs ds que les variables ont t entres.
Gestionnaire d'espion et de recettes en mode En Ligne

En mode hors ligne, des valeurs constantes peuvent tre affectes des variables (en entrant aprs la variable :=<Valeur>). Dans le mode En Ligne, ces valeurs peuvent maintenant tre crites dans les variables en utilisant la commande 'Extras' 'Ecrire la recette'. La commande 'Extras' 'Lire la recette' permet de remplacer la valeur praffecte une variable par sa valeur actuelle.
Remarque : Seules sont charges les valeurs appartenant une liste d'espion slectionne dans le gestionnaire d'espion et de recettes!

'Extras' 'Espionnage actif' Dans le mode En Ligne, cette commande permet d'arrter ou d'activer l'affichage dans le gestionnaire d'espion et de recettes. Lorsque l'affichage est activ, un crochet ( ) apparat devant l'lment de menu correspondant.

CoDeSys V2.3

6-57

Histogramme

Pour entrer de nouvelles variables ou pour praffecter une valeur une variable (voir mode hors ligne), il est ncessaire d'arrter l'affichage au moyen de cette mme commande. Cette mme commande permet d'activer l'affichage des valeurs ds que les variables ont t entres. 'Extras' 'Ecrire la recette' Lorsque le gestionnaire d'espion et de recettes travaille en mode En Ligne, cette commande permet d'crire les valeurs prdfinies (voir mode hors ligne) dans les variables.
Remarque : Seules sont charges les valeurs appartenant une liste d'espion slectionne dans le gestionnaire d'espion et de recettes!

'Extras' 'Lire la recette' Lorsque le gestionnaire d'espion et de recettes travaille en mode En Ligne, cette commande permet de remplacer les valeurs prdfinies des variables (voir mode hors ligne) par leurs valeurs actuelles.
Exemple : PLC_PRG.Counter [:= <valeur actuelle>] = <valeur actuelle> Remarque : Seules sont charges les valeurs appartenant une liste d'espion slectionne dans le gestionnaire d'espion et de recettes!

Forcer les valeurs des variables Le gestionnaire d'espion et de recettes propose galement les commandes 'Forcer valeurs des variables' et 'Ecrire valeur des variables'. En cliquant sur la valeur d'une variable, vous accdez la bote de dialogue qui permet d'entrer la nouvelle valeur pour cette variable. Les variables modifies sont affiches en rouge dans le gestionnaire d'espion et de recettes.

6.9 Histogramme
6.9.1 Apercu et Configuration
L'enregistrement des histogrammes est disponible dans CoDeSys ds que l'option correspondante est active dans la configuration du systme cible (catgorie 'Gnralits'). L'enregistrement de histogrammes assure l'enregistrement de l'volution de la valeur des variables dans un intervalle de temps dtermin. Ces valeurs sont enregistres dans une mmoire en anneau (tracebuffer). Si la mmoire est remplie, alors les valeurs les plus "anciennes" sont crases, en commenant par le dbut. Un maximum de 20 variables peuvent tre enregistres simultanment. Un maximum de 500 valeurs peuvent tre enregistres pour chaque variable. Etant donn que la dimension du tracebuffer l'intrieur de l'automate programmable est fixe, il est possible que le nombre de valeurs enregistres soit infrieur 500, dans le cas de variables trs nombreuses ou trs grandes (DWORD). Exemple : si 10 variables WORD doivent tre enregistres et si la mmoire l'intrieur de l'automate programmable a une capacit de 5000 octets, alors 250 valeurs peuvent tre enregistres pour chaque variable. Pour permettre l'enregistrement d'un histogramme, ouvrez l'objet Histogramme dans l'onglet Ressources de l'Organisateur d'objets. Crez ou chargez une configuration d'histogramme correspondante et dfinissez les variables d'histogramme qui doivent tre enregistres (voir 'Extras' 'Configuration de l'histogramme' et 'Slection des variables visualiser'). Aprs la cration de la configuration de la histogramme et dmarr l'enregistrement dans l'automate, au moyen de 'Dmarrer l'histogramme', les valeurs des variables sont enregistres. 'Lire l'histogramme' entrane l'extraction des dernires valeurs enregistres ainsi que la visualisation de ces valeurs sous forme de courbes dans un graphique.

6-58

CoDeSys V2.3

6 - Ressources

Un enregistrement d'histogrammes (valeurs de variables et configuration) peut tre sauvegard et nouveau charg dans le format du projet (*.trc) ou en format XML (*.mon). Le paramtrage de la configuration peut tre sauvegard et nouveau charg dans un fichier *.tcf. Plusieurs enregistrements peuvent tre disposition pour affichage dans le projet. Il sont repris dans une liste de slection ('Histogramme') dans le coin suprieur droit de la fentre d'histogramme. La configuration de l'histogramme devant tre actuellement utilis peut tre slectionn hors de cette liste. 'Extras' 'Configuration de l'histogramme' Cette commande vous permet d'obtenir une bote de dialogue pour entrer les variables enregistrer ainsi que les diverses options pour l'enregistrement de l'histogramme. La bote de dialogue peut galement tre ouverte en double-cliquant sur la surface grise de la bote de dialogue Enregistrement des histogrammes.
Bote de dialogue Configuration de l'histogramme

Attribuez tout d'abord un nom (Nom d'histogramme) la configuration. Elle apparatra ensuite sous ce nom dans la liste de slection 'Histogramme' dans le coin suprieur droit de la fentre 'Enregistrement des histogrammes', ds que le dialogue de configuration est confirm avec OK puis referm. Le champ Commentaire vous permet en outre d'insrer un texte votre gr. Dans un premier temps, la liste des Variables enregistrer est vide. Pour qu'une variable puisse y tre ajoute, celle-ci doit tre entre dans le champ situ en dessous de la liste. Ensuite, la variable peut tre ajoute la liste au moyen du bouton Insrer ou de la touche <Entre>. Pour ce faire, vous

CoDeSys V2.3

6-59

Histogramme

pouvez galement utiliser la Liste de slection pour l'dition. L'utilisation de variables d'numration est galement possible. Une variable est enleve de la liste en la slectionnant et en appuyant ensuite sur le bouton Effacer. Une variable boolenne ou une variable analogique (ou encore une variable d'numration) peut tre entre dans le champ Variable dclencheur. Pour ce faire, vous pouvez galement utiliser la liste de slection pour l'dition. La variable dclencheur sert dcrire la condition de terminaison de l'histogramme. Dans Niveau du dclencheur, spcifiez la valeur de la variable dclencheur analogique pour laquelle un vnement dclencheur se produit. Cette valeur peut galement tre indique par une constante ENUM. Si l'option positive a t active dans Front du dclencheur, alors l'vnement dclencheur survient aprs un front montant pour une variable dclencheur de type boolen ou encore si une variable dclencheur analogique franchit le niveau du dclencheur, du bas vers le haut. De faon analogue, si l'option ngative a t active, le dclenchement intervient aprs un front descendant ou lors d'un franchissement du haut vers le bas. Si l'option les deux a t active, alors le dclenchement intervient aprs un front descendant et un front montant, ou encore aprs un franchissement positif et un franchissement ngatif. Enfin, si l'option aucun a t active, aucun vnement dclencheur ne survient. Dans Position du dclencheur, spcifiez quel pourcentage des valeurs de mesure doit tre enregistr avant l'vnement dclencheur. Par exemple, si vous entrez 25, cela signifie que 25 % des valeurs de mesure sont visualises avant l'vnement dclencheur et 75 % aprs l'vnement dclencheur, aprs quoi l'histogramme est termin. Dans le champ Taux d'chantillonnage, vous pouvez spcifier l'intervalle de temps qui spare deux enregistrements en millisecondes, ou en microsecondes si le systme cible le supporte. La praffectation "0" signifie qu'un processus d'chantillonnage est effectu par cycle. Choisissez le mode d'appel des valeurs enregistres. Si Single est activ, alors le nombre de mesures spcifi dans le champ Nombre est visualis une fois. Si Permanent est activ, l'extraction de l'enregistrement des valeurs de mesure, pour le nombre de mesures spcifi, se rpte continuellement. Par exemple, si vous entrez "35" dans Nombre, cela signifie que la premire visualisation comporte les premires valeurs de mesure, de la 1re la 35me. Ensuite, l'enregistrement des 35 valeurs de mesure suivantes est appel (36me -70me ), et ainsi de suite. Si l'option Manuel est active, l'extraction de l'enregistrement de l'histogramme est ralise la demande, au moyen de la commande 'Extras' 'Lire l'histogramme'. Le mode d'appel fonctionne indpendamment du fait qu'une variable dclencheur a t dfinie ou non. Si aucune variable dclencheur n'est spcifie, alors le tracebuffer est rempli avec le nombre spcifi de valeurs de mesures et le contenu du tampon est lu et visualis lors de l'appel. Le bouton Enregistrer permet d'enregistrer dans un fichier la configuration de l'histogramme cre. Pour ce faire, accdez la bote de dialogue standard 'Fichier enregistrer sous'. Le bouton Charger vous permet de charger nouveau une configuration de l'histogramme place en mmoire. Pour cela, vous obtenez la bote de dialogue standard 'Ouvrir fichier'.
Remarque : Nous attirons votre attention sur le fait que les boutons Enregistrer et Charger de la bote de dialogue Configuration de l'histogramme s'appliquent uniquement la configuration et non aux valeurs d'un enregistrement de l'histogramme (contrairement aux options de menu 'Extras' 'Stocker l'histogramme' et 'Extras' 'Charger l'histogramme').

Si le champ 'Variable dclencheur' est vide, alors l'enregistrement de l'histogramme se poursuit indfiniment. Il peut tre termin expressment l'aide de la commande 'Extras' 'Arrter l'histogramme'.
Remarque : Si une configuration de tche est utilise pour la commande de l'excution du programme, la fonction d'histogramme se rapporte la Tche de dbogage (voir chapitre 6.6, Configuration des tches).

6-60

CoDeSys V2.3

6 - Ressources

Slection des variables visualiser Les zones de liste modifiable situes droite de la fentre de visualisation des courbes contiennent chacune toutes les variables d'histogramme dfinies dans la configuration de l'histogramme. Aprs qu'une variable ait t slectionne dans la liste et que le tracebuffer ait t lu, cette variable est reprsente dans la couleur correspondante (Var 0 vert etc.). Les variables peuvent aussi tre slectionnes lorsque des courbes ont dj t affiches. Un maximum de huit variables peuvent tre observes simultanment dans la fentre de l'histogramme. 'Extras' 'Lancer l'histogramme' Icne : Cette commande permet de transfrer la configuration de l'histogramme vers l'automate et de dmarrer l'enregistrement de l'histogramme dans l'automate programmable. 'Extras' 'Lire l'histogramme' Icne : Cette commande permet d'extraire le tracebuffer actuel de l'automate programmable et de visualiser les valeurs des variables slectionnes. 'Extras' 'Lecture automatique de l'histogramme' Cette commande permet d'extraire automatiquement le tracebuffer actuel de programmable et de visualiser continuellement les valeurs des variables slectionnes. l'automate

Si la lecture du tracebuffer se fait automatiquement, alors un crochet est mis devant l'lment de menu correspondant. 'Extras' Arrter l'histogramme' Icne : Cette commande arrte l'enregistrement de l'histogramme dans l'automate programmable.

6.9.2

Visualisation de l'histogramme
Histogramme avec des variables diffrentes avec dclencheur

CoDeSys V2.3

6-61

Histogramme

Le coin suprieur droit ('Histogramme') de la fentre d'histogramme reprend le nom de la configuration d'histogramme actuellement utilise, et un commentaire ventuellement disponible est affich dans le coin infrieur droit. Dans le cas o un tracebuffer est charg, les valeurs de toutes les variables visualiser sont extraites du tracebuffer et sont visualises. Si le champ Taux d'chantillonnage n'a pas fait l'objet d'une configuration, alors l'axe des X est gradu avec les numros d'chantillonnage successifs des valeurs enregistres. L'affichage de l'tat de l'enregistrement d'histogramme indique si le tracebuffer n'est pas encore rempli ou si l'enregistrement de l'histogramme est termin. Si une valeur a t spcifie pour le taux d'chantillonnage, alors l'axe des X indique le temps d'acquisition des valeurs de mesure enregistres. La valeur de mesure enregistre la plus "ancienne" reoit le temps 0. Dans l'exemple, les valeurs des 25 dernires secondes sont affiches. L'axe des Y est gradu avec des valeurs ayant le type de donnes appropri. La graduation est dispose de faon ce que la valeur la moins leve et la valeur la plus leve rentrent dans les limites de la fentre. Dans l'exemple, Var 0 possde comme valeur minimale 0 et comme valeur maximale 100, d'o la configuration de la graduation au niveau du bord gauche. Si la condition du dclencheur est vrifie, alors une ligne verticale discontinue est dessine entre les valeurs avant vrification de la condition et les valeurs aprs vrification de la condition. Une mmoire qui a t lue, est conserve aussi longtemps que l'on ne change pas de projet et que l'on ne quitte pas le systme. 'Extras' 'Afficher curseur' La mthode la plus rapide pour placer un curseur dans la fentre graphique est de cliquer avec la touche gauche de la souris dans la fentre. Le curseur peut tre dplac volont l'aide de la souris. Au-dessus de la fentre du graphique, vous pouvez lire la position actuelle du curseur sur l'axe des X. A ct des textes Var0, Var1, , VarN, la valeur de la variable correspondante est affiche. Vous pouvez parvenir au mme rsultat en slectionnant la commande 'Extras' 'Afficher curseur'. Avec cette commande, deux droites verticales apparaissent dans l'histogramme qui se trouvent d'abord l'une sur l'autre. Vous pouvez dplacer une de ces lignes vers la droite ou vers la gauche, au moyen des touches directionnelles. En appuyant sur <Ctrl>+<gauche> ou sur <Ctrl>+<droite>, selon le cas, vous pouvez acclrer le dplacement d'un facteur 10. En maintenant en plus la touche <Maj> enfonce, vous pouvez dplacer l'autre droite et la diffrence par rapport la premire droite est indique. 'Extras' 'Multivoie' Cette commande permet de basculer entre la visualisation monovoie et la visualisation multivoie de l'histogramme. Dans le cas d'une visualisation multivoie, un crochet est mis devant l'lment de menu. La visualisation multivoie est choisie comme configuration par dfaut. Dans ce cas, la fentre de visualisation est scinde en huit parties pour les courbes visualiser. Au niveau du bord, la valeur maximale et minimale pour chaque courbe est affiche sous forme de graduation. Dans le cas d'une visualisation monovoie, toutes les courbes ont la mme graduation et sont visualises de manire superpose. Cela peut tre utile pour visualiser des carts entre les courbes. 'Extras' 'Montrer la matrice' Cette commande permet d'activer ou de dsactiver l'affichage de la grille dans la fentre d'espion. Lorsque l'option est active, un crochet apparat devant l'option. 'Extras' 'Graduation Y' Cette commande permet de modifier la graduation prdfinie de l'axe des Y d'une courbe dans la visualisation de l'histogramme. En double-cliquant sur une courbe, vous avez accs au dialogue 'Graduation Y'. Tant que l'option Automatique est active, on utilise la graduation par dfaut, selon le type de variable concerne. Dans le cas d'numrations, les valeurs numratives correspondantes sont affiches

6-62

CoDeSys V2.3

6 - Ressources

comme libell d'chelle. Pour changer la graduation, dsactivez l'option 'Automatique', puis entrez dans la bote de dialogue le numro de la courbe de votre choix (Voie) et la nouvelle valeur maximale (Valeur Y max.) et la nouvelle valeur minimale (Valeur Y min.) sur l'axe des Y. Vous pouvez galement accder ce dialogue en double-cliquant sur une courbe. La voie et les valeurs actuelles de graduation sont affiches.
Bote de dialogue Graduation Y

'Extras' 'Etendre' Icne : Cette commande permet d'tirer (d'effectuer un zoom) les valeurs affiches. La position initiale peut tre ajuste au moyen de la barre de dfilement horizontale. Lorsque cette commande est excute plusieurs fois de suite, l'extrait d'histogramme affich est de plus en plus petit. Cette commande ralise le contraire de la commande 'Extras' 'Compresser'. 'Extras' 'Compresser' Icne : Cette commande permet de compresser les valeurs affiches dans l'histogramme. Autrement dit, cette commande permet de suivre l'volution des variables d'histogramme pendant une dure plus grande. Il est possible de rpter cette commande. Cette commande ralise le contraire de la commande 'Extras' 'Etendre'.

6.9.3

Enregistrer les valeurs de l'histogramme


Les commandes de ce menu servent enregistrer la configuration et les valeurs d'un enregistrement d'histogramme dans un fichier au format du projet, ou encore de charger ces valeurs partir d'un tel fichier. L'enregistrement peut en outre tre sauvegard dans un fichier ASCII.
Remarque: Notez les possibilits alternatives de sauvegarde et de chargement du menu 'Extras' 'Configurations de l'histogramme externes' (format XML, fichier *.mon)!

'Extras' 'Enregistrer les valeurs de l'histogramme' 'Enregistrer les valeurs de l'histogramme' Cette commande permet de stocker un histogramme. La bote de dialogue pour enregistrer un fichier s'ouvre. L'extension "*.trc" est ajoute au nom du fichier. Notez que dans ce cas, les valeurs de mesure et la configuration de l'histogramme sont enregistres dans le format du projet, alors que l'enregistrement au sein du dialogue de configuration ne concerne que la configuration elle-mme. Notez en outre que les valeurs de mesure et la configuration peuvent tre enregistres dans un fichier au format XML, voir ce sujet le menu 'Extras' 'Configurations de l'histogramme externes'. L'histogramme enregistr peut tre nouveau charg au moyen de la commande 'Extras' ''Enregistrer les valeurs de l'histogramme'' ' 'Extras' 'Charger l'histogramme'.
Remarque : Notez les possibilits alternatives de sauvegarde par le biais des commandes du menu 'Extras' 'Configurations de l'histogramme externes'.

CoDeSys V2.3

6-63

Histogramme

'Extras' 'Enregistrer les valeurs de l'histogramme' 'Charger l'histogramme' Cette commande permet de charger nouveau un histogramme stock. La bote de dialogue pour l'ouverture des fichiers s'affiche. Slectionnez un fichier avec l'extension "*.trc". L'enregistrement est reprsent dans la fentre d'histogramme et la configuration est reprise comme configuration actuelle dans le projet. La commande 'Extras' 'Enregistrer les valeurs de l'histogramme' 'Enregistrer les valeurs de l'histogramme' permet de stocker un histogramme. 'Extras' 'Valeurs dans le fichier ASCII' Cette commande permet de stocker un histogramme dans un fichier ASCII. La bote de dialogue pour enregistrer un fichier s'ouvre. L'extension "*.txt" est ajoute au nom du fichier. Les valeurs sont enregistres dans le fichier, selon le schma suivant: CoDeSys Trace D:\CODESYS\PROJECTS\FEUX.PRO Cycle PLC_PRG.COUNTER PLC_PRG.LIGHT1 021 121 221 ..... Si, dans la configuration de l'histogramme, le champ Taux d'chantillonnage n'a pas t dfini, alors le cycle figure dans la premire colonne, c.--d. qu'une seule acquisition a eu lieu par cycle. Dans le cas contraire, la premire colonne affiche le moment (en ms) auquel ont t enregistres les valeurs depuis le dmarrage de l'enregistrement de l'histogramme. Dans les colonnes suivante sont enregistres les valeurs correspondantes des variables d'histogramme. Les valeurs sont spares entre elles par un espace. Les noms de variable correspondants sont visualiss au niveau de la troisime ligne, l'un ct de l'autre et selon leur ordre de succession (PLC_PRG.COUNTER, PLC_PRG.LIGHT1).

6.9.4

Configurations de l'histogramme externes

'Extras' 'Configurations de l'histogramme externes Les commandes de ce menu servent enregistrer les configurations et les valeurs de l'histogramme, ou encore de charger ces mmes valeurs dans le projet partir de fichiers ou de l'automate programmable. En outre, une de ces configurations peut tre dfinie comme tant celle utiliser dans le projet.
Remarque: Notez les possibilits alternatives de sauvegarde et de chargement du menu 'Extras' 'Enregistrer les valeurs de l'histogramme' (format du projet, fichier *.trc, ASCII)!

Enregistrer dans le fichier Cette commande permet d'enregistrer un histogramme (configuration + valeurs) dans un fichier au format XML. Pour ce faire, vous avez accs au dialogue d'enregistrement de fichier. L'extension de fichier *.mon est automatiquement utilise. Un fichier *.mon peut tre charg dans le projet via la commande 'Charger du fichier'. Charger du fichier Cette commande permet de charger dans le projet un histogramme (configuration + valeurs) prsent dans un fichier au format XML. Pour ce faire, le dialogue d'ouverture des fichiers recherche automatiquement les fichiers avec l'extension *.mon. L'enregistrement d'histogramme charg est affich dans la fentre d'histogramme et est ajout la liste de slection dans le champ 'Histogramme' du dialogue de configuration. Pour en faire la configuration actuelle de projet, il faut slectionner la commande 'Reprendre en tant que configuration du projet'.

6-64

CoDeSys V2.3

6 - Ressources

Il est possible de crer un fichier *.mon via la commande 'Enregistrer dans le fichier'.
Remarque : Notez les possibilits alternatives de sauvegarde et de chargement du menu 'Extras' 'Enregistrer les valeurs de l'histogramme' (format du projet, fichier *.trc, ASCII)!

Enregistrer dans l'automate Cette commande permet, en mode En ligne, d'enregistrer sur l'automate programmable un enregistrement d'histogramme qui se trouve dans un fichier de format XML. Pour ce faire, vous avez accs au dialogue standard de slection de fichier, affichant tout d'abord et par dfaut les fichiers avec extension *.mon. Notez cet gard la possibilit d'enregistrer des configurations d'histogrammes en format XML dans de tels fichiers *.mon ('Extras' 'Enregistrer dans le fichier'). Voir en outre : 'Charger de l'automate'. Charger de l'automate Cette commande permet de charger dans le projet l'histogramme (configuration + valeurs, fichier au format XML) se trouvant actuellement sur l'automate programmable. Il est affich dans la fentre d'histogramme et peut tre repris dans la configuration actuelle du projet. Voyez galement cet effet : 'Enregistrer dans l'automate' Appliquer configuration du projet Cette commande vous permet de reprendre dans le projet la configuration d'histogramme (slectionne l'instant dans la fentre de slection 'Histogramme' du dialogue de configuration) comme tant la configuration actuellement active. La liste de slection vous propose, outre la configuration momentanment active ( la position suprieure), toutes les autres configurations qui ont dj t charges dans le projet avec la commande 'Charger du fichier' partir de fichiers *.mon (pour affichage par exemple).

6.10 Environnement de travail


Ce noeud dans le registre 'Ressources' contient une reprsentation des options de projet configures. (voir chapitre 4.2, options de projet). S'il est ouvert, le dialogue Options apparat l'cran, avec ses catgories connues.

6.11 Manager des paramtres


Apercu Le Gestionnaire des paramtres est un composant du systme de programmation CoDeSys qui est spcifique au systme cible, et il doit tre activ dans la configuration du systme cible. (voir chapitre 6.12). Le Gestionnaire des paramtres peut tre utilis pour avoir accs aux paramtres partir de tous les systmes compatibles CoDeSys dans le rseau, cela des fins d'change de donnes (normalement par bus de champ). Pour ce faire, il est possible de crer et de traiter des listes de paramtres dans l'diteur ; on peut galement les charger partir du ou sur le systme cible.
Remarque: Les listes de paramtres peuvent galement tre cres ou compltes directement par des instructions de Pragma au sein de dclarations.

Que sont les paramtres ? : ce niveau, il faut distinguer diffrents types de paramtres : Variables de processus du projet CoDeSys CEI Paramtres indpendants de processus

CoDeSys V2.3

6-65

Manager des paramtres

Paramtres systme spcifiques, prdfinis via le systme cible Instances de blocs fonctionnels ou variables structures, variables de type array Chaque paramtre est dfini par un jeu dfini d'attributs, comme p.ex. 'Valeur', 'Valeur par dfaut', 'Droits d'accs', et tout spcialement par une cl d'accs univoque ('Index', 'Sous-index', 'Nom'), laquelle donne accs l'entre dans la liste des paramtres afin de pouvoir lire ou crire des donnes. Cet change de donnes peut se faire via les services de communication, et il n'est pas ncessaire de connatre l'adresse des variables ou d'utiliser des fonctions supplmentaires. Ainsi, l'utilisation du gestionnaire des paramtres reprsente une alternative fonctionnelle l'utilisation de variables rseau. Que sont les listes de paramtres ? : Les listes de paramtres servent la gestion des paramtres, peuvent tre enregistres dans le projet et tre charges dans le systme cible actuellement rattach au programme CEI. chaque type de paramtres (voir ci-dessus) correspond un Type de liste. Chaque entre de paramtres est reprsente sur une ligne dans une liste de paramtres. Chaque colonne de la liste reprsente un des attributs du paramtre (p.ex. Index, Valeur par dfaut, ...). En plus d'un jeu dfini d'attributs standard, on dispose galement, pour la description d'un paramtre, d'attributs spcifiques aux fabricants. Les diffrentes dfinitions au sein d'un fichier descriptif spcifique au systme cible (odconfig.xml) dterminent les attributs (= colonnes dans l'diteur de gestionnaire des paramtres) visibles et ditables, ainsi que leur classification dans la liste des paramtres. S'il n'y a pas de fichier descriptif, le jeu standard et complet d'attributs sera affich, prdfinis avec les valeurs standard. Outre des listes de variables de projet et de constantes de projet, le Gestionnaire des paramtres peut galement grer des listes de paramtres systme. Ces dernires sont dfinies de manire fixe par le systme cible. En outre, on peut crer des listes d'arrays, d'instances de blocs fonctionnels ou de variables structures, ces listes reposant sur des Modles dfinis par l'utilisateur, ces derniers pouvant galement tre crs dans le Gestionnaire des paramtres. Comme les donnes sont gres indpendamment du programme CEI, on peut utiliser une liste de paramtres afin par exemple d'enregistrer des 'Recettes' qui seraient gardes si le programme est remplac par une version de programme diffrente. En outre, un automate programmable en cours pourrait tre aliment de diffrentes 'Recettes' sans que cela ne ncessite un tlchargement de programme.
Remarque : Le systme cible dtermine si les contenus du Gestionnaire des paramtres doivent tre repris dans un projet d'initialisation lors de la cration de ce dernier.

6.11.1 Manager des paramtres, Activer


Le Gestionnaire des paramtres doit tre activ dans la configuration du systme cible, catgorie Fonctions rseau (voir chapitre 6.12). Il faut galement dfinir ici les zones d'index et de sous-index pour les entres dans les listes de paramtres, cela pour les listes de paramtres du type paramtres, variables, et - si support par le systme cible - mappages (pour CAN Device PDO). Le systme cible dtermine dans quelle mesure l'utilisateur peut consulter ou diter ces rglages.

6-66

CoDeSys V2.3

6 - Ressources

6.11.2 Manager des paramtres, Editeur


Aperu Pour ouvrir l'diteur, slectionnez l'entre 'Gestionnaire des paramtres' l'onglet Ressources dans CoDeSys. Vous pouvez ici crer, diter et enregistrer des listes de paramtres, et changer celles-ci en mode En Ligne avec l'automate programmable actuellement connect.
Remarque: Afin de disposer de la fonctionnalit du gestionnaire des paramtres dans le projet CoDeSys, l'option 'Supporter gestionnaire des paramtres' doit tre active dans la configuration du systme cible, et les zones d'index et de sous-index correspondantes doivent tre dfinies !
L'diteur du gestionnaire des paramtres dans CoDeSys

La fentre d'diteur est divise en deux. La partie gauche sert la navigation, et elle affiche les listes de paramtres actuellement charges dans le gestionnaire des paramtres. La partie droite contient un diteur de listes, et les colonnes sont libelles avec les noms des attributs de paramtre. Dans la fentre de navigation, vous pouvez insrer, effacer, trier ou renommer des listes de paramtres de diffrents types (variables, paramtres (constantes), modles, instances, paramtres systme). .

CoDeSys V2.3

6-67

Manager des paramtres

Dans l'diteur de listes, vous devez insrer une ligne par entre de paramtres, cette ligne reprenant les attributs du paramtre. Chaque type de liste dispose d'une gamme spciale d'attributs (colonnes) qui sont soit ditables, soit simplement affichs. Cette gamme d'attributs peut tre dfinie par un fichier descriptif spcifique au systme cible ; on utilise sinon le rglage standard. La touche <F6> vous permet de passer de la fentre de navigation l'diteur de listes et vice-versa.
Remarque: Les listes de paramtres peuvent galement tre cres ou compltes directement par des instructions de Pragma au sein de dclarations.

En mode En ligne, vous pouvez charger les listes cres dans l'diteur sur le systme cible actuellement connect, ou bien vous pouvez avoir accs aux listes de paramtres prsentes dans le systme cible afin de procder des changes de donnes avec d'autres systmes au sein du rseau (tlchargement en amont, criture de valeurs). En outre, la fentre d'diteur affiche les valeurs actuelles d'excution des paramtres (espionnage). Tant qu'il n'y a pas communication tablie avec un systme cible, il est seulement possible de crer des listes de paramtres et de les enregistrer localement au niveau du projet.

6.11.3 Listes de paramtres: Types et Attributs


Le gestionnaires des paramtres peut grer les types de listes de paramtres ci-dessous : Variables: Les entres dans des listes de paramtres de ce type reprsentent des variables de processus du projet. Paramtres: Les entres dans des listes de paramtres de ce type reprsentent des donnes dont les valeurs sont indpendantes du processus. Paramtres du systme: Les entres dans des listes de paramtres de ce type reprsentent des constantes spciales indpendantes du processus et prdfinies par le systme cible. Les listes de paramtres systme ne peuvent tre effaces ou renommes. Modle: Un modle ne contient pas d'entres de paramtres auxquelles on peut avoir accs directement des fins d'change de donnes. Les entres servent plutt la configuration de base des composants d'un bloc fonctionnel prcis ou d'une structure. Cette configuration de base peut alors tre utilise pour la cration de listes de paramtres du type 'Instance'. Instance: Les entres dans des listes de paramtres de ce type reprsentent des entres de paramtres pour des variables de type bloc fonctionnel ou structure, en d'autres termes pour des instances et des variables structures. Afin de faciliter la cration de listes d'instances, on utilise un modle (voir plus haut) cr auparavant et galement au sein du gestionnaire des paramtres. Mappages: Ce type de liste n'est pas disponible s'il n'est pas support par le Systme cible. Les entres se composent de rfrences des variables de processus qui peuvent tre "mappes"dans un CAN-Device. En principe, il s'agit d'une liste de variables, fonctionnant sur sa propre zone d'index/de sous-index. Cette zone doit tre dfinie dans la configuration du systme cible, Catgorie Fonctions de rseau ! Le CAN-Device n'utilise dans ce cas que les entres dans les listes de type 'Mappage', alors que dans les autres cas, toutes les entres des listes de variables et d'instances sont proposes dans le dialogue 'Mappage PDO par dfaut' dans la configuration de l'automate. La reprsentation des diffrents types de listes au sein de l'diteur du gestionnaire des paramtres dpend du systme cible. Instances et Modles Une liste de paramtres de type 'Instance' ... ... gre des entres de paramtres qui reprsentent un bloc fonctionnel prcis, ou encore une variable structure ou un array. Chaque liste d'instances pour un bloc fonctionnel ou une variable structure se base sur un modle qui a galement du tre spcialement dfini dans le gestionnaire des paramtres pour le bloc fonctionnel ou la structure.

6-68

CoDeSys V2.3

6 - Ressources

Une liste de paramtres de type 'Modle' ... ... ne contient pas d'entres de paramtres auxquelles on peut avoir accs directement des fins d'change de donnes. On prdfinit ici plutt des dcalages d'index ou de sous-index ainsi que certains attributs pour les entres de paramtres qui reprsentent les composants d'un bloc fonctionnel prcis ou d'une structure. Ce modle peut alors tre utilis dans une liste de paramtres de type 'Instance' (voir plus haut), ce qui facilite la cration de listes de paramtres pour plusieurs variables de projet reprsentant les instances du mme bloc fonctionnel ou de la mme structure. Cration d'un Modle: Saisissez dans le champ POU de base le nom du bloc fonctionnel ou de la structure pour le(la)quel(le) le modle vaut. Vous pouvez utiliser la liste de slection pour l'dition (<F2>) afin d'oprer une slection parmi les modules de projet disponibles. Appuyez sur Appliquer afin de reprendre les composants du module slectionn dans l'diteur de listes. ditez ensuite les entres d'attributs puis refermez la liste afin qu'elle puisse tre disponible pour utilisation dans une liste d'instances. La commande Insrer les entres manquantes dans le menu contextuel ou dans le menu 'Extras' provoque une actualisation des entres l'tat actuel du module ayant servi de base (POU de base). Ceci s'avre ventuellement ncessaire ou souhaitable lorsque quelques entres ont t effaces dans la liste ou lorsque l'on a procd des changements dans le module de base. Afin de pouvoir crer des listes de paramtres d'instance pour des variables de type array, il n'est pas ncessaire de crer un modle dans le gestionnaire des paramtres. Le type de modle ARRAY est disponible de manire implicite. Cration d'une liste de paramtres d'instance : Choisissez le modle souhait dans le champ Modle. La liste de slection vous propose tous les modles actuellement disponibles dans le gestionnaire des paramtres pour des blocs fonctionnels et des structures, ainsi que le type de modle 'ARRAY'. Saisissez dans le champ Variable de base la variable de projet contenant les composants pour lesquels on doit crer des entres de paramtres. Cette variable doit tre du type du bloc fonctionnel, de la structure ou de l'array pour lequel le modle slectionn vaut. Saisissez un Index de base et un sous-index de base pour l'instance. Les valeurs saisies ici sont considrer comme des dcalages qui sont automatiquement ajouts aux valeurs d'index ou de sousindex dfinis pour chaque composant du modle (pour les array, on part chaque fois de 0). Le rsultat de l'addition est galement saisi automatiquement dans le champ d'attribut 'Index' ou 'Sous-index'. Par exemple, si vous saisissez ici l'index de base "3" pour un composant, et qu'un dcalage d'index de 3000 pour ce composant est dfini dans le modle, le composant sera fix l'index 3003. Appuyez sur le bouton Appliquer afin de reprendre les composants prdfinis dans l'diteur de listes. La commande Insrer les entres manquantes dans le menu contextuel ou dans le menu 'Extras' provoque une actualisation des entres l'tat actuel du modle utilis. Cela peut s'avrer utile lorsque des entres ont t effaces dans la liste des paramtres ou lorsque le modle a t chang.
Exemple de cration d'une liste de paramtres d'instance:

Crez un bloc fonctionnel fubo dans le projet avec les variables ci-dessous:a,b,c. Dfinissez les instances de bloc fonctionnel suivantes dans PLC_PRG: inst1_fubo:fubo;
inst2_fubo:fubo;.

Compilez le projet. Ouvrez le gestionnaire des paramtres afin de crer des listes de paramtres pour les variables inst1_fubo.a, inst1_fubo.b, inst1_fubo.c et inst2_fubo.a, inst2_fubo.b, inst2_fubo. Insrez d'abord pour ce faire une liste de type 'Modle' et nommez-la "fubo_template". Dfinissez le POU de base: "fubo".
Appuyez sur 'Appliquer' puis dfinissez quelques attributs pour les composants a,b,c. Saisissez par exemple

CoDeSys V2.3

6-69

Manager des paramtres

des dcalages d'index: pour a: 16#1, pour b: 16#2, pour c: 16#3. De mme pour les dcalages de sous-index, p.ex. a: 16#2, b: 16#3, c: 16#4.

Insrez alors une nouvelle liste de paramtres de type 'Instance'. Slectionnez le modle "fubo_template". Saisissez la variable de base "inst1_fubo". Dfinissez l'index de base: p.ex. 16#2300 ainsi qu'un sous-index de base de 30 (notez les zones d'index dfinies dans la configuration du systme cible !).Appuyez maintenant sur 'Appliquer' afin d'obtenir dans les entres de listes les index actualiss pour les composants a, b, et c, calculs par l'addition du dcalage de base et du dcalage dfini dans le modle: pour les index: 16#2301, 16#2302, 16#2303; et pour les sous-index:16#23, 16#33, 16#43.

Sur base de ces entres cres automatiquement, vous pouvez maintenant continuer diter la liste des paramtres.

6.11.4 Gestion des listes de paramtres


Insrer liste Raccourci clavier : Ins Afin d'insrer une nouvelle liste de paramtres dans le gestionnaire des paramtres, utilisez la commande 'Liste' dans le menu 'Insrer' ou encore la commande 'Insrer nouvelle liste' dans le menu contextuel. Ces commandes sont disponibles lorsque la fentre de navigation vide est l'avant-plan ou lorsque qu'une entre y est dj marque. Vous avez accs au dialogue 'Insrer liste':

6-70

CoDeSys V2.3

6 - Ressources

Dialog 'Insrer liste'

Saisissez un Nom pour la nouvelle liste de paramtres (doit tre univoque au sein des types de listes) puis choisissez un des types ci-dessous : Variables Paramtres Modle Entres de variables de processus Entres de donnes dont les valeurs ne dpendent pas du processus Modle pour un jeu d'attributs pour les composants d'un bloc fonctionnel ou d'une structure (pouvant tre utilis dans des listes de type 'Instance' (voir plus bas)) Entres de variables du type bloc fonctionnel ou structure (instance), se basant sur un modle appropri (voir plus haut) Entres de variables de processus pouvant tre utilises pour le mappage PDO dans un CAN-Device. Ce type n'est disponible que si le systme cible le supporte ! Entres de paramtres dont les valeurs ne dpendent pas du processus et prdfinies par le systme cible.

Instance Mappages

Paramtres du systme

Ds que les entres ont t confirmes par OK et que le dialogue est referm, la liste cre l'instant apparat comme entre dans la fentre de navigation. Le type de liste est reprsent par le symbole plac devant. Dans l'diteur de listes, les attributs adquats sont affichs comme titres de colonnes. La slection et la disposition des colonnes sont prdfinis dans un fichier descriptif spcifique au systme cible ; si un tel fichier n'existe pas, on utilise le rglage standard. La nouvelle liste peut maintenant tre dite, cela en insrant une ligne pour chaque entre de paramtre souhaite.(voir chapitre 6.11.5, diter des listes de paramtres). Liste de paramtres\Renommer Utilisez la commande 'Renommer liste' dans le menu 'Insrer' ou dans le menu contextuel afin renommer la liste de paramtres marque dans le fentre de navigation. La commande ouvre un cadre diter, qu'aussi est cre par un clic double sur le nom de la liste. Couper / Copier / Insrer rpertoire de listes de paramtres Raccourci clavier : <Ctrl> + <X>, <Ctrl> + <C>, <Ctrl> + <V> La disposition des listes de paramtres dans la fentre de navigation peut tre modifie par le biais des commandes 'Couper', 'Copier' et 'Insrer' (menu 'diter' ou menu contextuel). La commande 'Couper ' ou 'Couper liste' stocke la liste marque l'instant dans une mmoire tampon; partir de l, elle pourra nouveau tre insre en un autre endroit via les commandes

CoDeSys V2.3

6-71

Manager des paramtres

'Insrer' ou 'Insrer liste'. Avant cette nouvelle insertion, marquez la liste se trouvant en dessous de l'endroit souhait. La commande 'Copier' ou 'Copier liste' utilise galement cette mmoire tampon provisoire, cette diffrence prs que l'entre originale est garde et qu'une copie puisse en outre tre faite dans l'arborescence de navigation par le biais de la commande 'Insrer' ou 'Insrer liste'. Effacer Liste Raccourci clavier : <Supp> La liste actuellement marque dans la fentre de navigation peut tre supprime avec la commande 'Effacer' (menu 'diter') ou 'Effacer liste' (menu 'Extras' ou menu contextuel).
Veuillez noter : En mode En ligne, cette commande efface la liste correspondante dans le systme d'excution !

6.11.5 Editer listes de paramtres


Colonnes (attributs) affiches / Largeur de colonne : La liste de paramtres actuellement marque dans la fentre de navigation est reprsente dans l'diteur de tableau selon sa dfinition dans un fichier descriptif spcifique au systme cible, ou selon les rglages standard. Cela signifie que les valeurs des attributs de chaque paramtre contenu dans la liste sont toutes dcrites dans une ligne, en fonction de la disposition spcifique au type de liste et de la slection des colonnes. Les colonnes peuvent tre dveloppes ou masques titre individuel via le menu contextuel, cela si le curseur se trouve sur la ligne contenant les titres des colonnes. Afin de modifier la largeur des colonnes, vous pouvez dplacer les lignes de sparation entre les titres de colonnes, et vous disposez en plus, si le pointeur de la souris se trouve sur un titre de colonne, de deux commandes dans le menu contextuel. La largeur de colonne standard est calcule de telle sorte que toutes les colonnes puissent tre visibles dans la fentre. L'agrandissement de colonne se rapporte la colonne actuellement l'avant-plan et largit la colonne de telle sorte que chaque entre soit visible dans son entiret. Commandes pour l'dition des entres de paramtres : Les commandes suivantes permettant l'dition sont disponibles dans le menu contextuel ou dans les menus 'Insrer' ou 'Extras': Insertion / Effacement de lignes : Insrer ligne resp. Nouvelle Ligne Ligne aprs resp. Nouvelle Ligne aprs Shortcut:<Strg><Enter> Effacer ligne Couper, Copier, Insrer ligne dition des valeurs des attributs : Lorsqu'une nouvelle ligne est insre pour une entre de paramtre, les champs d'attributs sont automatiquement remplis des valeurs par dfaut spcifiques la cible. Afin de saisir ou de modifier une valeur, cliquez avec la souris sur le champ correspondant. Si celui-ci est ditable, vous avez accs un cadre d'dition. Pour les champs dans lesquels une variable du projet CoDeSys peut tre saisie, vous disposez de la liste de slection pour l'dition (<F2>). La nouvelle entre (ligne) est insre au dessus de l'entre actuellement l'avant-plan. La nouvelle entre (ligne) est insre en dessous de l'entre actuellement l'avant-plan. La ligne se trouvant actuellement l'avant-plan est efface. Raccourci clavier : <Maj>+<Suppr> La ligne se trouvant actuellement l'avant-plan est coupe, insre ou copie. L'insertion se fait toujours au dessus de la ligne se trouvant actuellement l'avant-plan.

6-72

CoDeSys V2.3

6 - Ressources

Appuyez sur la touche <Entre> afin de clturer une saisie. Les touches directionnelles vous permettent de sauter sur un autre champ. <Suppr> efface le contenu du champ dans lequel le curseur se trouve. Pour permuter le format de saisie 'dcimal' et 'hexadcimal', utilisez la commande Format Dc/Hex dans le menu 'Extras'. La touche <F6> vous permet de passer la Fentre de navigation (et de revenir). Options : En dessous de la partie tableau de l'diteur, il est possible d'activer les options suivantes, selon le type de liste : Charger avec programme : La liste est automatiquement charge dans l'automate programmable lors de l'ouverture de session. Actions synchrones : momentanment sans fonction.

6.11.6 Manager des paramtres en Mode en Ligne


Transfert de listes entre l'diteur et l'automate programmable En mode En ligne, il est possible de charger les listes de paramtres cres dans le gestionnaires des paramtres vers l'automate (= tlchargement), et de charger celles s'y trouvant dans l'diteur (= tlchargement en amont). La taille maximale des listes pour les types Paramtres et Variables sont dfinies en fonction du systme cible.
Veuillez noter: Lors d'une ouverture de session, un tlchargement est automatiquement effectu pour toutes les listes pour lesquelles l'option 'Charger avec programme' a t active dans le gestionnaire des paramtres !

En outre, il est possible d'crire les valeurs individuellement sur l'automate programmable. Pour l'affichage des valeurs actuelles de chaque paramtre, une colonne supplmentaire est disponible en mode En ligne (la premire colonne) dans le gestionnaire des paramtres :

Les commandes suivantes sont disponibles dans le menu 'Extras': Supprimer liste Ecrire liste La liste marque dans la fentre de navigation est supprime sur l'automate programmable. On accde au dialogue 'Copier objets', dans lequel on doit slectionner dans toutes les listes disponibles celles qui doivent tre charges sur l'automate programmable. Le tlchargement s'effectue aprs confirmation par OK. Toutes les listes de type 'Paramtre' sont charges de l'automate programmable sur le gestionnaire des paramtres. Toutes les valeurs dans la colonne 'Valeur' sont crites sur l'automate dans la liste des paramtres. Pour crire des valeurs individuelles, double-cliquez sur le champ correspondant de la colonne afin d'avoir accs au dialogue 'crire valeurs', comme avec la commande 'En ligne' 'crire valeurs'.

Lire liste Ecrire des valeurs

Ecrire des valeurs de Les valeurs dans la colonne 'Dfaut' sont crites sur l'automate dans la liste correspondante des paramtres. dfault Appliquer des valeurs Les valeurs actuelles des paramtres sont lues partir de l'automate programmable et crites dans la colonne 'Valeur'.

CoDeSys V2.3

6-73

Configuration de la Cible

La commande Format Dc/Hex aussi est disponible en mode en ligne, pour commuter le format d'indication entre decimal et hexadecimal. Listes de paramtres dans le projet d'initialisation Le systme cible dtermine si les contenus du Gestionnaire des paramtres doivent tre repris dans un projet d'initialisation lors de la cration de ce dernier.

6.11.7 Exporter / Importer listes de paramtres


'Extras' 'Exporter' La commande 'Exporter' du menu 'Extras' vous permet d'exporter les listes du gestionnaire des paramtres dans un fichier XML pouvant tre nouveau insr par le biais de la commande 'Extras' 'Importer' (dans un autre projet, par exemple). Pour ce faire, vous avez accs au dialogue standard d'enregistrement de fichier avec extension par dfaut *.prm. On crit toujours toutes les listes disponibles dans le gestionnaire des paramtres dans le fichier d'exportation. Les contenus du gestionnaire des paramtres peuvent galement tre exports par le biais de la fonction gnrale d'exportation ('Projet' Export'). 'Extras' 'Importer' La commande 'Importer' du menu 'Extras' vous permet d'importer le contenu d'un fichier XML qui dcrit des listes de paramtres. Ce fichier peut par exemple avoir t cr par le biais de la commande 'Extras' 'Exporter' et dispose donc dans le cas standard de l'extension *.prm. Si le fichier d'importation contient une liste dont le nom existe dj dans le gestionnaire des paramtres, vous avez accs un dialogue vous demandant si la liste existante doit tre crase.

6.12 Configuration de la Cible


La configuration de la cible se trouve sous longlet Ressources en tant quobjet. On dtermine ici sur quel automate (systme cible) et selon quelle configuration le projet doit tourner. Suite la commande 'Projet' 'Nouveau', vous tes directement invit slectionner une 'cible', cest--dire une configuration prdfinie. La liste de slection dpend des "Target Support Packages" (TSP) installs sur lordinateur. Ceux-ci dcrivent des configurations de base spcifiques aux plate-formes et dterminent en mme temps dans quelle mesure celles-ci peuvent encore tre adaptes par lutilisateur dans les botes de dialogue des rglages du systme cible.
Veuillez noter : Si aucun TSP nest disponible, le rglage 'None' sera affich dans la liste de slection des systmes cibles, ne permettant ds lors aucun rglage et passant automatiquement au mode simulation.

Target-Support-Package Un Target Support Package (TSP) doit auparavant tre install laide du programme dinstallation InstallTarget avant de dmarrer le programme. Ceci peut tre compris dans linitialisation CoDeSys. Un TSP se compose de tous les fichiers de configuration et dextension ncessaires lutilisation dun automate prcis (systme cible, Target) par une application. Sont configurs : le gnrateur de code, la structure de la mmoire, ltendue des fonctions de lautomate et les modules E/S. Il faut en outre intgrer les bibliothques, les pilotes de gateway, les fichiers derreur et d'initialisation pour le navigateur dAPI, etc. Llment central dun TSP se compose dun ou de plusieurs fichiers cibles. Un Fichier cible fait rfrence aux fichiers supplmentaires ncessits pour la configuration de la cible, mais il peut cependant se les partager avec dautres fichiers cibles.

6-74

CoDeSys V2.3

6 - Ressources

En gnral, un fichier cible porte lextension *.trg, et son format est binaire. Les entres des configurations sont pourvues de dfinitions supplmentaires qui dterminent si elles peuvent tre visualises par lutilisateur dans la bote de dialogue des rglages du systme cible et si elles peuvent tre dites en cet endroit. Durant linstallation dun TSP, un fichier cible correspondant est cr pour chaque systme cible dans un propre rpertoire, et son chemin daccs est enregistr. Les fichiers sy rapportant sont galement copis sur lordinateur conformment un fichier dinfo *.tnf compris dans le TSP. Le nom du rpertoire cible concide avec le nom de la cible. La classification dans un rpertoire portant le nom du fabricant est galement propose. Les fichiers installs avec un Target Support Package sont lus au dmarrage du programme CoDeSys. Les rglages du systme cible entrepris dans les botes de dialogue du systme de programmation sont enregistrs avec le projet correspondant.
Veuillez noter : Si un nouveau fichier cible est utilis ou si le fichier cible existant est modifi, CoDeSys doit tre redmarr afin de rendre la version actualise disponible.

Bote de dialogue de la configuration de la cible La bote de dialogue de la Configuration du systme cible souvre automatiquement ds quun nouveau projet est cr. Dans les autres cas, vous pouvez lobtenir via loption 'Configuration du systme cible' sous longlet 'Ressources'. Slectionnez sous Configuration une des configurations du systme cible qui vous sont proposes. Si aucun Target Support Package nest install, la configuration 'None' est seule propose, menant automatiquement au mode simulation. Si vous optez pour une des configurations, les possibilits dadaptation qui vous sont offertes dpendent des entres dans le fichier cible servant de base. Si vous optez pour une configuration de systme cible provenant dun TSP pour lequel aucune licence valable nexiste sur lordinateur, vous tes invit choisir une autre cible. Si une configuration munie de "HideSettings" dans le fichier cible est rgle, seul le nom de la configuration apparat. Dans les autres cas, quatre onglets sont disposition permettant ladaptation ou la reprsentation de la configuration du systme cible : Plate-forme de la cible Composition de la mmoire Gnral Fonctions de rseau Visualisation
Attention : Gardez en mmoire que toute modification de la configuration prrgle du systme cible peut avoir de lourdes consquences sur le comportement du systme cible

Aprs un changement, vous pouvez revenir aux valeurs de la configuration par dfaut par le biais du bouton Par dfaut. Pour de plus amples informations sur les diffrents dialogues permettant la configuration du systme cible, voir chapitre Appendice H.

CoDeSys V2.3

6-75

PLC-Browser

6.13 PLC-Browser
Dans le cas du PLC-Browser, il sagit dun moniteur de commande (terminal) bas sur du texte. Les commandes permettant l'accs certaines informations provenant de lautomate sont introduites sur une ligne de saisie et envoyes lautomate sous forme de chanes de caractres. La chane de caractre de rponse obtenue en retour est visualise dans une fentre de rsultats du navigateur. Cette fonction sert un diagnostic et un dbogage. Les commandes disposition pour le systme cible configur se composent du set standard de CoDeSys en plus dun set dextension possible provenant du fabricant de lautomate. Elles sont gres dans un fichier INI et sont implmentes en consquence dans le systme dexcution.

6.13.1 Gnralits quant l'usage du PLC-Browser


Slectionnez dans longlet Ressources lentre PLC-Browser. (La disponibilit dpend de la configuration du systme cible.)
Le PLC-Browser CoDeSys

Le navigateur se compose dune ligne de saisie des commandes et dune fentre daffichage / de rsultats. La ligne de saisie propose dans une bote de slection une liste de toutes les commandes saisies depuis le dbut du projet (historique de la saisie). Elles sont nouveau disponibles jusqu ce que le projet soit referm. Des nouvelles commandes ne sont reprises dans la liste que si elle se diffrencient de celles dj prsentes. Grce la touche <Entre>, la commande saisie est envoye lautomate. Sil ny a pas de connexion En ligne, la commande est affiche dans la fentre des rsultats telle quelle a t envoye lautomate ; sinon, cette mme fentre affiche la rponse de lautomate. Si une nouvelle commande est envoye lautomate, le contenu de la fentre des rsultats est effac. Les commandes peuvent tre saisies sous la forme de chanes de caractres (voir ci-dessous, Saisie des commandes), mais lutilisation de macros est galement possible (voir ci-dessous, Utilisation de macros).

6-76

CoDeSys V2.3

6 - Ressources

6.13.2 Saisie des commandes avec le PLC-Browser


Le PLC-Browser met en principe toutes les commandes standard 3S encodes dans le systme d'excution disposition. Il s'agit de fonctions permettant une manipulation directe de la mmoire, pour l'affichage de fonctions du projet et de statut et pour l'espionnage du systme d'excution. Elles sont dcrites dans un fichier INI pour le navigateur qui fait partie intgrante du "Target Support Package". Ces commandes standard peuvent tre compltes par d'autres commandes spciales, par exemple une fonction diagnostic ou d'autres messages de statut de l'applicatif de l'automate. Une extension de cette liste de commandes doit tre excute aussi bien dans l'interface du systme d'excution que par des entres supplmentaires dans le fichier INI du navigateur. Lors de l'ouverture du projet, une liste des commandes disponibles avec le PLC-Browser est gnre partir des entres du fichier INI de ce mme navigateur. Elle peut tre appele en tant que liste de slection pour l'dition par le biais du bouton dans la bote de dialogue 'Insrer commande standard' ou de la touche <F2>. Vous pouvez taper la commande ou encore la slectionner hors de la liste en double-cliquant dessus. La syntaxe de commande gnrale est : <MOT CL><ESPACE><PARAMTRES DPENDANT DU MOT CL> Le mot cl est la commande. Les paramtres servant son extension sont dcrits dans l'info-bulle correspondante de la fentre de la liste de slection pour l'dition. La commande envoye est rpte dans la fentre des rsultats, la rponse de l'automate apparat en dessous. Exemple : accs l'identification du projet de l'automate grce la commande "pid" Saisie dans la ligne des commandes :

pid.....
Affichage dans la fentre des rsultats : pid Project-ID: 16#0025CFDA Pour chaque commande standard, vous pouvez afficher un texte d'aide par le biais de ?<ESPACE><MOT CL>. Celui-ci sera galement dfini dans le fichier ini. Les commandes ci-dessous sont intgres au systme d'excution et dans le fichier INI avec les entres correspondantes pour les listes de slection, les infos-bulles et l'aide :
Commande Description

? mem

Le systme d'excution donne une liste des commandes possibles Image en format hexadcimal d'une partie de la mmoire Syntax 1: mem <Anfangsadresse> <Endadresse> Syntax 2: mem <Anfangsadresse>-<Endadresse> Adressangaben knnen dezimal, hexadezimal(Prefix geschrieben werden.

16#)

oder

als

Makro

memc memd

Image en format hexadcimal se rapportant l'adresse initiale du code de l'automate. Comme avec mem, les donnes sont ajoutes la zone de code. Image en format hexadcimal se rapportant l'adresse de base des donnes de l'automate. Comme avec mem, les donnes sont ajoutes la zone de donnes. Rendre la ligne actuelle de commande des fins de tests Lire le tableau des pointeurs de donnes Lire le tableau POU Lire l'identification du projet

reflect dpt ppt pid

CoDeSys V2.3

6-77

PLC-Browser

pinf tsk od pod startprg stopprg resetprg

Lire les informations relatives au projet Afficher la liste des tche CEI et les informations s'y rapportant diter le dictionnaire d'objets diter la dfinition des variables rseau Dmarrer le programme d'automate Arrter le programme d'automate Rinitialiser le programme d'automate (reset).

resetprgcold Rinitialiser le programme d'automate froid (cold reset). Seules les donnes non rmanentes sont initialises. resetprgorg Rinitialiser le programme d'automate son tat initial (original reset). Le programme utilisateur actuel ainsi que toutes les donnes (y compris les donnes rmanentes et persistantes) sont effacs. Charger nouveau le projet d'initialisation Visualiser les proprits du programme (Nom de projet, Titre, Version, Auteur, Date de la dernire modification) Visualiser le statut du programme Copier un fichier [de] [vers] Renommer un fichier [ancien] [nouveau] Effacer un fichier [nom du fichier] Sauvegarde des variables rmanentes

reload getprgprop getprgstat filecopy filerename filedelete saveretain

restoreretain Chargement des variables rmanentes setpwd Dfinir mot de passe sur l'automate programmable Syntaxe: setpwd <Mot de passe> [<Niveau>] <Niveau > peut tre "0" (prrglage) pour accs uniquement au systme de programmation ou "1" pour toutes les applications Effacer mot de passe sur l'automate programmable

delpwd

Veuillez noter : Le premier mot de la commande saisie est interprt comme tant un mot cl. Si "?<SPACE>" se trouve devant un mot-cl (p.ex. "? mem"), le fichier INI sera parcouru la recherche de ce mot cl pour trouver la section d'aide adquate. Si un tel mot cl est disponible, rien n'est envoy l'automate, et le texte d'aide est affich dans la fentre des rsultats. Si l'automate ne connat pas le premier mot de la saisie de commande (<MOT CL>), la rponse 'Keyword not found' ' s'affiche dans la fentre des rsultats.

6.13.3 Utilisation de macros lors de la saisie de commandes dans le PLC-Browser


Si une commande comportant une macro est introduite dans la ligne de commandes, cette dernire est tendue avant dtre envoye lautomate. La rponse apparat dans la fentre des rsultats galement sous forme tendue. La syntaxe de saisie est : <MOT CL> <Macro> <MOT CL> est la commande, Les macros sont :

6-78

CoDeSys V2.3

6 - Ressources

%P<NOM> Si <NOM> est du type POU, lexpression sera tendue <POU-Index>, autrement, il n'y a pas de changement. %V<NOM> Sil <NOM> est un nom de variable, lexpression sera tendue #<INDEX>:<OFFSET>, autrement, il n'y a pas de changement (le format #<INDEX>:<OFFSET> sera interprt par lautomate comme adresse mmoire) %T<NOM> Si <NOM> est un nom de variable, lexpression sera tendue <TYPE DE VARIABLE>, autrement, il n'y a pas de changement. %S<NOM> Sil <NOM> est un nom de variable, lexpression sera tendue <SIZEOF(VAR)>, autrement, il n'y a pas de changement. Le signe % est ignor sil est prcd du symbole d'chappement \ (barre oblique inverse Backslash). Le symbole d'chappement nest repris comme tel que lorsquil est crit \\.
Exemple :

Saisie dans la ligne des commandes : (image de la mmoire de la variable .testit ?)

mem %V.testit
Affichage dans la fentre des rsultats : mem #4:52 03BAAA24 00 00 00 00 CD CD CD CD ....

6.13.4 Autres options du PLC-Browser


Dans le menu 'Extras' ou dans la barre d'outils du PLC-Browser, vous trouverez les commandes suivantes vous permettant de manipuler la saisie de la commande ou de lhistorique de la liste : Protocole en sens avant et Protocole en sens inverse vous permettent de feuilleter en avant ou en arrire les rsultats des demandes. Lenregistrement de lhistorique se poursuit jusqu ce que vous quittiez le projet. Annuler la commande vous permet dinterrompre une demande entame.

Enregistrer la liste du protocole vous permet denregistrer les rsultats obtenus jusqu maintenant dans un fichier texte externe. Cela vous donne accs la bote de dialogue 'Enregistrer fichier sous', dans laquelle vous pouvez introduire un nom de fichier avec lextension ".bhl" (Browser History List). La commande Imprimer la dernire commande ouvre la bote de dialogue standard permettant limpression. La commande en cours et son rsultat dans la fentre des messages peuvent tre imprims.

CoDeSys V2.3

6-79

Outils

6.14 Outils
Lobjet Outils est disponible sous longlet Ressources pour autant que ceci ait t configur en consquence dans le fichier cible du systme cible. Les liens des fichiers exe doutils externes sont reprsents dans 'Outils', et ces outils peuvent tre appels partir de CoDeSys. Le nombre et le type de liens possibles sont galement dfinis dans le fichier cible. En fonction de cette dfinition, lutilisateur peut, dans 'Outils', ajouter ou effacer des liens. La reprsentation dans lOrganisateur dobjets ressemble par exemple ceci :

Lexemple donn se compose de quatre liens doutils : un permet le dmarrage de CoDeSys, un autre ouvre le listing d'assembleur dans un diteur littral, et les deux dernier permettent l'ouverture de fichiers PDF. Les liens marqus dun "<R>" ne peuvent plus tre modifis dans le cadre de CoDeSys. Une utilisation envisageable serait le lien vers un diteur, par exemple notepad.exe, ou un fichier PDF prcis. Un double-clic sur lentre correspondante permettrait alors douvrir le listing assembleur dans le bloc-notes ou encore les fichiers PDF dans Acrobat Reader. Vous pouvez en outre dfinir des fichiers qui seraient chargs sur lautomate ds que le lien serait activ.

6.14.1 Caractristiques des liens existants (Caractristiques d'objet)


Un clic sur le signe Plus avant l'entre 'Outils' affiche une liste des liens prsents. Lorsqu'un projet est cr, les seuls liens affichs sont ceux qui taient prdfinis dans le fichier cible comme entres fixes. Si vous aviez auparavant travaill sur le dossier des outils, les liens ventuellement ajouts par l'utilisateur dans CoDeSys seront galement visualiss. On peut maintenant analyser les Caractristiques principales des outils ainsi que les Liens individuels: 1. Caractristiques des 'outils': Si 'Outils' est marqu dans l'arborescence, on obtient la bote de dialogue 'Proprits des outils' dans le menu contextuel ou encore via la commande 'Proprits' dans le menu 'Projet' 'Objet' : Tous les outils utilisables dans le cadre de la cible actuelle sont reprsents dans le tableau avec les paramtres suivants : La colonne ID indique le numro d'identification univoque d'un outil, viennent ensuite le Nom du raccourci tel qu'il apparat dans l'Organisateur d'objets, ainsi que le nom du fichier exe (Nom du fichier excutable). Le bouton 'tendu' permet d'tendre la bote de dialogue vers la droite ou de refermer l'extension ouverte :

6-80

CoDeSys V2.3

6 - Ressources

Bote de dialogue pour les proprits des outils

Aprs l'extension de la bote de dialogue, la partie droite reprend les caractristiques gnrales du lien tels qu'ils ont t dfinis dans le fichier cible. Un champ d'dition est en outre disponible, et vous pouvez y dfinir un Rpertoire de travail qui sera utilis pour les actions du fichier Exe. Le chemin d'accs indiqu est enregistr par le biais du bouton Appliquersans que la bote de dialogue se referme. 'Proprits des outils : Numro fixe: Il s'agit du nombre fixe de liens pour cet outil qui seront automatiquement insrs dans l'Organisateur d'objets. Si "0" est saisi ici, l'utilisateur a la possibilit de crer lui-mme un nombre de liens sa guise. Veuillez noter : pour les liens qui ont t insrs de manire fixe partir du fichier cible, il n'y a pas que leur nombre qui est dfini ; il est galement impossible d'en modifier les caractristiques sous CoDeSys (ces liens sont reconnaissables la prsence d'un "<R>" dans l'Organisateur d'objets). Nom de fichier ou chemin d'accs complet du fichier excutable de l'outil. Le chemin de registre d'un fichier exe peut tre saisi ici: "[Chemin de registre].<Entre renvoyant au fichier exe>". Si aucune entre n'apparat, cela signifie que l'extension du fichier indiqu dans les "Paramtres modles" appelle automatiquement le fichier exe de l'outil concern par le biais de Windows. Exemples : "C:\programme\notepad.exe", "345.pdf" Nom avec lequel l'outil a t introduit dans l'Organisateur d'objets dans CoDeSys. Le modle $(INSTANCE NUMBER) peut galement tre utilis ici (voir 'Paramtre modle').

Nom Exe:

Nom de dfault:

CoDeSys V2.3

6-81

Outils

Modle pour les paramtres:

Modles pour la dfinition du fichier qui doit tre ouvert dans l'outil. Les modles suivants peuvent tre compris en tant connects par le signe spcial correspondant : $(PROJECT_NAME) nom du projet en cours (nom du fichier sans l'extension ".pro"). $(PROJECT_PATH) chemin d'accs du rpertoire dans lequel le fichier du projet est class (sans mention du lecteur). $(PROJECT_DRIVE) lecteur sur lequel se trouve le projet en cours. $(COMPILE_DIR) rpertoire de compilation du projet (avec mention du lecteur) $(TOOL_EXE_NAME) nom du fichier exe de l'outil. $(DISPLAY_NAME) nom du lien en cours utilis dans les 'Outils'. $(INSTANCE_NUMBER) numro du lien (numro d'instance, numro courant dbutant "1") $(CODESYS_EXE_DIR) chemin d'accs du rpertoire dans lequel le fichier excutable de CoDeSys se trouve (avec mention du lecteur). Pour la conversion d'un modle, reportez-vous la bote de dialogue des Caractristiques d'un lien individuel (voir ci-dessous). Exemple : "$(PROJECT_NAME)_$(INSTANCE_NUMBER).cfg" le fichier cfg portant le nom <Nom du projet CoDeSys en cours>_<Numro du lien>.cfg est ouvert dans l'outil Fichiers, chemins d'accs et modles pour les fichiers qui doivent tre galement chargs sur l'automate lors d'un tlchargement. Si l'option Editable est active, la liste de ces fichiers peut tre dite dans la bote de dialogue des caractristiques du lien. Si le nom du fichier est indiqu sans chemin d'accs, ce fichier sera recherch dans le rpertoire dans lequel le fichier excutable de CoDeSys se trouve. "a.up;$(PROJECT_NAME).pro;$(INSTANCE_NUMBER).upp" les fichiers a.up, <Projet CoDeSys en cours>.pro et <Numro du lien>.upp seront galement chargs sur l'automate lors d'un tlchargement

Charger fichiers modles:

2. Caractristiques d'un lien : Marquez un lien dans l'arborescence des 'outils' et slectionnez l'option ' Caractristiques de l'objet' dans le menu contextuel ou dans le menu 'Projet' 'Objet'. Vous avez alors accs la bote de dialogue des 'Proprits de la liaison' contenant les points suivants : Appel Paramtres Appel de l'outil ; chemin d'accs du fichier exe et du fichier dfini dans les 'Paramtres modles' (voir ci-dessus) et affich sous 'Paramtres'. Chemin d'accs du fichier accd partir de l'outil. Celui-ci rsulte de la description de la cible et peut tre dit ici pour autant que l'option 'ditable' soit active (voir ci-dessous).

Fichiers charger Cette liste comprend automatiquement et en premier lieu les Noms de fichiers rsultants de la description de la cible et qui ont dj t dcrits dans les caractristiques des outils (voir ci-dessus). Si l'option 'ditable' est active (voir ci-dessous la Bote de dialogue tendue), la liste peut tre modifie ici mme. Ouvrez cet effet la bote de dialogue 'Indiquer nom de fichier' par le biais du bouton Nouveau; vous pouvez y

6-82

CoDeSys V2.3

6 - Ressources

introduire un fichier supplmentaire ou un chemin d'accs un fichier. Si le nom du fichier est indiqu sans chemin d'accs, ce fichier sera recherch dans le rpertoire dans lequel le fichier excutable de CoDeSys se trouve. Le bouton Effacer vous permet d'effacer l'entre actuellement marque dans la liste. Le bouton Standard ramne les entres de la bote de dialogue aux valeurs par dfaut indiques par le fichier cible. Le bouton Appliquer enregistre les rglages entrepris sans pour autant refermer la bote de dialogue des caractristiques. Le bouton tendu permet d'tendre la bote de dialogue vers la droite, si bien qu'elle ressemble alors ceci :
Bote de dialogue pour les caractristiques des liens

Numro de raccourci:

Numro courant, dbutant 1. Tout nouveau lien vers l'outil actuel reoit chaque fois le numro directement au dessus. Si vous effacez un lien, les numros des liens existants seront maintenus. Le numro de lien peut tre utilis dans d'autres dfinitions par le biais du modle $(INSTANCE_NUMBER) (voir par exemple ci-dessus, 'Paramtres Modles'). Numro d'identification univoque de l'outil rsultant de sa dfinition dans le fichier cible. Nombre d'instances d'un outil, correspondant au FixedCount dans le fichier cible. Voir ci-dessus, Caractristiques des outils. Si cette option est affiche comme tant active, vous pouvez procder des changements dans le champ 'Paramtres' ou dans le tableau des fichiers charger sur l'automate.

ID Outil: Nombre de raccourcis de default: Editable:

CoDeSys V2.3

6-83

Outils

Le bouton OK reprend les changements effectus et referme la bote de dialogue des caractristiques.

6.14.2 Gestion des liens


Cration de nouveaux liens Si vous avez slectionn le nud 'Outils' ou un lien existant dans larborescence des ressources, choisissez la commande 'Insrer objet' dans le menu contextuel ou dans le menu 'Projet' 'Objet'. Suite quoi la bote de dialogue 'Crer raccourci' souvre.
Dialogue pour la cration d'un raccourci

Tous les outils vers lesquels de nouveaux liens peuvent tre tablis sont repris dans le tableau. Celuici reprend, selon les entres dans le fichier cible, lID des outils, le Nom du raccourci par dfaut et le nom du fichier exe des outils (Nom du fichier excutable). Pour crer un lien (supplmentaire) avec un des outils proposs, cliquez sur cet outil dans la colonne 'Id'. Le champ Nom du raccourci permet de modifier individuellement le nom par dfaut de ce nouveau lien que vous confirmez par OK. Ceci nest possible que lorsquun nom nayant pas encore t attribu est introduit. OK referme la bote de dialogue et le lien qui vient dtre introduit apparat dans larborescence des ressources accompagn de son nom et dun numro de lien, qui est dune unit suprieur au lien auparavant le plus lev utilis pour les instances de ce mme outil. La zone en dessous du champ du nom est rserve des remarques concernant les entres par lutilisateur. Supprimer des liens Pour supprimer un lien, vous devez slectionner la commande Supprimer dans le menu contextuel (bouton droit de la souris) ou dans le menu 'Projet' 'Objet'. Vous navez accs cette commande que si vous avez slectionn dans larborescence de configuration le lien dun outil pour lequel aucun nombre fixe de liens nest spcifi. Leffacement dune entre nentrane pas de modification dans les numros des autres liens. Excution de liens Un lien est excut par un double-clic sur lentre correspondante dans larborescence des ressources, ou si la commande 'Editer objet' dans le menu 'Projet' 'Objet' ou dans le menu contextuel (bouton droit de la souris) est excute. Si lexcution du fichier indiqu par les paramtres nest pas possible, un message derreur adquat saffiche. Si un fichier de paramtres nest pas trouv, le fichier exe de loutil est excut et une bote de dialogue apparat vous demandant si le fichier doit tre cr.

6-84

CoDeSys V2.3

6 - Ressources

Au cas o le fichier exe de loutil nest pas trouv dans le chemin daccs ou si aucun chemin daccs na t donn, une bote de dialogue permettant de slectionner un fichier souvre, incitant lutilisateur indiquer le chemin daccs du fichier exe. Ce chemin sera enregistr la fermeture de la bote via OK et sera dans la suite disponible pour cet outil mme dans le cadre dautres projets. Enregistrement de liens Lors de lenregistrement du projet, lensemble du nud 'Outils' est enregistr dans larborescence des ressources. Veuillez noter : Si un projet est enregistr sous un nouveau nom via 'Enregistrer sous', veillez respecter les points suivants lors de lutilisation de modles $(PROJECT_NAME) dans la dfinition du fichier des paramtres et des fichiers qui devront tre chargs sur lautomate : Pour les liens (FixedCount=0) qui ont t introduits par lutilisateur dans lancien projet, les noms de fichiers doivent tre renomms manuellement dans le nouveau projet conformment au nouveau nom de projet. Par contre, le modle pour un outil dont un nombre fixe de liens a t dfini est toujours automatiquement interprt avec le nom actuel du projet.

6.14.3 Les questions les plus importantes en matire d'outils


Pourquoi nai-je pas dentre 'Outils' sous longlet 'Ressources' ? Ce nest que si la dfinition du systme cible le prvoit (fichier cible) que vous obtenez loption 'Outils' sous longlet Ressources dans CoDeSys. Quels outils disposent dj de liens et quels liens puis-je encore crer ? Ouvrer le nud 'Outils' sous longlet 'Ressources' grce un double-clic sur le signe Plus. Vous pouvez voir quels outils sont dj rattachs au projet en cours. Si vous avez cr un nouveau projet et que vous navez pas encore effectu de changements au sein des outils, il ne sagira alors que des outils qui ont dj t spcifis de manire fixe dans le fichier cible. Dans les autres cas, vous obtenez une liste doutils qui sera ventuellement dj adapte au projet. Pour vrifier si cette liste est encore extensible, slectionnez la commande 'Insrer objet'. Vous obtenez alors une bote de dialogue comprenant tous les outils pour lesquels vous pouvez raliser des liens supplmentaires. Quelles caractristiques gnrales les outils disponibles ont-ils ? Marquez lentre 'Outils' dans lOrganisateur dobjets et slectionnez la commande 'Caractristiques des objets' dans le menu contextuel via le bouton droit de la souris. tendez la bote de dialogue qui sest ouverte vers la droite au moyen du bouton 'tendre'. Vous avez alors la liste des outils disponibles gauche et les paramtres correspondants droite. Marquez maintenant un outil particulier au moyen dun clic sur le symbole didentit lextrme gauche de faon visualiser dans le champ FixedCount, par exemple, combien de liens loutil est limit, quels fichiers ont t chargs sur lautomate lors de lactivation du lien, etc. Les donnes sont le cas chant affiches dans des modles contenant linterprtation individuelle de chaque lien comme dcrit dans le point suivant : Quelles caractristiques individuelles les liens dj disponibles ont-ils ? Marquez une des entres sous 'Outils' dans lOrganisateur dobjets et slectionnez la commande 'Caractristiques des objets' dans le menu contextuel via le bouton droit de la souris. Si vous appuyez sur le bouton 'tendu', vous obtenez les paramtres du lien souhait qui correspondent en partie aux caractristiques gnrales doutils dj dcrites ci-dessus. Sils ont t dfinis comme tant 'ditables' dans le fichier cible, vous pouvez procder ici la modification de ces paramtres. Comment puis-je tablir un ou plusieurs liens vers un outil ? Marquez lentre 'Outils' dans lOrganisateur dobjets et slectionnez la commande 'Insrer objet' dans le menu contextuel. Vous obtenez nouveau une liste des outils disponibles, mais uniquement de ceux dont le nombre maximal dutilisation (FixedCount) na pas encore t atteint. Slectionnez-en un et appuyez sur OK. Loutil est ensuite visualis dans lOrganisateur dobjets. Si vous essayez de le rattacher encore une fois, cela ne marchera que si vous lui attribuez un nom modifi, c.--d. si vous caractrisez la nouvelle entre comme tant une nouvelle instance du mme outil. Par exemple, les instances de loutil Toolxy peuvent tre nommes Toolxy_1, Toolxy_2 etc.

CoDeSys V2.3

6-85

Outils

Comment puis-je modifier les paramtres dun outil ? Pour modifier les paramtres dune instance doutil, marquez le lien dans lOrganisateur dobjets et slectionnez la commande 'Caractristiques des objets' dans le menu contextuel. Dans quelle mesure vous pouvez diter les paramtres dans les champs textuels dpend de la prconfiguration des outils dans le fichier cible (vrifiez dans la bote de dialogue tendue si loption 'ditable' est active). Le bouton 'Standard' vous permet toujours de revenir la configuration par dfaut. Comment puis-je excuter un lien vers un outil ? Double-cliquez sur lentre du lien dans lOrganisateur dobjets ou choisissez la commande 'Traiter lobjet' dans le menu contextuel ou dans le menu du projet alors que lentre est marque.

6-86

CoDeSys V2.3

7 - ENI

7 ENI
7.1 Qu'est-ce que ENI
L'interface ENI ('Engineering Interface') permet l'accs du systme de programmation une base de donnes de projet externe dans laquelle les donnes rsultant de la cration d'un projet d'automatisation sont gres. L'utilisation d'une base de donnes externe garantit la consistance des donnes qui peuvent alors tre utilises de manire commune par plusieurs utilisateurs, projets ou programmes, et permet les extensions suivantes dans les fonctionnalits CoDeSys : Gestion de version pour les projets CoDeSys et les ressources s'y rapportant (objets utiliss en commun) : Si un objet a subi un check-out, t modifi et subi un check-in, une nouvelle version de l'objet est cre dans la base de donnes, mais les anciennes versions sont cependant gardes et peuvent toujours tre nouveau appeles si besoin est. L'historique des modifications est trac pour chaque objet et pour un projet global. Les versions peuvent tre compares la recherche de diffrences. (Ceci ne vaut pas si un systme de fichiers local est utilis comme base de donnes.) Fonctionnement multi-utilisateurs : La version la plus rcente d'un ensemble de modules, par exemple les modules d'un projet, peut tre rendue accessible un groupe d'utilisateurs. Les modules ayant subi un check-out par un utilisateur sont marqus auprs des autres utilisateurs comme tant 'en traitement' et ne peuvent tre modifis. Ainsi, plusieurs utilisateurs peuvent travailler au mme projet sans que les versions des objets ne s'crasent mutuellement. Accs via des programmes externes : En plus du systme de programmation CoDeSys, d'autres outils disposant galement de l'interface ENI peuvent avoir accs la mme base de donnes. Il s'agit par exemple de visualisations externes, de systmes ECAD, etc. qui ont besoin des donnes cres au sein de CoDeSys ou qui crent eux-mmes des donnes. Afin de crer la base de donnes sur un autre ordinateur et par cela permettre le fonctionnement multi-utilisateurs, l'interface ENI se compose d'un client et d'une partie serveur. Le systme de programmation CoDeSys est galement un client du Processus indpendant du serveur ENI au mme titre que toute autre application qui aurait besoin de l'accs la base de donnes. Pour l'installation, la configuration et l'utilisation du serveur ENI, reportez-vous la documentation correspondante. L'interface ENI supporte actuellement les bases de donnes 'Visual SourceSafe 6.0', 'MKS Source Integrity', 'PVCS Version Manager' partir de V7.5 et un systme local de fichiers. Les objets peuvent y tre rpertoris dans diffrents 'Rpertoires' (Catgories avec diffrentes caractristiques d'accs), subir un check-out pour tre traits et tre ainsi bloqus aux autres utilisateurs. Les objets peuvent tre appels hors de la base de donnes dans leur tat actuel. En mme temps, des objets peuvent n'tre gards que localement, c.--d. dans le projet. Le fichier *.pro est la copie de travail d'un projet gr dans la base de donnes.

7.2 Conditions pour travailler avec une base de donnes de projet ENI
Pour pouvoir utiliser linterface ENI dans le systme de programmation CoDeSys des fins de gestion des objets de projet dans une base de donnes externe, vous devez remplir les conditions suivantes :
Veuillez noter : Pour linstallation, la configuration et lutilisation du serveur ENI de 3S Smart Software Solutions GmbH, reportez-vous la documentation correspondante. Notez galement la possibilit dutiliser lExplorateur ENI qui permet, combin au serveur ENI, de grer la base de donnes connecte ce dernier indpendamment du systme de base de donnes utilis.

TCP/IP doit tre disponible pour la connexion entre CoDeSys et le serveur ENI puisque ce dernier utilise le protocole HTTP.

CoDeSys V2.3

7-1

Travailler dans CoDeSys avec la base de donnes de projet

Un serveur ENI doit tre install et dmarr localement ou sur un autre ordinateur (Suite de Serveur ENI). Un licence valable est obligatoire pour rendre le pilote de base de donnes disponible. Sans licence, vous ne pouvez utiliser que le pilote du systme local de fichiers. Configurez les points suivants dans ladministration du serveur ENI, ENI Admin : - Lutilisateur doit tre enregistr comme utilisateur possdant les droits daccs (User Management) - Les droits daccs aux rpertoires de la base de donnes doivent tre correctement dfinis (Access Rights) - Recommandation : le mot de passe de ladministrateur permettant laccs aux programmes ENI Admin et ENI Control doit tre dfini immdiatement aprs linstallation. La connexion vers la base de donnes souhaite doit tre correctement configure dans le programme de contrle ENI Control (Database). Une base de donnes de projet pour laquelle il y a un pilote support par le serveur ENI doit tre installe ; nous recommandons d'installer celle-ci sur lordinateur sur lequel le serveur ENI fonctionne. Vous pouvez galement utiliser un systme local de fichiers pour lequel il y a pour chaque cas un pilote pour serveur ENI. Le cas chant, lutilisateur (comme Client) ainsi que le serveur ENI doivent tre enregistrs tous deux dans ladministration de la base de donnes comme utilisateurs ayant des droits daccs. Ceci vaut dans tous les cas pour lutilisation de SourceSafe comme base de donnes; pour les autres pilotes de base de donnes, reportez-vous la documentation correspondante pour la configuration obligatoire des utilisateurs. Linterface ENI doit tre active pour le projet en cours (reportez-vous pour ce faire la bote de dialogue CoDeSys 'Projet' 'Options' 'Base de donnes du projet'. Vous devez procder la configuration de la liaison la base de donnes pour le projet CoDeSys en cours (reportez-vous pour ce faire aux botes de dialogue CoDeSys sous 'Projet' 'Options' 'Base de donnes du projet). Lutilisateur doit ouvrir une session (nom dutilisateur et mot passe) auprs du serveur ENI dans le projet en cours et grce la bote de dialogue douverture de session, obtenue via la commande 'Projet' 'Liaison avec la base de donnes' 'Login' ou en essayant douvrir une base de donnes. (Reportez-vous galement aux instructions abrges dans le document 'Serveur ENI Aperu et dmarrage')

7.3 Travailler dans CoDeSys avec la base de donnes de projet


Les commandes de la base de donnes (appel, check-out, check-in, historique des versions, tiquetage, etc.) permettant de grer les modules du projet dans la base de donnes du projet ENI sont disposition dans le projet CoDeSys en cours ds que la liaison la base de donnes a t active et correctement configure. Reportez-vous galement aux 'Conditions pour travailler avec une base de donnes de projet ENI'. Vous trouverez ces commandes au menu 'Liaison la base de donnes'. Ce dernier est un des sous-menus du menu 'Projet' ou se trouve dans le menu contextuel dun objet individuel marqu dans lOrganisateur dobjets. Lattribution actuelle dun objet une Catgorie de bases de donnes est affiche la catgorie Proprits des objets et vous pouvez la modifier. Les Caractristiques des catgories de bases de donnes (paramtres de connexion, droits daccs, comportement au check-out ou au check-in) peuvent tre modifies dans les botes de dialogue des Options de la base de donnes du projet.

7-2

CoDeSys V2.3

7 - ENI

7.4 Catgories au sein de la base de donnes du projet


On distingue quatre groupes dobjets dans un projet CoDeSys : LInterface ENI distingue trois catgories dobjets (catgories dobjets ENI) qui sont gres dans le systme de donnes : les objets de projet, les objets communs, les objets de compilation. Un objet peut galement appartenir la catgorie 'Local' sil nest pas repris dans la base de donnes mais sil est simplement enregistr de manire classique avec le projet. Ds lors, un module CoDeSys peut tre attribu dans le systme de programmation une des catgories Objets du projet, Objets communs ou Local ; les donnes de compilation nexistent pas encore au sein du projet comme des objet attribuables. Lattribution dun objet une des catgories seffectue automatiquement lors de sa cration, en fonction de la configuration des Options de la base de donnes de projet, mais peut galement tre modifie dans la bote de dialogue des Proprits des objets. Chaque catgorie dobjet ENI est configure sparment dans la bote de dialogue Configuration ENI (Options de projet, Catgorie base de donnes de projet). Ceci signifie que chaque catgorie obtient ses propres paramtres relatifs la connexion la base de donnes (rpertoire, port, nom dutilisateur, droits daccs, etc. ) et au comportement en cas dappel, de check-out ou de check-in. Cette configuration vaut alors pour tous les objets qui appartiennent cette catgorie. Mme les donnes daccs (nom dutilisateur, mot de passe) lors de la connexion la base de donnes sont introduire en consquence pour chaque catgorie. Vous disposez pour cela de la Bote de dialogue d'accs au systme. Vous avez la possibilit de crer dans chaque base de donnes un rpertoire propre pour chaque catgorie dobjets, mais il est galement possible de garder les objets de toutes les catgories dans le mme rpertoire, vu que lattribution une catgorie est une caractristiques de lobjet et non du rpertoire. Vous trouverez ci-dessous les trois catgories possibles dobjets ENI : Projet : pour les objets qui contiennent des informations sources spcifiques au projet, p.ex. modules utiliss en commun au sein dun projet, important pour un fonctionnement multi-utilisateurs. La commande 'Versions dernires' de CoDeSys permet de reprendre automatiquement dans le projet local tous les objets de cette catgorie provenant du rpertoire de projet de la base de donnes, y compris ceux qui ny avaient pas encore t crs. pour des objets gnraux indpendants des projets, par exemple des bibliothques de modules qui sont normalement utiliss par plusieurs utilisateurs dans diffrents projets. Attention : la commande 'Versions dernires' de CoDeSys permet de ne copier dans le projet local que les objets de cette catgorie provenant du rpertoire de projet de la base de donnes, qui y sont dj crs. pour les informations de compilation spcifiques au projet, cres automatiquement par CoDeSys (p.ex. fichiers de symboles), et qui sont galement utilises par dautres outils. Par exemple, une visualisation requiert les variables dun systme de programmation y compris les adresses, qui ne sont attribues que lors de la compilation.

Objets commun :

Fichiers de compilation :

Vous pouvez galement retirer selon votre gr des modules de projet hors de la gestion de la base de donnes du projet et les enregistrer exclusivement localement et de manire classique avec le projet.

CoDeSys V2.3

7-3

Catgories au sein de la base de donnes du projet

7-4

CoDeSys V2.3

8 - Interface DDE

8 Interface DDE
CoDeSys dispose dune Interface DDE (dynamic data exchange). Grce cela, CoDeSys donne accs aux contenus de variables dautomate programmable et dadresses CEI partir dautres applications disposant galement dune interface DDE. Lors de lutilisation de la Gateway DDE, les valeurs de variables peuvent tre lues indpendamment du systme de programmation CoDeSys de lautomate et galement reprsentes dans des applications qui disposent galement dune interface DDE.
Attention : Les adresses directes ne peuvent tre lues via le serveur DDE ! Dans ce cas, les variables doivent tre cres dans CoDeSys avec l'affectation correcte de ladresse (AT). Attention : Linterface DDE a t teste avec Word 97 et Excel 97 sous Windows NT 4.0. En cas de problmes dans la communication DDE, causs par lutilisation dautres versions ou par des programmes installs en sus sur votre ordinateur, 3S Smart Software Solutions ne peut tre tenue pour responsable.

8.1 Interface DDE du systme de programmation CoDeSys


Activation de l'interface DDE Linterface DDE est active ds que lon accde lautomate programmable (ou la simulation). Accs standard aux donnes Une interrogation DDE est compose de trois parties: 1. Le nom du programme (dans le cas prsent: CoDeSys), 2. Le nom du fichier et 3. Le nom de variable devant tre lu. Nom du programme: CoDeSys Nom de fichier: chemin d'accs complet du projet partir duquel les donnes doivent tre extraites (C:\beispiel\bsp.pro). Nom de variable: nom de la variable tel qu'il est spcifi dans le gestionnaire d'espion et de recettes. (z.B. PLC_PRG.TEST) Quelles sont les variables qui peuvent tre lues ? Toutes les adresses et variables peuvent tre lues. L'entre des variables ou des adresses s'effectue conformment aux entres dans le gestionnaire d'espion et de recettes.
Exemples:

%IX1.4.1 PLC_PRG.TEST .GlobVar1 Lier des variables WORD

(* Lit l'entre 1.4.1 *) (* Lit la variable TEST du module PLC_PRG *) (* Lit la variable globale GlobVar1 *)

Pour obtenir dans Microsoft WORD la valeur actuelle de la variable TEST du module PLC_PRG, via l'interface DDE, il faut entrer dans WORD un champ quelconque ('Insrer' 'Champ'), par exemple la date. En cliquant prsent avec la touche droite de la souris sur le champ, et en slectionnant la commande 'Afficher fonction champ', vous pouvez modifier la fonction champ dans le texte de votre choix. Si nous appliquons cela notre exemple, nous obtenons ceci: { DDEAUTO CODESYS "C:\\CODESYS\\PROJECT\\IFMBSP.PRO" "PLC_PRG.TEST" }

CoDeSys V2.3

8-1

Communication DDE via la gateway DDE

Cliquez une nouvelle fois avec la touche droite de la souris sur le champ et donnez la commande 'Actualiser champ'. Le contenu de la variable recherch apparat dans le texte. Lier des variables EXCEL Pour affecter une variable une cellule dans Microsoft EXCEL, il faut entrer ceci dans EXCEL: =CODESYS|'C:\CODESYS\PROJECT\IFMBSP.PRO'!PLC_PRG.TEST En effectuant 'Editer' 'Liens' pour ce lien, on obtient: Type: CODESYS Fichier source: C:\CODESYS\PROJECT\IFMBSP.PRO Elment: PLC_PRG.TEST Accder des variables via Intouch Convenez pour votre projet d'un nom d'accs DDE <AccessName> comportant le nom d'application CODESYS et le topic name DDE C:\CODESYS\PROJECT\IFMBSP.PRO. Vous pouvez prsent convenir de variables de type DDE portant le nom d'accs <AccessName>. En ce qui concerne l'item name, il faut nouveau entrer le nom de la variable (p.ex. PLC_PRG.TEST).

8.2 Communication DDE via la gateway DDE


Utilisation de la Gateway DDE La gateway DDE peut utiliser les symboles crs au sein du projet CoDeSys (voir 'Projet' 'Options' 'Configuration des symboles') pour communiquer avec dautres clients ou avec lautomate. Elle peut rpondre aux requtes venant par les interfaces DDE dapplications comme par exemple Excel. Ainsi, les valeurs de variables provenant de lautomate peuvent tre visualises dans dautres applications. Ds que vous dmarrez la gateway DDE, une fentre souvre vous permettant de configurer les paramtres de dmarrage et de connexion. Pour ce faire, vous pouvez appeler un fichier de configuration existant ou encore redfinir les paramtres.
Fentre permettant la configuration et lutilisation de la gateway DDE

La commande 'Fichier' 'Ouvrir' vous permet dappeler une configuration dj enregistre dans un fichier. La bote de dialogue standard pour la slection dun fichier souvre. La recherche porte par dfaut sur des fichiers pourvus de lextension ".cfg". Lorsquun fichier de configuration a t slectionn, les paramtres de configuration pour la gateway et pour lappareil cible (Device) saffichent. Si loption 'Fichier' 'Autochargement' est active, la gateway DDE souvre automatiquement configure telle quelle tait lors de sa dernire utilisation.

8-2

CoDeSys V2.3

8 - Interface DDE

Si la gateway est dmarre sans configuration et sans le rglage Autochargement, seules les notions 'Gateway:' et 'Appareil:' sont affichs dans la fentre. Vous devez alors procder la configuration. La commande 'Fichier' 'Settings' donne accs la bote de dialogue 'Settings Gateway' dans laquelle vous pouvez dfinir les paramtres suivants :
Bote de dialogue pour la dfinition des paramtres de la gateway DDE

Pour configurer la connexion la gateway actuelle, appelez la bote de dialogue 'Paramtres de communication' via la commande 'En Ligne' 'Paramtres'. Vous obtenez la mme bote de dialogue que dans CoDeSys sous 'En Ligne' 'Paramtres de communication'. La configuration doit concider avec celle qui a t effectue dans le projet CoDeSys correspondant. Vous pouvez enregistrer la configuration actuelle de la gateway DDE dans un fichier laide de la commande 'Fichier' 'Sauvegarder'. cet effet, la bote de dialogue standard permettant de sauvegarder un fichier saffiche, et lextension ".cfg" y est attribue par dfaut. Si la gateway doit tre active, vous devez accder au systme par le biais de la commande 'En Ligne' 'Accs au systme' (suite quoi le symbole de la gateway sallume dans la barre d'tat). La connexion se met en place telle quelle a t configure et vous pouvez utiliser les symboles correspondants. Veuillez noter que ceux-ci doivent tout dabord tre crs dans le projet CoDeSys. La commande 'En Ligne' Quitter le systme' vous permet de quitter le systme. Accs standard aux donnes Une interrogation DDE est compose de trois parties: 1. Le nom du programme (dans le cas prsent: CoDeSys), 2. Le nom du fichier et 3. Le nom de variable devant tre lu. Nom du programme: GatewayDDEServer Nom de fichier: chemin d'accs complet du projet partir duquel les donnes doivent tre extraites (C:\beispiel\bsp.pro). Nom de variable: nom de la variable tel qu'il est spcifi dans le gestionnaire d'espion et de recettes. (par exemple : PLC_PRG.TEST) Quelles sont les variables qui peuvent tre lues ? Toutes les adresses et variables peuvent tre lues. L'entre des variables ou des adresses s'effectue conformment aux entres dans le gestionnaire d'espion et de recettes.
Exemples:

%IX1.4.1 PLC_PRG.TEST .GlobVar1

(* Lit l'entre 1.4.1 *) (* Lit la variable TEST du module PLC_PRG *) (* Lit la variable globale GlobVar1 *)

CoDeSys V2.3

8-3

Communication DDE via la gateway DDE

Lier des variables WORD via la gateway DDE Saisissez un champ (Insrer Champ) selon votre gr dans WORD, par exemple la date. En cliquant prsent avec la touche droite de la souris sur le champ, et en slectionnant la commande "Afficher codes de champs", vous pouvez diter le texte du code de champs : Pour accder la variable TEST du module PLC_PRG dans le projet BSP.PRO, introduisez ceci : { DDEAUTO GATEWAYDDESERVER "BSP.PRO" "PLC_PRG.TEST" } Cliquez nouveau avec la touche droite de la souris sur le champ et donnez la commande "Actualiser champ". Le contenu de la variable recherch apparat dans le texte. Lier des variables EXCEL via la gateway DDE Conformment la procdure dcrite plus haut, lexpression suivante est introduite dans la cellule qui reprsente la valeur de variable correspondante : =GATEWAYDDESERVER|<nom de fichier>!<nom de variable>
Exemple : =GATEWAYDDESERVER|'bsp.pro'!'PLC_PRG.TEST'

Si le champ est mis jour, le contenu de la variable saffiche. En effectuant "Editer" + "Liens" pour ce lien, on obtient: Type : GATEWAYDDESERVER Fichier source : BSP.PRO Elment : PLC_PRG.TEST Options de lignes de commande pour la gateway DDE Si la gateway DDE est dmarre par le biais dune ligne de commande, vous disposez des options suivantes : /n /s La bote de dialogue dinfo napparat pas automatiquement Affichage de la fentre de la bote de dialogue /s=h /s=i /s=m /s=n /c=<fichier de config> aucune rduite (icone) agrandie normale

/c /o

fichier de configuration qui doit tre charg automatiquement on accde au mode En ligne avec la configuration choisie (autochargement ou fichier donn par "/c=")

Exemple :

Saisie dans la ligne des commandes :


GATEWAYDDE /s=i /c="D:\DDE\conf_1.cfg"

La gateway DDE dmarre et la fentre de la bote de dialogue apparat sous la forme dune icone, la configuration du serveur enregistre dans le fichier conf_1.cfg est charge.

8-4

CoDeSys V2.3

9 - L'attribution de licences dans CoDeSys

9 L'attribution de licences dans CoDeSys


3S Licensing Manager est un outil permettant une gestion aise des licences des modules 3S sur lordinateur local. Dans CoDeSys, des projets peuvent tre crs et enregistrs comme bibliothques soumises licence. Lors de linstallation dun module 3S soumis licence, on installe galement le gestionnaire de licences.

9.1 Cration d'une bibliothque soumise licence


Si un projet CoDeSys doit tre enregistr comme bibliothque protge par une licence, alors en utilisant la commande 'Fichier' 'Enregistrer sous...', vous pouvez, par le biais de la bote de dialogue Editer les informations sur l'attribution d'une licence saisir les Informations relatives la licence. Ces informations seront reprises dans les informations du projet et pourront tre visualises lors de l'Utilisation de la bibliothque dans les caractristiques des objets par le gestionnaire de bibliothques.
Bote de dialogue: Editer les informations relatives l'attribution d'une licence

Gnral : Nom : il s'agit du nom du module de bibliothque sous lequel il est gr au sein du gestionnaire de licences. Cette entre est obligatoire. ID du vendeur:identification du fabricant, en fonction du programme de gestion des licences spcifiques aux fabricants. Mode sans licence : activez cette option si le module peut tre utilis sans licence (mode dmonstration) et introduisez le nombre de jours aprs lequel cette licence de dmonstration arrive expiration. Le nombre de jours est toujours automatiquement arrondi la dizaine suprieure par le gestionnaire des licences (10, 20, 30, ...). Si vous ne saisissez aucun nombre, le module peut tre utilis sans limite dans le temps.

CoDeSys V2.3

9-1

Cration d'une bibliothque soumise licence

Cibles : introduisez ici l'identit du ou des systmes cible pour lesquels la licence est valide. Plusieurs ID peuvent tre donnes dans une liste, spares par point-virgule, ou comme zone. Exemple : "12;15-19;21" Contact : Licensement par tlphone: / par e-mail: Introduisez ici le numro de tlphone ou l'adresse e-mail auxquels l'utilisateur peut demander une licence. Ces entres sont obligatoires. Informations optionnelles : La fentre de droite est destine au texte que vous pouvez saisir selon votre gr en regard du point marqu dans la fentre de gauche : Description, Fabricant, Vendeur, Informations sur le prix

Veuillez noter :

Une bibliothque sauvegarde avec des informations relatives une licence devrait aussi tre munie d'un

mot de passe. Si vous souhaitez sauvegarder le fichier sans mot de passe, vous en tes prvenu par un message. Pour les bibliothques 3S, ce n'est pas ncessaire de garder les infos relatives la licence dans un fichier descriptif de module spar, car elles sont enregistres de manire interne et automatiquement stockes sur l'ordinateur lors de l'utilisation de la bibliothque. Pour les autres, et galement par exemple les modules externes (pas 3S), un fichier descriptif doit tre disponible en format XML et pouvant tre lu par le gestionnaire de licences 3S.

Reportez-vous cet effet la documentation du 3S LIcensing Manager.

9-2

CoDeSys V2.3

10 - APPENDICE

10 APPENDICE Appendice A Les oprateurs CEI et fonctions supplmentaires dextension des normes
CoDeSys supporte tous les oprateurs CEI. Ceux-ci sont connus implicitement dans la totalit du projet, contrairement aux fonctions standard (bibliothque standard). Outre les oprateurs CEI, CoDeSys supporte les oprateurs suivants non exigs par la norme : INDEXOF et SIZEOF (voir oprateurs arithmtiques), ADR et BITADR (voir oprateurs dadressage).
Attention: Si des types de donnes avec virgules flottantes sont utilises, le rsultat d'une calculation dpendre de la system cible choisi !

Dans les modules du projet les oprateurs sont utilises comme fonctions.

10.1.1 Oprateurs arithmtiques


ADD Addition de variables de type BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, REAL et LREAL. On peut galement additionner deux variables TIME, le rsultat sera toujours un temps (p.ex. t#45s + t#50s = t#1m35s)
Exemple en langage IL: LD 7 ADD 2,4,7 ST var1 Exemple en langage ST: var1 := 7+2+4+7; Exemple en langage FBD:

MUL Multiplication de variables du type BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, REAL et LREAL.
Exemple en langage IL: LD 7 MUL 2,4,7 ST var1 Exemple en langage ST: var1 := 7*2*4*7; Exemple en langage FBD:

CoDeSys V2.3

10-1

Cration d'une bibliothque soumise licence

SUB Soustraction d'une variable de type BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, REAL et LREAL d'une autre variable d'un de ces types. Une variable TIME peut aussi tre soustraite d'une autre variable TIME, et le rsultat est de nouveau de type TIME. Tenez compte du fait que les valeurs TIME ngatives ne sont pas dfinies.
Exemple en langage IL: LD 7 SUB 8 ST var1 Exemple en langage ST: var1 := 7-2; Exemple en langage FBD:

DIV arithmtique:Division d'une variable de type BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, REAL et LREAL par une autre variable d'un de ces types.
Exemple en langage IL: LD 8 DIV 2 ST var1 Exemple en langage ST: var1 := 8/2; Exemple en langage FBD:

Si dans votre projet vous dfinissez des fonctions des CheckDivByte, CheckDivWord, CheckDivDWord et CheckDivReal ,vous pourrez vrifier la valeur du diviseur lors de l'utilisation de l'oprateur DIV, par exemple pour viter une division par zro. Le nom de la fonction est fix et ne peut tre modifi. Exemple de mise en &oelig;uvre de la fonction CheckDivReal :
FUNCTION CheckDivReal : REAL VAR_INPUT divisor:REAL; END_VAR IF divisor = 0 THEN CheckDivReal:=1; ELSE CheckDivReal:=divisor; END_IF;

Le rsultat de la fonction CheckDivReal est utilis comme diviseur par l'oprateur DIV. Ceci permet d'viter une division par zro dans le programme exemplaire ci-aprs car la valeur du diviseur (d) est change de 0 1. Le rsultat "erg" de la division est alors 799.
PROGRAM PLC_PRG VAR erg:REAL; v1:REAL:=799;

10-2

CoDeSys V2.3

10 - APPENDICE

d:REAL; END_VAR erg:= v1 DIV d

MOD Division modulo d'une variable de type BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, REAL et LREAL par une autre variable d'un ce ces types. Cette fonction donne comme rsultat le reste entier de la division.
Exemple en langage IL: LD 9 MOD 2 ST var1 (* Le rsultat est 1 *) Exemple en langage ST: var1 := 9 MOD 2; Exemple en langage FBD:

MOVE Affectation dune variable une autre variable dun type compatible. Du fait que MOVE soit disponible sous la forme dun module dans les diteurs FBD, CFC et LD, la fonctionnalit EN/EN0 peut galement y tre utilise dans le cadre de l'affectation dune variable.
Exemple en langage CFC en rapport avec la fonction EN/EN0 :

Cest uniquement lorsque en_i a la valeur TRUE que la valeur de la variable var1 est affecte la variable var2.

Beispiel en langage IL: LD ivar1 MOVE ivar2 ST ivar2 (* Ergebnis: var2 erhlt Wert von var1 *)

( entspricht:
LD ivar1 ST ivar2 ) Beispiel en langage ST: ivar2 := MOVE(ivar1);

( Ceci correspond :
ivar2 := ivar1; )

INDEXOF

Cette fonction nest pas prescrite par la norme CEI61131-3. Cette fonction INDEXOF fournit comme rsultat lindex interne d'un module.
Exemple en langage ST: var1 := INDEXOF(module2);

CoDeSys V2.3

10-3

Cration d'une bibliothque soumise licence

SIZEOF Cette fonction nest pas prescrite par la norme CEI61131-3. Cette fonction SIZEOF fournit comme rsultat le nombre d'octets que ncessite le type de donnes spcifi.
Exemple en langage IL: arr1:ARRAY[0..4] OF INT; Var1 INT LD arr1 SIZEOF ST Var1 (* Ergebnis ist 10 *) Exemple en langage ST: var1 := SIZEOF(arr1);

10.1.2 Oprateurs sur cordons de bits


AND Au niveau du bit AND d'oprandes binaires. Les oprandes doivent tre du type BOOL, BYTE, WORD ou DWORD.
Exemple en langage IL: var1 :BYTE; LD 2#1001_0011 AND 2#1000_1010 ST var1 (* Le rsultat est 2#1000_0010 *) Exemple en langage ST: var1 := 2#1001_0011 AND 2#1000_1010 Exemple en langage FBD:

Remarque : Dans le cas o vous utilisez dans FBD des gnrateurs de code 68xxx ou C et si vous entrez un droulement de programme comme le suivant,

vous devez tenir compte de ce qui suit: l'affectation de la valeur de la deuxime variable d'entre du module oprateur AND la variable "z" ne sera pas effectue cause de la procdure de traitement optimalise dans FBD ds que la variable d'entre "a" a la valeur FALSE!

OR Au niveau du bit OR d'oprandes binaires. Les oprandes doivent tre du type BOOL, BYTE, WORD ou DWORD.
Exemple en langage IL: var1 :BYTE; LD 2#1001_0011 OR 2#1000_1010 ST var1 (* Le rsultat est 2#1001_1011 *)

10-4

CoDeSys V2.3

10 - APPENDICE

Exemple en langage ST: Var1 := 2#1001_0011 OR 2#1000_1010 Exemple en langage FBD:

Remarque : Dans le cas o vous utilisez dans FBD des gnrateurs de code 68xxx ou C et si vous entrez un droulement de programme comme le suivant,

vous devez tenir compte de ce qui suit: l'affectation de la valeur de la deuxime variable d'entre du module oprateur OR la variable "z" ne sera pas effectue cause de la procdure de traitement optimalise dans FBD ds que la variable d'entre "a" a la valeur TRUE!

XOR Au niveau du bit XOR d'oprandes binaires. Les oprandes doivent tre du type BOOL, BYTE, WORD ou DWORD.
Exemple en langage IL: Var1 :BYTE; LD 2#1001_0011 XOR 2#1000_1010 ST var1 (* Le rsultat est 2#0001_1001 *) Exemple en langage ST: Var1 := 2#1001_0011 XOR 2#1000_1010 Exemple en langage FBD:

Remarque : Veuillez noter le comportement du module XOR dans sa forme tendue, avec plus de deux entres : les entres sont testes deux par deux et les rsultats obtenus sont nouveau compars les uns aux autres (correspond la norme, mais pas ncessairement aux attentes).

NOT Au niveau du bit NOT d'un oprande binaire. L'oprande doit tre du type BOOL, BYTE, WORD ou DWORD.
Exemple en langage IL: Var1 :BYTE; LD 2#1001_0011 NOT ST var1 (* Le rsultat est 2#0110_1100 *) Exemple en langage ST: Var1 := NOT 2#1001_0011 Exemple en langage FBD:

CoDeSys V2.3

10-5

Cration d'une bibliothque soumise licence

10.1.3 Oprateurs de dcalage binaire


Remarque pour toutes les versions, y compris le Service Pack 5 de la Version 2.2: Le gnrateur de code pour les systmes cible Infineon C16x excute des oprations de calcul de dcalage binaire avec Modulo 16.

SHL Dcalage vers la gauche au niveau du bit d'un oprande: erg:= SHL (in, n) in est dcal de n bits vers la gauche, et complt avec des zros partir de la droite. Les variables d'entres erg, in et n doivent tre du type BYTE, WORD ou DWORD. In est dcal de n bits vers la gauche, et complt avec des zros partir de la droite.
Remarque : Ne perdez pas de vue que le nombre de bits utilis par cette opration de calcul est dfini par le type de donne de la variable d'entre in. S'il s'agit d'une constante, le plus petit type de donne possible est utilis pour cette opration. Le type de donne de la variable de sortie n'a pas d'influence sur cette opration de calcul.

Vous pouvez voir l'aide de la reprsentation hexadcimale dans l'exemple suivant l'influence de l'opration sur les rsultats erg_byte et erg_word pour une mme valeur des variables d'entre in_byte et in_word mais pour des types de donne diffrents de la variable "in...", c.--d. une fois du type BYTE et l'autre fois du type WORD.
Exemple en langage ST: PROGRAM shl_st VAR in_byte : BYTE:=16#45; in_word : WORD:=16#45; erg_byte : BYTE; erg_word : WORD; n: BYTE :=2; END_VAR erg_byte:=SHL(in_byte,n); (* Resultat: 16#14 *) erg_word:=SHL(in_word;n); (* Resultat: 16#0114 *) Exemple en langage FBD:

Exemple en langage IL: LD ST 16#45 erg_byte SHL 2

SHR Dcalage vers la droite au niveau du bit d'un oprande: erg:= SHR (in, n) in est dcal de n bits vers la droite. Lorsquun type de donne sans signe est utilis (BYTE, WORD, DWORD), in est complt avec des zro partir de la gauche. Avec un type de donne avec signe, p.ex. INT, on procde un dcalage arithmtique, c.--d. quin est complt avec la valeur du bit suprieur.
Remarque : Ne perdez pas de vue que le nombre de bits utilis par cette opration de calcul est dfini par le type de donne de la variable d'entre in. S'il s'agit d'une constante, le plus petit type de donne possible est utilis pour cette opration. Le type de donne de la variable de sortie n'a pas d'influence sur cette opration de calcul.

Vous pouvez voir l'aide de la reprsentation hexadcimale dans l'exemple suivant l'influence de l'opration sur les rsultats erg_byte et erg_word pour une mme valeur des variables d'entre

10-6

CoDeSys V2.3

10 - APPENDICE

in_byte et in_word mais pour des types de donne diffrents de la variable "in...", c.--d. une fois du type BYTE et l'autre fois du type WORD.
Exemple en langage ST: PROGRAM shr_st VAR in_byte : BYTE:=16#45; in_word : WORD:=16#45; erg_byte : BYTE; erg_word : WORD; n: BYTE :=2; END_VAR erg_byte:=SHR(in_byte,n); (* Resultat 11 *) erg_word:=SHR(in_word;n); (* Resultat 0011 *) Exemple en langage FBD:

Exemple en langage IL: LD ST 16#45 erg_byte SHR 2

ROL Rotation vers la gauche au niveau du bit d'un oprande: erg:= ROL (in, n) erg, in et n doivent tre du type BYTE, WORD ou DWORD. in est dplac n fois vers la gauche d'une position binaire tandis que le bit le plus gauche est rinsr par la droite.
Remarque : Ne perdez pas de vue que le nombre de bits utilis par cette opration de calcul est dfini par le type de donne de la variable d'entre in. S'il s'agit d'une constante, le plus petit type de donne possible est utilis pour cette opration. Le type de donne de la variable de sortie n'a pas d'influence sur cette opration de calcul.

Vous pouvez voir l'aide de la reprsentation hexadcimale dans l'exemple suivant l'influence de l'opration sur les rsultats erg_byte et erg_word pour une mme valeur des variables d'entre in_byte et in_word mais pour des types de donne diffrents de la variable "in...", c.--d. une fois du type BYTE et l'autre fois du type WORD.
Exemple en langage ST: PROGRAM rol_st VAR in_byte : BYTE:=16#45; in_word : WORD:=16#45; erg_byte : BYTE; erg_word : WORD; n: BYTE :=2; END_VAR Exemple en langage FBD:

Exemple en langage IL: LD ST 16#45 erg_byte ROL 2

CoDeSys V2.3

10-7

Cration d'une bibliothque soumise licence

ROR Rotation vers la droite au niveau du bit d'un oprande: erg:= ROR (IN, N) erg, in et n doivent tre du type BYTE, WORD ou DWORD. in est dplac n fois vers la droite d'une position binaire tandis que le bit le plus droite est rinsr par la gauche.
Remarque : Ne perdez pas de vue que le nombre de bits utilis par cette opration de calcul est dfini par le type de donne de la variable d'entre in. S'il s'agit d'une constante, le plus petit type de donne possible est utilis pour cette opration. Le type de donne de la variable de sortie n'a pas d'influence sur cette opration de calcul.

Vous pouvez voir l'aide de la reprsentation hexadcimale dans l'exemple suivant l'influence de l'opration sur les rsultats erg_byte et erg_word pour une mme valeur des variables d'entre in_byte et in_word mais pour des types de donne diffrents de la variable "in...", c.--d. une fois du type BYTE et l'autre fois du type WORD.
Exemple en langage ST: PROGRAM ror_st VAR in_byte : BYTE:=16#45; in_word : WORD:=16#45; erg_byte : BYTE; erg_word : WORD; n: BYTE :=2; END_VAR Exemple en langage FBD:

Exemple en langage IL: LD 16#45 ROR 2 ST erg_byte

10.1.4 Oprateurs de slection


Tous les oprateurs de slection peuvent galement tre appliqus des variables. Pour ne pas alourdir la prsentation, nous nous limiterons choisir des constantes comme oprateurs dans les exemples illustrs ici. SEL Slection binaire.
OUT := SEL(G, IN0, IN1) signifie: OUT := IN0 if G=FALSE; OUT := IN1 if G=TRUE.

IN0, IN1 et OUT peuvent tre de n'importe quel type, G doit tre de type BOOL. Si G a la valeur FALSE, alors le rsultat de la slection est IN0, et si G a la valeur TRUE, alors le rsultat est IN1.
Exemple en langage IL: LD TRUE SEL 3,4 ST Var1 (* Le rsultat est 4 *) LD FALSE SEL 3,4 ST Var1 (* Le rsultat est 3 *)

10-8

CoDeSys V2.3

10 - APPENDICE

Exemple en langage FBD:

Remarque: Pour optimizer le dure: Une expression avant IN0 est execute seulement si G=FALSE. Une expression avant IN1 est execute seulement si G=TRUE! Dans la mode Simulation toutes les branches sont executes.

MAX Fonction maximum. Fournit la plus grande des deux valeurs.

OUT := MAX(IN0, IN1)


IN0, IN1 et OUT peuvent tre de n'importe quel type.
Exemple en langage IL: LD 90 MAX 30 MAX 40 MAX 77 ST Var1 (* Le rsultat est 90 *) Exemple en langage FBD:

MIN Fonction minimum. Fournit la plus petite des deux valeurs.

OUT := MIN(IN0, IN1)


IN0, IN1 et OUT peuvent tre de n'importe quel type.
Exemple en langage IL: LD 90 MIN 30 MIN 40 MIN 77 ST Var1 (* Le rsultat est 30 *) Exemple en langage FBD:

LIMIT Limitation
OUT := LIMIT(Min, IN, Max) signifie: OUT := MIN (MAX (IN, Min), Max)

Max reprsente la barrire suprieure et Min la barrire infrieure du rsultat. Si la valeur IN dpasse la barrire suprieure Max, alors LIMIT fournit comme valeur Max. Si IN dpasse vers le bas la barrire Min, alors le rsultat est Min.

CoDeSys V2.3

10-9

Cration d'une bibliothque soumise licence

IN et OUT peuvent tre de n'importe quel type.


Exemple en langage IL: LD 90 LIMIT ST 30,80 Var1 (* Le rsultat est 80 *)

MUX Multiplexeur
OUT := MUX(K, IN0,...,INn) signifie: OUT := INK.

IN0, ..., INn et OUT peuvent tre de n'importe quel type. K doit tre du type BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT ou UDINT. MUX slectionne dans un ensemble la K-ime valeur.
Exemple en langage IL: LD 0 MUX ST 30,40,50,60,70,80 Var1 (* Le rsultat est 30 *)

Exemple en langage ST: Var1:=MUX(0,30,40,50,60,70,80); (* Le rsultat est 30 *); Remarque : Afin doptimiser lexcution, seule lexpression qui est avant Dans une simulation par contre, toutes les squences sont calcules. INK est calcule !

10.1.5 Oprateurs de comparaison


GT Plus grand que. Un oprateur boolen qui fournit comme rsultat TRUE, lorsque le premier oprande est plus grand que le deuxime. Les oprandes peuvent tre de type BOOL, BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, REAL, LREAL, TIME, DATE, TIME_OF_DAY, DATE_AND_TIME ou STRING.
Exemple en langage IL: LD 20 GT 30 ST Var1 (* Le rsultat est FALSE *) Exemple en langage ST: VAR1 := 20 > 30 > 40 > 50 > 60 > 70; Exemple en langage FBD:

LE Plus petit ou gal. Un oprateur boolen qui fournit comme rsultat TRUE, lorsque le premier oprande est plus petit que le deuxime ou gal au deuxime. Les oprandes peuvent tre de type BOOL, BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, REAL, LREAL, TIME, DATE, TIME_OF_DAY, DATE_AND_TIME ou STRING.

10-10

CoDeSys V2.3

10 - APPENDICE

Exemple en langage IL: LD 20 LE 30 ST Var1 (* Le rsultat est TRUE *) Exemple en langage ST: VAR1 := 20 <= 30; Exemple en langage FBD:

GE Plus grand ou gal. Un oprateur boolen qui fournit comme rsultat TRUE, lorsque le premier oprande est plus grand que le deuxime ou gal au deuxime. Les oprandes peuvent tre de type BOOL, BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, REAL, LREAL, TIME, DATE, TIME_OF_DAY, DATE_AND_TIME ou STRING.
Exemple en langage IL: LD 60 GE 40 ST Var1 (* Le rsultat est TRUE *) Exemple en langage ST: VAR1 := 60 >= 40; Exemple en langage FBD:

EQ Egalit. Un oprateur boolen qui fournit comme rsultat TRUE, lorsque les deux oprandes sont gaux. Les oprandes peuvent tre de type BOOL, BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, REAL, LREAL, TIME, DATE, TIME_OF_DAY, DATE_AND_TIME ou STRING.
Exemple en langage IL: LD 40 EQ 40 ST Var1 (* Le rsultat est TRUE *) Exemple en langage ST: VAR1 := 40 = 40; Exemple en langage FBD:

CoDeSys V2.3

10-11

Cration d'une bibliothque soumise licence

NE Ingalit. Un oprateur boolen qui fournit comme rsultat TRUE, lorsque les deux oprandes ne sont pas gaux. Les oprandes peuvent tre de type BOOL, BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, REAL, LREAL, TIME, DATE, TIME_OF_DAY, DATE_AND_TIME ou STRING.
Exemple en langage IL: LD 40 NE 40 ST Var1 (* Le rsultat est FALSE *) Exemple en langage ST: VAR1 := 40 <> 40; Exemple en langage FBD:

LT Plus petit que. Un oprateur boolen qui fournit comme rsultat TRUE, lorsque le premier oprande est plus petit que le deuxime. Les oprandes peuvent tre de type BOOL, BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, REAL, LREAL, TIME, DATE, TIME_OF_DAY, DATE_AND_TIME ou STRING.
Exemple en langage IL: LD 20 LT 30 ST Var1 (* Le rsultat est TRUE *) Exemple en langage ST: VAR1 := 20 < 30; Exemple en langage FBD:

10.1.6 Oprateurs d'adressage


ADR Cette fonction d'adressage n'est par prescrite par la norme IEC61131-3. ADR fournit l'adresse de son argument dans un DWORD. L'adresse peut tre envoye vers des fonctions du fabricant, o elle sera traite comme un pointeur, ou bien elle peut tre affecte un pointeur l'intrieur du projet.
Exemple en langage ST: dwVar:=ADR(bVAR);

10-12

CoDeSys V2.3

10 - APPENDICE

Exemple en langage IL: LD var1 ADR ST var2 man_fun1 Attention

BITADR Cette fonction d'adressage n'est par prescrite par la norme IEC61131-3. BITADR fournit le dcalage du bit au sein d'un segment dans un DWORD. Ne perdez pas de vue que le dcalage dpend de l'activation ou non de l'option Adressage par octets dans la configuration du systme cible.
VAR var1 AT %IX2.3:BOOL; bitoffset: DWORD; END_VAR Exemple en langage ST: bitoffset:=BITADR(var1); (* Rsultat avec Adressage par octets=TRUE: 19, et avec Adressage par octets=FALSE: 35 *) Exemple en langage IL: LD Var1 BITADR ST Var2 Attention

Oprateur de contenu La suppression de la rfrence d'un pointer se fait au moyen de l'oprateur de contenu "^" plac derrire l'identificateur du pointer.
Exemple en langage ST: pt:POINTER TO INT; var_int1:INT; var_int2:INT; pt := ADR(var_int1); var_int2:=pt^; Attention

10.1.7 Oprateur d'appeler


CAL Appel d'un bloc fonctionnel. En langage IL, CAL permet d'appeler une instance de bloc fonctionnel. Le nom de l'instance d'un bloc fonctionnel est suivi, entre parenthses, de l'assignation des variables d'entre du bloc fonctionnel.
Exemple : Appel de l'instance Inst d'un bloc fonctionnel avec 0 ou TRUE comme assignations des variables Par1, Par2. CAL INST(PAR1 := 0, PAR2 := TRUE)

CoDeSys V2.3

10-13

Cration d'une bibliothque soumise licence

10.1.8 Conversions de types


Il n'est pas permis de convertir implicitement un type plus grand en un type plus petit (par exemple la conversion de INT en BYTE ou la conversion de DINT en WORD). Si l'on veut effectuer une conversion de ce genre, il faut utiliser des fonctions particulires qui sont les conversions de type. En principe, on peut convertir n'importe quel type lmentaire en un autre type lmentaire. Syntaxe:
<Type lmentaire 1>_TO_<Type lmentaire 2>

Conversions BOOL_TO Conversion du type BOOL en un autre type: Dans le cas des types numriques, le rsultat est 1 si l'oprande a la valeur TRUE et 0 si l'oprande a la valeur FALSE. Dans le cas du type STRING, le rsultat est 'TRUE' ou 'FALSE', selon le cas. voici aussi Remarques
Exemples en langage IL: LD TRUE BOOL_TO_INT ST I LD TRUE BOOL_TO_STRING ST str LD TRUE BOOL_TO_TIME ST t LD TRUE BOOL_TO_TOD ST LD FALSE BOOL_TO_DATE ST dat LD TRUE BOOL_TO_DT ST dandt Exemples en langage ST: i:=BOOL_TO_INT(TRUE); str:=BOOL_TO_STRING(TRUE); t:=BOOL_TO_TIME(TRUE); tof:=BOOL_TO_TOD(TRUE); dat:=BOOL_TO_DATE(FALSE); dandt:=BOOL_TO_DT(TRUE); Exemples en langage FBD: (* Le rsultat est 1 *) (* Le rsultat est 1 *) (* Le rsultat est 'TRUE' *) (* Le rsultat est T#1ms *) (* Le rsultat est TOD#00:00:00.001 *) (* Le rsultat est D#1970-01-01 *) (* Le rsultat est DT#1970-01-01-00:00:01 *) (* Le rsultat est 1 *)

(* Le rsultat est 'TRUE' *)

(* Le rsultat est T#1ms *)

(* Le rsultat est TOD#00:00:00.001 *)

(* Le rsultat est D#1970-01-01 *)

(* Le rsultat est DT#1970-01-01-00:00:01 *)

(* Le rsultat est 'TRUE' *)

10-14

CoDeSys V2.3

10 - APPENDICE

(* Le rsultat est T#1ms *)

(* Le rsultat est TOD#00:00:00.001 *) (* Le rsultat est D#1970-01-01 *) (* Le rsultat est DT#1970-01-01-00:00:01 *)

Conversions TO_BOOL Conversion d'un type quelconque en un type BOOL: Le rsultat est TRUE si l'oprande est diffrent de 0. Le rsultat est FALSE si l'oprande est gal 0. Dans le cas du type STRING, le rsultat est gal TRUE si l'oprande est 'TRUE', sinon le rsultat est FALSE. voici aussi Remarques
Exemples en langage IL: LD 213 BYTE_TO_BOOL ST b LD 0 INT_TO_BOOL ST b LD T#5ms TIME_TO_BOOL ST b LD 'TRUE' STRING_TO_BOOL ST b Exemples en langage ST: b b b b := := := := BYTE_TO_BOOL(2#11010101); INT_TO_BOOL(0); TIME_TO_BOOL(T#5ms); STRING_TO_BOOL('TRUE'); (* (* (* (* Le Le Le Le rsultat rsultat rsultat rsultat est est est est TRUE *) FALSE *) TRUE *) TRUE *) (* Le rsultat est TRUE *) (* Le rsultat est FALSE *) (* Le rsultat est TRUE *) (* Le rsultat est TRUE *)

Exemples en langage FBD: (* Le rsultat est TRUE *) (* Le rsultat est FALSE *) (* Le rsultat est TRUE *) (* Le rsultat est TRUE *)

Conversions d'un type entier en un autre type entier Conversion d'un type entier en un autre type entier: Lors de la conversion d'un type plus grand en un type moins grand, des informations peuvent tre perdues. Si le nombre convertir dpasse la limite de plage, alors les premiers octets de ce nombre ne sont pas pris en compte.

CoDeSys V2.3

10-15

Cration d'une bibliothque soumise licence

voici aussi Remarques


Exemple en langage ST: si := INT_TO_SINT(4223); (* Le rsultat est 127 *)

Si vous stockez le nombre entier 4223 (16#107f en notation hexadcimale) dans une variable SINT, alors celle-ci assume la valeur 127 (16#7f en notation hexadcimale).
Exemple en langage IL: LD 2 INT_TO_REAL MUL Exemple en langage FBD:

Conversions REAL_TO/ LREAL_TO Conversion du type REAL ou LREAL en un autre type: La valeur est arrondie au nombre entier, vers le haut ou vers le bas, avant d'tre convertie en un autre type. Ce type doit tre diffrent des types STRING, BOOL, REAL et LREAL. Lors de la conversion d'un type plus grand en un type moins grand, des informations peuvent tre perdues. Ne perdez pas de vue que lors de la conversion en type STRING, le nombre maximal demplacements de virgules est limit 16. Si le nombre (L)REAL contient plus demplacements, le 16ime emplacement est arrondi et visualis comme tel dans la chane de caractres. Si la chane de caractres a t dfinie trop courte pour la valeur, on rduit en consquence partir de la droite. voici aussi Remarques
Exemple en langage ST: i := REAL_TO_INT(1.5); (* Le rsultat est 2 *) j := REAL_TO_INT(1.4); (* Le rsultat est 1 *) Exemple en langage IL: LD 2.7 REAL_TO_INT GE %MW8 Exemple en langage FBD:

Conversions TIME_TO / TIME_OF_DAY Conversion du type TIME ou TIME_OF_DAY en un autre type: La date est stocke en interne dans une variable DWORD et est exprime en millisecondes ( partir de 00:00 heures dans le cas de TIME_OF_DAY). Cette valeur est convertie. Lors de la conversion d'un type plus grand en un type moins grand, des informations peuvent tre perdues. Dans le cas du type STRING, le rsultat est la constante de temps. voici aussi Remarques

10-16

CoDeSys V2.3

10 - APPENDICE

Exemples en langage IL: LD T#12ms TIME_TO_STRING ST str LD T#300000ms TIME_TO_DWORD ST dw LD TOD#00:00:00.012 TOD_TO_SINT ST si Exemples en langage ST: str :=TIME_TO_STRING(T#12ms); dw:=TIME_TO_DWORD(T#5m); si:=TOD_TO_SINT(TOD#00:00:00.012); Exemples en langage FBD: (* Le rsultat est 'T#12ms' *) (* Le rsultat est 300000 *) (* Le rsultat est 12 *)

Conversions DATE_TO / DT_TO Conversion du type DATE ou DATE_AND_TIME en un autre type: La date est stocke en interne dans une variable DWORD et est exprime en secondes, en comptant partir du 1er janvier 1970. Cette valeur est convertie. Lors de la conversion d'un type plus grand en un type moins grand, des informations peuvent tre perdues. Dans le cas du type STRING, le rsultat est la constante de date. voici aussi Remarques
Exemples en langage IL: LD D#1970-01-01 DATE_TO_BOOL ST b LD D#1970-01-15 DATE_TO_INT ST I LD DT#1970-01-15-05:05:05 DT_TO_BYTE ST byt LD DT#1998-02-13-14:20 DT_TO STRING ST str Exemples en langage ST: b :=DATE_TO_BOOL(D#1970-01-01); i :=DATE_TO_INT(D#1970-01-15); byt :=DT_TO_BYTE(DT#1970-01-15-05:05:05); str:=DT_TO_STRING(DT#1998-02-13-14:20); Exemples en langage FBD: (* Le rsultat est FALSE *) (* Le rsultat est 29952 *) (* Le rsultat est 129 *) (* Le rsultat est 'DT#1998-02-13-14:20' *)

CoDeSys V2.3

10-17

Cration d'une bibliothque soumise licence

Conversions STRING_TO Conversion du type STRING en un autre type: L'oprande du type STRING doit avoir une valeur compatible avec le type d'arrive, sinon le rsultat est 0. voici aussi Remarques
Exemples en langage IL: LD 'TRUE' STRING_TO_BOOL ST b LD 'abc34' STRING_TO_WORD ST w LD 't#127ms' STRING_TO_TIME ST t Exemples en langage ST: b :=STRING_TO_BOOL('TRUE'); w :=STRING_TO_WORD('abc34'); t :=STRING_TO_TIME('T#127ms'); Exemples en langage FBD: (* Le rsultat est TRUE *) (* Le rsultat est 0 *) (* Le rsultat est T#127ms *)

TRUNC Conversion d'un type REAL en un type INT. Seule la partie entire du nombre est retenue.
Exemple en langage IL: LD 2.7 TRUNC GE %MW8 Exemples en langage ST: i:=TRUNC(1.9); (* Le rsultat est 1 *). i:=TRUNC(-1.4); (* Le rsultat est 1 *).

10-18

CoDeSys V2.3

10 - APPENDICE

10.1.9 Oprateurs numriques


ABS Fournit la valeur absolue d'un nombre. ABS(-2). Les combinaisons de types suivantes sont possibles pour IN et OUT: IN INT REAL BYTE WORD DWORD SINT USINT UINT DINT UDINT OUT INT, REAL, WORD, DWORD, DINT REAL INT, REAL, BYTE, WORD, DWORD, DINT INT, REAL, WORD, DWORD, DINT REAL, DWORD, DINT REAL REAL INT, REAL, WORD, DWORD, DINT, UDINT, UINT REAL, DWORD, DINT REAL, DWORD, DINT, UDINT

Exemple en langage IL: LD ABS ST i (* Ergebnis ist 2 *) Exemple en langage ST: i:=ABS(-2); Exemple en langage FBD: -2

SQRT Fournit la racine carre d'un nombre. IN peut tre du type BYTE, WORD, DWORD, INT, DINT, REAL, SINT, USINT, UINT, UDINT; OUT doit tre du type REAL.
Exemple en langage IL: LD ST 16 q (* Ergebnis ist 4 *) SQRT Exemple en langage ST: q:=SQRT(16); Exemple en langage FBD:

LN

CoDeSys V2.3

10-19

Cration d'une bibliothque soumise licence

Fournit le logarithme naturel d'un nombre. IN peut tre du type BYTE, WORD, DWORD, INT, DINT, REAL, SINT, USINT, UINT, UDINT; OUT doit tre du type REAL.
Exemple en langage IL: LD LN ST q (* Ergebnis ist 3.80666 *) Exemple en langage ST: q:=LN(45); Exemple en langage FBD: 45

LOG Fournit le logarithme dcimal d'un nombre. IN peut tre du type BYTE, WORD, DWORD, INT, DINT, REAL, SINT, USINT, UINT, UDINT; OUT doit tre du type REAL.
Exemple en langage IL: LD LOG ST q (* Ergebnis ist 2.49762 *) Exemple en langage ST: q:=LOG(314.5); Exemple en langage FBD: 314.5

EXP Fournit l'lvation exponentielle d'un nombre. IN peut tre du type BYTE, WORD, DWORD, INT, DINT, REAL, SINT, USINT, UINT, UDINT; OUT doit tre du type REAL.
Exemple en langage IL: LD EXP ST q (* Ergebnis ist 7.389056099 *) Exemple en langage ST: q:=EXP(2); Exemple en langage FBD: 2

10-20

CoDeSys V2.3

10 - APPENDICE

SIN Fournit le sinus d'un nombre. Le calcul est effectu sur une valeur en radians. IN peut tre du type BYTE, WORD, DWORD, INT, DINT, REAL, SINT, USINT, UINT, UDINT; OUT doit tre du type REAL.
Exemple en langage IL: LD SIN ST 0.5 q (* Le rsultat est 0,479426 *)

Exemple en langage ST: q:=SIN(0.5); Exemple en langage FBD:

COS Fournit le cosinus d'un nombre. Le calcul est effectu sur une valeur en radians. IN peut tre du type BYTE, WORD, DWORD, INT, DINT, REAL, SINT, USINT, UINT, UDINT; OUT doit tre du type REAL.
Exemple en langage IL: LD COS ST q (* Ergebnis ist 0.877583 *) Exemple en langage ST: q:=COS(0.5); Exemple en langage FBD: 0.5

TAN Fournit la tangente d'un nombre. Le calcul est effectu sur une valeur en radians. IN peut tre du type BYTE, WORD, DWORD, INT, DINT, REAL, SINT, USINT, UINT, UDINT; OUT doit tre du type REAL.
Exemple en langage IL: LD TAN ST q (* Ergebnis ist 0.546302 *) Exemple en langage ST: q:=TAN(0.5); Exemple en langage FBD: 0.5

CoDeSys V2.3

10-21

Cration d'une bibliothque soumise licence

ASIN Fournit l'arcsinus d'un nombre (fonction inverse de la fonction sinus). La valeur est calcule en radians. IN peut tre du type BYTE, WORD, DWORD, INT, DINT, REAL, SINT, USINT, UINT, UDINT; OUT doit tre du type REAL.
Exemple en langage IL: LD ST 0.5 q (* Ergebnis ist 0.523599 *) ASIN Exemple en langage ST: q:=ASIN(0.5); Exemple en langage FBD:

ACOS Fournit l'arccosinus d'un nombre (fonction inverse de la fonction cosinus). La valeur est calcule en radians. IN peut tre du type BYTE, WORD, DWORD, INT, DINT, REAL, SINT, USINT, UINT, UDINT; OUT doit tre du type REAL.
Exemple en langage IL: LD 0.5 ABS ST q (* Ergebnis ist 1.0472 *) Exemple en langage ST: q:=ACOS(0.5); Exemple en langage FBD:

ATAN Fournit l'arctangente d'un nombre (fonction inverse de la fonction tangente). La valeur est calcule en radians. IN peut tre du type BYTE, WORD, DWORD, INT, DINT, REAL, SINT, USINT, UINT, UDINT; OUT doit tre du type REAL.
Exemple en langage IL: LD 0.5 ABS ST q (* Ergebnis ist 0.463648 *) Exemple en langage ST: q:=ATAN(0.5); Exemple en langage FBD:

10-22

CoDeSys V2.3

10 - APPENDICE

EXPT Fournit l'lvation d'une variable la puissance d'une autre variable: OUT = IN1IN2. IN1 et IN2 peuvent tre du type BYTE, WORD, DWORD, INT, DINT, REAL, SINT, USINT, UINT, UDINT; OUT doit tre du type REAL.
Exemple en langage IL: LD 7 EXPT 2 ST var1 (* Ergebnis ist 49 *) Exemple en langage ST: var1 := (7,2); Exemple en langage FBD:

CoDeSys V2.3

10-23

Cration d'une bibliothque soumise licence

10-24

CoDeSys V2.3

10 - APPENDICE

Appendice B Les oprandes dans CoDeSys


Dans CoDeSys, vous pouvez utiliser des Constantes, des Variables, des Adresses et ventuellement des Appels de fonctions comme oprandes.

10.2 Constantes
Constantes BOOL Les constantes boolennes (BOOL) sont les valeurs de vrit TRUE et FALSE. Constantes TIME CoDeSys permet la dclaration de constantes TIME. Celles-ci visent particulirement exploiter les temporisateurs de la bibliothque standard. Une constante de temps TIME est toujours introduite par la lettre "t" ou "T" (ou le mot "time" ou "TIME") suivi(e) d'un dise "#". Ensuite vient la dclaration de temps proprement parler; elle peut tre forme de jours (dsigns par "d"), d'heures (dsignes par "h"), de minutes (dsignes par "m"), de secondes (dsignes par "s") et de millisecondes (dsignes par "ms"). Il faut veiller ce que les donnes de temps soient ranges par ordre dcroissant (d avant h avant m avant s avant m avant ms). A noter que les priodes temporelles ne doivent pas apparatre toutes ensemble. Exemples de constantes TIME correctes dans une affectation en langage ST:
TIME1 := T#14ms; TIME1 := T#100S12ms; TIME1 := t#12h34m15s; (*Dpassement sur le rang suprieur autoris*)

Exemples errons:
TIME1 := t#5m68s; TIME1 := 15ms; TIME1 := t#4ms13d; (*Dpassement sur le rang infrieur*) (*Omission de T#*) (*Ordre incorrect des donnes*)

Constantes DATE Ce type de constante permet de constituer des donnes de date. Une dclaration de constante DATE est introduite par la lettre "d" ou "D", ou le mot "DATE" ou "date" et suivi(e) d'un dise "#". Aprs quoi, vous tes libre d'entrer une date quelconque sous la forme Anne-Mois-Jour.
Exemples: DATE#1996-05-06 d#1972-03-29

Constantes TIME_OF_DAY Ce type de constante permet d'enregistrer les heures du jour. Une dclaration de constante TIME_OF_DAY est introduite par "tod#", "TOD#", "TIME_OF_DAY#" ou "time_of_day#"; vous pouvez ensuite entrer une heure sous la forme Heure:Minute:Seconde. Les secondes peuvent tre entres sous la forme de nombres rels, autorisant donc l'entre de fractions de seconde.
Exemples: TIME_OF_DAY#15:36:30.123 tod#00:00:00

Constantes DATE_AND_TIME Les constantes de date et d'heure du jour peuvent tre combines; on les appelle alors des constantes DATE_AND_TIME. Elles sont introduites par "dt#", "DT#", "DATE_AND_TIME#" ou "date_and_time#". La date est suivie d'un trait d'union puis de l'heure du jour.

CoDeSys V2.3

10-25

Constantes

Exemples: DATE_AND_TIME#1996-05-06-15:36:30 dt#1972-03-29-00:00:00

Constantes numriques Les libells numriques peuvent se prsenter sous la forme de chiffres binaires, de chiffres octaux, de nombres dcimaux et de nombres hexadcimaux. Si un libell entier n'est pas un nombre dcimal, vous devez faire suivre sa base d'un dise (#) avant d'crire les nombres de la constante. Dans le cas des nombres hexadcimaux, les nombres compris entre 10 et 15 sont conventionnellement reprsents par les lettres A-F. Les caractres de soulignement uniques (_) au sein d'une valeur numrique sont autoriss.
Exemples: 14 (nombre 2#1001_0011 (nombre 8#67 (nombre 16#A (nombre dcimal) binaire) octal) hexadcimal)

Ces libells numriques peuvent tre du type BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, REAL ou LREAL. Les conversions implicites des types "suprieurs" vers les types "infrieurs" sont interdites. Impossible donc d'utiliser une variable DINT comme une variable INT, par exemple. Pour cela, il faut faire appel aux fonctions de conversion de types, disponibles dans la bibliothque standard . Constantes REAL / LREAL Les constantes REAL et LREAL peuvent tre dfinies sous la forme de fractions dcimales et de reprsentations exponentielles. C'est la transcription amricaine qui a t choisie (la virgule est remplace par un point).
Exemple : 7.4 au lieu de 7,4 1.64e+009 au lieu de 1,64e+009

Constantes STRING Une chane est une chane de caractres quelconque. Les constantes STRING sont dlimites par des guillemets simples. Il est possible de saisir galement des espaces et des trmas. Ces caractres ont le mme statut que les autres caractres. Dans les chanes de caractres, la combinaison du signe dollar ($) et de deux chiffres hexadcimaux est interprte comme la reprsentation hexadcimale du code de caractre huit bits. En outre, lors de leur apparition dans une chane de caractres, des combinaisons de deux caractres commenant par un signe dollar sont interprtes comme suit: $$ $' $L ou $l $N ou $n $P ou $p $R ou $r $T ou $t Signe dollar Guillemet simple Saut de ligne Nouvelle ligne Saut de page Retour automatique la ligne Tabulation

10-26

CoDeSys V2.3

10 - APPENDICE

Exemples: 'w1W?' 'Susi et Claus' ':-)'

Constantes types (Typed Literals) En principe, le plus petit type de donne est mis en uvre lors de lemploi de constantes CEI. Typed Literals vous permet dutiliser un autre type de donnes sans pour autant devoir dclarer la constante de manire explicite. La constante est alors pourvue dun prfixe qui dtermine le type : le format est comme suit : <Type>#<Literal> <Type> indique le type de donne, et les entres possibles sont : BOOL, SINT, USINT, BYTE, INT, UINT, WORD, DINT, UDINT, DWORD, REAL, LREAL. Le type doit tre saisi en majuscules. <Literal> indique la constante. Lentre doit correspondre au type de donne indiqu par <Type>.
Exemple : var1:=DINT#34;

Si la constante ne peut tre transmise au type cible sans perte de donnes, un message derreur saffiche : Les constantes types peuvent tre utilises partout o des constantes normales peuvent ltre.

10.3 Variables
Les variables peuvent tre dclares soit localement, dans la partie de dclaration d'un module, soit globalement, dans les listes de variables.
Remarque: Il est possible de dfinir une variable locale avec le mme nom qu'une variable globale. Au sein d'un module, la variable dfinie localement a toujours priorit. Il n'est pas possible d'attribuer le mme nom deux variables globales ; cela provoque par exemple une erreur de compilation si une variable "var1" est dfinie aussi bien dans la liste des variables que dans la configuration de l'automate.

En ce qui concerne les identificateurs de variables, il faut veiller ce qu'ils ne comportent ni espace ni trma ni accent, ce qu'ils ne soient pas dclars deux fois et ce qu'ils ne concident pas avec des mots-cls. Les variables peuvent s'crire indiffremment en majuscules ou en minuscules, c.--d. que VAR1, Var1 et var1 reprsentent une seule et mme variable. Les caractres de soulignement sont signifiants, c.--d. que A_BCD et AB_CD sont interprts comme deux identificateurs diffrents. Les caractres de soulignement successifs ne sont autoriss ni au dbut ni l'intrieur d'un identificateur. La longueur des identificateurs et la zone significative de variables peuvent tre utilises partout o le type dclar le permet. Vous pouvez appeler les variables disponibles via la Liste de slection pour l'dition. Drapeaux systme Les drapeaux systme sont des variables dclares implicitement, qui dpendent spcifiquement de votre automate programmable. Pour trouver les drapeaux systme de votre systme, choisissez l'lment de menu 'Insrer' 'Oprande'; vous accdez la Liste de slection pour l'dition dans laquelle vous choisissez la catgorie Variable systme. Accs aux variables de tableaux, de structures et de modules L'accs aux composants de tableaux bidimensionnels se fait comme suit:
<Nom_de_tableau>[Index1, Index2]

L'accs aux variables de structures se fait comme suit:


<Nom_de_structure>.<Nom_de_variable>

L'accs aux variables de blocs fonctionnels et de programmes se fait comme suit:

CoDeSys V2.3

10-27

Variables

<Nom_de_module>.<Nom_de_variable>

Adressage de bits au sein de variables On peut accder des bits individuels au sein de variables entires. On rattache pour ce faire l'index du bit auquel on souhaite accder la variable en les sparant l'aide d'un point. L'index du bit peut tre dlivr par une constante au choix. L'index commence zro.
Exemple : a : INT; b : BOOL; ... a.2 := b;

La valeur de la variable b est affecte au troisime bit de la variable a. Si l'index est plus grand que la largeur de bit de la variable, le message d'erreur suivant s'affiche : Index '<n>' en dehors du domaine de la variable '<var>'! L'adressage par bit est possible avec les types de variable ci-aprs : SINT, INT, DINT, USINT, UINT, UDINT, BYTE, WORD, DWORD. Si le type de variable n'est pas autoris, le message d'erreur suivant s'affiche : Type de donne '<type>' non autoris pour index direct. On ne peut accder un bit particulier dans une variable VAR_IN_OUT. Bitzugriff mit Hilfe einer globalen Konstante: Si une constante globale est dclare dfinissant le numro de bit, cette constante peut tre utilise pour l'accs binaire. Les exemples suivants illustrent un tel accs binaire une variable normale ou une variable structure :
Par les deux exemples: Declaration dans une liste des variables globales: Variable enable indique, quelle bit doit tre utilisee: VAR_CONSTANT GLOBAL enable:int:=2; END_VAR Exemple 1, accs bit une variable entire: Dclaration dans le module : VAR xxx:int; END_VAR Accs binaire : xxx.enable:=true; -> le second bit dans la variable xxx prend la valeur TRUE Exemple 2, accs binaire un composant de structure entier: Veuillez noter : L'option de projet 'changer constantes' (Options de compilation) doit tre active ! Dclaration dans la structure stru1: TYPE stru1 : STRUCT bvar:BOOL; rvar:REAL; wvar:WORD; {bitaccess: 'enable' 42 'Valider entranement'} END_STRUCT END_TYPE

10-28

CoDeSys V2.3

10 - APPENDICE

Dclaration dans le module : VAR x:stru1; END_VAR Accs binaire : x.enable:=true; Ainsi, le 42e bit dans la variable x prend la valeur TRUE. Comme bvar contient 8 bits et rvar 32, cet accs a lieu sur le 2e bit de la variable wvar, celle-ci prend alors la valeur 4. Attention: Lors de l'espionnage, pour reprsenter correctement dans la liste de slection pour l'dition et dans la fonction Intellisense, une variable qui excute un accs binaire une variable structure par le biais d'une constante globale, veuillez utiliser la pragma {bitaccess}. Alors, lors de l'espionnage, la constante globale sera affiche dans la fentre de dclaration, en dessous de la variable structure :

10.4 Adresses
Attention: Lorsqu'un changement En ligne est appliqu, les contenus des adresses peuvent se dplacer. Tenez-en compte lors de l'utilisation de pointeurs sur les adresses.

Adresse La prsentation directe d'lments de mmoire individuels se fait au moyen de chanes de caractres spcifiques, rsultant de la concatnation du signe pour-cent "%", d'un prfixe de plage, d'un prfixe de dimension et d'un ou de plusieurs nombres naturels, lesquels sont spars les uns des autres par un espace. Les prfixes de plage suivants sont supports: I Q M Entre Sortie Mmento

Les prfixes de grandeur suivants sont supports: X Bit individuel

None Bit individuel B W D Octet (8 bits) Mot (16 bits) Mot double (32 bits)

CoDeSys V2.3

10-29

Fonctions

Exemples:

%QX75 et %Q75 %IW215 %QB7 %MD48 %IW2.5.7.1

Bit de sortie 75 Mot d'entre 215 Octet de sortie 7 Mot double situ l'emplacement de mmoire 48 de la plage des mmentos Dpend de la configuration de l'automate programmable

La validit d'une adresse dpend de la configuration d'automate actuelle du programme.


Remarque: Les valeurs boolennes sont alloues par octets, pour autant qu'elles ne renvoient pas explicitement une adresse bit individuel. Exemple : Une modification de la valeur de varbool1 AT %QW0 se rapporte la zone entre QX0.0 et QX0.7.

Voir galement cet effet chapitre Appendice A, Oprateurs CEI et fonctions supplmentaires d'extension des normes, oprateurs d'adressage Mmento Pour accder au mmento, il est possible d'utiliser toutes les grandeurs supportes. Par exemple, l'adresse %MD48 concernerait les octets n. 192, 193, 194 et 195 de la zone des mmentos (48 * 4 = 192). Le premier octet est l'octet n 0. On peut accder de la mme faon aux mots et aux octets, voire au bits: l'adresse %MX5.0 donne accs au premier bit du cinquime mot (les bits sont en gnral enregistrs par groupes de mots). Voir galement cet effet chapitre Appendice, Oprateurs CEI et fonctions supplmentaires d'extension des normes, oprateurs d'adressage

10.5 Fonctions
En langage ST, un appel de fonction peut tre utilis comme oprande.
Exemple : Result := Fct(7) + 3;

Fonction TIME() Cette fonction calcule le temps (milliseconds) pass depuis le start du systeme. Type de donne est TIME.
Example en diteur IL: TIME ST systime (* Ergebnis z.B.: T#35m11s342ms *) Example en diteur ST: systime:=TIME(); Example en diteur FBD:

10-30

CoDeSys V2.3

10 - APPENDICE

Appendice C Les types de donnes dans CoDeSys


L'utilisateur peut utiliser des types de donnes standard et des types de donnes dfinis par lui-mme pour la programmation. A chaque identificateur est affect un type de donnes, qui dtermine combien d'espace mmoire est rserv et quelles sont les valeurs contenues dans la mmoire.

10.6 Types de donnes standard


BOOL Les variables de type de donnes BOOL peuvent assumer les valeurs boolennes TRUE et FALSE. Un espace mmoire de 8 bits est rserv pour ce type de variable. Types de donnes entiers Les types de donnes entiers sont BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT. Les diffrents types de donnes recouvrent des plages numriques diffrentes. Voici les limites de plage correspondant aux types de donnes entiers:
Type Limite infrieure Limite suprieure Espace mmoire

BYTE WORD DWORD SINT: USINT: INT: UINT: DINT: UDINT:

0 0 0 -128 0 -32768 0 -2147483648 0

255 65535 4294967295 127 255 32767 65535 2147483647 4294967295

8 bits 16 bits 32 bits 8 bits 8 bits 16 bits 16 bits 32 bits 32 bits

Pour cette raison, il se peut que des informations soient perdues lors de la conversion d'un type donn en un type plus petit. REAL / LREAL REAL et LREAL sont des "types en virgule flottante". Ils sont ncessaires lorsqu'on utilise des nombres rationnels. L'espace mmoire rserv comporte 32 bits pour REAL et 64 bits pour LREAL. STRING Une variable de type STRING peut recevoir une chane de caractre quelconque. La spcification de la dimension de l'espace mmoire rserv, au niveau de la dclaration, se rapporte aux caractres et peut se faire entre parenthses ou entre crochets. Si aucune dimension n'est spcifie, la valeur par dfaut est de 80 caractres. La longueur des chanes de caractres n'est en principe pas limite, les fonctions de chanes de caractres n'excutent cependant que des longueurs de 1-255 !
Exemple de dclaration de chane de caractres: str:STRING(35):='Ceci est une chane';

CoDeSys V2.3

10-31

Types de donnes standard

Types de donnes de datation Les types de donnes temps TIME, TIME_OF_DAY (en abrg: TOD), DATE et DATE_AND_TIME (en abrg: DT) sont traits en interne, de la mme faon que le type de donnes DWORD. Dans le cas de TIME et TOD, le temps est spcifi en millisecondes. Pour TOD, le temps est comptabilis en partant de 00:00 heures. Dans le cas de DATE et de DT, le temps est spcifi en secondes et est comptabilis en partant du 1er janvier 1970 00:00 heures. Vous trouverez ci-aprs les formats de donnes de datation pour l'affectation (constantes de temps et de date) : Constantes de temps TIME Une constante TIME est toujours introduite par la lettre "t" ou "T" (ou le mot "time" ou "TIME") suivi(e) d'un dise "#". Ensuite vient la dclaration de temps proprement parler; elle peut tre forme de jours (dsigns par "d"), d'heures (dsignes par "h"), de minutes (dsignes par "m"), de secondes (dsignes par "s") et de millisecondes (dsignes par "ms"). Il faut veiller ce que les donnes de temps soient ranges par ordre dcroissant (d avant h avant m avant s avant m avant ms). A noter que les priodes temporelles ne doivent pas apparatre toutes ensemble.
Exemples de constantes TIME correctes dans une affectation en langage ST:

TIME1 := T#14ms; TIME1 := T#100S12ms; TIME1 := t#12h34m15s;


Exemples errons:

(*Dpassement sur le rang suprieur autoris*)

TIME1 := t#5m68s; TIME1 := 15ms; TIME1 := t#4ms13d;

(*Dpassement sur le rang infrieur*) (*Omission de T#*) (*Ordre incorrect des donnes*)

Constantes DATE, pour la date : Une dclaration de constante DATE est introduite par la lettre "d" ou "D", ou le mot "DATE" ou "date" et suivi(e) d'un dise "#". Aprs quoi, vous tes libre d'entrer une date quelconque sous la forme Anne-Mois-Jour.
Exemples : DATE#1996-05-06 d#1972-03-29

Constantes TIME_OF_DAY, pour l'enregistrement de l'heure: Une dclaration de constante TIME_OF_DAY est introduite par "tod#", "TOD#", "TIME_OF_DAY#" ou "time_of_day#"; vous pouvez ensuite entrer une heure sous la forme Heure:Minute:Seconde. Les secondes peuvent tre entres sous la forme de nombres rels, autorisant donc l'entre de fractions de seconde.
Exemples : TIME_OF_DAY#15:36:30.123 tod#00:00:00

10-32

CoDeSys V2.3

10 - APPENDICE

Constantes DATE_AND_TIME, combinaison de la date et de l'heure: Les constantes DATE_AND_TIME sont introduites par "dt#", "DT#", "DATE_AND_TIME#" ou "date_and_time#". La date est suivie d'un trait d'union puis de l'heure du jour.
Exemples : DATE_AND_TIME#1996-05-06-15:36:30 dt#1972-03-29-00:00:00

10.7 Types de donnes dfinis


Tableau CoDeSys supporte des tableaux (arrays) de types de donnes lmentaires, une, deux ou trois dimensions. Les tableaux peuvent tre dfinis dans la partie dclaration dun module et dans les listes de variables globales. Syntaxe: <Nom_tableau>:ARRAY [<li1>..<ls1>,<li2>..<ls2>,<li3>..<ls3>] OF <Type_lm.>.
li1, li2, li3 indiquent la limite infrieure de la plage de tableau tandis que ls1, ls2 et ls3 renseignent la limite suprieure. Les valeurs limites doivent tre des nombres entiers. Exemple : arr1 : ARRAY [1..13, 1..4] OF INT;

Initialisation de tableaux :
Exemples d'initialisation complte d'un tableau : arr1 : ARRAY [1..5] OF INT := 1,2,3,4,5; arr2 : ARRAY [1..2,3..4] OF INT := 1,3(7); (* bref pour 1,7,7,7 *) arr3 : ARRAY [1..2,2..3,3..4] OF INT := 2(0),4(4),2,3; (* bref pour 0,0,4,4,4,4,2,3 *) Exemple d'initialisation d'un tableau de structure : TYPE STRUCT1 STRUCT p1:int; p2:int; p3:dword; END_STRUCT ARRAY[1..3] OF STRUCT1:= (p1:=1,p2:=10,p3:=4723),(p1:=2,p2:=0,p3:=299), (p1:=14,p2:=5,p3:=112); Exemple d'initialisation partielle d'un tableau : arr1 : ARRAY [1..10] OF INT := 1,2;

Les lments pour lesquels aucune valeur nest dfinie sont initialiss avec la valeur dinitialisation par dfaut du type de base. Dans lexemple ci-dessus, les lments anarray[6] anarray[10] sont initialiss 0.

Accs aux composants de tableaux : Dans le cas dun tableau bidimensionnel, on accde aux composants du tableau l'aide de la syntaxe suivante :

CoDeSys V2.3

10-33

Types de donnes dfinis

<Nom_tableau>[Index1,Index2]
Exemple : arr1[9,2] Remarque : Si dans votre projet vous dfinissez une fonction nomme CheckBounds, vous pourrez vrifier automatiquement les dbordements de plage lintrieur de tableaux !

Fonction Checkbounds Si dans votre projet vous dfinissez une fonction nomme CheckBounds, vous pourrez vrifier automatiquement les dbordements de plage lintrieur de tableaux ! Le nom de la fonction est fix et ne peut tre modifi.
Exemple pour la fonction CheckBounds : VAR_INPUT index, lower, upper: INT; END_VAR IF index < lower THEN index > upper THEN CheckBounds := index; CheckBounds := lower; ELSIF ELSE CheckBounds := upper; END_IF

Le programme d'exemple ci-aprs, destin tester la fonction CheckBounds, comporte un accs en dehors des limites d'un tableau dfini. La fonction CheckBounds garantit que la valeur TRUE n'est pas affecte l'endroit A[10] mais bien la limite de zone suprieure A[7], qui, elle, est valide. La fonction CheckBounds permet de rectifier des accs en dehors des limites dun tableau.
Programme test pour la fonction CheckBounds PROGRAM PLC_PRG VAR a: ARRAY[0..7] OF BOOL; b: INT:=10; END_VAR a[b]:=TRUE;

Pointeur C'est dans les pointeurs que l'on enregistre les adresses de variables ou de blocs fonctionnels pendant l'excution d'un programme. La syntaxe des dclarations des pointeurs est la suivante: <Identificateur>: POINTER OF <Type de donnes/bloc fonctionnel>; Un pointer peut montrer sur n'importe quel type de donnes ou bloc fonctionnel, mme ceux qui sont dfinis par l'utilisateur. L'oprateur d'adressage ADR permet d'affecter au pointeur l'adresse d'une variable ou d'un bloc fonctionnel. La suppression de la rfrence d'un pointer se fait au moyen de l'oprateur de contenu "^" plac derrire l'identificateur du pointer.
Exemple : pt:POINTER TO INT; var_int1:INT := 5; var_int2:INT; pt := ADR(var_int1);

10-34

CoDeSys V2.3

10 - APPENDICE

var_int2:= pt^; (* var_int2 a maintenant la valeur 5 *) Attention: Lorsqu'un changement En ligne est appliqu, les contenus des adresses peuvent se dplacer. Tenezen compte lors de l'utilisation de pointeurs sur les adresses.

Type numratif Un type numratif est un type de donnes dfini par l'utilisateur, constitu d'un ensemble de constantes de chane de caractres. Ces constantes sont appeles valeurs numratives. Les valeurs numratives sont connues dans tout le projet, mme si elles sont dclares localement au niveau d'un module. Crez de prfrence vos types numratifs sous forme d'objets l'intrieur de l'Organisateur d'objets, dans l'onglet Types de donnes . Commencez par le mot cl TYPE et terminez par END_TYPE. Syntaxe:

TYPE <Identificateur>:(<Enum_0> ,<Enum_1>, ...,<Enum_n>); END_TYPE


L'<identificateur> peut assumer une des valeurs numratives et est initialis avec la premire de ces valeurs. Les valeurs sont compatibles avec des nombres entiers, c.--d. que l'on peut effectuer des oprations comme avec INT. On peut affecter un nombre x l'<identificateur>. Si les valeurs numratives ne sont pas initialises, alors le comptage part de zro. Pour l'initialisation, tenez compte du fait que les valeurs initiales vont croissant. La validit du nombre est contrle lors de l'excution.
Exemple : SIGNAL: (rouge, jaune, vert:=10); (*rouge a la valeur initiale 0, jaune a la valeur 1, vert a la valeur 10 *) SIGNAL:=0; (* SIGNAL a la valeur rouge *) FOR i:= rouge TO vert DO i := i + 1; END_FOR;

Une mme valeur numrative ne peut pas tre utilise deux fois.
Exemple : SIGNAL: (rouge, jaune, vert); COULEUR: (bleu, blanc, rouge); Erreur: "rouge" ne peut pas tre utilise pour SIGNAL et pour COULEUR.

Structures Les structures sont places sous forme d'objets (types de donnes dfinis) dans l'Organisateur d'objets, dans l'onglet Types de donnes . Commencez par le mot cl TYPE et terminez par END_TYPE. La syntaxe des dclarations des structures est la suivante:
TYPE <Nom_de_structure>: STRUCT <Dclaration de variable 1> . . <Dclaration de variable n> END_STRUCT END_TYPE

<Nom_de_structure> est un type qui est aprs cette dclaration connu dans tout le projet, et qui peut tre utilis comme un type de donnes standard.

CoDeSys V2.3

10-35

Types de donnes dfinis

Les structures imbriques ne sont pas autorises. La seule restriction est que les variables ne peuvent pas tre places sur des adresses (la dclaration AT n'est pas autorise!).
Exemple de dfinition de structure nomme "polygone TYPE polygone: STRUCT Start:ARRAY [1..2] OF INT; Point1:ARRAY [1..2] OF INT; Point2:ARRAY [1..2] OF INT; Point3:ARRAY [1..2] OF INT; Point4:ARRAY [1..2] OF INT; Fin:ARRAY [1..2] OF INT; END_STRUCT END_TYPE Exemple d'initialisation d'une structure de type Polygone: Poly_1:polygone := ( Start:=3,3, Point1 =5,2, Point2:=7,3, Point3:=8,5, Point4:=5,7, Fin := 3,5);

Il n'est pas possible d'initialiser avec des variables. Voir sous 'Tableau' pour un exemple d'initialisation d'un array d'une structure. On accde aux composants de structures au moyen de la syntaxe suivante:
<Nom_de_structure>.<Nom_de_composant>

Supposons que nous ayons une structure nomme "Semaine", qui comporte un composant nomm "Lundi". Nous pouvons accder ce composant de la faon suivante: Poly_1.Start Rfrences Le type de donnes dfini par l'utilisateur Rfrence permet de gnrer un nom de rechange pour une variable, une constante ou un bloc fonctionnel. Crez vos rfrences sous forme d'objets l'intrieur de l'Organisateur d'objets, dans l'onglet Types de donnes . Commencez par le mot cl TYPE et terminez par END_TYPE.

Syntaxe: TYPE <Identificateur>: <Expression d'affectation>; END_TYPE


Exemple : TYPE message:STRING[50]; END_TYPE;

Type domaine partiel Un type domaine partiel est un type dont la plage de valeurs ne forme quun sous-ensemble au sein dun type de base. La dclaration peut se faire au sein de l'onglet Types de donnes, mais une variable peut aussi galement tre directement dclare par un type domaine partiel : Syntaxe pour la dclaration dans l'onglet 'Types de donnes': TYPE <Nom> : <Inttype> (<li>..<ls>) END_TYPE; <Nom> doit tre un identificateur CEI correct,

<Inttype> est un des types de donnes SINT, USINT, INT, UINT, DINT, UDINT, BYTE, WORD, DWORD (LINT, ULINT, LWORD). <li> est une constante qui doit tre compatible avec le type de base et qui dfinit la

10-36

CoDeSys V2.3

10 - APPENDICE

limite infrieure du domaine du type. Cette limite infrieure fait elle aussi partie de ce domaine dfini. <ls> est une constante qui doit tre compatible avec le type de base et qui dfinit la limite suprieure du domaine du type. Cette limite suprieure fait elle aussi partie de ce domaine dfini.

Exemple : TYPE SubInt : INT (-4095..4095); END_TYPE

Dclaration directe dune variable laide dun type domaine partiel (Veillez lentre correcte d'une valeur initiale lorsque le domaine partiel ne contient pas le '0') :
VAR i1 : INT (-4095..4095); i2: INT (5..10):=5; ui : UINT (0..10000); END_VAR

Si un type domaine partiel se voit attribuer une constante (dans la dclaration ou limplmentation) qui ne tombe pas dans ce domaine dfini (p.ex. i:=5000), un message derreur saffiche. Pour vrifier le respect des limites du domaine partiel lors de lexcution, vous devez insrer les fonctions CheckRangeSigned et CheckRangeUnsigned. Ces deux fonctions vous permettent de reprer les dpassements du domaine partiel de faon adquate (la valeur peut par exemple tre rduite ou un drapeau derreur peut tre positionn). Elles sont implicitement appeles ds quune variable de type domaine partiel est crite et construite partir dun type avec ou sans signe. Exemple : Dans le cas dune variable domaine partiel avec signe (comme par exemple i ci-dessus), la fonction CheckRangeSigned est appele, pouvant tre programme pour ramener une valeur dans les limites du domaine autoris.
FUNCTION CheckRangeSigned : DINT VAR_INPUT value, lower, upper: DINT; END_VAR IF (value < lower) THEN CheckRangeSigned := lower; ELSIF(value > upper) THEN CheckRangeSigned := upper; ELSE CheckRangeSigned := value; END_IF

Pour un appel automatique, le nom de fonction CheckRangeSigned est obligatoire de mme que la structure de linterface : valeur renvoye et trois paramtres de type DINT. La fonction est paramtre comme suit lors de lappel : value: lower: upper: Valeur renvoye : reoit la valeur qui devrait tre attribue au domaine partiel limite infrieure du domaine partiel limite suprieure du domaine partiel la valeur qui a t effectivement attribue au domaine partiel

Avec une affectation i := 10*y;, cela va donner implicitement :


i := CheckRangeSigned(10*y, -4095, 4095);

Si par exemple y a la valeur 1000, i n'aura que la valeur 4095 aprs cette affectation.

CoDeSys V2.3

10-37

Types de donnes dfinis

Le nom de fonction et linterface doivent naturellement tre aussi corrects pour la fonction CheckRangeUnsigned.
FUNCTION CheckRangeUnsigned : UDINT VAR_INPUT value, lower, upper: UDINT; END_VAR Attention : Si ces deux fonctions CheckRangeSigned et CheckRangeUnsigned ne sont pas disponibles, il ny a pas de contrle portant sur les dpassements de plage des types domaine partiel! La variable i pourrait alors obtenir nimporte quelle valeur comprise entre 32768 et 32767! Attention : Si une fonction CheckRangeSigned ou CheckRangeUnsigned est implmente comme ci-dessus, il se peut quune boucle infinie survienne dans une boucle FOR lors de lutilisation de type domaine partiel. Ceci se produit prcisment quand le domaine dfini pour la boucle FOR est plus grand ou gal celui du type domaine partiel. Exemple : VAR ui : UINT (0..10000); END_VAR FOR ui:=0 TO 10000 DO ... END_FOR

On ne quitte pas la boucle FOR vu que ui ne peut tre plus grand que 10000.
De la mme manire, il faut faire attention au contenu des fonctions Checkrange lors de lutilisation de valeurs dincrmentation dans la boucle FOR.

10-38

CoDeSys V2.3

10 - APPENDICE

Appendice D Librairies CoDeSys


10.8 Bibliothque Standard.lib
La bibliothque standard.lib contient les modules de base des catgories suivantes pour la programmation dans CoDeSys : Fonctions de chanes de caractres Blocs fonctionnels bistables Dtection de fronts Compteurs Temporisateurs

10.8.1 Fonctions de chanes de caractres


Veuillez noter : Les fonctions de chanes de caractre ne sont pas "thread-safe" : Lors de l'utilisation de tches, ces fonctions de chanes de caractres ne peuvent tre utilises que dans une seule tche. Si la mme fonction est utilise dans plusieurs tches, il y a un risque d'crasement. La longueur admissible d'une chane de caractres lors de l'utilisation des fonctions est 1-255.

LEN La fonction LEN (standard.lib) dtermine la longueur d'une chane. L'entre STR est du type STRING et la valeur renvoye de la fonction est du type INT.
Exemple en langage IL: LD LEN ST VarINT1 (* Ergebnis ist 4 *) Exemple en langage FBD: 'SUSI'

Exemple en langage ST: VarSTRING1 := LEN ('SUSI');

LEFT La fonction LEFT (standard.lib) fournit un extrait de chane situe l'extrme gauche de la chane. L'entre STR est du type STRING, SIZE du type INT et la valeur renvoye de la fonction est du type STRING. LEFT (STR, SIZE) signifie: extraire les SIZE premiers caractres de la chane en partant de l'extrme gauche de la chane.
Exemple en langage IL: LD ST 'SUSI' VarSTRING1 (* Ergebnis ist 'SUSI' *) LEFT 3 Exemple en langage FBD:

CoDeSys V2.3

10-39

Bibliothque Standard.lib

Exemple en langage ST: VarSTRING1 := LEFT ('SUSI',3);

RIGHT La fonction RIGHT (standard.lib) fournit un extrait de chane situe l'extrme droite de la chane. L'entre STR est du type STRING, SIZE du type INT et la valeur renvoye de la fonction est du type STRING. RIGHT (STR, SIZE) signifie: extraire les SIZE premiers caractres de la chane en partant de l'extrme droite de la chane.
Exemple en langage IL: LD ST 'SUSI' VarSTRING1 (* Ergebnis ist 'USI' *) RIGHT 3 Exemple en langage FBD:

Exemple en langage ST: VarSTRING1 := RIGHT ('SUSI',3);

MID La fonction MID (standard.lib) fournit un extrait de chane situe dans la chane. L'entre STR est du type STRING; LEN et POS du type INT et la valeur renvoye de la fonction est du type STRING. MID (STR, LEN, POS) signifie: extraire LEN caractres de la chane STR, en commenant par le caractre positionn en POS.
Exemple en langage IL: LD ST 'SUSI' VarSTRING1 (* Ergebnis ist 'US' *) MID 2,2 Exemple en langage FBD:

Exemple en langage ST: VarSTRING1 := MID ('SUSI',2,2);

CONCAT La fonction CONCAT (standard.lib) fournit la concatnation (runion) de deux chanes. Les entres STR1 et STR2 et la valeur renvoye de la fonction sont du type STRING.
Exemple en langage IL: LD 'SUSI'

10-40

CoDeSys V2.3

10 - APPENDICE

CONCAT 'WILLI' ST VarSTRING1 (* Ergebnis ist 'SUSIWILLI' *) Exemple en langage FBD:

Exemple en langage ST: VarSTRING1 := CONCAT ('SUSI','WILLI');

INSERT La fonction INSERT (standard.lib) insre une chane dans une autre chane, partir d'une position donne. Les entres STR1 et STR2 sont du type STRING, POS du type INT et la valeur renvoye de la fonction est du type STRING. INSERT(STR1, STR2, POS) signifie: insre STR2 dans STR1 partir de la POS-ime position.
Exemple en langage IL: LD ST 'SUSI' VarSTRING1 (* Ergebnis ist 'SUXYSI' *) INSERT 'XY',2 Exemple en langage FBD:

Exemple en langage ST: VarSTRING1 := INSERT ('SUSI','XY',2);

DELETE La fonction