Vous êtes sur la page 1sur 468

Manuel de

dveloppement de programmes
pour automates programmables
avec
CoDeSys 2.3

Copyright 1994, 1997, 1999, 2003, 2006 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
Memminger Strae 151
D-87439 Kempten
Tl. +49/ 831/ 5 40 31 - 0
Fax +49/ 831/ 5 40 31 - 50
Edition: 29.09.2006
Document Version: 3.2, CoDeSys V2.3.7.0 (contenu corresponde V2.3.6.0)

Inhalt

Contenu

1 Bref aperu de CoDeSys


1.1
1.2
1.3

1-1

Qu'est-ce que CoDeSys? ....................................................................................... 1-1


Aperu des fonctionnalits de CoDeSys ................................................................ 1-1
Aperu de la documentation utilisateur de CoDeSys ............................................. 1-1

2 Qui fait quoi dans CoDeSys

2-1

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
Littral Structur (ST)........................................................................................ 2-11
2.2.3
Diagramme Fonctionnel en Squence (SFC) ................................................... 2-17
2.2.4
Schma en Blocs Fonctionnels (FBD) .............................................................. 2-23
2.2.5
Schma en CFC ............................................................................................... 2-23
2.2.6
Langage Contacts (LD).................................................................................. 2-23
2.3 Dbogage, Fonctionnalits En Ligne ..................................................................... 2-26
2.4 La Norme................................................................................................................ 2-28
3 Ecrivons un petit programme
3.1
3.2

Automatiser un systme de feux de signalisation .................................................. 3-1


La visualisation du systme de feux de signalisation............................................. 3-12

4 Les composants dans le dtail


4.1
4.2
4.3
4.4
4.5
4.6
4.7
4.8

3-1

4-1

La fentre principale............................................................................................... 4-1


Projet Options......................................................................................................... 4-3
Gestion de projets .................................................................................................. 4-23
Gestion des objets.................................................................................................. 4-56
Fonctions d'dition gnrales................................................................................. 4-64
Fonctions en ligne gnrales ................................................................................. 4-70
Ordonner les fentres............................................................................................. 4-87
Gestionnaire d'Aide ................................................................................................ 4-88

5 Les Editeurs

5-1

5.1 Pour toutes les diteurs.......................................................................................... 5-1


5.2 L'diteur de dclaration .......................................................................................... 5-3
5.2.1
Gnralits quant aux diteurs de dclaration ................................................. 5-3
5.2.2
Editeurs de dclaration dans le mode En Ligne ............................................... 5-11
5.2.3
Instructions Pragma .......................................................................................... 5-12
5.3 Les diteurs littraux .............................................................................................. 5-20
5.3.1
Gnralits propos des diteurs littraux ...................................................... 5-20
5.3.2
L'diteur de la liste d'instructions (IL)................................................................ 5-24
5.3.3
L'diteur du Littral structur (ST)..................................................................... 5-25
5.4 Les diteurs graphiques ......................................................................................... 5-26
5.4.1
Gnralits propos des diteurs graphiques ................................................. 5-26
5.4.2
L'diteur du Schma en blocs fonctionnels (FBD) ............................................ 5-30
5.4.3
L'diteur du Langage contacts (LD) ............................................................... 5-36
5.4.4
L'diteur graphique du Schma en blocs fonctionnels (CFC)........................... 5-43

CoDeSys V2.3

Inhalt

5.4.5
6 Ressources

L'diteur du Diagramme fonctionnel en squence (SFC) ................................. 5-57


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-24
6.6.1
Apercu............................................................................................................... 6-24
6.6.2
Travailler dans la Configuration de l'automate .................................................. 6-25
6.6.3
Settings ............................................................................................................. 6-27
6.6.4
Bote de dialogue de paramtrage spcifique l'application (Custom Parameters)
6-28
6.6.5
Configuration dun module E/S ......................................................................... 6-29
6.6.6
Paramtre de base d'un canal .......................................................................... 6-32
6.6.7
Configuration de modules Profibus ................................................................... 6-33
6.6.8
Configuration de Modules CANopen................................................................. 6-40
6.6.9
Configuration CANDevice (CANopen-Esclave) ................................................ 6-46
6.6.10 Configuration de modules DeviceNet................................................................ 6-49
6.6.11 La configuration de l'automate en mode en ligne.............................................. 6-54
6.6.12 Analyse matrielle/Informations/Diagnostic du systme cible........................... 6-54
6.7 Configuration des tches........................................................................................ 6-55
6.7.1
Travailler avec le configurateur de tches ........................................................ 6-56
6.7.2
vnements dans le systme ........................................................................... 6-59
6.7.3
Configuration des tches en mode En Ligne .................................................... 6-60
6.8 Gestionnaire d'espion et de recettes ...................................................................... 6-62
6.8.1
Aperu de la Gestionnaire d'espion et de recettes............................................ 6-62
6.8.2
Gestionnaire d'espion et de recettes en mode autonome................................. 6-63
6.8.3
Gestionnaire d'espion et de recettes en mode En Ligne................................... 6-64
6.9 Histogramme .......................................................................................................... 6-65
6.9.1
Apercu et Configuration .................................................................................... 6-65
6.9.2
Effectuer un enregistrement dhistogramme ..................................................... 6-68
6.9.3
Visualisation de l'histogramme.......................................................................... 6-69
6.9.4
Enregistrer les valeurs de l'histogramme .......................................................... 6-71
6.9.5
Configurations de l'histogramme externes ........................................................ 6-72
6.10
Environnement de travail .................................................................................... 6-73
6.11
Manager des paramtres.................................................................................... 6-73
6.11.1 Manager des paramtres, Activer ..................................................................... 6-74
6.11.2 Manager des paramtres, Editeur..................................................................... 6-75
6.11.3 Listes de paramtres: Types et Attributs........................................................... 6-75
6.11.4 Gestion des listes de paramtres...................................................................... 6-78
6.11.5 Editer listes de paramtres ............................................................................... 6-79
6.11.6 Manager des paramtres en Mode en Ligne .................................................... 6-80
6.11.7 Exporter / Importer listes de paramtres ........................................................... 6-81

ii

CoDeSys V2.3

Inhalt

6.12
Configuration de la Cible .................................................................................... 6-82
6.13
PLC-Browser ...................................................................................................... 6-83
6.13.1 Gnralits quant l'usage du PLC-Browser ................................................... 6-83
6.13.2 Saisie des commandes avec le PLC-Browser .................................................. 6-84
6.13.3 Utilisation de macros lors de la saisie de commandes dans le PLC-Browser .. 6-86
6.13.4 Autres options du PLC-Browser........................................................................ 6-87
6.14
Outils .................................................................................................................. 6-87
6.14.1 Caractristiques des liens existants (Caractristiques d'objet)......................... 6-88
6.14.2 Gestion des liens .............................................................................................. 6-91
6.14.3 Les questions les plus importantes en matire d'outils..................................... 6-92
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 Interface DDE
8.1
8.2

8-1

Interface DDE du systme de programmation CoDeSys ....................................... 8-1


Communication DDE via la gateway DDE ............................................................. 8-2

9 L'attribution de licences dans CoDeSys

9-1

9.1 3S Licensing Manager............................................................................................ 9-1


9.1.1
Cration d'une bibliothque soumise licence................................................. 9-1
10 APPENDICE
Appendice A
10-1
10.1
10.2
10.3
10.4
10.5
10.6
10.7
10.8
10.9
10.10
Appendice B
10.11
10.12
10.13
10.14
Appendice C
10.15
10.16
Appendice D
10.17

CoDeSys V2.3

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-9
Oprateurs de comparaison ............................................................................... 10-11
Oprateurs d'adressage ..................................................................................... 10-13
Oprateur d'appeler............................................................................................ 10-14
Conversions de types ......................................................................................... 10-15
Oprateurs numriques...................................................................................... 10-20
Oprateur dinitialisation..................................................................................... 10-25
Les oprandes dans CoDeSys

10-27

Constantes ......................................................................................................... 10-27


Variables ............................................................................................................ 10-29
Adresses ............................................................................................................ 10-32
Fonctions............................................................................................................ 10-33
Les types de donnes dans CoDeSys

10-35

Types de donnes standard ............................................................................... 10-35


Types de donnes dfinis .................................................................................. 10-37
Librairies CoDeSys

10-45

Bibliothque Standard.lib ................................................................................... 10-45

iii

Inhalt

10.17.1 Fonctions de chanes de caractres ................................................................. 10-45


10.17.2 Blocs fonctionnels bistables .............................................................................. 10-49
10.17.3 Dtection de fronts ............................................................................................ 10-50
10.17.4 Temporisateurs ................................................................................................. 10-52
10.17.5 Compteurs......................................................................................................... 10-55
10.18 Bibliotheque Util.lib ............................................................................................. 10-57
10.18.1 Conversion BCD ............................................................................................... 10-57
10.18.2 Fonctions sur bits/octets ................................................................................... 10-58
10.18.3 Fonctions mathmatiques auxiliaires ................................................................ 10-59
10.18.4 Rgulateurs....................................................................................................... 10-61
10.18.5 Gnrateurs de signaux.................................................................................... 10-62
10.18.6 Manipulateurs de fonctions ............................................................................... 10-64
10.18.7 Traitement de valeurs analogiques ................................................................... 10-66
10.19 Bibliotheque Analyzation.llib ............................................................................... 10-67
10.20 Bibliothques de systme................................................................................... 10-68
Appendice E
10.21
10.22
10.23
Appendice F
10.24
10.25

Aperu: Oprateurs et modules de bibliothques

10-69

Oprateurs dans CoDeSys................................................................................. 10-69


Modules de la bibliothque Standard.lib............................................................. 10-72
Modules de la bibliothque Util.lib ...................................................................... 10-73
Instructions de ligne et de fichier de commande

10-75

Instructions de ligne de commande .................................................................... 10-75


Instructions de fichier de commande (Cmdfile) .................................................. 10-76

Appendice G

Importation de fichiers Siemens

10-85

Appendice H

Dialogues de la configuration du systme cible

10-91

10.26 Dialogue de la configuration du systme cible ................................................... 10-91


10.27 Catgorie: Plate-forme cible ............................................................................... 10-92
10.27.1 Systme cible 'Intel 386 et compatibles', Catgorie Plate-forme de la cible ..... 10-92
10.27.2 Systme cible Motorola 68K, Catgorie Plate-forme de la cible ....................... 10-93
10.27.3 Systme cible Infineon C16x, Catgorie Plate-forme de la cible ...................... 10-94
10.27.4 Systmes cibles Intel StrongARM et Power PC, Catgorie Plate-forme de la cible
10-95
10.27.5 Systme cible MIPS III ISA, Catgorie Plate-forme de la cible ......................... 10-96
10.27.6 Systme cible Hitachi SH, Catgorie Plate-forme de la cible............................ 10-97
10.27.7 Systme cible 8051 et compatibles, Catgorie Plate-forme de la cible ............ 10-98
10.28 Catgorie: Composition du mmoire .................................................................. 10-99
10.29 Catgorie: Gnral ............................................................................................. 10-101
10.30 Catgorie: Fonctions de rseau.......................................................................... 10-103
10.31 Catgorie: Visualisation ...................................................................................... 10-104
Appendice I
10.32
10.33
Appendice J

Utilisation du clavier

10-107

Utilisation du clavier............................................................................................ 10-107


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

10-111

10.33.1 Avertissements.................................................................................................. 10-111


10.33.2 Erreurs .............................................................................................................. 10-115
11 Index

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

1 - Bref aperu de CoDeSys

1.3 Aperu de la documentation utilisateur de CoDeSys


Module

Contenu de la documentation

Nom du fichier

Systme de
programmation
CoDeSys

Le prsent manuel ainsi que laide En


ligne via le menu daide du systme de
programmation
Premiers pas avec le systme de
programmation CoDeSys

CoDeSys_V23_D.pdf

Serveur de
passerelle

Concept, installation et interface


utilisateur ; aide En ligne pour
linterface utilisateur, par le biais du
menu de passerelle souvrant par un
clic sur licne de passerelle dans la
barre du systme
(disponible uniquement en anglais)

Passerelle Manual.pdf

Serveur OPC

Serveur OPC V2.0, installation et


utilisation

OPC_20_How_to_use_D.pdf

Visualisation
CoDeSys

Manuel
de
visualisation
pour
CoDeSys, y compris CoDeSys HMI,
Visualisation Cible et Visualisation
Web CoDeSys HMI, Visualisation
Cible et Visualisation Web

CoDeSys_Visu_V23_D.pdf

SoftMotion

Manuel
dutilisation,
description
partielle des bibliothques SoftMotion

CoDeSys_SoftMotion_V23_D.pdf

Bibliothques

Standard.lib et Util.lib sont dcrites


dans le prsent manuel.
Pour les bibliothques de systme
CoDeSys, il existe un document part
portant le nom de la bibliothque
concerne.
(Bibliothques SoftMotion : voir la
documentation SoftMotion.)

<SysLib-Name>.pdf
CoDeSys_V23_D.pdf

Serveur ENI

Linstallation et la configuration du
serveur ENI eu gard la gestion dun
projet CoDeSys se trouvent dans une
base de donnes externe.
Pour la configuration au sein de
CoDeSys, voir le prsent manuel.
Pour ENI Admin, ENI Control et ENI
Explorer, voir laide En ligne ad hoc.

EniServerQuickstart_D.pdf
CoDeSys_V23_D.pdf

CoDeSys V2.3

Premiers
V23.pdf

pas

avec

CoDeSys

1-1

Aperu de la documentation utilisateur de CoDeSys

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

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 !
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.

CoDeSys V2.3

2-3

Composantes dun projet

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 :

On appelle une instance d'un bloc fonctionnel en langage ST (partie de dclaration comme 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 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.
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 :

CoDeSys V2.3

2-5

Composantes dun projet

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
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".

2-6

CoDeSys V2.3

2 - Qui fait quoi dans CoDeSys

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 :
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).

CoDeSys V2.3

2-7

Composantes dun projet

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 Gestionnaire de bibliothques pour l'administration des bibliotheques dans un projet
du Journal pour enregistrer les actions qui ont lieu lors d'une session
la Configuration de l'alarme pour configurer des classes et groupes d'alarme, qui par example
peuvent visualise avec la visualisation de CoDeSys
de la Configuration de l'automate, pour configurer votre matriel
de la Configuration des tches, pour commander votre programme au moyen de tches
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
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 standard, 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-8

CoDeSys V2.3

2 - Qui fait quoi dans CoDeSys

2.2 Les Langages


2.2.1

Liste d'Instructions (IL)


La Liste d'Instructions (IL) est constitu 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:

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

Description

LD

Rendre le rsultat courant gal l'oprande

ST

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

N,(

AND bit bit

OR

N,(

OR bit bit

XOR

N,(

OR exclusif bit bit

ADD

Addition

SUB

Soustraction

MUL

Multiplication

CoDeSys V2.3

2-9

Les Langages

DIV

Division

GT

>

GE

>=

EQ

NE

<>

LE

<=

LT

<

JMP

CN

Saut vers l'tiquette

CAL

CN

Appel d'un bloc fonctionnel

RET

CN

Retour d'un bloc fonctionnel appel

Evaluation d'une opration diffre

Vous trouvez une liste de tous les oprateurs CEI en annexe.


Exemple de programme en langage IL utilisant certains modificateurs:

LD
TRUE
(*charger TRUE dans l'accumulateur*)
ANDN BOOL1 (*excuter AND avec la ngation de la valeur de la variable BOOL1*)
JMPC 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

2
(2
3
Erg

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.

2-10

CoDeSys V2.3

2 - Qui fait quoi dans CoDeSys

2.2.2

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.
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

(Expression)

Priorit la plus leve

Evaluation de
fonction

Nom de fonction (liste


d'arguments)

Exponentiation

EXPT

Ngation
Complment

NOT

Multiplication
Division
Modulo

*
/
MOD

Addition
Soustraction

+
-

Comparaison

<,>,<=,>=

Similitude
Dissimilitudet

=
<>

AND boolen

AND

OR exclusif boolen

XOR

OR boolen

OR

CoDeSys V2.3

Priorit la plus faible

2-11

Les Langages

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

RETURN;

IF

D:=B*B;
IF D<0.0 THEN
C:=A;
ELSIF D=0.0 THEN
C:=B;
ELSE
C:=D;
END_IF;

CASE

CASE INT1 OF
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;

WHILE

J:=1;
WHILE J<= 100 AND ARR[J] <> 70 DO
J:=J+2;
END_WHILE;

REPEAT

J:=-1;
REPEAT
J:=J+2;
UNTIL J= 101 OR ARR[J] = 70
END_REPEAT;

EXIT

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.

2-12

CoDeSys V2.3

2 - Qui fait quoi dans CoDeSys

Il s'agit d'une boucle pour calculer des puissances de deux en IL:


bou Aperucle:
LD

compteur

EQ

JMPC

fin

LD

Var1

MUL

ST

Var1

LD

compteur

SUB

ST

compteur

JMP

boucle

fin:
LD

Var1

ST

res

La mme boucle programme en langage ST donnerait ceci:


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.

CoDeSys V2.3

2-13

Les Langages

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.
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.

2-14

CoDeSys V2.3

2 - Qui fait quoi dans CoDeSys

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;
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;

CoDeSys V2.3

2-15

Les Langages

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.
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-16

CoDeSys V2.3

2 - Qui fait quoi dans CoDeSys

2.2.3

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.
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.

CoDeSys V2.3

2-17

Les Langages

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:

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.
Dans lditeur SFC, on peut crire une condition de transition directement sur ltiquette de transition
ou alors ouvrir une fentre ddition propre cet effet. La condition prsente dans lditeur (voir
chapitre 5.4.5, Extras' Zoom action/transition') a priorit !
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.

2-18

CoDeSys V2.3

2 - Qui fait quoi dans CoDeSys

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.
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:

CoDeSys V2.3

2-19

Les Langages

Qualificatif
Pour associer des actions des tapes CEI, vous disposez des qualificatifs (qualifier) suivant:
N

Non-stored
(non mmoris)

l'action demeure active aussi longtemps que l'tape demeure active

overriding Reset
(remise zro
prioritaire)

dsactivation de l'action

Set (Stored)
(positionn
(mmoris))

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


reset

time Limited
activation de l'action pendant une dure dtermine
(limite dans le temps)

time Delayed
(temporis)

activation de l'action aprs un certain temps, pour autant que


l'tape demeure active

Pulse
(impulsion)

l'action est excute exactement une fois, lorsque l'tape est


active

SD

Stored and time


Delayed
(mmoris et
temporis)

activation de l'action aprs un certain temps; l'action demeure


ensuite active jusqu'au prochain reset

DS

Delayed and Stored


(temporis et
mmoris)

activation de l'action aprs un certain temps, pour autant que


l'tape demeure active; l'action demeure alors active jusqu'au
prochain reset

SL

Stored and time


Limited
(mmoris et limit
dans le temps)

activation de l'action pendant une dure dtermine

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


Dans la SFC, on peut utiliser des variables dclares comme implicites ( drapeaux ) pour interroger
le statut dtapes et dactions ainsi que la dure dexcution dtapes. Ces drapeaux sont activs au
dbut dun cycle. Pour les tapes et actions CEI, ils sont disposition dans la bibliothque intgre de
faon standard iecsfc.lib (structures SFCStepType et SFCActionType) et directement implments
dans CoDeSys pour les tapes simplifies :
Interrogation de ltat dune tape ou dune action par le biais de variables boolennes :
Pour les tapes CEI : <StepName>.x ou <StepName>._x :
<StepName>.x indique ltat
dactivation actuel. <StepName>._x indique ltat dactivation pour le prochain cycle. Si
<StepName>.x=TRUE, ltape est excute dans le cycle actuel.
Si <StepName>._x=TRUE et <StepName>.x=FALSE, ltape est excute dans le prochain cycle,
c.--d. que <StepName>._x est copi sur <StepName>.x au dbut dun cycle.
Pour les tapes simplifies : <StepName> ou _<StepName> : Si <StepName> a la valeur TRUE,
ltape est excute dans le cycle actuel. Si _<StepName> a la valeur TRUE, ltape est excute
dans le prochain cycle, c.--d. que <StepName> est copi sur _<StepName> au dbut dun cycle.

2-20

CoDeSys V2.3

2 - Qui fait quoi dans CoDeSys

Pour les actions CEI : <nom de laction>.x devient TRUE ds que laction devient active. (<nom de
laction>._x nest que dun usage interne et ne sert pas linterrogation dtat).
Interrogation du temps dexcution dune tape par le biais de variables TIME :
Les variables implicites suivantes fournissent le temps dexcution actuel depuis lactivation dune
tape pour laquelle le temps minimal, au moins, a t configur dans les attributs de ltape.
Pour les tapes CEI : <StepName>.t

(<StepName>._t nest pas utilisable en externe)

Pour les tapes simplifies : _time<StepName>. Pour remplir cette fonction, cette variable implicite
doit toutefois aussi tre explicitement dclare comme variable TIME ; p. ex. _timeStep1 :
TIME;
Pour les actions CEI : Les variables de temps implicites ne sont pas utilises.
Ces drapeaux dtat peuvent tre utiliss au sein de chaque action et transition du module SFC.
Mais il est galement possible daccder ces flags partir dautres programmes :
Exemple: boolvar1:=sfc.step1.x;
step1.x est ici une variable boolenne implicite qui reprsente ltat de ltape CEI step1 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.
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.

CoDeSys V2.3

2-21

Les Langages

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.
Remarque : Notez galement les variables implicites dcrites dans le chapitre prcdent que vous pouvez utiliser
pour interroger ltat et le temps dexcution dtapes et dactions.

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).
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.

2-22

CoDeSys V2.3

2 - Qui fait quoi dans CoDeSys

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.4

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.5

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

2.2.6

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.

CoDeSys V2.3

2-23

Les Langages

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
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.

2-24

CoDeSys V2.3

2 - Qui fait quoi dans CoDeSys

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.


Si vous souhaitez tester une premire fois le module SEQUENCE en mode de simulation, procdez
aux tapes suivantes :
1. Ouvrez le module PLC_PRG. Tous les projets sont dmarrs cet endroit. Pour pouvoir lancer
provisoirement le module SEQUENCE dj programm, insrez un module, marquez le
AND dans ce module et remplacez-le par SEQUENCE . Dans un premier temps, laissez
les entres et les sorties libres.
2. Compilez le projet avec '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.

3-8

CoDeSys V2.3

3 - Ecrivons un petit programme

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:
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

CoDeSys V2.3

3-9

Automatiser un systme de feux de signalisation

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:
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:
Visualisation pour l'application d'exemple Feux

3-14

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 :
Categories

Enregistr
Enregistr dans le
dans CoDeSys
projet

Ouvrir & Fermer

Informations utilisateur

Editeur

Environnement de travail

Couleurs

Rpertoires
Journal

Cat. Gnral

Cat. Projet

Options de compilation

Mots de passe

Tlchargement code source

Configuration de symbole (nest pas disponible en


mode de simulation !)

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 (9) apparat devant l'option.

4-4

CoDeSys V2.3

4 - Les composants dans le dtail

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 le fichier projets temporaire avec lextension
".asd". Ce 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.
Si une bibliothque *.lib est ouverte en tant que projet, un fichier de sauvegarde correspondant
*.asl est cr.
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" ou " .asl" 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. Pour les donnes daccs introduites dans 'Ouvrir projet du contrle de
projets' ('Fichier' 'Ouvrir'), le nom dutilisateur et le mot de passe seront alors galement enregistrs
dans le fichier codesys.ini.

CoDeSys V2.3

4-5

Projet Options

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

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 (9) 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.

4-6

CoDeSys V2.3

4 - Les composants dans le dtail

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.
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 :

CoDeSys V2.3

4-7

Projet Options

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

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.
Timeout de communication [ms]: Pour des services de communication standard : temps en
millisecondes au bout duquel la communication avec le systme cible (services de communication

4-8

CoDeSys V2.3

4 - Les composants dans le dtail

standard) est interrompue si plus aucune activit nest constate. Valeurs possibles : 1-10000000.
ms.
Timeout de communication pour tlchargement [ms]: Pour des services de communication de
longue dure (tlchargement dun programme, tlchargement dun fichier, cration et contrle dun
projet dinitialisation) : temps en millisecondes au bout duquel la communication avec le systme cible
est interrompue si plus aucune activit nest constate Valeurs possibles : 1-10000000.
XML-Encoding: Le format pour les exportations XML du CoDeSys peut tre slectionn. Le rglage
standard est ISO 8859-1. Celui-ci sapplique aussi bien la communication via ENI, Message
Interface et COM Automation Interface qu toutes les exportations de CoDeSys commandes par
lutilisateur. Toutefois, lexportation XML du gestionnaire de licences fait exception.
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

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

CoDeSys V2.3

4-9

Projet Options

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, defichiers de configuration d'automate et fichiers de
visualisation (bitmaps, fichiers XML pour textes dynamiques, etc.) 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'. Pour des informations concernant les chemins daccs aux
bibliothques, voyez galement le chapitre 6.4, 'Insrer 'Autre bibliotheque'.
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.

4-10

CoDeSys V2.3

4 - Les composants dans le dtail

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.
Vous pouvez ouvrir la fentre de journal par le biais de la commande 'Fentre' 'Journal'.

CoDeSys V2.3

4-11

Projet Options

Options de compilation
Dans cette catgorie du dialogue 'Options', les rglages se rapportent la traduction, cest--dire la
compilation du projet.
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: La valeur de chaque constante de type scalaire (donc pas pour les chanes,
les arrays et les structures) est directement charge et, en mode En ligne, les constantes sont
affiches en vert. Le forage, lcriture et le monitoring dune constante ne sont alors plus possibles.
Si loption est dsactive, la valeur est charge sur un emplacement de mmoire par le biais de
laccs la variable (ceci permet bien dcrire la valeur de la variable, mais ncessite un temps de
traitement plus long).
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.
Attention : En ce moment, cette option doit tre utilise avec circonspection : si la configuration des options
dans le projet ne correspond plus une bibliothque cre dans CoDeSys et utilise dans ce projet,
des erreurs de traduction apparaissent, que lutilisateur aura du mal interprter et, dans de
nombreux cas, ne pourra pas supprimer !

4-12

CoDeSys V2.3

4 - Les composants dans le dtail

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.
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. Un objet marqu dans lOrganisateur dobjets peut aussi tre exclu de la
compilation via la commande 'Exclure des objets de la compilation' dans le menu contextuel.
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. Dans ce cas, il est galement important de savoir si le projet est
actuellement ouvert, lui aussi, dans la version correspondante du systme de programmation. Si cela
nest pas le cas, cest la version de compilateur correspondant au systme de programmation
actuellement employ qui sera utilise. 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

CoDeSys V2.3

4-13

Projet Options

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'.
Si le systme cible le supporte, les rsultats de contrle ngatifs sont dits en tant querreurs de
compilation.
Remarque: Tous les rglages effectus au sein du dialogue des Options de compilation sont enregistrs en
mme temps que le projet.

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.

4-14

CoDeSys V2.3

4 - Les composants dans le dtail

Pour crer des droits d'accs spcifiques, vous pouvez dfinir des niveaux d'accs et 'Projet' 'Mots de
passe pour niveau d'accs'.
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.

CoDeSys V2.3

4-15

Projet Options

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. Dans le cas
contraire, ce fichier nobtient que des informations de version relatives au fichier et au projet ainsi
quune somme de contrle.
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')

Dans la liste de slection pour ldition qui saffiche sous forme darborescence, slectionnez les
variables pour lesquelles des entres de symboles doivent tre gnres. Pour ce faire, vous pouvez
soit marquer des modules du projet, ce qui permet de slectionner automatiquement les variables
associes, soit marquer de faon cible des entres de variables individuelles.
Ensuite, choisissez les options souhaites pour les objets slectionns en cliquant sur la case
correspondante dans la bote de dialogue ci-dessous. Les options actives sont munies d'un crochet.
Les options suivantes sont possibles :
Exporter les variables de l'objet :

4-16

Les variables de l'objet slectionn sont reprises dans le fichier


des symboles.

CoDeSys V2.3

4 - Les composants dans le dtail

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.
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 au contrle de ressources' est
disponible dans la bote de dialogue pour les Proprits, par lequel on peut attribuer une certaine
catgorie de base de donnes un module.

CoDeSys V2.3

4-17

Projet Options

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
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.

4-18

CoDeSys V2.3

4 - Les composants dans le dtail

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:

Adresse de lordinateur sur lequel le serveur ENI tourne.

Port:

Valeur par dfaut : 80; doit correspondre aux rglages de la configuration du


serveur ENI.

Nom du projet:

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.

Accs lecture seule

Si cette option est active, vous ne pouvez accder aux donnes des
rpertoires de base de donnes dfinis ici quen lecture seule.

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

CoDeSys V2.3

4-19

Projet Options

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

Lorsque le projet est ouvert dans CoDeSys

Tout de suite aprs des


changements dans ENI

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.
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

Si cette fonction est active, un check-in de chaque module modifi se


produit automatiquement chaque sauvegarde du projet.

Apres compilation
russite

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.

4-20

CoDeSys V2.3

4 - Les composants dans le dtail

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.
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
Crer une information de symboles binaires
attributs dobjets configurs dans les options du
(.sdb)
projet sous la catgorie 'Configuration des symboles'
restent valables.
Crer une information de symboles ASCII
(*.sym)

Crer projet d'initialisation

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.)

CoDeSys V2.3

4-21

Projet Options

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".
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.

4-22

CoDeSys V2.3

4 - Les composants dans le dtail

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 le 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.
'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.
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

CoDeSys V2.3

4-23

Gestion de projets

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')
Bote de dialogue standard Ouvrir

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 donnes daccs sont enregistres dans le fichier codesys.ini, bien que le nom de lutilisateur et
le mot de passe ny soient enregistrs que si loption de projet 'Enregistrer les donnes daccs pour
la base de donnes de projet' (voir chap.4.2, Catgorie Ouvrir & Fermer) est active.

4-24

CoDeSys V2.3

4 - Les composants dans le dtail

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.
Bote de dialogue Enregistrer sous

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.

CoDeSys V2.3

4-25

Gestion de projets

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.
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.
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

4-26

CoDeSys V2.3

4 - Les composants dans le dtail

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
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

<Nom du projet>.pro (le fichier de projet CoDeSys)

Bibliothques
rfrences

*.lib, *.obj, *.hex (les bibliothques et, le cas chant, les fichiers .obj et .hex)

Informations de
compilation

*.ci
(Informations
au
sujet
de
la
dernire
*.ri
(Information
au
sujet
du
dernier
<temp>.* (compilation temporaire et fichiers de
galement pour la simulation

Fichier INI

Codesys.ini

Entres dans la
registry

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

CoDeSys V2.3

compilation),
tlchargement)
tlchargement)

4-27

Gestion de projets

Fichier cible

*.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 de
configuration

Fichiers pour la configuration de l'automate (fichiers de configuration, fichiers


d'outils, icnes, etc.) : p.ex. *.cfg, *.con, *.eds, *.dib, *.ico ....

Fichiers de symbole

*.sdb, *.sym (informations relatives aux symboles cres partir du projet)

Journal

*.log (Journal du projet)

Fichiers de bitmap

*.bmp (Images bitmap utilises dans les modules du projet et la visualisation)

Gateway local

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.

Fichiers de langage

Fichiers de langage (*.vis, *.xml) pour visualisations

Projet dinitialisation

Fichiers de projet dinitialisation <Nom du projet>.prg, <Nom du projet>.chk


ou fichiers de projet dinitialisation spcifiques la cible.

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.
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.

4-28

CoDeSys V2.3

4 - Les composants dans le dtail

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. Au cas o des fichiers ne seraient pas trouvs, linformation
correspondante saffichera dans cette mme fentre.
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.
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.

CoDeSys V2.3

4-29

Gestion de projets

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.
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.
Bote de dialogue Configurations de documentation

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

4-30

CoDeSys V2.3

4 - Les composants dans le dtail

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

{Page}

Impression du numro de la page actuelle.

Nom de module

{POUName}

Impression du nom du module actuel.

Nom de fichier

{FileName}

Impression du nom du projet.

Date

{Date}

Impression de la date du jour.

Contenu

{Content}

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.
Remarque : Pour pouvoir tenir compte, ds la programmation, de la dimension du papier prvue pour limpression
du projet, rglez le format de papier souhait comme dcrit ici puis activez loption 'Afficher la zone
dimpression' dans les options du projet, catgorie Environnement de travail.

'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.

CoDeSys V2.3

4-31

Gestion de projets

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.
Des objets individuels ou plusieurs objets peuvent tre exclus de la traduction par le biais de la
commande du menu contextuel 'Exclure des objets de la compilation', respectivement par le biais de
la configuration correspondante dans les Options de compilation (voir chapitre 4.2, Options de
compilation).
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' ou pour
obtenir des rsultats actuels, le projet doit tre compil une nouvelle fois aprs 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'. Notez
la possibilit dexclure des objets de la compilation (voir chapitre 4.2, Options de compilation).
'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.

4-32

CoDeSys V2.3

4 - Les composants dans le dtail

'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
'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

CoDeSys V2.3

4-33

Gestion de projets

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, Visualisation, 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.
Textes dans les visualisations :
Les textes de visualisation utiliss ici sont les lments de visualisation 'Texte' et 'Texte pour infobulle'. Toutefois, notez les points suivants lors de lutilisation dun fichier de traduction pour les textes
de visualisation :
Un fichier de traduction *.tlt ou *.txt ne peut tre utilis quavec CoDeSys et CoDeSys HMI, mais
pas avec la visualisation Cible et la visualisation Web. Le cas chant, utilisez de prfrence un
fichier de langage de visualisation spcial *.vis.
En principe, la commutation vers une autre langue nest possible quen mode En ligne, c.--d. que
les textes de visualisation ne sont pas traduits avec la commande 'Projet' 'Traduire dans dautres
langues', mais seulement si la langue souhaite est slectionne en ligne, dans le dialogue 'Extras'
'Environnement'.
Si un fichier tlt ou txt doit tre utilis pour des textes de visualisation ('Texte' et 'Texte pour infobulle' des lments de visualisation), les textes correspondants doivent tre introduits dans le
dialogue de configuration de llment de visualisation entre deux signes # (p. ex. #text#).
propos de la commutation vers une autre langue dans la visualisation, voir le manuel
CoDeSys_Visu_V23_F.pdf.
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.
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.

4-34

CoDeSys V2.3

4 - Les composants dans le dtail

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.
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.

CoDeSys V2.3

4-35

Gestion de projets

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.

'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.

4-36

CoDeSys V2.3

4 - Les composants dans le dtail

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".
Remarque : Notez les spcificits relatives aux textes dans les visualisations, voir ci-dessus 'Crer fichier de traduction'.

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

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'.
Remarque : Notez les spcificits relatives aux textes dans les visualisations, voir ci-dessus 'Crer fichier de 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

CoDeSys V2.3

4-37

Gestion de projets

'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,
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

4-38

CoDeSys V2.3

4 - Les composants dans le dtail

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
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'.

CoDeSys V2.3

4-39

Gestion de projets

'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.
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.

4-40

CoDeSys V2.3

4 - Les composants dans le dtail

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.

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 :

CoDeSys V2.3

4-41

Gestion de projets

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-42

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'
Remarque : La reprise de diffrents endroits au sein dun projet (modifications) ou de droits daccs nest possible
qu partir du projet de comparaison vers le projet en cours et non inversement.

CoDeSys V2.3

4-43

Gestion de projets

'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.
'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 (et non
inversement !). 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 (et non inversement !) 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 (et non inversement !).
'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 (et non inversement !).
'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-44

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-45

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-46

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. Si le projet a t modifi depuis
lors, un avertissement saffiche sur la fentre de messages. Pour obtenir un rsultat de contrle
actuel, vous devez donc recompiler le projet.
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-47

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-48

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' Contrle de projets'
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 'Contrle de ressources'
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-49

Gestion de projets

Check out
Check in
Annuler check out
Afficher les diffrences
Afficher l'histoire de la version
Si la commande 'Contrle de projets' 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-50

CoDeSys V2.3

4 - Les composants dans le dtail

Dfinir
Commande : 'Projet' Contrle de projets' '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' Contrle de projets' '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' Contrle de projets' '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. Les retours la ligne sont introduits par <Ctrl>+<Entre>.
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' Contrle de projets' '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. Les retours la ligne sont introduits par <Ctrl>+<Entre>. Si la version
de lobjet mmorise dans la base de donnes se distingue de la version utilise dans le projet local,
un message correspondant est affich et lutilisateur peut dcider sil veut effectuer ou non le checkout de lobjet.
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' Contrle de projets' '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.

CoDeSys V2.3

4-51

Gestion de projets

Afficher les diffrences


Commande : 'Projet' Contrle de projets' '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').
Afficher l'histoire de la version
Commande : 'Projet' Contrle de projets' '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.

4-52

CoDeSys V2.3

4 - Les composants dans le dtail

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.
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' Contrle de projets' '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' Contrle de projets' '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' Contrle de projets' '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' Contrle de projets' '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' Contrle de projets' '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'.

CoDeSys V2.3

4-53

Gestion de projets

Historique de la version du projet


Commande 'Projet' Contrle de projets' '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 :
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. Si une version
tiquete contenant galement des objets communs est appele, lutilisateur peut choisir, dans
une bote de dialogue, si eux aussi doivent tre appels ou non.
Attribuer un nom la version
Commande : 'Projet' Contrle de projets' '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. Les
Objets communs du projet reoivent, eux aussi, cette tiquette. 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' Contrle de projets' '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.

4-54

CoDeSys V2.3

4 - Les composants dans le dtail

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.
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' Contrle de projets' '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'.

CoDeSys V2.3

4-55

Gestion des objets

Dialogue 'Login'

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 situe 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
cliquant sur le signe
qui apparat alors, le dossier se ferme. Le menu contextuel propose les
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.

4-56

CoDeSys V2.3

4 - Les composants dans le dtail

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
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.

CoDeSys V2.3

4-57

Gestion des objets

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.
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").

4-58

CoDeSys V2.3

4 - Les composants dans le dtail

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.
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.

CoDeSys V2.3

4-59

Gestion des objets

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
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 Objet Proprits' (Caractristiques de lObjet)


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 (voir chapitre
suivant).
La prsence dautres onglets permettant la configuration de caractristiques dobjets ainsi que le type
donglet dpendent de lobjet et de la configuration du projet :
Liste de variables globales:
Dans longlet 'Liste de variables globales' sont affichs les paramtres configurs pour la mise jour
de la liste et le cas chant pour lchange de donnes de variables de rseau globales. Les entres
peuvent y tre modifies. Lors de la cration dune nouvelle liste de variables globales, ce dialogue
souvre avec la commande 'Insrer objet si le dossier 'Variables globales' ou les entres classes

4-60

CoDeSys V2.3

4 - Les composants dans le dtail

dans celui-ci sont slectionns (voir chapitre 6.2.1, Ressources, Variables globales) dans
lOrganisateur d'objets.
Objet de visualisation:
Dans longlet 'Visualisation', il est possible de dterminer comment lobjet de visualisation doit tre
utilis (voir le manuel CoDeSys Visualisation) :
Utiliser comme: Si 'Visualisation sur le web' ou 'Visualisation sur la cible' est activ dans les
rglages du systme cible, loption correspondante saffichera ici. Dsactivez loption si lobjet
ne doit pas tre disponible dans la Visualisation sur le web et/ou la Visualisation sur la cible
(voir manuel CoDeSys Visualisation).
Dialogue Proprits dun objet de visualisation

Utilis comme: Slectionnez un des rglages suivants li la possibilit de travailler avec les
mises en page matre :
Visualisation: Lobjet est utilis comme visualisation normale.
Visualisation sans mise en page matre: Si une mise en page matre est dfinie dans le
projet, celle-ci ne sapplique pas cet objet de visualisation. De faon standard, la mise en
page matre est toujours pose dans lavant-plan dune visualisation, sauf si loption dans
arrire plan est active.
Mise en page matre: Lobjet est utilis comme mise en page matre.
Liaison au contrle de ressources:
Si le projet est li une base de donnes ENI (voir 'Projet' 'Options' 'Base de donnes du projet'), un onglet
supplmentaire intitul 'Liaison au contrle de ressources' est disponible pour chaque objet. Lattribution
actuelle de lobjet une des catgories de bases de donnes ou la catgorie 'Local' est affiche et vous
pouvez la modifier. Vous trouverez dautres informations ce sujet dans le chapitre 7, 'ENI'.
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:

CoDeSys V2.3

4-61

Gestion des objets

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').

4-62

CoDeSys V2.3

4 - Les composants dans le dtail

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.
(Ici, on peut employer le raccourci clavier <F2>). Pour obtenir tous les lments de la catgorie
concerne, introduisez "*" dans le champ Nom.
Si le projet a t modifi depuis la dernire compilation, la mention "(pas actuel)" apparat sur la ligne
de titre du dialogue. Les rfrences croises nouvellement ajoutes ne sont donc pas pris en
considration dans la liste !
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

CoDeSys V2.3

4-63

Fonctions d'dition gnrales

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.
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 sans erreurs. 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.

4-64

CoDeSys V2.3

4 - Les composants dans le dtail

'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'.

CoDeSys V2.3

4-65

Fonctions d'dition gnrales

'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.

4-66

CoDeSys V2.3

4 - Les composants dans le dtail

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.

CoDeSys V2.3

4-67

Fonctions d'dition gnrales

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.

4-68

CoDeSys V2.3

4 - Les composants dans le dtail

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.

CoDeSys V2.3

4-69

Fonctions en ligne gnrales

'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.

4-70

CoDeSys V2.3

4 - Les composants dans le dtail

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 ' Opration 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, les informations
relatives au projet actuellement charg dans le systme de programmation et du projet dj
disponible sur la commande sont automatiquement reprsentes de faon complmentaire dans la
bote de dialogue Login (informations relatives au projet). Elles peuvent tre fermes via le bouton
Dtails. Si loption dans Environnement de travail nest pas active, ces informations relatives au
projet peuvent tre explicitement ouvertes via le bouton Details.
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'.

CoDeSys V2.3

4-71

Fonctions en ligne gnrales

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."

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'.

4-72

CoDeSys V2.3

4 - Les composants dans le dtail

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
programmable l'aide de la commande 'En ligne' 'Arrter' ou encore lorsque le programme utilisateur

CoDeSys V2.3

4-73

Fonctions en ligne gnrales

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 apparat
dans une couleur de fond bleu clair.

4-74

CoDeSys V2.3

4 - Les composants dans le dtail

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.

CoDeSys V2.3

4-75

Fonctions en ligne gnrales

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'.

4-76

CoDeSys V2.3

4 - Les composants dans le dtail

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'.

CoDeSys V2.3

4-77

Fonctions en ligne gnrales

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.

4-78

CoDeSys V2.3

4 - Les composants dans le dtail

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.

CoDeSys V2.3

4-79

Fonctions en ligne gnrales

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 (9) 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.
Veuillez noter :
1. Le contrle de droulement provoque un prolongement du temps dexcution dun programme.
Ceci peut causer des dpassements de temps de cycle pour les programmes cycliques haute
charge de tche.
2. Le contrle de droulement nest pas affich aux positions de points darrt actives.

'En Ligne' 'Simulation'


Si la Simulation est slectionne, un crochet (9) 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.

4-80

CoDeSys V2.3

4 - Les composants dans le dtail

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.
'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.

CoDeSys V2.3

4-81

Fonctions en ligne gnrales

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:

4-82

CoDeSys V2.3

4 - Les composants dans le dtail

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. Attention : Le prfixe '0' est interdit dans
les zones dadresse (exemple : pas possible : '010.107.084.050', lentre doit tre la suivante :
'10.107.84.50'). 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.

CoDeSys V2.3

4-83

Fonctions en ligne gnrales

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
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.

4-84

CoDeSys V2.3

4 - Les composants dans le dtail

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

CoDeSys V2.3

4-85

Fonctions en ligne gnrales

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-86

CoDeSys V2.3

4 - Les composants dans le dtail

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 (9) apparat devant le nom de la fentre active.
Les paragraphes qui suivent dcrivent en dtail les commandes du menu 'Fentre':
'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 (9) 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).

CoDeSys V2.3

4-87

Gestionnaire d'Aide

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.
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.

4-88

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". Des commentaires peuvent en outre tre ajouts lendroit
dintroduction des noms de variables.
Exemple en langage FBD dun commentaire de rseau et dun commentaire introduit derrire une
variable dentre :

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.

CoDeSys V2.3

5-1

Pour toutes les diteurs

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
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 :

Si lon introduit une srie de caractres quelconque en tant quidentificateur et que lon appuie sur
<CTRL> + <Barre despacement>, une liste de slection de tous les modules et variables globales
disponibles dans le projet apparat, dans laquelle la premire variable commenant par cette srie
de caractres est marque et reprise dans le programme lorsquon appuie sur la touche dentre.
Info-bulle hors ligne pour variables
Pour tous les diteurs en mode Hors ligne : Si le pointeur de la souris se trouve sur un identificateur
ditable, le nom de lidentificateur, la classe de variable (p. ex. VAR_GLOBAL), le type de donnes,
les attributs de la variable (p. ex. RETAIN), ladresse et le commentaire sont reprsents dans une
info-bulle.

5-2

CoDeSys V2.3

5 - Les Editeurs

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>).
Remarque : Notez que vous avez la possibilit dinfluencer les proprits dune variable durant la compilation ou
la prcompilation par le biais de pragmas (voir chapitre 5.2.3).

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
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

CoDeSys V2.3

5-3

L'diteur de dclaration

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 *)
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

5-4

CoDeSys V2.3

5 - Les Editeurs

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.
x = valeur est conserv
apres command
'En Ligne'...

Reset
Reset froid
Reset origine
Lancer
(=Download)
Online Change

- = valeur est rinitialis


VAR

VAR
RETAIN

VAR
PERSISTENT

VAR RETAIN PERSISTENT


VAR PERSISTENT RETAIN

x
-

x
x

Attention :
- 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

CoDeSys V2.3

5-5

L'diteur de dclaration

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

Vous trouverez au chapitre 10.11.


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.
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.

5-6

CoDeSys V2.3

5 - Les Editeurs

Tenez compte de la possibilit de la dclaration automatique (voir ci-dessous) ainsi que de


lutilisation de pragmas pour influencer les proprits des variables lors du processus de compilation
(voir chapitre 5.2.3).
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.
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

Mots cls

Vert

Commentaires

CoDeSys V2.3

5-7

L'diteur de dclaration

Rose

Valeurs de type boolen (TRUE/FALSE)

Rouge

Entre errone (p.ex. constante de temps non valable, mot cl crit en minuscule, )

Noir

Variables, constantes, oprateurs d'affectation,

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).
Exemples:
Raccourci

Dclaration
A

A: BOOL;

A B I 2

A, B: INT := 2;

ST S 2; une chane
de caractres

ST: STRING(2); (* une chane *)

X %MD12 R 5; nombre
rel

X AT %MD12: REAL := 5.0;(* nombre


rel *)

B !

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.
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.

5-8

CoDeSys V2.3

5 - Les Editeurs

Bote de dialogue Dclarer variables

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.
Dclaration dArrays (tableau):
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

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

vous permet dappeler une bote de dialogue Liste de

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 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

CoDeSys V2.3

5-9

L'diteur de dclaration

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
ou, lorsquon se trouve dj dans lditeur de dclaration, par le biais du menu contextuel 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:
Nom:

Entrez l'identificateur de la variable.

Adresse:

Le cas chant, entrez l'adresse de la variable (dclaration AT).

Type:

Entrez le type de la variable. (lors de la cration d'une instance de bloc


fonctionnel, entrez le bloc fonctionnel)

Valeur initiale:

Le cas chant, entrez l'initialisation de la variable (correspondant l'oprateur


d'affectation " := ").

Commentaire:

Entrez un commentaire cet endroit.

Il est possible de basculer sans aucune difficult d'un type de visualisation l'autre. En mode En
ligne, on ne peut pas choisir dautres visualisations.
Introduire une nouvelle dclaration :
Utilisez la commande 'Insrer' 'Nouvelle dclaration' pour diter une nouvelle variable.
Pour diter une nouvelle variable, excutez la commande 'Insrer' 'Nouvelles dclarations' (voir cidessous). Une nouvelle ligne que vous pouvez diter est alors insre en dessous de la ligne o se
trouve le pointeur de la souris.

5-10

CoDeSys V2.3

5 - Les Editeurs

Trier des dclarations :


Pour trier les lments dun tableau, on place le pointeur de la souris sur la barre des numros de
ligne situe sur le bord gauche du tableau et slectionne une des commandes suivantes dans le
menu contextuel :
Trier par Nom: Toutes les lignes sont tries par ordre alphabtique selon les noms des indicateurs
figurant dans la colonne Nom.
Trier par Adresses: Toutes les lignes sont tries par ordre alphabtique selon les donnes
d'adresse figurant dans la colonne Adresse.
Trier par Type: Toutes les lignes sont tries par ordre alphabtique selon les dsignations de type
figurant dans la colonne Type.
Ordre initiale: Les lignes sont nouveau affiches dans lordre initial de leur saisie.
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.

CoDeSys V2.3

5-11

L'diteur de dclaration

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 de symboles
Pragma {bitaccess...} pour accs binaire
Pragma {parameter..}, {template...}, {instance...} pour la cration d'entres dans le gestionnaire
des paramtres
Pragma {library ...} pour laffichage ou le non-affichage de parties de dclaration dune bibliothque
dans le gestionnaire de bibliothques
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:

5-12

noinit:

La variable n'est pas initialise.

nowatch:

La variable n'est pas garde.

CoDeSys V2.3

5 - Les Editeurs

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,
nowrite:

La variable n'est pas exporte dans le fichier du symboles.

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
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

CoDeSys V2.3

5-13

L'diteur de dclaration

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.
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-14

CoDeSys V2.3

5 - Les Editeurs

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
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. Toutes les dfinitions de cls dans les pragmas sont donnes lune
la suite de lautre dans des crochets, spares par des espaces. Respectez la syntaxe des
entres dans des listes dinstance pour des composants darray, de structures ou de blocs
fonctionnels (voir 3.).
<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"...
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 ]
}

CoDeSys V2.3

5-15

L'diteur de dclaration

<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 ] }

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 ] }[ <key>=<value pour
le premier lment > <key>=<value pour le premier lment > ...autres cls pour le premier
lment ] | [ <key>=<value pour le deuxime lment > <key>=<value pour le deuxime lment
> ...autres cls pour le deuxime lment ] | [cls pour dautres lments]}
Pour les arrays, la cl "template" est dfinie par le biais du modle "ARRAY" qui est toujours
implicitement disponible, alors que pour les structures et les blocs fonctionnels, un modle
correspondant doit tre disponible dans le gestionnaire de paramtres et doit tre indiqu ici.
Dans la liste des paramtres, il est possible de prdfinir une entre individuelle pour chaque
lment darray, de structure ou de bloc fonctionnel. On peut par exemple donner une propre
dfinition [Nom=<Nom de llment>] pour chaque lment. Les dfinitions de cl des diffrents
lments (une paire de crochets par lment !) doivent tre crites lune la suite de lautre en les
sparant par un espace et se rapportent automatiquement aux lments dans lordre croissant de
lindex (Member). Sil ny a pas autant de dfinitions de cl que de nombre dlments ou de
variables dans larray, la structure ou le bloc fonctionnel, les lments restants reoivent les
mmes valeurs que le dernier lment dfini de faon individuelle (sauf pour la cl nom dans le
cas des arrays, voir ci-dessous) ! (Voir ci-dessous, exemple 1b).
Automatismes lis la cl nom lors de linsertion darrays dans des listes de paramtres :

5-16

Si vous ne dfinissez aucun nom pour un lment darray dans le pragma, llment concern
ainsi que tous les lments qui le suivent dans la liste des paramtres recevront
automatiquement les noms <Nom du module>_<Nom de la variable darray>_<Index darray
correspondant>.
Exemple : La variable darray ARRVAR [1..8] of INT dans le module PLC_PRG doit tre entre
dans une liste de paramtres au moyen dun pragma ; si aucune dfinition nest indique pour

CoDeSys V2.3

5 - Les Editeurs

la cl nom , les diffrents lments darray reoivent automatiquement dans la liste des
paramtres les noms de PLC_PRG_arrvar_1 PLC_PRG_arrvar_8 .
-

Si vous prdfinissez dans le pragma un nom quelconque <Nom>_<Premier index du


domaine darray> pour le premier lment darray, les lments darray suivants reoivent
automatiquement dans la liste des paramtres les noms <Nom>_<Index correspondant> .
Exemple : Pour la variable darray ARRVAR [1..8], [nom=xyz_1] est prdfini dans le
pragma pour le premier lment -> les noms xyz_1 xyz_8 apparaissent dans la liste des
paramtres.
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 :
Exemple1a: 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_<Index> (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.
Accesslevel=low est repris pour tous les lments.
arr_1:
ARRAY
[1..8]
OF
INT{instance
list=arrinst
baseindex=16#0 basesubindex=16#0 [name=xname ] };

template=ARRAY

Exemple1b: Pour une variable darray arr_1, diffrents noms ne sont prdfinis dans la liste des

paramtres que pour les lments 1 4, les lments 5 8 reoivent le mme nom que
llment 4 auquel est ajout un caractre de soulignement et lindex correspondant, cest--dire
xnom_5 xnom_8. Noubliez pas que vous devez introduire les dfinitions de cl
complmentaires pour un lment spcifique dans une mme paire de crochets, comme ici pour
le premier et le quatrime lment par rapport au niveau daccs:
arr_1:
ARRAY
[1..8]
OF
INT{instance
list=arrinst
template=ARRAY
baseindex=16#0 basesubindex=16#0[name=aname accesslevel=high] [name=bname]
[name=cname] [name=xname accesslevel=medium]};
Parmetermanager-Editor zu Example1a et Example1b, Insrer array dans la liste d'instances
Exemple1a,

CoDeSys V2.3

5-17

L'diteur de dclaration

Exemple1b:

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

5-18

CoDeSys V2.3

5 - Les Editeurs

(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 doit
encore tre dit dans la liste.
VAR_CONFIG
{instance

list=varinst1 path=PLC_PRG.fb1 template=fb1_templ


basesubindex=16#0 [ name=fb1var ]}

baseindex=16#2

END_VAR

Pragma pour laffichage/non-affichage de parties de dclaration dans le gestionnaire de bibliothques


Les pragmas {library public} et {library private} permettent de dfinir dans une bibliothque cre dans
CoDeSys quelles lignes / parties de lignes de la partie de dclaration devront ou non tre affiches
par la suite dans le gestionnaire de bibliothques lors de lutilisation de cette bibliothque dans un
projet. La visualisation de la partie dimplmentation nen est pas influence.
De cette faon, il est par exemple possible de rendre invisibles lutilisateur des commentaires ou
certaines dclarations de variables de la bibliothque. Les pragmas sappliquent pour le reste de la
ligne concerne ou les lignes suivantes jusqu ce quils soient annuls par lautre pragma.
Syntaxe: {library public}
{library private}

Le texte suivant est affich dans le gestionnaire de bibliothques.


Le texte suivant nest pas affich.

Exemple : Ci-dessous, vous verrez la partie de dclaration dune bibliothque cr dans CoDeSys. Le
commentaire (* this is for all *) doit tre affich dans le gestionnaire de bibliothques aprs le
rattachement de la bibliothque au gestionnaire de bibliothques, mais (* but this is not for all *)
ne doit en revanche pas ltre. Les variables local et in2 doivent galement tre masques.
{library public}(*this is for all*){library private}(*this is not for all*)
{library public}
FUNCTION afun : BOOL
VAR_INPUT
in: BOOL;
END_VAR
{library private}
VAR
local: BOOL;
END_VAR
{library public}
VAR_INPUT
in2: BOOL;
{library private}
in3: BOOL;

CoDeSys V2.3

5-19

Les diteurs littraux

{library public}
END_VAR

Pragma pour la dclaration de types de donnes non persistantes


En rgle gnrale : Mme si une seule variable locale est dclare comme tant persistante dans un
bloc fonctionnel ou une structure, toutes les composantes sont automatiquement mmorises dans
linfo persistante (persistent.dat) du systme dexcution lors de lutilisation dune instance. Pour
conomiser lemplacement de mmoire, le pragma
Syntaxe: {nonpersistante}
peut tre utilis dans la dclaration du bloc fonctionnel. Ceci a pour effet que seules les variables de bloc
fonctionnel / de structure qui sont dclares comme persistantes sont enregistres dans linfo persistante.
Exemple : Si une instance du bloc fonctionnel suivant est dclare comme persistante, seules les
variables local et fblevel3 sont crites dans le domaine de linfo persistante. Sans le pragma
{nonpersistent}, toutes les variables de bloc fonctionnel y seraient enregistres:
FUNCTION_BLOCK FB_Level_2
{nonpersistante}
VAR_INPUT
bvar_in : BOOL;
END_VAR
VAR_OUTPUT
bvar_out : BOOL;
END_VAR
VAR
ivar2 : INT;
END_VAR
VAR PERSISTENT
local : INT := 33;
fblevel3 : FB_Level_3;
END_VAR

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).

5-20

CoDeSys V2.3

5 - Les Editeurs

'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).
'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 largeur des
fentres partielles peut tre modifie en faisant glisser la barre de sparation verticale laide de la
souris ou via la bote de dialogue 'Options despionnage'.
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

CoDeSys V2.3

5-21

Les diteurs littraux

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.
'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.
Veuillez noter que la largeur des fentres partielles peut aussi tre modifie en faisant glisser la barre
de sparation laide de la souris.
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

5-22

CoDeSys V2.3

5 - Les Editeurs

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.
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'.

CoDeSys V2.3

5-23

Les diteurs littraux

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'.
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:

5-24

CoDeSys V2.3

5 - Les Editeurs

CAL CTU_inst(
CU:=%IX10,
PV:=(
LD A
ADD 5
)
)

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)".

CoDeSys V2.3

5-25

Les diteurs graphiques

5.4 Les diteurs graphiques


5.4.1

Gnralits propos des diteurs graphiques


Les diteurs des langages de programmation graphiques, diagramme fonctionnel en squence SFC,
langage contact LD, schmas en blocs fonctionnels en langage FBD et diteur graphique CFC, ci
aprs ont de nombreux points communs. 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.

5-26

CoDeSys V2.3

5 - Les Editeurs

Bote de dialogue des options du schma en blocs fonctionnels et du schma contacts

Longueur maximale du commentaire: nombre maximal de lignes devant tre disponibles pour un
commentaire de rseau (ici, la valeur par dfaut est 4).
Longueur minimale du commentaire: nombre minimal de lignes devant en principe tre laisses
vides ou tre affiches pour les commentaires. 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.
Look Feel alternative pour LD: Les options suivantes permettent une visualisation alternative des
rseaux.
Commentaires par contact : (uniquement pour le schma contacts) : Si cette option est active,
des commentaires peuvent tre attribus des contacts et des bobinages individuels. Introduisez
dans le champ Lignes pour commentaire de la variable le nombre de lignes qui doivent tre
prvues et affiches cet effet. 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 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. Dans lexemple suivant, 2 lignes sont consacres pour le commentaire de contact et
1 ligne pour le texte de la variable.

CoDeSys V2.3

5-27

Les diteurs graphiques

Exemple: Rseau avec affichage du commentaire des variables et de l'adresse de chaque contact

Rseaux avec mises en page (uniquement pour le schma contacts) : Si cette option est active,
les rseaux sont munis de mises en page ds que la largeur de fentre rgle ne permet plus de
visualiser tous les lments du rseau.
Exemple: Rseau avec mises en page

Remplacer par symbole, apres entre de ladresse: Si cette option est active, vous pouvez
introduire une :adresse (p. ex. %QB4 ) au niveau du module, contact ou bobinage et celle-ci sera
remplace, immdiatement aprs lentre, par le nom de la variable attribue cette adresse. Si
aucune variable nest attribue une adresse, cette dernire saffiche telle quelle.
Mettre commentaire de symbole par dfaut au commentaire de contact : (uniquement pour le
schma contacts) : Si cette option est active, le commentaire dfini pour la variable utilise dans
sa dclaration est affich dans le champ de commentaire du contact ou du bobinage, o vous pourrez
poursuivre son traitement (voir ci-dessus, illustration loption 'Commentaires par contact'). Pour ce
faire, il faut toutefois que loption 'Commentaires par contact' (voir ci-dessus) soit, elle aussi, active.
Veuillez noter : Un commentaire dj entr localement dans le champ de commentaire est
automatiquement remplac par le commentaire de la variable, le cas chant par des espaces si
aucun commentaire nest disponible dans la dclaration de variable !
Afficher adresse du symbole (uniquement pour le schma contacts) : Si la variable attribue
une adresse est entre au niveau du contact ou du bobinage, celle-ci sera galement affiche en
dessus du nom de la variable (voir ci-dessus, illustration loption 'Commentaires par contact').
Afficher commentaires de variables par reseau dans lexpression : Si cette option est active,
une ligne par rseau saffiche pour chaque variable utilise dans le rseau, cette ligne contenant le
nom de la variable, ladresse, le type de donne ainsi que le commentaire de la variable comme celuici est dfini dans la dclaration de variable. Ceci peut tre utile pour documenter (imprimer) le projet.
Exemple:

5-28

CoDeSys V2.3

5 - Les Editeurs

Exemple : Affichage d'une ligne d'information pour chaque variable du rseau

Utilisation des options :


OK : Lorsque vous appuyez sur ce bouton, les options slectionnes sont appliques au prsent
module et la bote de dialogue se ferme.
Appliquer les options : Lorsque vous appuyez sur ce bouton, les options slectionnes sont
appliques au projet entier. Un dialogue de confirmation souvre et une confirmation explicite vous est
demande.
'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.

CoDeSys V2.3

5-29

Les diteurs graphiques

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 (voir ci-dessous 'Extras' 'Affichage'). Notez
galement les possibilits de rglage disponibles pour les commentaires, la saisie dadresses, etc.
par le biais de bote de dialogue Options, voir chapitre 5.4.1, Commentaires de rseau, Mises en
Page, 'Extras' 'Options'.
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:

5-30

CoDeSys V2.3

5 - Les Editeurs

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).

CoDeSys V2.3

5-31

Les diteurs graphiques

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 botes supportes. Si la nouvelle 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. Notez la possibilit dentrer des adresses si le
rglage correspondant a t effectu dans la bote de dialogue Options (voir chapitre 5.4.1,
Commentaires de rseau, Mises en Page, 'Extras' 'Options').
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.

5-32

CoDeSys V2.3

5 - Les Editeurs

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.
'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. Notez la possibilit dentrer des adresses si le rglage correspondant a t effectu
dans la bote de dialogue Options (voir chapitre 5.4.1, Commentaires de rseau, Mises en Page,
'Extras' 'Options').
'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. Notez la possibilit dentrer des adresses si le rglage correspondant a t effectu dans la
bote de dialogue Options (voir chapitre 5.4.1, Commentaires de rseau, Mises en Page, 'Extras'
'Options').
'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).

CoDeSys V2.3

5-33

Les diteurs graphiques

'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'.
'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.

5-34

CoDeSys V2.3

5 - Les Editeurs

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.

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.

CoDeSys V2.3

5-35

Les diteurs graphiques

5.4.3

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.6, 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.4 sur l'diteur FBD.
1. Chaque champ de texte (la position du curseur potentielle est encadre en noir)

2. Chaque contact ou bloc fonctionnel

5-36

CoDeSys V2.3

5 - Les Editeurs

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.

Si, en revanche, vous faites glisser llment sur le marquage (nom de variable) dun autre lment,
celui-ci sera reprsent sur fond vert. Si vous relchez ensuite la souris, lancien nom sera remplac
par le nom de llment gliss . Si de plus ladresse et le commentaire sont affichs, ceux-ci sont
galement copis.
'Insrer' 'Reseau (devant)'
Icne :

Cette commande permet dinsrer un autre rseau dans lditeur. Si dautres rseaux existent dj
dans lditeur, alors le nouveau rseau est insr devant le rseau momentanment slectionn.
'Insrer' 'Reseau (aprs)'
Icne :

Raccourci : <Ctrl> + <T>

Cette commande permet dinsrer un autre rseau dans lditeur. Si dautres rseaux existent dj
dans lditeur, alors le nouveau rseau est insr aprs le rseau momentanment slectionn.
'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.

CoDeSys V2.3

5-37

Les diteurs graphiques

Le contact est prdfini avec le texte "???". Vous pouvez cliquer sur ce texte et le remplacer par la
nom de la variable ou la constante de votre choix. Pour ce faire, vous pouvez galement utiliser la
liste de slection pour l'dition. Notez la possibilit dentrer des adresses si le rglage correspondant
a t effectu dans la bote de dialogue Options (voir chapitre 5.4.1, Commentaires de rseau, Mises
en Page, 'Extras' 'Options').
Si vous avez, galement dans la bote de dialogue Options, activ loption Commentaires par
contact, vous pouvez 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'.
'Insrer' 'Contact (ni)'
Icne :

Raccourci : <Ctrl > + <G>

Cette commande permet dinsrer un contact dj ni. Elle est semblable aux commandes 'Insrer'
'Contact' et 'Extras' Ngation', dont la combinaison permet galement dobtenir un contact ni.
'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.
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' 'Contact parallle (ni)
Icne :

Raccourci : <Ctrl > + <O>

Cette commande permet dinsrer un contact en parallle dj ni. Elle est semblable aux
commandes 'Insrer' 'Contact' parallle et 'Extras' Ngation' dont la combinaison permet galement
dobtenir un contact en parallle dj ni.
'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'.

5-38

CoDeSys V2.3

5 - Les Editeurs

'Insrer' 'Bobinage 'Set'


Icne :

Raccourci : < Ctrl > + <I>

Cette commande permet dinsrer un bobinage Set (voir chap.2.2.6). Elle est semblable aux
commandes 'Insrer' 'Bobinage' et 'Extras' 'Set/Reset', dont la combinaison permet galement
dobtenir un bobinage Set.
'Insrer' 'Bobinage 'Reset'
Icne :

Cette commande permet dinsrer un bobinage Reset (voir chap. 2.2.6). Elle est semblable aux
commandes 'Insrer' 'Bobinage' et 'Extras' 'Set/Reset', dont la combinaison permet galement
dobtenir un bobinage Reset.
'Insrer' 'Bloc fonctionnel'
Icne :

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.
Pour lentre ventuelle dadresses, la reprsentation sur plusieurs lignes du nom de la variable ou
lentre dun commentaire propre pour le bloc fonctionnel, veuillez vous rfrer la description des
options du schma en blocs fonctionnels et du schma contacts.
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.

CoDeSys V2.3

5-39

Les diteurs graphiques

'Insrer' 'Bloc avec EN'


Icne :

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.
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.
Pour lentre ventuelle dadresses, la reprsentation sur plusieurs lignes du nom de la variable ou
lentre dun commentaire propre pour le contact, veuillez vous rfrer la description ci-dessus, au
point 'Insrer' 'Contact'.
'Insrer' 'Dtection de fronts montants'
Icne :

Cette commande vous permet dinsrer un bloc fonctionnel R_TRIG servant lidentification dun front
montant (FALSE -> TRUE) au niveau du signal dentre (voir aussi chap.10.17.3). Elle est semblable
la commande 'Insrer' 'Bloc fonctionnel', qui permet galement de slectionner et dinsrer un tel
bloc fonctionnel.
'Insrer' Dtection de fronts descendants
Icne :

Cette commande vous permet dinsrer un bloc fonctionnel F_TRIG servant lidentification dun front
descendant (TRUE -> FALSE) au niveau du signal dentre (voir aussi chap. 10.17.3). Elle est
semblable la commande 'Insrer' 'Bloc fonctionnel', qui permet galement de slectionner et
dinsrer un tel bloc fonctionnel.
'Insrer' 'Temporisateur (TON)'
Icne :

Cette commande vous permet dinsrer un bloc fonctionnel de temporisation de type 'TON'. Ainsi,
vous pouvez obtenir une temporisation lenclenchement (transmission retarde du signal dentre)
(voir aussi chap. 10.17.3). La commande dinsertion est semblable la commande 'Insrer' 'Bloc
fonctionnel' qui permet galement de slectionner un module TON.

5-40

CoDeSys V2.3

5 - Les Editeurs

'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.
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'
Icne :

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.

CoDeSys V2.3

5-41

Les diteurs graphiques

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.
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-42

CoDeSys V2.3

5 - Les Editeurs

5.4.4

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:

CoDeSys V2.3

5-43

Les diteurs graphiques

1. Corps des lments module, entre, sortie, saut, tiquette, return et commentaire:

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-44

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-45

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-46

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. Aprs lexcution de ADD, VarOut est galement plac sur la valeur
TRUE. Mais si la variable Condition commute par la suite sur la valeur FALSE, ADD nest plus
excut et VarOut garde la valeur TRUE ! 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-47

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.
Veuillez noter : Cette fonctionnalit, et par consquent la dclaration dote du mot-cl "VAR_INPUT
CONSTANT", na dimportance que pour lditeur CFC. Dans lditeur FBD, toutes les variables
INPUT saffichent toujours au niveau du module, indpendamment du fait que la dclaration a
t effectue en tant que paramtre dentre VAR_INPUT ou VAR_INPUT CONSTANT. Ceci ne
joue aucun rle non plus pour les diteurs de texte. VAR_INPUT CONSTANT n'est valable que
lors de son utilisation dans l'diteur CFC.

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.

5-48

CoDeSys V2.3

5 - Les Editeurs

Il existe plusieurs faons de relier une entre d'un lment E2 une sortie d'un lment E1.

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.

CoDeSys V2.3

5-49

Les diteurs graphiques

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'.
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.

5-50

CoDeSys V2.3

5 - Les Editeurs

'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
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-51

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-52

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-53

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-54

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-55

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-56

CoDeSys V2.3

5 - Les Editeurs

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.3, 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>.
'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.

CoDeSys V2.3

5-57

Les diteurs graphiques

'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.
'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.

5-58

CoDeSys V2.3

5 - Les Editeurs

'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).
En ce qui concerne les transitions, notez que la condition crite dans lditeur a priorit sur une
condition qui, le cas chant, aurait t crite directement sur ltiquette de la transition. Exemple :
Supposons que i >100, alors la condition de transition est FALSE, mme si la valeur TRUE est crite
sur ltiquette !

CoDeSys V2.3

5-59

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-60

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-61

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 (9) 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-62

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-63

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-64

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

Quappelle-t-on 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').
Pour lchange des variables de rseau, il est ncessaire que les variables de rseau soient utilises
dans une tche cyclique ou spontane ou dans le module PLC_PRG. Il ne suffit pas pour ce faire de
les dclarer uniquement dans la partie de dclaration. Si les variables sont utilises dans diverses
tches / dans le module PLC_PRG, alors cest la variable de priorit suprieure qui sapplique.
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 :


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> (<Type de rseau>):
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 "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 broadcast vers le masque de sous-rseau de la
configuration TCP/IP du PC doit correspondre !
Dialogue 'Environnement pour UDP'

CAN:
Indexe de lautomate: Index du contrleur CAN par lintermdiaire duquel les variables doivent
tre transmises.
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.
La possibilit de dfinir les variables de rseau de la liste comme 'Lire' et 'Ecrire' ou seulement
'Lire' ou 'Ecrire' est dpendante du systme cible. La configuration correspondante seffectue par
slection des options 'Lire' et 'Ecrire' :
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. Si loption 'Lire' est slectionne, les
options complmentaires suivantes peuvent tre actives :
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 supplmentaires suivantes sont
disponibles :
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 : (sans fonction avec CAN) 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.
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.

6-6

CoDeSys V2.3

6 - Ressources

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.
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
Pour combiner les proprits Retain et Persistent, on utilise les deux mots-cls suivants :
VAR_GLOBAL RETAIN PERSISTENT ou VAR_GLOBAL PERSISTENT RETAIN

CoDeSys V2.3

6-7

Variables Globales, Variable Configuration, Fichier cadre pour documentation

Les variables rseau (spcifiques au systme cible) sont galement dfinies l'aide de cette syntaxe.
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

6-8

CoDeSys V2.3

6 - Ressources

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;
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,

CoDeSys V2.3

6-9

Configuration de l'alarme

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!
'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'.
Si le systme le supporte, vous disposez pour la configuration de 'Configuration d'alarme' dans
l'Organisateur d'objets, au 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:

une confirmation de l'alarme par l'utilisateur n'est pas ncessaire

ACK_INTO:

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 !

Ces paramtrages doivent tre effectus lors de


la configuration de l'Enregistrement de l'alarme.
(voir chap.6.3.5).

Imprimer:

Un message est dlivr au


niveau de l'imprimante.

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.
Veuillez noter : Cette fonction nest pas supporte pour
la Visualisation Cible !

CoDeSys V2.3

6-13

Configuration de l'alarme

Message:

Une bote de message


s'affiche avec le texte
dfinir.

Message: texte de message (voir plus bas) qui


doit tre dit dans une propre fentre de
messages.
Veuillez noter : Cette fonction nest pas supporte pour
la Visualisation Cible !

E-Mail:

Un message lectronique
est envoy, contenant le
texte dfinir.

De: adresse e-mail du destinateur ; : adresse email du destinataire ; Concerne : texte de


rfrence; Message: texte du message (voir plus
bas); Serveur: nom du serveur e-mail

Variables:

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

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)

Excuter :

un programme externe est


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

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.

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 :

6-14

MESSAGE

Le texte de message dfini pour l'alarme dans la Configuration des


groupes d'alarme (colonne Messages) apparat l'cran.

DATE

La date du changement vers le statut correspondant (INTO)

TIME

L'heure effective du dclenchement de l'alarme apparat l'cran

EXPRESSION

L'expression (dfinie dans le groupe d'alarme) qui a dclench


l'alarme.

PRIORITY

Priorit de l'alarme (dfinie dans le groupe d'alarme)

VALUE

Valeur actuelle de l'expression

TYPE

Type d'alarme (dfini dans le groupe d'alarme)

CLASS

Classe d'alarme (dfinie dans le groupe d'alarme)

TARGETVALUE

Valeur cible des types d'alarme DEV+ et DEV- (dfinie dans le


groupe d'alarme)

DEADBAND

Tolrance de l'alarme (dfinie dans le groupe d'alarme)

ALLDEFAULT

Toutes les donnes relatives l'alarme apparaissent l'cran,


comme dcrit dans l'dition dans un Fichier de sauvegarde
(Historique)

CoDeSys V2.3

6 - Ressources

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

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

L'alarme commence.

ACK

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:

Identique LOLO

HI:

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.

HIHI:

Identique HI

DEV-:

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.

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

1046963332 6.3.03 16:08:52 INTO

PLC_PRG.b LO

1046963333 6.3.03 16:08:53 ACK

PLC_PRG.n HIHI

-30

-31

35

Priorit Message

Alarm_high

Mess1

Avertissement 9

Mess2

Exemple :
1046963332,6.3.03 16:08:52,INTO,PLC_PRG.ivar5,HIHI,,,,

9.00,a_class2,0,

1046963333,6.3.03 16:08:53,INTO,PLC_PRG.ivar4,ROC,2,,,

6.00,a_class2,2,

1046963333,6.3.03 16:08:53,INTO,PLC_PRG.ivar3,DEV-,,,,

-6.00,a_class2,5,

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 !

6.3.6

-47.00,warning,10,warning: low
47.00,a_class1,2,temperature to

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.
Les bibliothques cres dans CoDeSys peuvent tre dotes dinstructions Pragma dans la partie de
dclaration, qui auront ensuite pour effet que la partie de dclaration ne saffiche pas dans son entier
dans le gestionnaire de bibliothques lors de lutilisation de la bibliothque dans un projet. Ainsi, il est
possible de cacher lutilisateur certaines dclarations de variables ou commentaires particuliers
(voir chap.5.2.3, Instructions Pragma dans lditeur de dclaration).
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.

CoDeSys V2.3

6-19

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
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.
Remarque : Notez la possibilit de dfinir par le biais de pragmas dans quelle mesure la partie de dclaration de
la bibliothque doit tre affiche dans le gestionnaire de bibliothques lorsque cette bibliothque sera
ultrieurement associe un projet ("masquage" de dclarations de variables, voir chap.5.2.3).

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. :
Cette commande ouvre la bote de dialogue pour louverture dun fichier. Si le rpertoire actuellement
slectionn ne contient pas la bibliothque souhaite, vous pouvez choisir dans le champ Rpertoire
de
bibliothques
un
autre
rpertoire
parmi
les
rpertoires
dfinis
sous
Projet/Options/Rpertoires/Bibliothques (voir chap.4.2), et vous obtiendrez laffichage des fichiers
de bibliothque disponibles dans ce rpertoire (fichier de type "*.lib"). Slectionnez la bibliothque ou
les bibliothques souhaites un choix multiple est possible et confirmez votre choix avec le bouton
OK. La bote de dialogue se ferme et la bibliothque est ajoute dans le gestionnaire de
bibliothques. prsent, vous pouvez utiliser les objets de la bibliothque comme si ces objets
taient dfinis par vous-mme.
Chemins daccs de bibliothque :
Veuillez noter les rpertoires de bibliothques actuellement dfinis dans les options du projet. Si vous
insrez une bibliothque dun rpertoire qui nest pas indiqu dans les options du projet, la
bibliothque sera introduite avec lindication du chemin daccs correspondant.
Exemple : Vous intgrez la bibliothque standard.lib du rpertoire "D:\ progsys\libraries\standard".

6-20

CoDeSys V2.3

6 - Ressources

Si ce rpertoire est dfini dans les options du projet, alors lentre suivante sera effectue dans le
gestionnaire de bibliothques : "standard.lib <date and time of file>".
Si un seul rpertoire "D:\ progsys\libraries" est dfini dans les options du projet, alors lentre
suivante sera effectue : "standard\standard.lib <date and time of file>".
Si aucun rpertoire adquat nest dfini dans les options du projet, alors le chemin daccs absolu
sera entr dans son intgralit. "D:\ progsys\libraries\standard\standard.lib <date and time of file>".
Lorsque vous ouvrez le projet, les bibliothques enregistres dans le gestionnaire de bibliothques
sont recherches en fonction des entres figurant dans les options du projet. Ainsi, une bibliothque
enregistre sans indication de chemin daccs sera recherche dans les rpertoires de bibliothques
dfinis dans les options du projet.
Si des bibliothques ne sont pas trouves lors de louverture dun fichier, le systme vous demande si
vous souhaitez modifier le rpertoire indiqu dans les options du projet. En cas de refus, une bote de
dialogue contenant des informations sur la bibliothque non trouve souvre et les entres
concernes apparaissent en rouge dans le gestionnaire de bibliothques. Au cas o il y a une entre
marque en rouge, la commande Rechercher... est disponible dans le menu contextuel. Vous
obtenez alors un dialogue qui vous permet douvrir un fichier et, le cas chant, de charger
directement la bibliothque manquante.
Licence :
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.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.

CoDeSys V2.3

6-21

Journal

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).
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.

6-22

CoDeSys V2.3

6 - Ressources

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.

Enregistrer

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.

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
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.

CoDeSys V2.3

6-23

Configuration de l'automate

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. Le systeme cible poit
dterminer 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. Si le systme cible ne supporte pas
lancien configurateur, la configuration de lautomate 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, CAN et DeviceNet.
Si le systme cible le supporte, vous pouvez directement intgrer les informations structurelles du
prsent matriel de commande dans la configuration (scannage) ou faire afficher des messages de
diagnostic et dtat de la commande dans CoDeSys.
Aprs que lutilisateur ait termin la configuration dans lditeur, une reprsentation binaire du projet
est transmise lautomate lors du tlchargement de ce projet.
Le systme cible actuellement utilis dtermine ventuellement la poursuite du travail avec la
configuration de lautomate utilise dans CoDeSys V2.1. Dans ce cas, la documentation utilisateur
de CoDeSys V2.1 fera foi pour lutilisation du configurateur et les extensions du configurateur
suivantes sont prendre en considration :
Configurateur CAN :
Option "Crer tous les SDO" dans le dialogue 'Paramtres CAN' dun module CAN (voir
chap.6.6.8)
Attention : dsormais, la cration des SDO sera toujours effectue selon le mcanisme
utilis dans le configurateur V2.3, cest--dire que les rsultats diffreront peut-tre des
rsultats obtenus jusquici !
Champ de saisie "Device-Type" dans la bote de dialogue 'Configuration CAN' dun
CanDevice (voir chap. 6.6.9).
Configuration du Profibus :
La liste de slection des modules Profibus prts tre insrs (voir chap. 6.6.7) est
dsormais classe par ordre alphabtique en fonction des noms de module.

6-24

CoDeSys V2.3

6 - Ressources

6.6.2

Travailler dans la 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).
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.

CoDeSys V2.3

6-25

Configuration de l'automate

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.

6-26

CoDeSys V2.3

6 - Ressources

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.

Exportation et importation de modules


Si un module est dfini comme exportable dans le fichier de configuration (*.cfg), les commandes
'Exporter le module' et 'Importer le module' sont disponibles lorsque le module est slectionn dans
larborescence de configuration.
Lorsquon slectionne la commande 'Exporter module', la bote de dialogue 'Slectionner fichier
dexportation' souvre. Vous pouvez y indiquer un fichier dans lequel le module avec tous les sousmodules et leur configuration seront enregistrs en format XML. Ce fichier peut tre import une
nouvelle fois dans une autre configuration via la commande 'Importer module' la condition quun
module dfini de faon correspondante soit slectionn.
Ainsi, larborescence de configuration dun module particulier peut tre transmise de faon simple
dans une autre configuration de l'automate.

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.

CoDeSys V2.3

6-27

Configuration de l'automate

Bote de dialogue des rglages gnraux de la configuration dautomates

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

6-28

CoDeSys V2.3

6 - Ressources

6.6.5

Configuration dun module E/S

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.
Commentaire: Ici vous pouvez introduire des informations complmentaires relatives au module.
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.
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.
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).

CoDeSys V2.3

6-29

Configuration de l'automate

Aprs qu'une tche CEI ait envoy ses donnes de processus aux modules E/S ou lu ces donnes
partir des modules, tous les modules sont rgulirement invit remplir la structure de diagnostic
GetBusState.
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;

L'excution du module dbute avec un front montant

DRIVERNAME:
POINTER TO
STRING;

Nom du pilote (adresse du nom) vers lequel l'ordre de diagnostic doit


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 :

6-30

READY: BOOL ;

TRUE : le traitement de l'ordre de diagnostic est termin.

STATE:INT;

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:
ARRAY [0..129] OF
BYTE;

Jusqu' 100 octets pour les donnes de diagnostic du participant de


bus, spcifiques au fabricant.

CoDeSys V2.3

6 - Ressources

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

CoDeSys V2.3

6-31

Configuration de l'automate

6.6.6

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.

6-32

CoDeSys V2.3

6 - Ressources

6.6.7

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 0, 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).

CoDeSys V2.3

6-33

Configuration de l'automate

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

6-34

CoDeSys V2.3

6 - Ressources

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 !

Slot Time

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.Station Delay

min. TSDR (en Tbit) : temps minimal de raction aprs lequel un


participant de bus peut rpondre (min. 11 Tbit)

Max.Station Delay

max TSDR (en Tbit) : dure maximale accorde lesclave pour une
rponse.

Quiet Time

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)

Target Rotation Time

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.

Gap Update Factor

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).

Max. Retry Limit

Nombre maximal de nouvelles tentatives dappel par le matre, lorsque


ce dernier na pas reu de rponse valable de la part de lesclave.

Min. Esclave Interval

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.

CoDeSys V2.3

6-35

Configuration de l'automate

Poll Timeout

Temps maximal aprs lequel le demandeur (DP matre de niveau 2)


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.

Watchdog Time

Valeur de temps pour la surveillance de la rponse (keep alive). Le


rglage nest pas actuellement support (rgl sur 400ms).

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 0, 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

6-36

Info

Fabricant, rvision GSD, numro d'identification, version du matriel et


version du logiciel, nom du fichier (GSD), Type de slave

Paramtres de
dfaut

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

CoDeSys V2.3

6 - Ressources

Lock/Unlock: l'esclave est bloqu ou libr pour d'autres matres :


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

Adresse de station (voir ,Paramtres DP du matre DP&lsquo;), Nom de station


(correspond au nom de l'appareil, ditable)

Activation

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.

Watchdog
(surveillance)

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.

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

CoDeSys V2.3

6-37

Configuration de l'automate

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.

6-38

CoDeSys V2.3

6 - Ressources

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.

CoDeSys V2.3

6-39

Configuration de l'automate

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.8

Configuration de Modules CANopen


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 0, Paramtres de base d'un module E/S).

6-40

CoDeSys V2.3

6 - Ressources

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 !)

CoDeSys V2.3

6-41

Configuration de l'automate

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 0, 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.
Si loption Appareil optionnel est active (la disponibilit de loption dans la bote de dialogue
dpend du systme), le Matre nessaie quune seule fois de lire partir de ce nud. Ensuite, sil ne
rpond pas, le nud est ignor, c.--d. que le Matre commute vers ltat de fonctionnement normal.
Si loption Pas initialiser est active (la disponibilit de loption dans la bote de dialogue dpend du
systme), le Matre met immdiatement le nud en service, sans lui envoyer de SDO de
configuration. (Les donnes SDO sont toutefois cres et enregistres 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.

6-42

CoDeSys V2.3

6 - Ressources

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.
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.

CoDeSys V2.3

6-43

Configuration de l'automate

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.
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.

6-44

CoDeSys V2.3

6 - Ressources

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.
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.

CoDeSys V2.3

6-45

Configuration de l'automate

6.6.9

Configuration CANDevice (CANopen-Esclave)


Un automate programmable CoDeSys peut apparatre dans un rseau CAN sous la forme d'un
esclave CANopen (galement appel Noeud 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

6-46

CoDeSys V2.3

6 - Ressources

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

Ici vous avez la possibilit de transmettre au systme dexcution des valeurs pour les paramtres
CAN connus de la norme CANopen. La faon dont elles seront interprtes dpend du systme
d'excution. Si vous utilisez limplmentation CANopen supporte par les systmes d'excution 3S en
combinaison avec les bibliothques correspondantes, rfrez-vous la documentation CanOpen
pour systme dexcution 3S .
ID noeud : LID nud (1 127) est le numro de nud avec lequel le Matre Bus excite le
CanDevice dans le rseau CANopen.
Taux de baud : laide de la liste de slection, vous pouvez rgler le taux de Baud souhait pour la
transmission dans le Bus.
Device Type : Ici apparat automatiquement le "Device-Type" de lappareil qui est renvoy lors de
linterrogation de lobjet 0x1000, cest--dire celui de lautomate programmable configur dans le
projet. Le type y est ditable.

CoDeSys V2.3

6-47

Configuration de l'automate

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. Si elle est
dsactive, le CanDevice attend une instruction approprie.
Vous pouvez configurer Garder noeuds et disposer de la fonctionnalit Tlgramme d'urgence.
Veuillez vous rfrer ce propos aux descriptions relatives la configuration dautres modules et
matres CAN (chap.6.6.8).
Configuration heartbeat :
Activer generation heartbeat : Si cette option est active, le CanDevice met des Hearbeats dans
les intervalles indiqus en millisecondes dans Frquence de heartbeat :.
Activer consommateur heartbeat : Si cette option est active, le CanDevice ragit aux Heartbeats
envoys par le module dfini par lID consommateur. Le Heartbeat Consumer Time indique en
millisecondes la dure au bout de laquelle un drapeau derreur est mis si le Heartbeat nest pas entr.
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.

6-48

CoDeSys V2.3

6 - Ressources

Liste des objets mappables: Slectionnez dans la liste des paramtres la liste de variables pour les
entres desquelles le CanDevice doit crer des PDO. Si le systme cible le supporte, vous pouvez
grer des listes de paramtres de type 'Mapping' qui ne grent que des variables de processus
prvues pour ce mappage. Dans ce cas, seules ces listes de paramtres seront proposes dans la
slection. Dans le cas contraire, toutes les listes de paramtres disponibles de type 'Variables' et
'Instance' seront proposes.
Attention : Si une zone dindex pour mappages est dfinie dans la configuration du systme cible pour le
gestionnaire de paramtres, alors seule cette zone sera prise en considration par un CanDevice,
lexclusion de toutes les autres zones dindex dfinies par ailleurs !

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.
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.10 Configuration de modules DeviceNet


CoDeSys supporte la configuration matrielle dun systme de bus qui utilise le protocole
international norm DeviceNet (EN50325). Avec DeviceNet, on ralise principalement des rseaux
matre-esclave dots de proprits Plug&Play, donc dun bus assurant la connexion directe sur des
capteurs et acteurs (dtecteurs de proximit, vannes).
Le protocole de communication DeviceNet est bas sur CAN (Controller Area Network). Lchange de
donnes ne peut se faire que lorsquune liaison entre les modules communicants est tablie. Le
configurateur DeviceNet CoDeSys prvoit la dfinition dun Matre DeviceNet charg de contrler
lchange de donnes de ses esclaves DeviceNet au sein du rseau. Le systme supporte divers
types de communication permettant lchange des donnes dentre et de sortie entre les modules
esclaves. Normalement, le Matre DeviceNet prend en charge la fonction "UCMM" (Unconnected
Message Manager) assurant des liaisons multiples et simultanes et soccupe des demandes dautres
matres adresses ses esclaves (compatibles avec UCMM).
La configuration DeviceNet dans le configurateur de l'automate CoDeSys ncessite un fichier de
configuration qui autorise lintroduction de modules matres et esclaves DeviceNet. Ce fichier de
configuration est automatiquement recherch dans le rpertoire actuellement slectionn (voir chap.
4.2, Projet - Options - Rpertoires).
Conformment aux dfinitions figurant dans le fichier de configuration *.cfg, les fichiers EDS (fichiers
de priphriques, Electronic Data Sheet) - galement disponibles dans le rpertoire actuel des fichiers
de configuration - peuvent tre utiliss dans la configuration. Les possibilits de configuration d'un
module DeviceNet sont dfinies dans un fichier EDS. Notez que les fichiers de priphriques CAN
portent lextension EDS mais que, en revanche, ils ne sont pas utilisables pour la configuration dun
DeviceNet !

CoDeSys V2.3

6-49

Configuration de l'automate

Notez aussi quen principe vous pouvez toujours ajouter des fichiers de configuration de faon cible
durant la phase de travail sur le projet.
Si un Matre DeviceNet est marqu dans larborescence de configuration, vous pouvez choisir entre les
botes de dialogue suivantes (le choix dpend de la dfinition figurant dans le fichier de configuration)
sur les onglets de mme nom : Paramtres de base, Paramtres DeviceNet, Paramtres de module.
Si un Esclave DeviceNet accroch en dessous dun Matre DeviceNet est marqu, vous obtenez les
botes de dialogue suivantes : Paramtres de base, Paramtres DeviceNet, Configuration de
connexion E/S, Paramtres, Paramtres de module.
Les diffrentes botes de dialogue de configuration sont dcrites ci-dessous :
Paramtres de base dun Matre DeviceNet
La bote de dialogue Paramtres de base dun Matre DeviceNet correspond, en ce qui concerne les
points de dialogue quelle contient (ID module, Numro de nud, Adresse dentre, Adresse de
sortie, Adresse de diagnostic), celle des autres modules (voir chap.6.6.5, Paramtres de base
dun module E/S).
Paramtres Device Net dun Matre DeviceNet
Bote de dialogue pour Paramtres Device Net dun Matre DeviceNet

Entrez lidentification du Matre DeviceNet, qui est dtermine au niveau mme du module, dans le
champ Adresse. Cette identification a la mme signification que celle du Node-ID dun module CAN
et ne doit pas tre confondue avec le numro de nud ou ladresse entre dans la bote de dialogue
Paramtres de base ! Elle doit tre saisie sous forme dcimale, avec des valeurs de 0 63, valeur
par dfaut : 0.
Vous devez galement dfinir Dbit en bauds [baud] pour lchange de donnes au sein du rseau.
Les rglages suivants sont disposition: 125000 (valeur par dfaut), 250000, 500000.
Paramtres de module dun Matre DeviceNet
La bote de dialogue Paramtres de module dun Matre DeviceNet correspond celle des autres modules
(voir chap.6.6.5, Paramtres de base d'un module E/S). Les paramtres qui ont t attribus au Matre
DeviceNet dans le fichier de configuration, en plus des paramtres DeviceNet et Bus, sont visualiss dans
cette bote de dialogue et les valeurs y sont normalement ditables.
Paramtres de base dun Esclave DeviceNet
La bote de dialogue Paramtres de base dun Esclave DeviceNet correspond, en ce qui concerne les
points de dialogue quelle contient Adresse dentre et de sortie, celle des autres modules (voir
chap.6.6.5, Paramtres de base dun module E/S). La direction, lentre et la sortie sont dtermins
du point de vue du module.
Paramtres DeviceNet dun Esclave DeviceNet
Les paramtres gnraux du module Esclave sont configurs ici.
Adresse : Identification de lEsclave DeviceNet, qui est dtermine au niveau mme du module.
Cette identification a la mme signification que celle du Node-ID dun module CAN et ne doit pas tre

6-50

CoDeSys V2.3

6 - Ressources

confondue avec le numro de nud ou ladresse entre dans la bote de dialogue Paramtres de
base !). Elle doit tre saisie sous forme dcimale, avec des valeurs de 0 63.
Appareil actif dans la configuration : Activez cette option pour dfinir cet appareil en tant que
participant actif pour la communication au sein du rseau.
Info... : Ce bouton ouvre une fentre dans laquelle est visualis le contenu du Fichier EDS de
lappareil. Notez que les fichiers de priphriques CAN peuvent galement porter lextension EDS
sans quils ne soient pour autant utilisables pour la configuration dun DeviceNet !
Bote de dialogue pour Paramtres DeviceNet dun Esclave DeviceNet

Expert... : Ce bouton ouvre la bote de dialogue Configuration largie qui permet de configurer les
points suivants :

UCMM : (Unconnected Message Manager for multiple connections) Si cette option est active
(rglage par dfaut), lEsclave est en mesure de comprendre des messages UCMM.
Classifications possibles: Groupe 1, Groupe 2 ou Groupe 3 (rglage par dfaut)

Les contrles qui ont lieu par dfaut lors du Dmarrage du rseau peuvent tre dsactivs ici.
Lors de chaque contrle, la valeur indique dans le fichier EDS utilis est compare la valeur
dtecte au niveau du module:
Vrifier ID du vendeur, Vrifier type dappareil, Vrifier code du produit, Vrifier version du
produit
Bote de dialogue Expert

CoDeSys V2.3

6-51

Configuration de l'automate

Configuration de connection E/S dun Esclave DeviceNet


Ici, on configure les entres et sorties de lappareil par le biais desquelles les donnes (valeurs de
paramtres) sont changes. On y dfinit un type de connexion et y ralise une configuration partir
des entres et sorties (Fichier EDS, Inputs, Outputs) mises disposition par lappareil.
Bote de dialogue pour la Configuration de connection E/S dun Esclave DeviceNet

Connection E/S slectionne : Slectionnez le type de communication que vous souhaitez voir
appliquer une configuration de connexion E/S dun Esclave DeviceNet que vous effectuerez ci-dessous:
Poll : Les donnes des Esclaves sont interroges cycliquement par le Matre (procdure Matre-Esclave)
Bit Strobe : Le Matre DeviceNet envoie un tlgramme broadcast tous les Esclaves avec
linvitation transmettre les donnes actuelles. Les participants rpondent lun aprs lautre en
commenant par le nud 1.Les donnes que chaque appareil peut renvoyer aprs un ordre Bit
Strobe sont limites une longueur de 8 octets.
Change of State : Lors de tout changement au niveau de lentre, lEsclave envoie
automatiquement les donnes au Matre. Linterrogation par le Matre nest donc pas ncessaire.
Cyclic : LEsclave envoie spontanment ses donnes aprs coulement dun temps de cycle
(fonction Heartbeat ).

6-52

CoDeSys V2.3

6 - Ressources

Multicast Poll : Cette fonction nest actuellement pas supporte.


I/O complet : Ici saffiche le nombre total dOctets dentre et Octets de sortie utiliss en ce moment
pour toutes les entres et sorties configures immdiatement au-dessous. Ces chiffres rsultent des
longueurs dfinies pour les E/S dans les champs 'Entres et 'Sorties.
Extendu : Ce bouton mne la bote de dialogue Ajustements additionnels qui offre la possibilit
de modifier les rglages par dfaut suivants pour la connexion actuellement configure:
Baud de paquet attendu : Valeur par dfaut : 75, cadence attendue (en millisecondes) avec
laquelle lEsclave doit envoyer les donnes demandes via la prsente connexion.
Timeout de fragmentation : [ms] : valeur par dfaut 1600 ms ; si les donnes transmettre
dpassent une taille de 8 octets, lchange de donnes doit tre fragment (en plusieurs
tlgrammes). Le timeout de fragmentation dfinit en millisecondes le temps durant lequel le
Matre attend une rponse de lEsclave un tlgramme fragment, avant quil ne dclenche
laction dtermine la fonction Action en cas derreur timeout .
Action au cas derreur timeout : Dterminez une des actions suivantes qui doit tre
dclenche en cas derreur de timout:
Transition to timed out : (valeur par dfaut) Cette action est dfinie en fonction de
lEsclave.
Auto delete : La connexion E/S est efface.
Auto reset : La connexion reste tablie, le Matre reconfigure lEsclave, lespion est
remis zro.
Autres options pour le type de connexion 'Change of state' :
Temps mort denvoi : (valeur par dfaut :1) Intervalle minimum en millisecondes sparant
deux messages, mme si des donnes ont t modifies lintrieur de cet intervalle. Cette
mthode empche que lappareil ne soit surcharg trop rapidement de demandes entrantes. La
valeur 0 ne dfinit pas de temps mort denvoi, mais signifie dans ce cas que lchange de
donnes est effectu aussi vite que possible.
Timeout[ms] : (Valeur par dfaut : 16) Si la Frquence de Heartbeat a t dpasse de cette
valeur (en millisecondes) sans que les donnes aient t modifies, une erreur de surveillance
des temps est constate.
Baud de pulsation [ms] : (valeur par dfaut : 250) Intervalle en millisecondes au bout duquel
lEsclave doit en tous les cas envoyer ses donnes, mme si elles nont pas t modifies.
Autres options pour le type de connexion 'Bit Strobe' :
Utiliser bit sortie : (valeur par dfaut : dsactive) Pour sa rponse, lEsclave utilise le bit de
sortie qui correspond celui que le Matre a utilis dans son tlgramme dinvitation.
Autres options pour le type de connexion 'Cyclique' :
Intervalle [ms] : (valeur par dfaut : 100) Intervalle (en millisecondes) avec lequel lEsclave
doit automatiquement envoyer ses donnes (Heartbeat).
Timeout[ms] : (valeur par dfaut : 16) Si la Frquence de Heartbeat a t dpasse de cette
valeur (en millisecondes) sans que les donnes aient t modifies, une erreur de surveillance
des temps est constate.
Entres :
Slectionnez les entres souhaites dans le champ Connections disponibles et transmettez-les
laide du bouton >> au champ Connections dentre configures. Le bouton << vous permet
galement de supprimer nouveau des entres que vous y avez faites.
Pour dterminer la longueur dune entre configure (octets), double-cliquez sur cette entre. La bote
de dialogue Longueur en octets souvre. Introduisez-y la longueur souhaite en octets puis
confirmez avec OK. La longueur est alors indique entre parenthses la suite de lentre.

CoDeSys V2.3

6-53

Configuration de l'automate

Les connexions dentre configures sont immdiatement visibles dans larborescence de


configuration. En dessous de lEsclave apparat une saisie dote du nom du type de connexion et, en
dessous, les connexions dentre et de sortie correspondantes.
Sorties :
Configurez les sorties de manire similaire aux entres.
Paramtres dun Esclave DeviceNet
Les paramtres lists ici sont prescrits par le fichier EDS de lappareil. Les valeurs actuelles sont
changes au sein du rseau selon la configuration des entres et sorties.
Obj. : Identification du paramtre (objet) par le biais de laquelle ce paramtre est gr dans la liste
des paramtres (rpertoires des objets). Ce numro dobjet est cr partir du numro de paramtre
qui est indiqu dans le fichier EDS au niveau de la description du paramtre correspondante (Section
[Params], "Param<Numro>").
Type : Type de donnes du paramtre
Acc. : Droits d'accs : rw=lire/crire, ro=lire seulement
Nom du paramtre : Nom symbolique du paramtre
Min., Max. : Plage de valeurs du paramtre, limite par les valeurs minimale et maximale
Dfaut : Valeur par dfaut du paramtre
Valeur : Si cela est dfini ainsi dans le fichier EDS, la valeur du paramtre peut tre modifie ici. Pour
ce faire, une liste de slection de valeurs prescrites est disposition ou alors un champ de saisie peut
tre ouvert en cliquant sur le champ du tableau.
Paramtres de module dun Esclave DeviceNet
La bote de dialogue Paramtres de module dun Matre DeviceNet correspond celle des autres
modules (voir chap.6.6.5, Paramtres de base d'un module E/S). Les paramtres qui ont t attribus
lEsclave par le biais du fichier de configuration, en plus des paramtres dfinis dans la bote de
dialogue Paramtres, sont visualiss dans cette bote de dialogue et les valeurs y sont normalement
ditables.

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.

6-54

CoDeSys V2.3

6 - Ressources

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.
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


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.

CoDeSys V2.3

6-55

Configuration des tches

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.
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.1

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. Les possibilits de configuration dpendent du
systme cible.
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'

6-56

CoDeSys V2.3

6 - Ressources

'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'avant-plan).
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).
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.

CoDeSys V2.3

6-57

Configuration des tches

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 'Dclench par vnement externe', si une indication de
temps est ncessaire pour lvnement) : 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. Pour les indications en millisecondes, il
suffit dintroduire le chiffre, le format TIME correct (p. ex. t#200ms ) apparat ensuite
automatiquement aprs le prochain changement de focus. Pour les entres en microsecondes, le
chiffre est seul reprsent (p. ex. "300"). Le cas chant, le systme cible dfinit des Singleton
Events. Il sagit dvnements qui nautorisent le dmarrage que dune seule tche. Le dmarrage
de plusieurs tches dans le projet par le biais dun tel vnement est contrl lors de la traduction.
Pour ce faire, lautomate utilise ladresse des donnes de la variable de lvnement et non pas
leur nom.
Exemple : Si le systme cible prescrit %MX1.1 et %IB4 comme vnements Singleton, alors
lutilisation des variables dvnement suivantes va gnrer deux erreurs dans la configuration des
tches (a et b de mme que c et d ont tous deux la mme adresse) qui seront constates laide
de ladresse des donnes de la variable dvnement et non pas laide de son nom. Si le
systme cible prescrit par exemple %MX1.1 et %IB4 comme vnements Singleton, alors
lutilisation des variables suivantes en tant quvnement va gnrer deux erreurs (a et b de mme
que c et d ont tous deux la mme adresse).
VAR_GLOBAL
a AT %MX1.1: BOOL;
b AT %MX1.1: BOOL;
c AT %MB4: BOOL;
d AT %MD1: BOOL;
END_VAR

Evnement (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.
Si aucune saisie nest effectue dans le champ Intervalle et dans le champ Evnement, l'intervalle
d'excution dpend du systme d'excution utilis (reportez-vous cet effet la documentation
spcifique du systme d'excution ; par exemple, cest un intervalle de 10 ms qui est introduit dans
CoDeSys SP NT partir de la version V2.2).
Surveillance
Si le systme cible le supporte, une surveillance des temps peut tre configure:
Activer surveillance Activez cette option ( ) si vous souhaitez que la tche se termine avec
un statut d'erreur ds que l'excution de cette tche dpasse le temps de surveillance allou
sous la rubrique 'Temps' selon la sensibilit configure (voir ci-dessous) (mcanisme de
surveillance (Watchdog).
Temps (p. ex. : t#200ms) : Aprs lcoulement de ce temps, le mcanisme de surveillance
(Watchdog) est activ selon la sensibilit configure (voir ci-dessous) lorsque la tche ne se
termine pas spontanment. A propos de lunit de la saisie, veuillez vous rfrer au
paragraphe Intervalle . Le systme cible exige ventuellement aussi que le temps de

6-58

CoDeSys V2.3

6 - Ressources

surveillance soit indiqu en pourcentage de lintervalle de la tche. Dans ce cas, la fentre de


slection de lunit est grise et contient % .
Sensibilit : Votre saisie en nombres entiers indique ici le nombre de dpassements du temps de
surveillance tolr avant que lautomate ne commute sur un tat derreur. La valeur standard est
1 . Attention : Lintroduction de la valeur 0 provoque la dsactivation de la fonction de
surveillance !
Attributs spcifiques au fabricant :
Outre ces attributs standard, des attributs spcifiques au fabricant peuvent apparatre dans un
deuxime onglet Paramtres pour la tche slectionne, dans la mesure o ceci est dfini ainsi
dans le fichier de description spcifique la cible.
'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.2

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.

CoDeSys V2.3

6-59

Configuration des tches

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. Attention pour les systmes cibles RISC et Motorola 68K : Le nom dune
fonction lie un vnement dans le systme (fonction Callback) doit commencer par callback !
Pour quun module nouvellement dfini dans le projet puisse tre cr, appuyez sur le bouton Crer
module <Nom>. 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.3

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 :

6-60

CoDeSys V2.3

6 - Ressources

Idle

pas excut depuis la dernire mise jour, ceci vaut principalement pour des
tches vnementielles

Running

excut au moins une fois depuis la dernire mise jour

Stop

arrt

Stop on BP

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 :

temps d'excution minimal mesur en s

Akt :

temps d'excution mesur en dernier lieu en s

Max :

temps d'excution maximal mesur en s

Zyklus :

Dure totale du cycle en s

Jitter :

gigue maximale mesure en s (intervalle entre le dmarrage de la tche et


laffichage de la tche en cours par le systme courant 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].

CoDeSys V2.3

6-61

Gestionnaire d'espion et de recettes

Fonctions En ligne supplmentaires dans le menu contextuel ou dans le menu 'Extras' :


'Dfinir tche de dbogage'
'Afficher hirarchie d'appel'
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.
Le fait que la tche PLC_PRG soit excute jusquau bout comme tche spontane, sans tre
intgre dans la configuration des tches, dpend du systme cible.
'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.

6-62

CoDeSys V2.3

6 - Ressources

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

6.8.2

dans l'onglet Ressources de l'Organisateur d'objets.

Gestionnaire d'espion et de recettes en mode autonome


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'.
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.


'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.

CoDeSys V2.3

6-63

Gestionnaire d'espion et de recettes

'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.
'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'.

6-64

CoDeSys V2.3

6 - Ressources

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 (9) apparat devant l'lment de
menu correspondant.
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).

CoDeSys V2.3

6-65

Histogramme

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.
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

6-66

CoDeSys V2.3

6 - Ressources

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
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').

CoDeSys V2.3

6-67

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).

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.

6.9.2

Effectuer un enregistrement dhistogramme

'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-68

CoDeSys V2.3

6 - Ressources

6.9.3

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

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.
Si un tracebuffer (mmoire tampon de trace) est charg ('Extras' 'Lancer l'histogramme'), alors les
valeurs de toutes les variables reprsenter peuvent tre lues ('Extras' 'Lire l'histogramme' ou 'Extras'
'Lire l'histogramme automatiquement) et sont visualises de faon correspondante dans la fentre de
lhistogramme. 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. Le
tracebuffer est effac ds que lenregistrement est arrt ('Extras' ' Arrter lhistogramme').
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

CoDeSys V2.3

6-69

Histogramme

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
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'.

6-70

CoDeSys V2.3

6 - Ressources

'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.4

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'.

'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

CoDeSys V2.3

6-71

Histogramme

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.5

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'.
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'

6-72

CoDeSys V2.3

6 - Ressources

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
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.

CoDeSys V2.3

6-73

Manager des paramtres

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-74

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). .
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.

CoDeSys V2.3

6-75

Manager des paramtres

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.
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.

6-76

CoDeSys V2.3

6 - Ressources

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 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.

CoDeSys V2.3

6-77

Manager des paramtres

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':
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 :

6-78

Variables

Entres de variables de processus

Paramtres

Entres de donnes dont les valeurs ne dpendent pas du processus

Modle

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))

Instance

Entres de variables du type bloc fonctionnel ou structure (instance), se


basant sur un modle appropri (voir plus haut)

CoDeSys V2.3

6 - Ressources

Mappages

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 !

Paramtres
du systme

Entres de paramtres dont les valeurs ne dpendent pas du processus et


prdfinies par le systme cible.

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
'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.

CoDeSys V2.3

6-79

Manager des paramtres

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

La nouvelle entre (ligne) est insre au dessus de l'entre


actuellement l'avant-plan.

Ligne aprs resp.


Nouvelle Ligne aprs
Shortcut:<CTRL><Enter>

La nouvelle entre (ligne) est insre en dessous de l'entre


actuellement l'avant-plan.

Effacer ligne

La ligne se trouvant actuellement l'avant-plan est efface.


Raccourci clavier : <Maj>+<Suppr>

Couper, Copier, Insrer


ligne

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.

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>).
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 du tlchargement du programme.
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
Si le systme cible le supporte, il est possible, en mode En ligne, de charger les listes de paramtres
cres dans le gestionnaires des paramtres vers l'automate programmable (= tlchargement), et
de charger celles qui s'y trouvent dans l'diteur (= tlchargement en amont). La taille maximale des
listes pour les types Paramtres et Variables aussi sont dfinies en fonction du systme cible.

6-80

CoDeSys V2.3

6 - Ressources

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 (Monitoring), une colonne
supplmentaire est disponible en mode En ligne (la premire colonne) dans le gestionnaire des
paramtres :

Lutilisation des appariements Index et Sous-index ou RefID et Offset pour le monitoring est
dtermine en fonction du systme cible.
Les commandes suivantes sont disponibles dans le menu 'Extras':
Supprimer liste

La liste marque dans la fentre de navigation est supprime sur l'automate


programmable.

Ecrire liste

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. Le fait que la valeur numrique seule soit transmise ou alors que la
valeur symbolique est transmise en plus dpend du systme cible.

Lire liste

Toutes les listes de type 'Paramtre' sont charges de l'automate


programmable sur le gestionnaire des paramtres. Le tlchargement en
amont de listes de type 'Variables' ne russit que si lopration est supporte
par le systme cible.

Ecrire des valeurs

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'.

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'.
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.

CoDeSys V2.3

6-81

Configuration de la Cible

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.
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.

6-82

CoDeSys V2.3

6 - Ressources

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 chapitreAppendice H.

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.)

CoDeSys V2.3

6-83

PLC-Browser

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.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.

6-84

CoDeSys V2.3

6 - Ressources

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

Le systme d'excution donne une liste des commandes possibles

mem

Image en format hexadcimal d'une partie de la mmoire


Syntax 1: mem <Adresse de dbut> <Adresse de fin>
Syntax 2: mem <Adresse de dbut>-<Adresse de fin>
Les saisies dadresses peuvent tre effectues avec des valeurs dcimales,
hexadcimales (prfixe 16#) ou en tant que macro.

memc

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.

memd

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.

reflect

Rendre la ligne actuelle de commande des fins de tests

dpt

Lire le tableau des pointeurs de donnes

ppt

Lire le tableau POU

pid

Lire l'identification du projet

pinf

Lire et diter les informations relatives au projet (voir 'Projet' 'Info Projet')

tsk

Afficher la liste des tche CEI et les informations s'y rapportant

od

diter le dictionnaire d'objets

pod

diter la dfinition des variables rseau

startprg

Dmarrer le programme d'automate ('En Ligne 'Dmarrer)

stopprg

Arrter le programme d'automate ('En Ligne 'Arrter)

resetprg

Rinitialiser le programme d'automate ('En Ligne 'Reset)

resetprgcold Rinitialiser le programme d'automate froid. Seules les donnes non rmanentes
sont initialises. ('En Ligne 'Reset (a froid))

CoDeSys V2.3

6-85

PLC-Browser

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. ('En Ligne 'Reset (origine))

reload

Charger nouveau le projet d'initialisation

getprgprop

Visualiser les proprits du programme (Nom de projet, Titre, Version, Auteur, Date
de la dernire modification)

getprgstat

Visualiser le statut du programme

filecopy

Copier un fichier [de] [vers]

filerename

Renommer un fichier [ancien] [nouveau]

filedelete

Effacer un fichier [nom du fichier]

saveretain

Sauvegarde des variables rmanentes

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

delpwd

Effacer mot de passe sur l'automate programmable

Veuillez noter :
Le premier mot de la commande saisie est interprt comme tant un mot cl.
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.
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.

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 :
%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.

6-86

CoDeSys V2.3

6 - Ressources

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.

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.

CoDeSys V2.3

6-87

Outils

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 :
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 :

6-88

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 Exe:

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"

CoDeSys V2.3

6 - Ressources

appelle automatiquement le fichier exe de l'outil concern par le biais de


Windows.
Exemples : "C:\programme\notepad.exe", "345.pdf"
Nom de dfault:

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').

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

Charger fichiers
modles:

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

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

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'.

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).

CoDeSys V2.3

6-89

Outils

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
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

6-90

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').

ID Outil:

Numro d'identification univoque de l'outil rsultant de sa dfinition


dans le fichier cible.

CoDeSys V2.3

6 - Ressources

Nombre de
raccourcis de
default:

Nombre d'instances d'un outil, correspondant au FixedCount dans le


fichier cible. Voir ci-dessus, Caractristiques des outils.

Editable:

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.

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 accompagnes 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.

CoDeSys V2.3

6-91

Outils

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.
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.

6-92

CoDeSys V2.3

6 - Ressources

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.
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.

CoDeSys V2.3

6-93

Outils

6-94

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 Contrle de projets'. 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 lune des catgories
seffectue automatiquement lors de sa cration, en fonction de la configuration des Options de la base
de donnes de projet, ou seffectue explicitement par le biais de la commande Projet Contrle de
projets 'Dfinir' ou 'Dfinition multiple', 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 caractristique 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.

Objets
commun :

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.

Fichiers de
compilation :

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.

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

(* Lit l'entre 1.4.1 *)

PLC_PRG.TEST

(* Lit la variable TEST du module PLC_PRG *)

.GlobVar1

(* Lit la variable globale GlobVar1 *)

Lier des variables WORD


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 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:

PLC_PRG.TEST

(* Lit la variable TEST du module PLC_PRG *)

.GlobVar1

(* 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

La bote de dialogue dinfo napparat pas


automatiquement

/s

Affichage de la fentre de la bote de dialogue

/s=h
/s=i
/s=m
/s=n

/c

fichier de configuration qui doit tre charg


automatiquement

/c=<fichier de
config>

/o

on accde au mode En ligne avec la


configuration choisie (autochargement ou
fichier donn par "/c=")

aucune
rduite (icone)
agrandie
normale

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


9.1 3S Licensing Manager
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.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 licensement : 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

CoDeSys V2.3

9-1

3S Licensing Manager

le gestionnaire des licences (10, 20, 30, ...). Si le module doit tre utilis sans limites de temps,
introduisez sans limites (disponible dans la liste de slection).
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 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

Oprateurs arithmtiques

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
Attention : Les fonctions CheckDiv contenues dans la bibliothque CheckLib sont uniquement des exemples de
solution ! Avant dutiliser la bibliothque, veuillez vrifier si les fonctions travaillent selon vos besoins
ou implmentez directement une fonction CheckDiv ad hoc en tant que module dans votre projet.

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 CFC et LD, la fonctionnalit EN/EN0 peut galement y
tre utilise dans le cadre de l'affectation dune variable. Ceci nest malheureusement pas possible
dans lditeur FBD.
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
ST ivar2 (* Ergebnis: var2 erhlt Wert von var1 *)

( entspricht:
LD ivar1
ST ivar2 )
Beispiel en langage ST:
ivar2 := MOVE(ivar1);

( Ceci correspond :
ivar2 := ivar1; )

CoDeSys V2.3

10-3

Oprateurs sur cordons de bits

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);

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.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!

10-4

CoDeSys V2.3

10 - APPENDICE

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 *)

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).

CoDeSys V2.3

10-5

Oprateurs de dcalage binaire

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:

10.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:

10-6

CoDeSys V2.3

10 - APPENDICE

Exemple en langage IL:


LD

16#45

SHL 2
ST

erg_byte

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
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

16#45

SHR 2
ST

erg_byte

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.

CoDeSys V2.3

10-7

Oprateurs de dcalage binaire

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
erg_byte:=ROL(in_byte,n); (* Ergebnis ist 16#15 *)
erg_word:=ROL(in_word,n); (* Ergebnis ist 16#0114 *)
Exemple en langage FBD:

Exemple en langage IL:


LD

16#45

ROL 2
ST

erg_byte

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
erg_byte:=ROR(in_byte,n); (* Resultat 16#51 *)
erg_word:=ROR(in_word,n); (* Resultat 16#4011 *)
Exemple en langage FBD:

Exemple en langage IL:


LD 16#45
ROR 2
ST erg_byte

10-8

CoDeSys V2.3

10 - APPENDICE

10.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 *)

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:

CoDeSys V2.3

10-9

Oprateurs de slection

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.
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

30,40,50,60,70,80

ST

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.

10-10

INK

est

calcule !

CoDeSys V2.3

10 - APPENDICE

10.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.
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

CoDeSys V2.3

Var1 (* Le rsultat est TRUE *)

10-11

Oprateurs de comparaison

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:

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.

10-12

CoDeSys V2.3

10 - APPENDICE

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.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);
Exemple en langage IL:
LD var1
ADR
ST

var2

man_fun1
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.

ADRINST
Cette fonction dadressage nest par prescrite par la norme CEI61131-3.
ADRINST fournit dans une instance de bloc fonctionnel ladresse de cette instance dans un DWORD.
Cette adresse peut tre transmise des fonctions et y tre traite comme un pointeur ou alors tre
attribue un pointeur au sein du projet.
Exemple en langage ST ( lintrieur dune instance de bloc fonctionnel) :
dvar:=ADRINST();

(* Ecrire ladresse de linstance sur la variable dvar *)

fun(a:=ADRINST()); (* Transmission de ladresse de linstance au paramtre


dentre a de la fonction fun *)
Exemples en langage IL :
ADRINST
ST dvar
ADRINST
fun
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.

CoDeSys V2.3

10-13

Oprateur d'appeler

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: 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.

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: 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.

10.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)

10-14

CoDeSys V2.3

10 - APPENDICE

10.8 Conversions de types


Remarques: 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 au-dessus : 10.8, Remarques.
Exemples en langage IL:
LD TRUE
BOOL_TO_INT
ST I

(* Le rsultat est 1 *)

LD TRUE
BOOL_TO_STRING
ST str

(* Le rsultat est 'TRUE' *)

LD TRUE
BOOL_TO_TIME
ST t

(* Le rsultat est T#1ms *)

LD TRUE
BOOL_TO_TOD
ST

(* Le rsultat est TOD#00:00:00.001 *)

LD FALSE
BOOL_TO_DATE
ST dat

(* Le rsultat est D#1970-01-01 *)

LD TRUE
BOOL_TO_DT
ST dandt

(* Le rsultat est DT#1970-01-01-00:00:01 *)

Exemples en langage ST:


i:=BOOL_TO_INT(TRUE);

(* Le rsultat est 1 *)

str:=BOOL_TO_STRING(TRUE);

(* Le rsultat est 'TRUE' *)

t:=BOOL_TO_TIME(TRUE);

(* Le rsultat est T#1ms *)

tof:=BOOL_TO_TOD(TRUE);

(* Le rsultat est TOD#00:00:00.001 *)

dat:=BOOL_TO_DATE(FALSE);

(* Le rsultat est D#1970-01-01 *)

dandt:=BOOL_TO_DT(TRUE);

(* Le rsultat est DT#1970-01-01-00:00:01 *)

Exemples en langage FBD:


(* Le rsultat est 1 *)

CoDeSys V2.3

10-15

Conversions de types

(* 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 *)

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 au-dessus : 10.8, 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

(* Le rsultat est TRUE *)


(* Le rsultat est FALSE *)
(* Le rsultat est TRUE *)
(* Le rsultat est TRUE *)

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 *)

Exemples en langage FBD:


(* Le rsultat est TRUE *)
(* Le rsultat est FALSE *)
(* Le rsultat est TRUE *)
(* Le rsultat est TRUE *)

10-16

CoDeSys V2.3

10 - APPENDICE

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.
Voici aussi au-dessus : 10.8, 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 au-dessus : 10.8, 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.

CoDeSys V2.3

10-17

Conversions de types

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 au-dessus : 10.8, Remarques.
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

(* Le rsultat est 'T#12ms' *)


(* Le rsultat est 300000 *)
(* Le rsultat est 12 *)

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:

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 au-dessus : 10.8, 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

10-18

(* 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 - APPENDICE

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:

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 au-dessus : 10.8, 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

(* Le rsultat est TRUE *)


(* Le rsultat est 0 *)
(* Le rsultat est T#127ms *)

Exemples en langage ST:


b :=STRING_TO_BOOL('TRUE');
w :=STRING_TO_WORD('abc34');
t :=STRING_TO_TIME('T#127ms');
Exemples en langage FBD:

CoDeSys V2.3

10-19

Oprateurs numriques

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.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

OUT

INT

INT, REAL, WORD, DWORD, DINT

REAL

REAL

BYTE

INT, REAL, BYTE, WORD, DWORD, DINT

WORD

INT, REAL, WORD, DWORD, DINT

DWORD

REAL, DWORD, DINT

SINT

REAL

USINT

REAL

UINT

INT, REAL, WORD, DWORD, DINT, UDINT, UINT

DINT

REAL, DWORD, DINT

UDINT

REAL, DWORD, DINT, UDINT

Exemple en langage IL:


LD

-2

ABS
ST

(* Ergebnis ist 2 *)

Exemple en langage ST:


i:=ABS(-2);
Exemple en langage FBD:

10-20

CoDeSys V2.3

10 - APPENDICE

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

16

SQRT
ST

q (* Ergebnis ist 4 *)

Exemple en langage ST:


q:=SQRT(16);
Exemple en langage FBD:

LN
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

45

LN
ST

(* Ergebnis ist 3.80666 *)

Exemple en langage ST:


q:=LN(45);
Exemple en langage FBD:

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

314.5

LOG
ST

(* Ergebnis ist 2.49762 *)

Exemple en langage ST:


q:=LOG(314.5);
Exemple en langage FBD:

CoDeSys V2.3

10-21

Oprateurs numriques

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:

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

0.5

COS
ST

(* Ergebnis ist 0.877583 *)

Exemple en langage ST:


q:=COS(0.5);
Exemple en langage FBD:

10-22

CoDeSys V2.3

10 - APPENDICE

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

0.5

TAN
ST

(* Ergebnis ist 0.546302 *)

Exemple en langage ST:


q:=TAN(0.5);
Exemple en langage FBD:

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

0.5

ASIN
ST

(* Ergebnis ist 0.523599 *)

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:

CoDeSys V2.3

10-23

Oprateurs numriques

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:

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:

10-24

CoDeSys V2.3

10 - APPENDICE

10.10 Oprateur dinitialisation


Oprateur INI
Loprateur INI permet dinitialiser les variables rmanentes dune instance de bloc fonctionnel utilise
dans le module.
Loprateur doit tre attribu une variable boolenne.
Syntaxe : <Variable bool> := INI(<Instance FB, TRUE|FALSE)
Lorsque le deuxime paramtre de loprateur est plac sur la valeur TRUE, toutes les variables
rmanentes dfinies dans le bloc fonctionnel FB sont initialises.
Exemple en langage ST : fbinst est linstance du bloc fonctionnel fb dans lequel une variable rmanente
retvar est dfinie.
Dclaration dans le module :
fbinst:fb;
b:bool;
Partie programme :
b := INI(fbinst, TRUE);
ivar:=fbinst.retvar

(* => la variable retvar est initialise *)

Exemple de lappel doprateur en langage IL :


LD fbinst
INI TRUE
ST b
Exemple de lappel doprateur en langage FBD :

CoDeSys V2.3

10-25

Oprateur dinitialisation

10-26

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.11 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;

(*Dpassement sur le rang suprieur


autoris*)

TIME1 := t#12h34m15s;

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-27

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:

10-28

$$

Signe dollar

$'

Guillemet simple

$L ou $l

Saut de ligne

$N ou $n

Nouvelle ligne

$P ou $p

Saut de page

$R ou $r

Retour automatique la ligne

$T ou $t

Tabulation

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.12 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 soien