You are on page 1of 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 soient pas dclars deux fois et ce qu'ils ne concident pas avec des
mots-cls. Les variables peuvent s'crire indiffremment en majuscules ou en minuscules, c.--d. que
VAR1, Var1 et var1 reprsentent une seule et mme variable. Les caractres de soulignement sont
signifiants, c.--d. que A_BCD et AB_CD sont interprts comme deux identificateurs diffrents.
Les caractres de soulignement successifs ne sont autoriss ni au dbut ni l'intrieur d'un
identificateur. La longueur des identificateurs et la zone significative de variables peuvent tre
utilises partout o le type dclar le permet.
Vous pouvez appeler les variables disponibles via la Liste de slection pour l'dition.
Drapeaux systme
Les drapeaux systme sont des variables dclares implicitement, qui dpendent spcifiquement de
votre automate programmable. Pour trouver les drapeaux systme de votre systme, choisissez
l'lment de menu 'Insrer' 'Oprande'; vous accdez la Liste de slection pour l'dition dans
laquelle vous choisissez la catgorie Variable systme.
Accs aux variables de tableaux, de structures et de modules
L'accs aux composants de tableaux bidimensionnels se fait comme suit:
<Nom_de_tableau>[Index1, Index2]

L'accs aux variables de structures se fait comme suit:


<Nom_de_structure>.<Nom_de_variable>

CoDeSys V2.3

10-29

Variables

L'accs aux variables de blocs fonctionnels et de programmes se fait comme suit:


<Nom_de_module>.<Nom_de_variable>

Adressage de bits au sein de variables


On peut accder des bits individuels au sein de variables entires. On rattache pour ce faire l'index
du bit auquel on souhaite accder la variable en les sparant l'aide d'un point. L'index du bit peut
tre dlivr par une constante au choix. L'index commence zro.
Exemple :
a : INT;
b : BOOL;
...
a.2 := b;

La valeur de la variable b est affecte au troisime bit de la variable a.


Si l'index est plus grand que la largeur de bit de la variable, le message d'erreur suivant s'affiche :
Index '<n>' en dehors du domaine de la variable '<var>'!
L'adressage par bit est possible avec les types de variable ci-aprs : SINT, INT, DINT, USINT, UINT,
UDINT, BYTE, WORD, DWORD.
Si le type de variable n'est pas autoris, le message d'erreur suivant s'affiche : Type de donne
'<type>' non autoris pour index direct.
On ne peut accder un bit particulier dans une variable VAR_IN_OUT.
Adressage de bits laide dune constante globale:
Si une constante globale est dclare dfinissant le numro de bit, cette constante peut tre utilise
pour l'accs binaire. Les exemples suivants illustrent un tel accs binaire une variable normale ou
une variable structure :
Par les deux exemples: Declaration dans une liste des variables globales:
Variable enable indique, quelle bit doit tre utilisee:
VAR_GLOBAL CONSTANT
enable:int:=2;
END_VAR
Exemple 1, accs bit une variable entire:
Dclaration dans le module :
VAR
xxx:int;
END_VAR
Accs binaire :
xxx.enable:=true; -> le second bit dans la variable xxx prend la valeur TRUE

10-30

CoDeSys V2.3

10 - APPENDICE

Exemple 2, accs binaire un composant de structure entier:


Veuillez noter : L'option de projet 'changer constantes' (Options de compilation) doit tre active !
Dclaration dans la structure stru1:
TYPE stru1 :
STRUCT
bvar:BOOL;
rvar:REAL;
wvar:WORD;
{bitaccess: 'enable' 42 'Valider entranement'}
END_STRUCT
END_TYPE
Dclaration dans le module :
VAR
x:stru1;
END_VAR
Accs binaire :
x.enable:=true;
Ainsi, le 42e bit dans la variable x prend la valeur TRUE. Comme bvar contient 8 bits et rvar 32, cet accs a lieu
sur le 2e bit de la variable wvar, celle-ci prend alors la valeur 4.
Attention: Lors de l'espionnage, pour reprsenter correctement dans la liste de slection pour l'dition et dans la
fonction Intellisense, une variable qui excute un accs binaire une variable structure par le biais
d'une constante globale, veuillez utiliser la pragma {bitaccess}. Alors, lors de l'espionnage, la
constante globale sera affiche dans la fentre de dclaration, en dessous de la variable structure :

CoDeSys V2.3

10-31

Adresses

10.13 Adresses
Attention: Lorsqu'un changement En ligne est appliqu, les contenus des adresses peuvent se dplacer.
Tenez-en compte lors de l'utilisation de pointeurs sur les adresses.

Adresse
La prsentation directe d'lments de mmoire individuels se fait au moyen de chanes de caractres
spcifiques, rsultant de la concatnation du signe pour-cent "%", d'un prfixe de plage, d'un prfixe
de dimension et d'un ou de plusieurs nombres naturels, lesquels sont spars les uns des autres par
un espace.
Les prfixes de plage suivants sont supports:
I

Entre

Sortie

Mmento

Les prfixes de grandeur suivants sont supports:


X

Bit individuel

None Bit individuel


B

Octet (8 bits)

Mot (16 bits)

Mot double (32 bits)

Exemples:

%QX75 et %Q75

Bit de sortie 75

%IW215

Mot d'entre 215

%QB7

Octet de sortie 7

%MD48

Mot double situ l'emplacement de mmoire 48 de la


plage des mmentos

%IW2.5.7.1

Dpend de la configuration de l'automate programmable

La validit d'une adresse dpend de la configuration d'automate actuelle du programme.


Remarque: Les valeurs boolennes sont alloues par octets, pour autant qu'elles ne renvoient pas explicitement
une adresse bit individuel. Exemple : Une modification de la valeur de varbool1 AT %QW0 se
rapporte la zone entre QX0.0 et QX0.7.

Voir galement cet effet chapitre Appendice A, Oprateurs CEI et fonctions supplmentaires
d'extension des normes, oprateurs d'adressage
Mmento
Pour accder au mmento, il est possible d'utiliser toutes les grandeurs supportes.
Par exemple, l'adresse %MD48 concernerait les octets n. 192, 193, 194 et 195 de la zone des
mmentos (48 * 4 = 192). Le premier octet est l'octet n 0.
On peut accder de la mme faon aux mots et aux octets, voire au bits: l'adresse %MX5.0 donne
accs au premier bit du cinquime mot (les bits sont en gnral enregistrs par groupes de mots).
Voir galement cet effet chapitre Appendice, Oprateurs CEI et fonctions supplmentaires
d'extension des normes, oprateurs d'adressage

10-32

CoDeSys V2.3

10 - APPENDICE

10.14 Fonctions
En langage ST, un appel de fonction peut tre utilis comme oprande.
Exemple :
Result := Fct(7) + 3;

Fonction TIME()
Cette fonction calcule le temps (milliseconds) pass depuis le start du systeme.
Type de donne est TIME.
Example en diteur IL:
TIME
ST systime

(* Ergebnis z.B.: T#35m11s342ms *)

Example en diteur ST:


systime:=TIME();
Example en diteur FBD:

CoDeSys V2.3

10-33

Fonctions

10-34

CoDeSys V2.3

10 - APPENDICE

Appendice C Les types de donnes dans CoDeSys


L'utilisateur peut utiliser des types de donnes standard et des types de donnes dfinis par lui-mme
pour la programmation. A chaque identificateur est affect un type de donnes, qui dtermine
combien d'espace mmoire est rserv et quelles sont les valeurs contenues dans la mmoire.

10.15 Types de donnes standard


BOOL
Les variables de type de donnes BOOL peuvent assumer les valeurs boolennes TRUE et FALSE.
Un espace mmoire de 8 bits est rserv pour ce type de variable.
Types de donnes entiers
Les types de donnes entiers sont BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT.
Les diffrents types de donnes recouvrent des plages numriques diffrentes. Voici les limites de
plage correspondant aux types de donnes entiers:
Type

Limite infrieure

Limite suprieure

Espace mmoire

BYTE

255

8 bits

WORD

65535

16 bits

DWORD

4294967295

32 bits

SINT:

-128

127

8 bits

USINT:

255

8 bits

INT:

-32768

32767

16 bits

UINT:

65535

16 bits

DINT:

-2147483648

2147483647

32 bits

UDINT:

4294967295

32 bits

Pour cette raison, il se peut que des informations soient perdues lors de la conversion d'un type
donn en un type plus petit.
REAL / LREAL
REAL et LREAL sont des "types en virgule flottante". Ils sont ncessaires lorsqu'on utilise des
nombres rationnels. L'espace mmoire rserv comporte 32 bits pour REAL et 64 bits pour LREAL.
Valeurs admissibles pour REAL : 1.175494351e-38F 3.402823466e+38F
Valeurs admissibles pour LREAL : 2.2250738585072014e-308 1.7976931348623158e+308
STRING
Une variable de type STRING peut recevoir une chane de caractre quelconque. La spcification de
la dimension de l'espace mmoire rserv, au niveau de la dclaration, se rapporte aux caractres et
peut se faire entre parenthses ou entre crochets. Si aucune dimension n'est spcifie, la valeur par
dfaut est de 80 caractres.
La longueur des chanes de caractres n'est en principe pas limite, les fonctions de chanes de
caractres n'excutent cependant que des longueurs de 1-255 !
Exemple de dclaration de chane de caractres:
str:STRING(35):='Ceci est une chane';

CoDeSys V2.3

10-35

Types de donnes standard

Types de donnes de datation


Les types de donnes temps TIME, TIME_OF_DAY (en abrg: TOD), DATE et DATE_AND_TIME
(en abrg: DT) sont traits en interne, de la mme faon que le type de donnes DWORD.
Dans le cas de TIME et TOD, le temps est spcifi en millisecondes. Pour TOD, le temps est
comptabilis en partant de 00:00 heures.
Dans le cas de DATE et de DT, le temps est spcifi en secondes et est comptabilis en partant du
1er janvier 1970 00:00 heures.
Vous trouverez ci-aprs les formats de donnes de datation pour l'affectation (constantes de temps et
de date) :
Constantes de temps TIME
Une constante TIME est toujours introduite par la lettre "t" ou "T" (ou le mot "time" ou "TIME") suivi(e)
d'un dise "#".
Ensuite vient la dclaration de temps proprement parler; elle peut tre forme de jours (dsigns
par "d"), d'heures (dsignes par "h"), de minutes (dsignes par "m"), de secondes (dsignes par
"s") et de millisecondes (dsignes par "ms"). Il faut veiller ce que les donnes de temps soient
ranges par ordre dcroissant (d avant h avant m avant s avant m avant ms). A noter que les
priodes temporelles ne doivent pas apparatre toutes ensemble.
Valeur maximale : 49d17h2m47s295ms (4194967295 ms)
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;

(*Dpassement sur le rang infrieur*)

TIME1 := 15ms;

(*Omission de T#*)

TIME1 := t#4ms13d;

(*Ordre incorrect des donnes*)

Constantes DATE, pour la date :


Une dclaration de constante DATE est introduite par la lettre "d" ou "D", ou le mot "DATE" ou "date"
et suivi(e) d'un dise "#". Aprs quoi, vous tes libre d'entrer une date quelconque sous la forme
Anne-Mois-Jour. Valeurs possibles : 1970-00-00 2106-02-06.
Exemples :
DATE#1996-05-06
d#1972-03-29

Constantes TIME_OF_DAY, pour l'enregistrement de l'heure:


Une dclaration de constante TIME_OF_DAY est introduite par "tod#", "TOD#", "TIME_OF_DAY#" ou
"time_of_day#"; vous pouvez ensuite entrer une heure sous la forme Heure:Minute:Seconde. Les
secondes peuvent tre entres sous la forme de nombres rels, autorisant donc l'entre de fractions
de seconde. Valeurs possibles : 00:00:00 00:00:00 23:59:59.999.
Exemples :
TIME_OF_DAY#15:36:30.123
tod#00:00:00

10-36

CoDeSys V2.3

10 - APPENDICE

Constantes DATE_AND_TIME, combinaison de la date et de l'heure:


Les constantes DATE_AND_TIME sont introduites par "dt#", "DT#", "DATE_AND_TIME#" ou
"date_and_time#". La date est suivie d'un trait d'union puis de l'heure du jour. Valeurs possibles :
1970-00-00-00:00:00 2106-02-06-06:28:15.
Exemples :
DATE_AND_TIME#1996-05-06-15:36:30
dt#1972-03-29-00:00:00

10.16 Types de donnes dfinis


Tableau
CoDeSys supporte des tableaux (arrays) de types de donnes lmentaires, une, deux ou trois
dimensions. Les tableaux peuvent tre dfinis dans la partie dclaration dun module et dans les listes
de variables globales. Un maximum de 9 dimensions peuvent tre cres par limbrication de
tableaux (ARRAY[0..2] OF ARRAY[0..3] OF ).
Syntaxe:
<Nom_tableau>:ARRAY [<li1>..<ls1>,<li2>..<ls2>,<li3>..<ls3>] OF <Type_lm.>.
li1, li2, li3 indiquent la limite infrieure de la plage de tableau tandis que ls1, ls2 et ls3 renseignent la limite
suprieure. Les valeurs limites doivent tre des nombres entiers et doivent faire suite la plage de valeurs DINT.
Exemple :
arr1 : ARRAY [1..13, 1..4] OF INT;

Initialisation de tableaux :
Exemples d'initialisation complte d'un tableau :
arr1 : ARRAY [1..5] OF INT := 1,2,3,4,5;
arr2 : ARRAY [1..2,3..4] OF INT := 1,3(7);
(* bref pour 1,7,7,7 *)
arr3 : ARRAY [1..2,2..3,3..4] OF INT := 2(0),4(4),2,3;
(* bref pour 0,0,4,4,4,4,2,3 *)
Exemple d'initialisation d'un tableau de structure :
TYPE STRUCT1
STRUCT
p1:int;
p2:int;
p3:dword;
END_STRUCT
ARRAY[1..3] OF STRUCT1:= (p1:=1,p2:=10,p3:=4723),(p1:=2,p2:=0,p3:=299),
(p1:=14,p2:=5,p3:=112);
Exemple d'initialisation partielle d'un tableau :
arr1 : ARRAY [1..10] OF INT := 1,2;

Les lments pour lesquels aucune valeur nest dfinie sont initialiss avec la valeur dinitialisation
par dfaut du type de base. Dans lexemple ci-dessus, les lments anarray[6] anarray[10] sont
initialiss 0.

CoDeSys V2.3

10-37

Types de donnes dfinis

Accs aux composants de tableaux :


Dans le cas dun tableau bidimensionnel, on accde aux composants du tableau l'aide de la syntaxe
suivante :
<Nom_tableau>[Index1,Index2]
Exemple :
arr1[9,2]
Remarque : Si dans votre projet vous dfinissez une fonction nomme CheckBounds, vous pourrez vrifier
automatiquement les dbordements de plage lintrieur de tableaux !

Fonction Checkbounds
Si dans votre projet vous dfinissez une fonction nomme CheckBounds, vous pourrez vrifier
automatiquement les dbordements de plage lintrieur de tableaux ! Le nom de la fonction est fix
et ne peut tre modifi.
Exemple pour la fonction CheckBounds :
FUNCTION CheckBounds : DINT
VAR_INPUT
index, lower, upper: DINT;
END_VAR
IF index < lower THEN
CheckBounds := lower;
ELSIF index > upper THEN
CheckBounds := upper;
ELSE CheckBounds := index;
END_IF

Le programme d'exemple ci-aprs, destin tester la fonction CheckBounds, comporte un accs en


dehors des limites d'un tableau dfini. La fonction CheckBounds garantit que la valeur TRUE n'est
pas affecte l'endroit A[10] mais bien la limite de zone suprieure A[7], qui, elle, est valide. La
fonction CheckBounds permet de rectifier des accs en dehors des limites dun tableau.
Programme test pour la fonction CheckBounds
PROGRAM PLC_PRG
VAR
a: ARRAY[0..7] OF BOOL;
b: INT:=10;
END_VAR
a[b]:=TRUE;
Attention : La fonction CheckBounds contenue dans la librairie CheckLib nest quun exemple de solution !
Avant dutiliser la bibliothque, veuillez vrifier que la fonction travaille selon vos besoins ou
implmentez directement une fonction CheckBounds ad hoc en tant que module dans votre projet.

Pointeur
C'est dans les pointeurs que l'on enregistre les adresses de variables ou de blocs fonctionnels
pendant l'excution d'un programme.
La syntaxe des dclarations des pointeurs est la suivante:
<Identificateur>: POINTER OF <Type de donnes/bloc fonctionnel>;
Un pointer peut montrer sur n'importe quel type de donnes ou bloc fonctionnel, mme ceux qui sont
dfinis par l'utilisateur.
L'oprateur d'adressage ADR permet d'affecter au pointeur l'adresse d'une variable ou d'un bloc
fonctionnel.
La suppression de la rfrence d'un pointer se fait au moyen de l'oprateur de contenu "^" plac
derrire l'identificateur du pointer.
Veuillez noter : Un pointeur est incrment par octets ! Par le biais de linstruction p=p+SIZEOF(p^), on obtient
une incrmentation identique celle du compilateur C.

10-38

CoDeSys V2.3

10 - APPENDICE

Exemple :
pt:POINTER TO INT;
var_int1:INT := 5;
var_int2:INT;
pt := ADR(var_int1);
var_int2:= pt^; (* var_int2 a maintenant la valeur 5 *)
Attention: Lorsqu'un changement En ligne est appliqu, les contenus des adresses peuvent se dplacer. Tenezen compte lors de l'utilisation de pointeurs sur les adresses.

Fonctions CheckPointer et CheckPointerAligned


Pour contrler les accs du pointeur durant le temps dexcution, vous pouvez crer des fonctions de
contrle, dont les noms sont cits ci-dessous, qui seront automatiquement appeles avant chaque accs
dun pointeur sur le contenu, la condition que ces fonctions sont disponibles dans le projet (directement
dans le projet ou via une bibliothque) :
Fonction CheckPointer permettant de contrler si ladresse contacte par le pointeur se trouve
dans la zone de mmoire valable,
CheckPointerAligned, qui contient la fonctionnalit de CheckPointer et contrle en outre
lalignement mmoire.
Les fonctions doivent tre dotes des noms cits. Elles renvoient ladresse utilise pour le
drfrencement du pointeur et donc, dans le meilleur des cas, ladresse qui a t transmise en tant
que premier paramtre dentre ( savoir dwAddress dans lexemple ci-dessous).
lexemple suivant dune fonction CheckPointerAligned, notez quels paramtres dentre sont
attendus par les fonctions de contrle. Les noms des paramtres sont galement des exemples. Une
fonction CheckPointer ressemblerait galement ceci, sauf que le paramtre de granularit de
laccs serait supprim.
FUNCTION CheckPointerAligned : DWORD

(* Le type de donnes de la fonction (valeur de


renvoi) doit correspondre au type de donnes pour
les pointeurs dans le systme cible actuellement
rgl, c.--d. DWORD pour les systmes qui utilisent
des pointeurs 32 bits et WORD pour les systmes
qui utilisent des pointeurs 16 bits *)

VAR_INPUT
dwAddress : DWORD;

(* Adresse cible du pointeur; le type de donnes doit


correspondre au type de donnes pour les pointeurs
dans le systme cible actuellement rgl, voir cidessus valeur de renvoi de la fonction *)

iSize : DINT;

(* Taille de laccs; le type de donnes doit tre entier


compatible et couvrir la taille maximale des donnes
sur ladresse daccs *)

iGran : DINT;

(* ! est supprim pour les fonctions CheckPointer ! :


La granularit de laccs, p. ex. 2 si INT est le
plus petit type de donnes non structur utilis sur
ladresse; le type de donnes doit tre entier
compatible *)

bWrite: BOOL;

(* Accs de lecture ou dcriture; valeur


TRUE=criture; le type de donne doit tre BOOL *)

END_VAR

Si des fonctions CheckPointer de mme que CheckPointerAligned sont prsentes dans le projet, la
fonction CheckPointerAligned est appele.

CoDeSys V2.3

10-39

Types de donnes dfinis

Type numratif
Un type numratif est un type de donnes dfini par l'utilisateur, constitu d'un ensemble de
constantes de chane de caractres. Ces constantes sont appeles valeurs numratives.
Les valeurs numratives sont connues dans tout le projet, mme si elles sont dclares localement
au niveau d'un module. Crez de prfrence vos types numratifs sous forme d'objets l'intrieur de
l'Organisateur d'objets, dans l'onglet Types de donnes
. Commencez par le mot cl TYPE et
terminez par END_TYPE.
Syntaxe:

TYPE <Identificateur>:(<Enum_0> ,<Enum_1>, ...,<Enum_n>);


END_TYPE
L'<identificateur> peut assumer une des valeurs numratives et est initialis avec la premire de ces
valeurs. Les valeurs sont compatibles avec des nombres entiers, c.--d. que l'on peut effectuer des
oprations comme avec INT. On peut affecter un nombre x l'<identificateur>. Si les valeurs
numratives ne sont pas initialises, alors le comptage part de zro. Pour l'initialisation, tenez
compte du fait que les valeurs initiales vont croissant. La validit du nombre est contrle lors de
l'excution.
Exemple :
SIGNAL: (rouge, jaune, vert:=10); (*rouge a la valeur initiale 0, jaune a la
valeur 1, vert a la valeur 10 *)
SIGNAL:=0; (* SIGNAL a la valeur rouge *)
FOR i:= rouge TO vert DO
i := i + 1;
END_FOR;

Une mme valeur numrative ne peut pas tre utilise deux fois.
Exemple :
SIGNAL: (rouge, jaune, vert);
COULEUR: (bleu, blanc, rouge);
Erreur: "rouge" ne peut pas tre utilise pour SIGNAL et pour COULEUR.

Structures
Les structures sont places sous forme d'objets (types de donnes dfinis) dans l'Organisateur
d'objets, dans l'onglet Types de donnes
. Commencez par le mot cl TYPE et terminez par
END_TYPE.
La syntaxe des dclarations des structures est la suivante:
TYPE <Nom_de_structure>:
STRUCT
<Dclaration de variable 1>
.
.
<Dclaration de variable n>
END_STRUCT
END_TYPE

<Nom_de_structure> est un type qui est aprs cette dclaration connu dans tout le projet, et qui peut
tre utilis comme un type de donnes standard.
Les structures imbriques ne sont pas autorises. La seule restriction est que les variables ne
peuvent pas tre places sur des adresses (la dclaration AT n'est pas autorise!).

10-40

CoDeSys V2.3

10 - APPENDICE

Exemple de dfinition de structure nomme "polygone


TYPE polygone:
STRUCT
Start:ARRAY [1..2] OF INT;
Point1:ARRAY [1..2] OF INT;
Point2:ARRAY [1..2] OF INT;
Point3:ARRAY [1..2] OF INT;
Point4:ARRAY [1..2] OF INT;
Fin:ARRAY [1..2] OF INT;
END_STRUCT
END_TYPE
Exemple d'initialisation d'une structure de type Polygone:
Poly_1:polygone := ( Start:=3,3, Point1 =5,2, Point2:=7,3, Point3:=8,5,
Point4:=5,7, Fin := 3,5);

Il n'est pas possible d'initialiser avec des variables. Voir sous 'Tableau' pour un exemple d'initialisation
d'un array d'une structure.
On accde aux composants de structures au moyen de la syntaxe suivante:
<Nom_de_structure>.<Nom_de_composant>

Supposons que nous ayons une structure nomme "Semaine", qui comporte un composant nomm
"Lundi". Nous pouvons accder ce composant de la faon suivante: Poly_1.Start
Rfrences
Le type de donnes dfini par l'utilisateur Rfrence permet de gnrer un nom de rechange pour une
variable, une constante ou un bloc fonctionnel.
Crez vos rfrences sous forme d'objets l'intrieur de l'Organisateur d'objets, dans l'onglet
Types de donnes . Commencez par le mot cl TYPE et terminez par END_TYPE.

Syntaxe:
TYPE <Identificateur>: <Expression d'affectation>;
END_TYPE
Exemple :
TYPE message:STRING[50];
END_TYPE;

Type domaine partiel


Un type domaine partiel est un type dont la plage de valeurs ne forme quun sous-ensemble au sein
dun type de base. La dclaration peut se faire au sein de l'onglet Types de donnes, mais une
variable peut aussi galement tre directement dclare par un type domaine partiel :
Syntaxe pour la dclaration dans l'onglet 'Types de donnes':
TYPE <Nom> : <Inttype> (<li>..<ls>) END_TYPE;
<Nom>

doit tre un identificateur CEI correct,

<Inttype> est un des types de donnes SINT, USINT, INT, UINT, DINT, UDINT, BYTE,
WORD, DWORD (LINT, ULINT, LWORD).
<li>

est une constante qui doit tre compatible avec le type de base et qui dfinit la
limite infrieure du domaine du type. Cette limite infrieure fait elle aussi partie
de ce domaine dfini.

<ls>

est une constante qui doit tre compatible avec le type de base et qui dfinit la
limite suprieure du domaine du type. Cette limite suprieure fait elle aussi
partie de ce domaine dfini.

CoDeSys V2.3

10-41

Types de donnes dfinis

Exemple :
TYPE
SubInt : INT (-4095..4095);
END_TYPE

Dclaration directe dune variable laide dun type domaine partiel (Veillez lentre correcte d'une
valeur initiale lorsque le domaine partiel ne contient pas le '0') :
VAR
i1 : INT (-4095..4095);
i2: INT (5..10):=5;
ui : UINT (0..10000);
END_VAR

Si un type domaine partiel se voit attribuer une constante (dans la dclaration ou limplmentation) qui
ne tombe pas dans ce domaine dfini (p.ex. i:=5000), un message derreur saffiche.
Pour vrifier le respect des limites du domaine partiel lors de lexcution, vous devez insrer les
fonctions CheckRangeSigned et CheckRangeUnsigned. Ces deux fonctions vous permettent de
reprer les dpassements du domaine partiel de faon adquate (la valeur peut par exemple tre
rduite ou un drapeau derreur peut tre positionn). Elles sont implicitement appeles ds quune
variable de type domaine partiel est crite et construite partir dun type avec ou sans signe.
Exemple : Dans le cas dune variable domaine partiel avec signe (comme par exemple i ci-dessus), la
fonction CheckRangeSigned est appele, pouvant tre programme pour ramener une valeur dans
les limites du domaine autoris.
FUNCTION CheckRangeSigned : DINT
VAR_INPUT
value, lower, upper: DINT;
END_VAR
IF (value < lower) THEN
CheckRangeSigned := lower;
ELSIF(value > upper) THEN
CheckRangeSigned := upper;
ELSE
CheckRangeSigned := value;
END_IF

Pour un appel automatique, le nom de fonction CheckRangeSigned est obligatoire de mme que la
structure de linterface : valeur renvoye et trois paramtres de type DINT.
La fonction est paramtre comme suit lors de lappel :
value:

reoit la valeur qui devrait tre attribue au domaine partiel

lower:

limite infrieure du domaine partiel

upper:

limite suprieure du domaine partiel

Valeur renvoye :

la valeur qui a t effectivement attribue au domaine partiel

Avec une affectation i := 10*y;, cela va donner implicitement :


i := CheckRangeSigned(10*y, -4095, 4095);

Si par exemple y a la valeur 1000, i n'aura que la valeur 4095 aprs cette affectation.

10-42

CoDeSys V2.3

10 - APPENDICE

Le nom de fonction et linterface doivent naturellement tre aussi corrects pour la fonction
CheckRangeUnsigned.
FUNCTION CheckRangeUnsigned : UDINT
VAR_INPUT
value, lower, upper: UDINT;
END_VAR
Attention : Si ces deux fonctions CheckRangeSigned et CheckRangeUnsigned ne sont pas disponibles, il ny a
pas de contrle portant sur les dpassements de plage des types domaine partiel! La variable i
pourrait alors obtenir nimporte quelle valeur comprise entre 32768 et 32767!
Si une fonction CheckRangeSigned ou CheckRangeUnsigned est implmente comme ci-dessus, il
se peut quune boucle infinie survienne dans une boucle FOR lors de lutilisation de type domaine
partiel. Ceci se produit prcisment quand le domaine dfini pour la boucle FOR est plus grand ou
gal celui du type domaine partiel.
La fonction CheckRangeSigned contenue dans la librairie Check.Lib nest quun exemple de
solution ! Avant dutiliser la bibliothque, veuillez vrifier si la fonction travaille selon vos besoins ou
implmentez directement une fonction CheckRange ad hoc en tant que module dans votre projet.
Exemple :
VAR
ui : UINT (0..10000);
END_VAR
FOR ui:=0 TO 10000 DO
...
END_FOR

On ne quitte pas la boucle FOR vu que ui ne peut tre plus grand que 10000.
De la mme manire, il faut faire attention au contenu des fonctions Checkrange lors de lutilisation de valeurs
dincrmentation dans la boucle FOR.

CoDeSys V2.3

10-43

Types de donnes dfinis

10-44

CoDeSys V2.3

10 - APPENDICE

Appendice D Librairies CoDeSys


10.17 Bibliothque Standard.lib
La bibliothque standard.lib contient les modules de base des catgories suivantes pour la
programmation dans CoDeSys :
Fonctions de chanes de caractres
Blocs fonctionnels bistables
Dtection de fronts
Compteurs
Temporisateurs

10.17.1

Fonctions de chanes de caractres


Veuillez noter : Les fonctions de chanes de caractre ne sont pas "thread-safe" : Lors de l'utilisation de tches,
ces fonctions de chanes de caractres ne peuvent tre utilises que dans une seule tche. Si la
mme fonction est utilise dans plusieurs tches, il y a un risque d'crasement. La longueur
admissible d'une chane de caractres lors de l'utilisation des fonctions est 1-255.

LEN
La fonction LEN (standard.lib) dtermine la longueur d'une chane.
L'entre STR est du type STRING et la valeur renvoye de la fonction est du type INT.
Exemple en langage IL:
LD

'SUSI'

LEN
ST

VarINT1 (* Ergebnis ist 4 *)

Exemple en langage FBD:

Exemple en langage ST:


VarSTRING1 := LEN ('SUSI');

LEFT
La fonction LEFT (standard.lib) fournit un extrait de chane situe l'extrme gauche de la chane.
L'entre STR est du type STRING, SIZE du type INT et la valeur renvoye de la fonction est du type
STRING.
LEFT (STR, SIZE) signifie: extraire les SIZE premiers caractres de la chane en partant de l'extrme
gauche de la chane.
Exemple en langage IL:
LD

'SUSI'

LEFT 3
ST

CoDeSys V2.3

VarSTRING1 (* Le rsultat est 'SUS' *)

10-45

Bibliothque Standard.lib

Exemple en langage FBD:

Exemple en langage ST:


VarSTRING1 := LEFT ('SUSI',3);

RIGHT
La fonction RIGHT (standard.lib) fournit un extrait de chane situe l'extrme droite de la chane.
L'entre STR est du type STRING, SIZE du type INT et la valeur renvoye de la fonction est du type
STRING.
RIGHT (STR, SIZE) signifie: extraire les SIZE premiers caractres de la chane en partant de
l'extrme droite de la chane.
Exemple en langage IL:
LD

'SUSI'

RIGHT 3
ST

VarSTRING1 (* Ergebnis ist 'USI' *)

Exemple en langage FBD:

Exemple en langage ST:


VarSTRING1 := RIGHT ('SUSI',3);

MID
La fonction MID (standard.lib) fournit un extrait de chane situe dans la chane.
L'entre STR est du type STRING; LEN et POS du type INT et la valeur renvoye de la fonction est
du type STRING.
MID (STR, LEN, POS) signifie: extraire LEN caractres de la chane STR, en commenant par le
caractre positionn en POS.
Exemple en langage IL:
LD

'SUSI'

MID 2,2
ST

VarSTRING1 (* Le rsultat est 'US' *)

Exemple en langage FBD:

Exemple en langage ST:


VarSTRING1 := MID ('SUSI',2,2);

10-46

CoDeSys V2.3

10 - APPENDICE

CONCAT
La fonction CONCAT (standard.lib) fournit la concatnation (runion) de deux chanes.
Les entres STR1 et STR2 et la valeur renvoye de la fonction sont du type STRING.
Exemple en langage IL:
LD

'SUSI'

CONCAT 'WILLI'
ST

VarSTRING1 (* Le rsultat est 'SUSIWILLI' *)

Exemple en langage FBD:

Exemple en langage ST:


VarSTRING1 := CONCAT ('SUSI','WILLI');

INSERT
La fonction INSERT (standard.lib) insre une chane dans une autre chane, partir d'une position
donne.
Les entres STR1 et STR2 sont du type STRING, POS du type INT et la valeur renvoye de la
fonction est du type STRING.
INSERT(STR1, STR2, POS) signifie: insre STR2 dans STR1 partir de la POS-ime position.
Exemple en langage IL:
LD

'SUSI'

INSERT 'XY',2
ST

VarSTRING1 (* Ergebnis ist 'SUXYSI' *)

Exemple en langage FBD:

Exemple en langage ST:


VarSTRING1 := INSERT ('SUSI','XY',2);

DELETE
La fonction DELETE (standard.lib) efface un extrait de chane d'une chane, partir d'une position
donne.
L'entre STR est du type STRING; LEN et POS du type INT et la valeur renvoye de la fonction est
du type STRING.
DELETE(STR, LEN, POS) signifie: efface LEN caractres de la chane STR, en commenant par le
POS-ime caractre.
Exemple en langage IL:
LD

'SUXYSI'

DELETE 2,3
ST

CoDeSys V2.3

Var1 (* Ergebnis ist 'SUSI' *)

10-47

Bibliothque Standard.lib

Exemple en langage FBD:

Exemple en langage ST:


Var1 := DELETE ('SUXYSI',2,3);

REPLACE
La fonction REPLACE (standard.lib) remplace un extrait de chane par un autre extrait de chane,
l'intrieur d'une chane.
Les entres STR1 et STR2 sont du type STRING; LEN et POS du type INT et la valeur renvoye de
la fonction est du type STRING.
REPLACE(STR1, STR2, L, P) signifie: remplace L caractres de la chane STR1 par la chane STR2,
en partant du P-ime caractre.
Exemple en langage IL:
LD

'SUXYSI'

REPLACE 'K',2,2
ST

VarSTRING1 (* Ergebnis ist 'SKYSI' *)

Exemple en langage FBD:

Exemple en langage ST:


VarSTRING1 := REPLACE ('SUXYSI','K',2,2);

FIND
La fonction FIND (standard.lib) recherche un extrait de chane l'intrieur d'une chane.
Les entres STR1 et STR2 sont du type STRING et la valeur renvoye de la fonction est du type INT.
FIND(STR1, STR2) signifie: recherche la position du premier caractre de la premire occurrence de
STR2 l'intrieur de STR1. Si STR2 n'apparat pas l'intrieur de STR1, alors on a OUT := 0.
Exemple en langage IL:
LD

'abcdef'

FIND 'de'
ST

VarINT1 (* Rsultat '4' *)

Exemple en langa FBD:

Exemple en langage ST:


VarINT1 := FIND ('abcdef','de');

10-48

CoDeSys V2.3

10 - APPENDICE

10.17.2

Blocs fonctionnels bistables

SR
Bloc fonctionnel bistable (forc dominant) (standard.lib) :
Q1 = SR (SET1, RESET) signifie:
Q1 = (NOT RESET AND Q1) OR SET1

Les entres SET1 et RESET ainsi que la sortie Q1 sont du type BOOL.
Exemple de dclaration:
SRInst : SR;
Exemple en langage IL:
CAL SRInst(SET1 := VarBOOL1, RESET := VarBOOL2)
LD SRInst.Q1
ST VarBOOL3
Exemple en langage FBD:

Exemple en langage ST:


SRInst(SET1:= VarBOOL1 , RESET:=VarBOOL2 );
VarBOOL3 := SRInst.Q1 ;

RS
Bloc fonctionnel bistable (rinitialis dominant) (standard.lib) :
Q1 = RS (SET, RESET1) signifie:
Q1 = NOT RESET1 AND (Q1 OR SET)

Les entres SET et RESET ainsi que la sortie Q1 sont du type BOOL.
Exemple de dclaration:
RSInst : RS ;
Exemple en langage IL:
CAL RSInst(SET:= VarBOOL1,RESET1:=VarBOOL2)
LD RSInst.Q1
ST VarBOOL3
Exemple en langage FBD:

Exemple en langage ST:


RSInst(SET:= VarBOOL1 , RESET1:=VarBOOL2 );
VarBOOL3 := RSInst.Q1 ;

CoDeSys V2.3

10-49

Bibliothque Standard.lib

SEMA
Un smaphore (interruptible) (standard.lib) .
BUSY = SEMA(CLAIM, RELEASE) signifie:
BUSY := X;
IF CLAIM THEN X:=TRUE;
ELSIF RELEASE THEN BUSY := FALSE; X:= FALSE;
END_IF

X
est
une
variable
BOOL
interne,
initialise
avec
la
Les entres CLAIM et RELEASE ainsi que la sortie BUSY sont du type BOOL.

valeur

FALSE.

Lorsque SEMA est appele et que BUSY a la valeur TRUE, cela signifie que SEMA a dj t
occupe auparavant (SEMA a t appele avec CLAIM = TRUE). Lorsque BUSY a la valeur FALSE,
cela signifie que SEMA n'a pas encore t appele ou que SEMA a t libre (appel avec RELEASE
= TRUE).
Exemple de dclaration:
SEMAInst : SEMA;
Exemple en langage IL:
CAL SEMAInst(CLAIM:=VarBOOL1,RELEASE:=VarBOOL2)
LD SEMAInst.BUSY
ST VarBOOL3
Exemple en langage FBD:

Exemple en langage ST:


SEMAInst(CLAIM:= VarBOOL1 , RELEASE:=VarBOOL2 );
VarBOOL3 := SEMAInst.BUSY;

10.17.3

Dtection de fronts

R_TRIG
Le bloc fonctionnel R_TRIG (standard.lib) dtecte un front montant.
FUNCTION_BLOCK R_TRIG
VAR_INPUT
CLK : BOOL;
END_VAR
VAR_OUTPUT
Q : BOOL;
END_VAR
VAR
M : BOOL := FALSE;
END_VAR
Q := CLK AND NOT M;
M := CLK;

Tant que la variable d'entre CLK fournit la valeur FALSE, la sortie Q et la variable auxiliaire M ont
comme valeur FALSE. Ds que CLK fournit la valeur TRUE, Q fournit la valeur TRUE et ensuite M
assume la valeur TRUE. Par consquent, l'occasion de chaque nouvel appel de l'instance du bloc

10-50

CoDeSys V2.3

10 - APPENDICE

fonctionnel, Q fournira nouveau la valeur FALSE jusqu' ce que CLK ait un front descendant suivi
d'un front montant.
Exemple de dclaration:
RTRIGInst : R_TRIG ;
Exemple en langage IL:
CAL RTRIGInst(CLK := VarBOOL1)
LD

RTRIGInst.Q

ST

VarBOOL2

Exemple en langage FBD:

Exemple en langage ST:


RTRIGInst(CLK:= VarBOOL1);
VarBOOL2 := RTRIGInst.Q;

F_TRIG
Le bloc fonctionnel F_TRIG (standard.lib) dtecte un front descendant.
FUNCTION_BLOCK F_TRIG
VAR_INPUT
CLK: BOOL;
END_VAR
VAR_OUTPUT
Q: BOOL;
END_VAR
VAR
M: BOOL := FALSE;
END_VAR
Q := NOT CLK AND NOT M;
M := NOT CLK;

Tant que la variable d'entre CLK fournit la valeur TRUE, la sortie Q et la variable auxiliaire M ont
comme valeur FALSE. Ds que CLK fournit la valeur FALSE, Q fournit la valeur TRUE et ensuite M
assume la valeur TRUE. Par consquent, l'occasion de chaque nouvel appel de l'instance du bloc
fonctionnel, Q fournira nouveau la valeur FALSE jusqu' ce que CLK ait un front montant suivi d'un
front descendant.
Exemple de dclaration:
FTRIGInst : F_TRIG ;
Exemple en langage IL:
CAL FTRIGInst(CLK := VarBOOL1)
LD

FTRIGInst.Q

ST

VarBOOL2

Exemple en langage FBD:

CoDeSys V2.3

10-51

Bibliothque Standard.lib

Exemple en langage ST:


FTRIGInst(CLK:= VarBOOL1);
VarBOOL2 := FTRIGInst.Q;

10.17.4

Temporisateurs

TP
Le bloc fonctionnel TP (standard.lib) est un gnrateur d'impulsions:
TP(IN, PT, Q, ET) signifie:
IN et PT sont des variables d'entres du type BOOL ou TIME. Q et ET sont des variables de sortie du
type BOOL ou TIME. Si IN a la valeur FALSE, alors les valeurs fournies sont FALSE ou bien 0.
Ds que IN devient TRUE, le temps est calcul en ET en millisecondes jusqu ce que la valeur soit
quivalente la valeur en PT, ensuite la valeur reste constante.
Q a la valeur TRUE aprs que IN a commut vers la valeur TRUE et que ET est encore plus petit ou
gal PT. Dans tous les autres cas, Q a la valeur FALSE.
Q fournit donc un signal pour la priode spcifie dans PT.
Reprsentation graphique de l'volution de TP au cours du temps:

Exemple de dclaration:
TPInst : TP ;
Exemple en langage IL:
CAL TPInst(IN := VarBOOL1, PT := T#5s)
LD

TPInst.Q

ST

VarBOOL2

Exemple en langage FBD:

Exemple en langage ST:


TPInst(IN := VarBOOL1, PT:= T#5s);
VarBOOL2 :=TPInst.Q;

10-52

CoDeSys V2.3

10 - APPENDICE

TON
Le bloc fonctionnel TON (Timer on-delay) (standard.lib) ralise une temporisation l'enclenchement.
TON(IN, PT, Q, ET) signifie:
IN et PT sont des variables d'entres du type BOOL ou TIME. Q et ET sont des variables de sortie du
type BOOL ou TIME. Si IN a la valeur FALSE, alors les valeurs fournies sont FALSE ou bien 0.
Ds que IN a la valeur TRUE, la valeur de temps de ET est incrmente en millisecondes jusqu' ce
qu'elle soit gale la valeur de PT. Ds lors, la valeur de ET reste inchange.
Q a la valeur TRUE si IN a la valeur TRUE et si ET est gal PT. Dans tous les autres cas, Q a la
valeur FALSE.
Q a donc un front montant lorsque le temps spcifi dans PT, qui est exprim en millisecondes, est
coul.
Reprsentation graphique de l'volution de TON au cours du temps:

Exemple de dclaration:
TONInst : TON ;
Exemple en langage IL:
CAL TONInst(IN := VarBOOL1, PT := T#5s)
LD

TONInst.Q

ST

VarBOOL2

Exemple en langage FBD:

Exemple en langage ST:


TONInst(IN := VarBOOL1, PT:= T#5s);
VarBOOL2 :=TONInst.Q;

TOF
Le bloc fonctionnel TOF (Timer off-delay) (standard.lib) ralise une temporisation au dclenchement.
TOF(IN, PT, Q, ET) signifie:
IN et PT sont des variables d'entre du type BOOL ou TIME. Q et ET sont des variables de sortie du
type BOOL ou TIME. Si IN a la valeur TRUE, alors les valeurs fournies sont TRUE ou bien 0.
Ds que IN a la valeur FALSE, la valeur de temps de ET est incrmente en millisecondes jusqu' ce
qu'elle soit gale la valeur de PT. Ds lors, la valeur de ET reste inchange.
Q a la valeur FALSE si IN a la valeur FALSE et si ET est gal PT. Dans tous les autres cas, Q a la
valeur TRUE.

CoDeSys V2.3

10-53

Bibliothque Standard.lib

Q a donc un front descendant lorsque le temps spcifi dans PT, qui est exprim en millisecondes,
est coul.
Reprsentation graphique de l'volution de TOF au cours du temps:

Exemple de dclaration:
TOFInst : TOF ;
Exemple en langage IL:
CAL TOFInst(IN := VarBOOL1, PT := T#5s)
LD TOFInst.Q
ST VarBOOL2
Exemple en langage FBD:

Exemple en langage ST:


TOFInst(IN := VarBOOL1, PT:= T#5s);
VarBOOL2 :=TOFInst.Q;

RTC
Le bloc fonctionnel RTC (Runtime Clock) (standard.lib) fournit continuellement la date et l'heure
partir d'un point de dpart dfini.

RTC(EN, PDT, Q, CDT) signifie:


EN et PDT sont des variables d'entre du type BOOL et DATE_AND_TIME. Q et CDT sont des
variables de sortie du type BOOL et DATE_AND_TIME. Si EN a la valeur FALSE, alors les sorties Q
et CDT ont la valeur FALSE et DT#1970-01-01-00:00:00..
Ds que EN a la valeur TRUE, le temps PDT est initialis et incrment en secondes et sorti l'aide
de CDT aussi longtemps que EN est TRUE (voir exemple dans le reprsentation ci-dessus). Ds que
EN reprend la valeur FALSE, CDT reprend la valeur initiale DT#1970-01-01-00-00:00:00. Tenez
compte du fait que le temps PDT n'est initialis que par un flanc montant de EN.

10-54

CoDeSys V2.3

10 - APPENDICE

10.17.5

Compteurs

CTU
Le bloc fonctionnel compteur (comptage) (standard.lib) :
Les entres CU et RESET ainsi que la sortie Q sont du type BOOL; l'entre PV et la sortie CV sont du
type WORD.
Lorsque RESET a la valeur TRUE, la variable de comptage CV est remise zro. Si CU a un front
montant de FALSE vers TRUE, alors CV est incrment d'une unit.
Q fournit la valeur TRUE si CV est suprieur ou gal la limite suprieure de PV.
Exemple de dclaration:
CTUInst : CTU ;
Exemple en langage IL:
CAL

CTUInst(CU := VarBOOL1, RESET := VarBOOL2, PV := VarINT1)

LD

CTUInst.Q

ST

VarBOOL3

LD

CTUInst.CV

ST

VarINT2

Exemple en langage FBD:

Exemple en langage ST:


CTUInst(CU:= VarBOOL1, RESET:=VarBOOL2 , PV:= VarINT1);
VarBOOL3 := CTUInst.Q ;
VarINT2 := CTUInst.CV;

CTD
Le bloc fonctionnel compteur (dcomptage) (standard.lib) :
Les entres CD et LOAD ainsi que la sortie Q sont du type BOOL; l'entre PV et la sortie CV sont du
type WORD.
Lorsque LOAD a la valeur TRUE, la variable de comptage CV est initialise avec la valeur de la limite
suprieure PV. Si CD a un front montant de FALSE vers TRUE, alors le bloc fonctionnel CV est
dcrment d'une unit, aussi longtemps que CV est suprieur zro (c'est--dire aussi longtemps
qu'il ne se produit pas de dbordement par le bas).
Q fournit la valeur TRUE si CV est gal 0.
Exemple de dclaration:
CTDInst : CTD ;
Exemple en langage IL:
CAL

CTDInst(CD := VarBOOL1, LOAD := VarBOOL2, PV := VarINT1)

LD

CTDInst.Q

ST

VarBOOL3

LD

CTDInst.CV

ST

VarINT2

CoDeSys V2.3

10-55

Bibliothque Standard.lib

Exemple en langage FBD:

Exemple en langage ST:


CTDInst(CD:= VarBOOL1, LOAD:=VarBOOL2 , PV:= VarINT1);
VarBOOL3 := CTDInst.Q ;
VarINT2 := CTDInst.CV;

CTUD
Le bloc fonctionnel compteur (comptage-dcomptage) (standard.lib) :
Les entres CU, CD, RESET, LOAD et les sorties QU et QD sont du type BOOL; PV et CV sont du
type WORD.
Lorsque RESET est active, la variable de comptage CV est remise zro. Si LOAD est active,
alors CV est initialise avec la valeur PV.
Si CU a un front montant de FALSE vers TRUE, alors CV est incrment d'une unit. Si CD a un front
montant de FALSE vers TRUE, alors le bloc fonctionnel CV est diminu d'une unit, aussi longtemps
que CV ne produit pas de dbordement par le bas.
QU fournit la valeur TRUE si CV est suprieur ou gal PV.
QD fournit la valeur TRUE si CV est gal 0. (0 est la limite infrieure implmente dans CoDeSys.)
Exemple de dclaration:
CTUDInst : CUTD ;
Exemple en langage IL:
CAL

CTUDInst(CU:=VarBOOL2, RESET:=VarBOOL3, LOAD:=VarBOOL4, PV:=VarINT1)

LD

CTUDInst.Q

ST

VarBOOL5

LD

CTUDInst.QD

ST

VarBOOL5

LD

CTUInst.CV

ST

VarINT2

Exemple en langage FBD:

Exemple en langage ST:


CTUDInst(CU := VarBOOL1, CU:= VarBOOL2, RESET := VarBOOL3, LOAD:=VarBOOL4 , PV:=
VarINT1);
VarBOOL5 := CTUDInst.QU ;
VarBOOL6 := CTUDInst.QD ;
VarINT2 := CTUDInst.CV;

10-56

CoDeSys V2.3

10 - APPENDICE

10.18 Bibliotheque Util.lib


Cette bibliothque contient une srie supplmentaire de modules, qui peuvent tre utiliss pour la
conversion BCD, les fonctions sur bits/octets et les fonctions mathmatiques auxiliaires, mais aussi
comme rgulateurs, gnrateurs de signaux et manipulateurs de fonctions, ainsi que pour le
traitement de valeurs analogiques.
Comme certaines de ces fonctions et modules fonctionnels contiennent des variables REAL ntant
pas supportes par certains systmes dexcution, il existe une bibliothque supplmentaire
UTIL_NO_REAL, qui ne reprend pas ces modules.

10.18.1

Conversion BCD
Un octet en format BCD contient des valeurs entires comprises entre 0 et 99. L'emplacement de
chaque chiffre dcimal occupe quatre bits, le chiffre dcimal des dizaines tant mmoris dans les
bits 4-7. Par consquent, le format BCD ressemble la notation hexadcimale. Il s'en diffrencie par
le fait qu'un octet BCD ne peut mmoriser que des valeurs comprises entre 0 et 99 alors qu'un octet
hexadcimal va de 0 FF.
Exemple : Le nombre entier 51 doit tre converti au format BCD. En notation binaire, 5 s'crit 0101 et
1 s'crit 0001. Cela donne 01010001 pour l'octet BCD, ce qui correspond la valeur $51=81.

BCD_TO_INT
Cette fonction (util.lib) permet de convertir un octet au format BCD en une valeur INT:
La valeur d'entre de cette fonction est de type BYTE et la sortie est de type INT.
Si un octet est pass la fonction alors qu'il n'est pas au format BCD, la valeur de sortie est 1.
Exemples en langage ST:
i:=BCD_TO_INT(73); (* Le rsultat est 49 *)
k:=BCD_TO_INT(151); (* Le rsultat est 97 *)
l:=BCD_TO_INT(15); (* Le rsultat est 1 parce que pas en format BCD *)

INT_TO_BCD
Cette fonction (util.lib) permet de convertir une valeur INTEGER en un octet au format BCD:
La valeur d'entre de cette fonction est de type INT et la sortie est de type BYTE.
Si une valeur INTEGER est passe la fonction mais qu'elle ne peut pas tre convertie en un octet
au format BCD, la valeur de sortie est 255.
Exemples en langage ST:
i:=INT_TO_BCD(49); (* Le rsultat est 73 *)
k:=BCD_TO_INT(97); (* Le rsultat est 151 *)
l:=BCD_TO_INT(100); (* Erreur! Sortie: 255 *)

CoDeSys V2.3

10-57

Bibliotheque Util.lib

10.18.2

Fonctions sur bits/octets

EXTRACT
Cette fonction (util.lib) comporte les entres X, de type DWORD, et N, de type BYTE. La valeur de
sortie est une valeur BOOL, dont le contenu correspond au n-ime bit de l'entre X, en commenant
compter avec la bit numro zro.
Exemples en langage ST:
FLAG:=EXTRACT(X:=81, N:=4); (* Rsultat: TRUE parce que 81 correspond 1010001 en
binaire et le 4-ime bit est 1 *)
FLAG:=EXTRACT(X:=33, N:=0); (* Rsultat: TRUE parce que 33 correspond 100001 en
binaire et le 0-ime bit est 1 *)

PACK
Cette fonction (util.lib) peut renvoyer jusqu' 8 bits d'entre B0, B1, , B7 de type BOOL sous forme
d'un seul BYTE.
Le bloc fonctionnel UNPACK est troitement li cette fonction.
PUTBIT
Cette fonction (util.lib) comporte les entres X, de type DWORD, N de type BYTE et B, de type BOOL.
PUTBIT affecte le n-ime bit de X la valeur B, en commenant compter avec le bit numro zro.
Exemple en langage ST:
A:=38; (* 100110 en binaire*)
B:=PUTBIT(A,4,TRUE); (* Rsultat: 54 = 2#110110 *)
C:=PUTBIT(A,1,FALSE); (* Rsultat: 36 = 2#100100 *)

UNPACK
La fonction UNPACK (util.lib) convertit l'entre B de type BYTE en 8 variables de sortie B0, , B7 de
type BOOL. Il s'agit donc de la fonction inverse de PACK.
Exemple dans l'diteur CFC: Sortie:

10-58

CoDeSys V2.3

10 - APPENDICE

10.18.3

Fonctions mathmatiques auxiliaires

DERIVATIVE
Ce bloc fonctionnel (util.lib) dtermine approximativement la drivation locale.
La valeur de la fonction est passe par l'intermdiaire de la variable IN, sous la forme REAL. TM
contient le temps coul en msec, sous la forme DWORD tandis que l'entre RESET, de type BOOL,
permet de redmarrer le bloc fonctionnel en passant la valeur TRUE.
La sortie OUT est de type REAL.
Pour obtenir le meilleur rsultat possible, DERIVATIVE effectue une approximation partir des quatre
dernires valeurs afin de restreindre autant que possible les erreurs dues des imprcisions au
niveau des paramtres d'entre.
Module dans l'diteur CFC:

INTEGRAL
Ce bloc fonctionnel (util.lib) dtermine approximativement l'intgrale d'une fonction.
De la mme manire que pour DERIVATIVE, la valeur de la fonction est passe par l'intermdiaire de
la variable IN, sous la forme REAL. TM contient le temps coul en msec, sous la forme DWORD
tandis que l'entre RESET, de type BOOL, permet de redmarrer le bloc fonctionnel en passant la
valeur TRUE.
La sortie OUT est de type REAL.
Si lintgrale atteint la limite de la plage des valeurs dune variable REAL (env. 1038), la variable de
sortie boolenne OVERFLOW est positionne sur TRUE, et le module reste bloqu jusqu ce quil
soit rinitialis par un RESET.
Module dans l'diteur CFC: Exemple : Intgration d'une fonction linaire:

LIN_TRAFO
Ce bloc fonctionnel (util.lib) transforme une valeur Real se trouvant dans une plage dfinie par des
limites infrieure et suprieure en une valeur Real correspondante, telle quelle soit proportionnelle
dans une autre plage, galement dfinie par des limites infrieure et suprieure. Cette transformation
est base sur lquation suivante :
(IN - IN_MIN) : (IN_MAX - IN) = (OUT - OUT_MIN) : (OUT_MAX - OUT)

CoDeSys V2.3

10-59

Bibliotheque Util.lib

Variables dentre :
Variable

Type de
donne

Description

IN

REAL

Valeur dentre

IN_MIN

REAL

Limite infrieure valeurs dentre

IN_MAX

REAL

Limite suprieure valeurs dentre

OUT_MIN

REAL

Limite infrieure valeurs de sortie

OUT_MAX

REAL

Limite suprieure valeurs de sortie

Variables de sortie
Variable

Type de
donne

Description

OUT

REAL

Valeur de sortie

ERROR

REAL

Erreur : TRUE, si IN_MIN = IN_MAX, ou si IN est en dehors de la


plage dentre donne

Exemple dapplication :
Un capteur de temprature fournit des valeurs en volts lentre IN. Ces dernires doivent tre transformes en
indication de temprature en degrs Celsius et tre sorties au niveau de OUT. La plage dentre (volt) est dfinie
par IN_MIN=0 et IN_MAX=10. La plage de sortie (degr Celsius) est dfinie par OUT_MIN=-20 et OUT_MAX=40.
En consquence, une temprature de 10 degrs Celsius est sortie pour une entre de 5 volts.

STATISTICS_INT
Ce bloc fonctionnel (util.lib) calcule certaines valeurs statistiques de rfrence:
L'entre IN est de type INT. Si l'entre RESET prend la valeur TRUE, alors toutes les valeurs sont
rinitialises.
Les sorties MN et MX contiennent respectivement la valeur minimale et la valeur maximale de IN.
AVG contient la moyenne, c'est--dire la valeur probable de IN. Ces trois sorties sont de type INT.
Module dans l'diteur CFC:

STATISTICS_REAL
Ce bloc fonctionnel (util.lib) correspond STATISTICS_INT, ceci prs que l'entre IN est de type
REAL, de mme que les sorties MN, MX, AVG.

10-60

CoDeSys V2.3

10 - APPENDICE

VARIANCE
VARIANCE (util.lib) calcule la variance des valeurs d'entre.
L'entre IN est de type REAL, l'entre RESET de type BOOL et la sortie OUT de nouveau de type
REAL.
Ce bloc fonctionnel calcule la variance des valeurs d'entre. VARIANCE est rinitialis lorsque
RESET=TRUE.
L'cart type peut tre calcul facilement partir de la racine carre de VARIANCE.

10.18.4

Rgulateurs

PD
Le bloc fonctionnel de rgulateur PD (util.lib) :

ACTUAL (valeur effective) et SET_POINT (valeur de consigne), ainsi que KP, le coefficient de
proportionnalit, sont des valeurs d'entre de type REAL. TV est de type DWORD et contient la dure
d'action drive, exprime en sec (p. ex. 0,5 pour 500 msec). Y_OFFSET, Y_MIN et Y_MAX sont
du type REAL et servent la transformation de la valeur de rglage en une plage prdfinie.
MANUAL, de type BOOL, permute en mode manuel. RESET est de type BOOL et permet de
rinitialiser le rgulateur.
La sortie, savoir la valeur de rglage (Y), est de type REAL, et est calcule comme suit :
Y = KP ( + TV /t) + Y_OFFSET dans laquelle =SET_POINT-ACTUAL

En outre, Y est restreint la plage autorise fixe par Y_MIN et Y_MAX. Lorsque Y dpasse ces
limites, la variable de sortie boolenne LIMITS_ACTIVE obtient la valeur TRUE. Si vous ne souhaitez
pas attribuer de limites la valeur de rglage, Y_MIN et Y_MAX doivent tre rgls sur 0.
Si MANUAL a la valeur TRUE, le rgulateur interrompt son fonctionnement, c.--d. Y nest pas
chang (par le rgulateur), tant que MANUAL nobtient pas la valeur FALSE, ce qui aurait pour effet
de rinitialiser le rgulateur.
Un rgulateur P est facilement cr, en rglant TV de manire fixe sur 0.

CoDeSys V2.3

10-61

Bibliotheque Util.lib

PID
Le bloc fonctionnel de rgulateur PID (util.lib) :

La diffrence avec le rgulateur PD rside dans le fait que ce bloc fonctionnel comporte une entre
supplmentaire DWORD TN destine la dure de rajustage en sec (p. ex 0,5 pour 500 msec).
La sortie, savoir la valeur de rglage (Y), est galement de type REAL, et comporte linverse du
rgulateur PD, une partie intgrale supplmentaire :
Y = KP ( + 1/TN ?(t)dt + TV /t) + Y_OFFSET

Le rgulateur PID peut facilement tre converti en un rgulateur PI, en entrant TV=0.
De par la partie intgrale supplmentaire, un dpassement peut survenir, en cas de paramtrage
incorrect du rgulateur, lorsque lintgrale devient trop grande d lerreur . Par mesure de scurit,
une variable boolenne de sortie OVERFLOW est disponible, et celle-ci obtient dans ce cas la valeur
TRUE. En mme temps, le rgulateur interrompt son fonctionnement et il est ractiv par une
rinitialisation.

10.18.5

Gnrateurs de signaux

BLINK
Le bloc fonctionnel BLINK (util.lib) gnre un signal pulsatoire. BLINK comporte les entres ENABLE,
de type BOOL, ainsi que TIMELOW et TIMEHIGH, de type TIME. La sortie OUT est de type BOOL.
Si la valeur TRUE est affecte l'entre ENABLE, alors BLINK est activ, ce qui signifie que la valeur
TRUE sera affecte la sortie pendant la dure TIMEHIGH et ensuite la valeur FALSE sera affecte
la sortie pendant la dure TIMELOW.
Exemple dans l'diteur CFC :

FREQ_MEASURE
Ce bloc fonctionnel (util.lib) mesure la frquence (moyenne) (Hz) dun signal dentre boolen
(frquence = 1/intervalle de mesure). Ce faisant, on a la possibilit dindiquer le nombre dintervalles
de mesure sur lesquels la moyenne est calcule. Un intervalle de mesure correspond la dure qui
stend entre deux fronts montants du signal dentre.

10-62

CoDeSys V2.3

10 - APPENDICE

Variables dentre :
Variable

Type de
donne

Description

IN

BOOL

Signal dentre

PERIODS

INT

Nombre dintervalles de mesure, cest--dire dures entre les flancs


montants, sur lesquels la frquence moyenne du signal dentre doit
tre calcule. Valeurs possibles : 1 10

RESET

BOOL

Remise 0 de tous les paramtres.

Variables de sortie :
Variable

Type de
donne

Description

OUT

REAL

Frquence dtermine en [Hz]

VALID

BOOL

FALSE aussi longtemps quaucune mesure na t conclue ou lorsque la


priode > 3*OUT, ce qui indique une erreur relative au signal dentre.

GEN
Le gnrateur de fonctions (util.lib) cre des fonctions priodiques typiques :
Au niveau des entres, on trouve MODE, qui est du type d'numration prdfini GEN_MODE, BASE,
de type BOOL, PERIOD, de type TIME, CYCLES et AMPLITUDE, deux valeurs de type INT, ainsi que
RESET, une entre de type BOOL. Il existe une sortie OUT, de type INT.
MODE dfinit le type de fonction crer. Les valeurs d'numration TRIANGLE et TRIANGLE_POS
fournissent deux fonctions triangulaires, SAWTOOTH_RISE et SAWTOOTH_FALL correspondent
respectivement une fonction en dents de scie montante et descendante, RECTANGLE donne un
signal rectangulaire tandis que SINUS et COSINUS permettent d'obtenir un signal sous forme de
sinus et de cosinus :

CoDeSys V2.3

TRIANGLE :

TRIANGLE_POS :

SAWTOOTH_RISE :

SAWTOOTH_FALL :

RECTANGLE :

SINUS :

10-63

Bibliotheque Util.lib

COSINUS :

BASE indique si la dure de la priode se rapporte bien un temps prdfini (dans ce cas,
BASE=TRUE) ou plutt un nombre dtermin de cycles, c'est--dire d'appel du bloc fonctionnel
(dans ce cas, BASE=FALSE).
PERIOD ou CYCLES dfinissent la dure de la priode correspondante.
AMPLITUDE permet de dfinir simplement l'amplitude de la fonction crer.
Le gnrateur de fonctions est rinitialis sur 0 ds que RESET=TRUE.
Exemple dans l'diteur CFC :

10.18.6

Manipulateurs de fonctions

CHARCURVE
Ce bloc fonctionnel (util.lib) permet de reprsenter des valeurs l'aide d'une fonction compose de
segments linaires :

IN, de type INT, est alimente par la valeur manipuler. N, de type BYTE, dsigne le nombre de
points dfinissant la fonction de transformation. Cette courbe caractristique est ensuite dfinie dans
ARRAY P[0..10], o P est de type POINT, une structure compose de deux valeurs INT (X et Y).
Au niveau de la sortie, on trouve OUT, de type INT, la valeur manipule et ERR, de type BYTE, qui
signale des erreurs ventuelles.
Les points P[0]..P[N-1] dans ARRAY doivent tre tris d'aprs leur valeur en X, sinon la valeur 1 est
affecte ERR. Si l'entre IN n'est pas comprise entre P[0].X et P[N-1].X, alors on obtient ERR=2 et
OUT prend la valeur limite P[0].Y ou P[N-1].Y, selon le cas.
Si N se situe en dehors des valeurs admises comprises entre 2 et 11, alors on obtient ERR=4.
Exemple en langage ST :
Dans un premier temps, il faut dfinir ARRAY P au niveau de l'en-tte :
VAR
...
COURBE:CHARCURVE;
KL:ARRAY[0..10] OF POINT:=(X:=0,Y:=0),(X:=250,Y:=50),
(X:=500,Y:=150),(X:=750,Y:=400),7((X:=1000,Y:=1000));

10-64

CoDeSys V2.3

10 - APPENDICE

COMPTEUR:INT;
...
END_VAR
Ensuite nous alimentons CHARCURVE avec une valeur qui, par exemple, va croissant :
COMPTEUR:=COMPTEUR+10;
COURBE(IN:=COMPTEUR,N:=5,P:=KL);
Le trac ci-dessous permet d'illustrer cela:

RAMP_INT
RAMP_INT (util.lib) permet de limiter la monte ou la descente de la fonction alimente.
Au niveau des entres, on trouve trois valeurs INT : IN, l'entre pour la fonction, ainsi que ASCEND et
DESCEND, qui correspondent respectivement l'augmentation et la diminution maximale par
priode. La priode est dfinie par TIMEBASE, qui est de type TIME. Si la valeur TRUE est affecte
RESET, alors RAMP_INT est rinitialise.
La sortie OUT, de type INT, contient la valeur de la fonction, dont la monte et la descente sont
limites.
Notez que des problmes peuvent survenir lorsque TIMEBASE est plus petit que la dure dun cycle
complet.
Si t#0s est affect TIMEBASE, alors les limitations ascendante et descendante se rapportent un
cycle et donc un appel de bloc fonctionnel.
Exemple dans l'diteur CFC :

CoDeSys V2.3

10-65

Bibliotheque Util.lib

RAMP_REAL
RAMP_REAL (util.lib) fonctionne exactement comme RAMP_INT si ce n'est que IN, ASCEND,
DESCEND ainsi que la sortie OUT sont de type REAL.

10.18.7

Traitement de valeurs analogiques

HYSTERESIS
En ce qui concerne les entres, ce bloc fonctionnel (util.lib) comporte trois valeurs de type INT,
savoir IN, HIGH et LOW. La sortie OUT est de type BOOL.

Si IN dpasse la valeur limite LOW, alors la valeur TRUE est affecte OUT. Si IN dpasse la limite
suprieure HIGH, alors la sortie OUT fournit comme valeur FALSE.
Exemple explicatif:

LIMITALARM
Ce bloc fonctionnel (util.lib) indique si la valeur d'entre est comprise dans un intervalle prdfini et
fournit la limite qui fait l'objet d'un dpassement, le cas chant.
Les valeurs d'entre IN, HIGH et LOW sont de type INT alors que les sorties O, U et IL sont de type
BOOL.
Si la limite suprieure HIGH est dpasse par IN, alors la valeur TRUE est affecte O. Si LOW est
dpasse vers le bas, alors la valeur TRUE est affecte U. En revanche, si IN est compris entre
LOW et HIGH, alors la valeur TRUE est affecte IL.
Exemple dans l'diteur CFC :

10-66

Rsultat:

CoDeSys V2.3

10 - APPENDICE

10.19 Bibliotheque Analyzation.lib


Cette bibliothque contient des modules permettant d'analyser les expressions. Lorsqu'une
expression compose a la valeur globale FALSE, les composants qui ont contribu ce rsultat
peuvent tre dtermins. Avec diteur SFC, le drapeau SFCErrorAnalyzationTable utilise ces
fonctions de manire implicite pour analyser les expressions de transition.
Exemple d'expression :
b OR NOT(y < x) OR NOT (NOT d AND e)

Les fonctions :

Tous les modules ont les variables suivantes en commun :


InputExpr: BOOL, l'expression analyser
DoAnalyze: BOOL, TRUE active l'analyse
ExpResult: BOOL, valeur actuelle de l'expression
Diffrente est la sortie du rsultat de l'analyse:

AnalyzeExpression affiche dans une chane de caractres les composants de l'expression qui ont
provoqu la valeur globale FALSE. Pour ce faire, on utilise la fonction AppendErrorString, pour que
les composants individuels soient spars par le symbole "|" dans la chane de caractres de sortie.
OutString: STRING, rsultat de l'analyse, succession des composants concerns de
l'expression (p.ex. y < x | d)
AnalyseExpressionTable crit dans un array les composants de l'expression qui ont provoqu la
valeur globale FALSE, et ExpressionResult donne les informations ci-dessous pour chaque
composant de sa structure: Nom (name), adresse (address), commentaire (comment), valeur actuelle
(value).
OutTable: ARRAY [0..15] OF ExpressionResult;
par exemple:

AnalyseExpressionCombined
AnalyseExpressionTable

CoDeSys V2.3

contient

les

fonctionnalits

de

AnalyzeExpression

et

de

10-67

Bibliothques de systme

10.20 Bibliothques de systme


Remarque
En fonction du systme cible, diffrentes bibliothques de systme CoDeSys sont disposition.
Reportez-vous ce sujet l'aperu dans le document SysLIbs_Overview.pdf repris dans le dossier de
documents de votre rpertoire d'installation; vous y trouverez galement des descriptions pour
chaque bibliothque.

10-68

CoDeSys V2.3

10 - APPENDICE

Appendice E Aperu: Oprateurs et modules de bibliothques


Les tableaux ci-dessous vous donnent un aperu des Oprateurs et Modules de bibliothques qui
sont disponibles dans CoDeSys ou dans les bibliothques Standard.lib et Util.lib. Le format des
diteurs littraux IL et ST a t ici utilise. Pour lditeur littral IL, les modificateurs disponibles ont
t numrs.
Veuillez noter pour la colonne 'Oprateur IL' : seule la ligne dans laquelle loprateur est utilis est
affiche. On suppose un chargement russi des (premiers) oprandes ncessaires (p.ex. LD in) dans
une des lignes prcdentes.
La colonne 'Mod. IL' indique les diffrents modificateurs dans lditeur IL :
C

l'instruction est excute uniquement si l'expression prcdente fournit le rsultat TRUE.

pour JMPC, CALC, RETC : l'instruction est excute uniquement si l'expression prcdente
fournit le rsultat FALSE.

autres: ngation de l'oprande (mais pas de l'accumulateur)

Une mise entre parenthses restreint loprateur, et lopration comprise entre les parenthses
nest excute que lorsque la deuxime parenthse est atteinte

Pour une description dtaille relative lutilisation, reportez-vous aux annexes correspondantes des
oprateurs dans CoDeSys ou dans les bibliothques.

10.21 Oprateurs dans CoDeSys


en langage ST :

en langage IL :

Mod. IL

Signification

'

Dlimitation dune chane de caractres


(p.ex. 'chane1')

..
[]

Tableau : reprsentation du domaine


du tableau (p.ex. ARRAY[0..3] OF INT)

Caractre de sparation entre


loprande et le type dans la
dclaration (p.ex. var1 : INT;)Marque la
fin dune commande (p.ex. a:=var1;)

Marque la fin dune instruction (p.ex.


a:=var1;)

Pointeur drfrenc (p.ex. pointeur1^)

:=

LD var1

Charger la valeur de var1 dans


laccumulateur

ST var1

Mmoriser le rsultat courant


l'emplacement de l'oprande var1

S boolvar

Positionner l'oprande boolen boolvar


sur TRUE et seulement si le rsultat
courant est TRUE

R boolvar

Remettre l'oprande boolenne sur


FALSE seulement si le rsultat courant
est TRUE

JMP marke

CoDeSys V2.3

CN

Saut vers l'tiquette

10-69

Oprateurs dans CoDeSys

10-70

en langage ST :

en langage IL :

Mod. IL

Signification

<Nom du programme>

CAL prog1

CN

Appeler le programme prog1

<Nom d'instance>

CAL inst1

CN

Appel du bloc fonctionnel inst1

en langage ST :

en langage IL :

Mod. IL Signification

<Nom de fonction>(vx,
vy,...)>

<Nom de fonction>
vx, vy

CN

Appeler une fonction et passer les


variables vx, vy

RETURN

RET

CN

Quitter le module et retourner le cas


chant vers l'appelant

La valeur qui suit la parenthse est


considre comme oprande,
lopration prcdente est diffre
jusqu la fin de la parenthse

Evaluation d'une opration diffre

AND

AND

N,(

AND bit bit

OR

OR

N,(

OR bit bit

XOR

XOR

N,(

OR exclusif bit bit

NOT

NOT

ADD

Addition

SUB

Soustraction

MUL

Multiplication

DIV

Division

>

GT

Plus grand

>=

GE

Plus grand ou gal

EQ

gal

<>

NE

Diffrent

<=

LE

Plus petit ou gal

<

LT

Plus petit

MOD(in)

MOD

Division Modulo

INDEXOF(in)

INDEXOF

Index interne dun module in1; [INT]

SIZEOF(in)

SIZEOF

Nombre doctets requis pour le type de


donnes indiqu de in

SHL(K,in)

SHL

Dcalage bit bit vers la gauche de K


positions dun oprande

SHR(K,in)

SHR

Dcalage bit bit vers la droite de K


positions dun oprande

ROL(K,in)

ROL

Rotation bit bit vers la gauche de K


positions dun oprande

ROR(K,in)

ROR

Rotation bit bit vers la droite de K

NOT bit bit

CoDeSys V2.3

10 - APPENDICE

en langage ST :

en langage IL :

Mod. IL

Signification

positions dun oprande


SEL(G,in0,in1)

SEL

Slection binaire entre 2 oprandes in0


(G est FALSE) et in1 (G est TRUE)

MAX(in0,in1)

MAX

Fournit la plus grande de deux valeurs

MIN(in0,in1)

MIN

Fournit la plus petite de deux valeurs

LIMIT(MIN,in,Max)

LIMIT

Limitation de la plage des valeurs (in


est ramen Min ou Max en cas de
dpassement)

MUX(K,in0,...in_n)

MUX

Slection de la K-ime valeur hors


dune liste de valeurs (in0 in_n)

ADR(in)

ADR

Adresse de loprande in [DWORD]

ADRINST()

ADRINST()

Adresse de linstance de bloc


fonctionnel dans laquelle on se trouve.

BOOL_TO_<type>(in)

BOOL_TO_<type>

Conversion du type de loprande


boolen en un autre type lmentaire

<type>_TO_BOOL(in)

<type>_TO_BOOL

Conversion du type de loprande en


BOOLen

INT_TO_<type>(in)

INT_TO_<type>

Conversion du type de loprande INT


en un autre type lmentaire

REAL_TO_<type>(in)

REAL_TO_<type>

Conversion du type de loprande


REAL en un autre type lmentaire

LREAL_TO_<type>(in)

LREAL_TO_<type>

Conversion du type de loprande


LREAL en un autre type lmentaire

TIME_TO_<type>(in)

TIME_TO_<type>

Conversion du type de loprande


TIME en un autre type lmentaire

TOD_TO_<type>(in)

TOD_TO__<type>

Conversion du type de loprande TOD


en un autre type lmentaire

DATE_TO_<type>(in)

DATE_TO_<type>

Conversion du type de loprande en


un autre type lmentaire

DT_TO_<type>(in)

DT_TO_<type>

Conversion du type de loprande en


un autre type lmentaire

STRING_TO_<type>(in)

STRING_TO_<type>

Conversion du type de loprande en


un autre type lmentaire, in devant
avoir une valeur correcte pour le type
cible

TRUNC(in)

TRUNC

Conversion de REAL en INT

ABS(in)

ABS

Valeur absolue de loprande

SQRT(in)

SQRT

Racine carre de loprande

LN(in)

LN

Logarithme naturel dune oprande

CoDeSys V2.3

10-71

Modules de la bibliothque Standard.lib

en langage ST :

en langage IL :

Mod. IL

Signification

LOG(in)

LOG

Logarithme dcimal de loprande

EXP(in)

EXP

Fonction exponentielle de loprande

SIN(in)

SIN

Sinus de loprande

COS(in)

COS

Cosinus de loprande

TAN(in)

TAN

Tangente de loprande

ASIN(in)

ASIN

Arcsinus de loprande

ACOS(in)

ACOS

Arccosinus de loprande

ATAN(in)

ATAN

Arctangente de loprande

EXPT(in,expt)

EXPT expt

Exponentation de loprande la
exptme puissance

10.22 Modules de la bibliothque Standard.lib

10-72

en langage ST :

en langage IL :

Signification

LEN(in)

LEN

Longueur de la chane de caractres de


loprande

LEFT(str,size)

LEFT

Extrait de chane situ l'extrme gauche de la


chane str (dune taille size)

RIGHT(str,size)

RIGHT

Extrait de chane situ l'extrme droite de la


chane str (dune taille size)

MID(str,size,pos)

MID

Extrait de chane de la chane str (taille size) a


positoin pos

CONCAT('str1','str2')

CONCAT 'str2'

Concatnation de deux chanes de caractres

INSERT('str1','str2',pos)

INSERT 'str2',p

Insertion de la chane str1 dans la chane str2


la position pos

DELETE('str1',len,pos)

DELETE len,pos

Effacer un extrait de la chane de caractres


str1 partir de la position pos, sur une longueur
len

REPLACE('str1','str2',
len,pos)

REPLACE
'str2',len,pos

Remplacer un extrait de la chane de caractres


str1 partir de la position pos, sur une longueur
len par le contenu de la chane de caractres
str2

FIND('str1','str2')

FIND 'str2'

Recherche dun extrait de chane de caractres


str2 dans str1

SR

SR

Bloc fonctionnel bistable forc dominant

RS

RS

Bloc fonctionnel bistable rinitialis

SEMA

SEMA

Bloc fonctionnel : smaphore (interruptible)

R_TRIG

R_TRIG

Bloc fonctionnel : front montant reconnu

CoDeSys V2.3

10 - APPENDICE

en langage ST :

en langage IL :

Signification

F_TRIG

F_TRIG

Bloc fonctionnel : front descendant reconnu

CTU

CTU

Bloc fonctionnel : compteur (comptage)

CTD

CTD

Bloc fonctionnel : compteur (dcomptage)

CTUD

CTUD

Bloc fonctionnel : compteur (comptagedcomptage)

TP

TP

Bloc fonctionnel : metteur dimpulsions

TON

TON

Bloc fonctionnel : temporisation


lenclenchement

TOF

TOF

Bloc fonctionnel : temporisation au


dclenchement

RTC

RTC

Bloc fonctionnel : horloge du systme


dexcution

10.23 Modules de la bibliothque Util.lib


Signification

BCD_TO_INT

Conversion dun octet du format BCD en format INT

INT_TO_BCD

Conversion dun octet du format INT en format BCD

EXTRACT(in,n)

Le n-ime bit de DWORD est donn en format BOOLen

PACK

Jusqu huit bits sont comprims dans un octet

PUTBIT

un bit dans un DWORD est mis la valeur existante

UNPACK

un octet est transform en bits individuels

DERIVATIVE

Drivation

INTEGRAL

Intgrale

LN_TRAFO

Transformation de valeurs REAL

STATISTICS_INT

Valeurs min, max et moyennes en format INT

STATISTICS_REAL

Valeurs min, max et moyennes en format REAL

VARIANCE

Calcul de variance

PD

Rgulateurs PD

PID

Rgulateurs PID

BLINK

Signal pulsatoire

FREQ_MEASURE

Frquence dun signal dentre boolen

GEN

Fonctions priodiques

CHARCURVE

Fonctions linaires

CoDeSys V2.3

10-73

Modules de la bibliothque Util.lib

Signification

10-74

RAMP_INT

Limitation de monte / descente dune fonction (INT)

RAMP_REAL

Limitation de monte / descente dune fonction (REAL)

HYSTERESIS

Hystrsis

LIMITALARM

Le dpassement de la limite dune valeur saisie est vrifi

CoDeSys V2.3

10 - APPENDICE

Appendice F Instructions de ligne et de fichier de commande


10.24 Instructions de ligne de commande
Lors du dmarrage de CoDeSys, vous avez la possibilit d'entrer un certain nombre d'instructions qui
seront effectues lors de l'excution. Ces instructions de ligne de commande commencent par "/".
L'criture en majuscules ou en minuscules n'est pas prise en compte. L'excution se fait de manire
squentielle, de la gauche vers la droite.
/online

CoDeSys tente de basculer avec le projet actuel vers le mode En Ligne, aprs le
dmarrage.

/run

Lancement du programme utilisateur aprs avoir accd CoDeSys.


Uniquement valable avec la commande /online.

La visualisation de la fentre cadre de CoDeSys peut tre dfinie.


La fentre n'est pas visualise et n'apparat pas non plus dans la liste des tches.
La fentre est affiche de manire rduite.
/show hide
La fentre est affiche de manire agrandie.
La fentre est visualise dans l'tat qui tait le sien lorsqu'elle a t ferme pour la
/show icon
/show
max dernire fois.
/show normal
/show ...

/out <outfile>

Tous les messages sont crits en sortie dans le fichier <outfile>, tout en tant
affichs dans la fentre de messages.

/noinfo

Aucun cran de dmarrage n'apparat au dmarrage de CoDeSys.

/userlevel
<group>

Le niveau d'accs peut tre dfini (p.ex. "/userlevel 0" pour le niveau d'accs 0)

/password
<password>

Le mot de passe pour le niveau d'accs peut tre saisi directement.


(p.ex. "/password abc")

/openfromplc

Le projet se trouvant actuellement sur l'automate programmable connect est


charg.

/visudownload

Lorsque CoDeSys HMI est dmarr en mme temps qu'un projet qui ne concide
pas avec celui se trouvant sur l'automate programmable, un tlchargement peut
tre effectu. (dialogue de confirmation auquel il faut rpondre par OUI ou NON)

/notargetchange Un changement de systme cible ne peut tre effectu que par le biais dun fichier de
commande. Voir commande target... .
/cmd <cmdfile> Les instructions dansle fichier de commande <cmdfile> sont excutes aprs le
dmarrage.
La saisie d'une ligne de commande est structure comme suit :
"<Chemin du fichier exe CoDeSys>" "<Chemin du projet>" /<Commande1> /<Commande2> ....
Exemple de ligne de commande:
"D:\dir1\codesys" "C:\projects\ampel.pro" /show hide /cmd command.cmd

CoDeSys V2.3

10-75

Instructions de fichier de commande (Cmdfile)

Le fichier signal.pro s'ouvre sans que la fentre ne s'affiche. Le contenu du fichier de commande
(cmdfile) command.cmd est excut.

10.25 Instructions de fichier de commande (Cmdfile)


Vous trouverez ci-dessous la liste des instructions pouvant tre utilises dans un fichier de
commande (<cmdfile>). Et ce fichier peut tre appel via la ligne de commande. L'criture en
majuscules ou en minuscules n'est pas prise en compte. La ligne de commande est affiche sous
forme de message dans la fentre de messages et crite dans le fichier de messages (voir cidessous), sauf si le caractre "@" est insr devant l'instruction.
Tous les caractres qui suivent un point-virgule (;) sont ignors (commentaire). Si les paramtres
contiennent des espaces, ils doivent tre placs entre guillemets. Les inflexions ne peuvent tre
utilises que si le fichier de commande a t cr en code ANSI. Lors de la spcification des
paramtres de commande, vous pouvez utiliser des mots-cls. Vous en trouverez une liste la suite
des descriptions de commandes ci-dessous.
Instructions pour contrler les commandes suivantes
onerror continue

Les commandes suivantes sont excutes, mme si une erreur sest


produite.

onerror break

Les commandes suivantes ne pas sont excutes, mme si une erreur


sest produite.

Instructions du menu En Ligne:


online login

Accder au systme avec le projet charg ('En Ligne' 'Accder au


systme').

online logout

Quitter le systme ('En Ligne' 'Quitter le systme')

online run

Dmarrer le programme utilisateur ('En Ligne' 'Dmarrer')

online sim

Activer la simulation ('En Ligne' 'Simulation')

online sim off

Dsactiver la simulation. ('En Ligne' 'Simulation')

online bootproject

Crer un projet d'initialisation'. Regardez la description du commande


'En Ligne' 'Crer projet d'initialisation' !

online
sourcecodedownload

Transfert du code source du projet actuel


programmable. ('En Ligne' 'Charger code source')

online stop

Arrt du programme actuel sur le systme cible ('En ligne' 'Stop')

sur

l'automate

Instructions du menu Fichier:


file new

Cration d'un nouveau projet ('Fichier' 'Nouveau')

file open <projectfile>


mgliche Zusatzbefehle:

Chargement du projet spcifi ('Fichier' 'Ouvrir')

/readpwd:<readpassword> Le mot de passe pour l'accs en lecture est donn, de sorte que le
dialogue de saisie de mot de passe n'apparaisse plus
automatiquement avec les projets protgs par mot de passe.
/writepwd:<writepassword> Le mot de passe pour l'accs complet est donn, de sorte que le
dialogue de saisie de mot de passe n'apparaisse plus.
file close

10-76

Fermeture du projet charg ('Fichier' 'Fermer')

CoDeSys V2.3

10 - APPENDICE

file save

Enregistrement du projet charg ('Fichier' 'Enregistrer')

file saveas <projectfile>


Peur tre complt en option
par :
<type><version>

Enregistrement du projet charg sous le nom spcifi ('Fichier'


'Enregistrer sous')
Valeur par dfaut : Le projet est enregistr comme fichier *.pro dans
la version de produit actuelle (version la cration). Si le projet doit
tre enregistr comme bibliothque interne ou externe, ou encore
comme projet sous une version prcdente, cela peut tre ajout ici.
Entres possibles pour <type>:
"internallib" Sauvegarde comme bibliothque interne
"externallib" Sauvegarde comme bibliothque externe
"pro" Sauvegarde comme projet
Entres possibles pour <version>:
15, 20, 21, 22 (versions de produit 1.5, 2.0, 2.1, 2.2)
Exemple : "file save as lib_xy internallib22" -> Le projet xy.pro cr
avec la version actuelle de CoDeSys sera enregistr comme
lib_xy.lib pour la version 2.2.

file archive <filename>

Le projet actuel complet est archiv dans un fichier ZIP avec comme
nom <filename>. ('Fichier' 'Enregistrer l'archive/Envoyer')

file printersetup
<filename>.dfr
Peut tre complt en option
par : pageperobject ou
pagepersubobject

Rglages pour la documentation du projet : Fichier cadre *.dfr et


entre optionnelle de disposition des pages pour l'impression:
'pageperobject' (nouvelle page par objet) ou 'page persubobject'
(nouvelle page par sous-objet); voir plus bas "project documentation"

file quit

CoDeSys est termin ('Fichier' 'Quitter')

Instructions du menu Projet:


project build ou
(avant le Service Pack 3 de
V2.2)
project compile

Le projet charg est compil de manire incrmentale ("Projet" +


"Compiler")

Le projet charg est compltement compil ("Projet" + "Compiler")


project rebuild ou
( partir du Service Pack 3 de
V2.2)
project compile
project clean

Les informations de compilation et sur les changements En ligne


dans le projet en cours sont effaces('Projet' 'Rorganiser tout')

project import <file1> ...


<fileN>

Importation dans le projet charg des fichiers <file1> & <fileN>


spcifis ('Projet' 'Importer'). Des espaces rservs peuvent tre
utiliss, p.ex. "project import C:\projects\*.exp" importe tous les
fichiers avec l'extension *.exp qui se trouvent dans le rpertoire
C:\projects.

project export <expfile>

Exportation du projet charg dans le fichier spcifi <expfile>


('Projet' 'Exporter')

project expmul

Exportation de chaque objet appartenant au projet charg dans un


fichier spcifique portant le nom de l'objet.

project documentation

Le projet est imprim selon les rglages actuels ('Fichier'


'Configuration documentation' ('Projet' 'Documentation du projet');
voir galement plus haut "file printersetup" )

CoDeSys V2.3

10-77

Instructions de fichier de commande (Cmdfile)

Instructions pour contrler le fichier de messages:


out open <msgfile>

Ouverture du fichier spcifi pour la sortie de messages. Ajout de


nouveaux messages.

out close

Fermeture du fichier de messages ouvert actuellement

out clear

Effacement de tous les messages contenus dans le fichier de


messages ouvert actuellement

Instructions pour contrler les sorties de messages:


echo on

Les lignes de commande sont galement affiches sous forme de


message

echo off

Les lignes de commande ne sont pas affiches sous forme de


message

echo <texte>

Le <texte> est sorti sous forme de message

Instructions pour contrler le remplacement d'objets ou de fichiers lors de l'importation, l'exportation,


le remplacement:
Jusqu V2.2, SP5:
replace ok
replace yes

Remplacer

replace no

Ne pas remplacer

replace yesall

Remplacer tout

replace noall

Ne rien remplacer

partir de V2.3 :
replace yesall

Remplacer tout (Il nest pas tenu compte dun 'query on' ventuellement
positionn, pas de demande de confirmation)

replace noall

Ne rien remplacer (Il nest pas tenu compte dun 'query on'
ventuellement positionn, pas de demande de confirmation)

replace query

Si un 'query on' est positionn, une demande de confirmation quant


lobjet remplacer saffiche, mme si 'replace yesall' ou 'replace noall'
ont t positionns

Instructions pour contrler le comportement par dfaut des botes de dialogue CoDeSys:

10-78

query on

Affichage de botes de dialogue destines tre compltes par


l'utilisateur

query off ok

Traitement des botes de dialogue comme si l'utilisateur avait cliqu


sur OK

query off no

Traitement des botes de dialogue comme si l'utilisateur avait cliqu


sur Non

query off cancel

Traitement des botes de dialogue comme si l'utilisateur avait cliqu


sur Annuler

CoDeSys V2.3

10 - APPENDICE

Instruction de dbogage:
debug

Correspond l'instruction /debug dans la ligne de commande

Instruction pour l'appel de fichiers de commande sous forme de sous-programmes:


call <paramtre1> ...
<paramtre10>

Appel de fichiers de commande sous forme de sous-programmes. 10


paramtres au maximum peuvent tre passs. A l'intrieur du fichier
appel, il est possible d'accder aux paramtres au moyen de $0 - $9.

Instructions pour dfinir les rpertoires utiliss par CoDeSys: (-> catgorie Gnral dans la bote de
dialogue des options du projet pour 'Rpertoires' : si plusieurs rpertoires sont dsigns par une seule
commande, ceux-ci doivent tre spars par un point-virgule suivi dun espace et toute la srie doit
tre place entre deux apostrophes;
Exemple, deux rpertoires :
dir lib ODQ\codesys\Libraries\StandardR DQ\codesys\Libraries\NetVarO
dir lib <libdir>

Dfinition de <libdir> comme rpertoire des bibliothques

dir compile <compiledir>

Dfinition de <compiledir> comme rpertoire pour les fichiers de


compilation

dir config <config>

Dfinition de <configdir> comme rpertoire pour les fichiers de


configuration

dir upload <uploaddir>

Dfinition de <uploaddir> comme rpertoire pour les fichiers de


chargement

Instruction pour retarder l'excution de CMDFILE:


delay 5000

Attendre 5 secondes

Instructions pour contrler le gestionnaire d'espion et de recettes:


watchlist load <file>

Charger la liste d'espion enregistre dans <file> et ouvrir la fentre


correspondante ('Extras' 'Charger la liste d'espion')

watchlist save <file>

Enregistrer la liste d'espion actuelle dans <file> ('Extras' 'Enregistrer la


liste d'espion')

watchlist set <texte>

La liste d'espion est dfinie comme liste d'espion actuelle (correspond


la slection de la liste dans la partie gauche du gestionnaire d'espion
et de recettes)

watchlist read

Actualise les valeurs des variables d'espion ('Extras' 'Lire la recette')

watchlist write

Affecte les valeurs contenues dans la liste d'espion aux variables


d'espion ('Extras' 'Ecrire la recette')

Intgration de bibliothques :
library add
<Fichier de bibliothque1>
<Fichier de bibliothque2> ..
<Fichier de bibliothqueN>

Rattache les fichiers de bibliothque indiqus la liste de


bibliothques du projet en cours. Si le chemin daccs au fichier est
relatif, le rpertoire de bibliothques dfini au sein du projet est
employ comme racine du chemin.

library delete
[<Bibliothque1>
<Bibliothque2> ..
<BibliothqueN>]

Efface les bibliothques mentionnes dans la liste du projet en cours.

CoDeSys V2.3

10-79

Instructions de fichier de commande (Cmdfile)

Copie dobjets :
object copy
<Fichier projet source>
<Chemin source>
<Chemin cible>

Copie les objets du chemin source du fichier source indiqu vers le


chemin cible du projet qui vient dtre ouvert.
Si le chemin source est le nom dun objet, ce dernier est copi. Sil sagit
dun rpertoire, tous les objets contenus dans ce rpertoire sont
copis. Dans ce cas, la structure sous le rpertoire source est
galement reprise.
Si le chemin cible n'existe pas encore, celui-ci est cr.

setreadonly
<TRUE|FALSE> <Type
d'objet>| <Nom d'objet>

Avec la valeur TRUE, l'objet n'est accessible qu'en lecture. Pour les
types d'objets pou, dut, gvl, vis, il faut en outre indiquer le nom de
l'objet.
Types d'objets possibles : pou (module), dut (type de donnes), gvl
(liste des variables globales), vis (visualisation), cnc (objet CNC), liblist
(bibliothques, rglages cible (configuration du systme cible),
toolinstanceobject (instance dans les outils), toolmanagerobject (toutes
les instances dans les outils), customplconfig (configuration de
l'automate), projectinfo (informations sur le projet), taskconfig
(configuration des tches), trace, watchentrylist (gestionnaire d'espion
et de recettes), alarmconfig (configuration d'alarme)
P.ex. seul un accs en lecture est possible aprs "object setreadonly
TRUE pou plc_prg" dans PLC_PRG

Configuration des paramtres de communication (passerelle, appareil) :


gateway local

Dfinit la passerelle de lordinateur local comme passerelle actuelle.

gateway tcpip <Adresse>


<Port>

Dfinit la passerelle de lordinateur distant indiqu comme passerelle


actuelle.
<Adresse>: adresse TCP/IP ou nom de lordinateur distant
<Port>: port TCP/IP de la passerelle distante
Attention : on ne peut atteindre que les passerelles pour lesquelles un
mot de passe na pas t dfini !

device guid <guid>

Dfinit lappareil avec le GUID indiqu comme appareil actuel.


Le GUID doit correspondre au format suivant :
{01234567-0123-0123-0123-0123456789ABC}
Les accolades et les traits dunion doivent se trouver aux positions
indiques.

device name<nom
dappareil>

Dfinit lappareil dont le nom est indiqu comme appareil actuel.

device instance <nom


dinstance>

Dfinit le nom dinstance pour lappareil actuel selon le nom indiqu.

device parameter
<Id>|<nom de paramtre>
<valeur>

Attribue au paramtre dont lidentit ou le nom est indiqu(e) la valeur


indique, qui est alors interprte par lappareil.

Appel du systme :
system <commande>

10-80

Excute la commande du systme dexploitation indiqu.

CoDeSys V2.3

10 - APPENDICE

Slection du systme cible :


target <Id>|<nom>

Dfinit la plate-forme cible pour le projet en cours. Entre de lidentit


ou du nom tels que dfinis dans le fichier cible. Si CoDeSys est
dmarr avec loption de lignes de commande /notargetchange , alors
un systme cible ne pourra tre configur que via cette commande.

Commandes relatives la gestion du projet dans la base de donnes de projet ENI :


Dans la description des commandes ci-aprs, les espaces rservs suivants sont utiliss :
<catgorie>: remplacer par 'project', 'shared' ou 'compile' pour les catgories de base de donnes
Projet, Objets communs, Fichiers de compilation
<Nom de module> : Le nom de lobjet concidant avec le nom dobjet utilis dans CoDeSys.
<Type dobjet> : remplacer par labrviation qui a t attribue lobjet dans la base de donnes,
servant dextension au nom du module et caractrisant le type dobjet (est dfinie par la liste des
types dobjets, voir Administration ENI, 'Object Types').
Exemple : Objet "GLOBAL_1.GVL" -> le nom du module est "GLOBAL_1", le type dobjet est
"GVL" (liste de variables globales)
<commentaire>: remplacer par le texte de commentaire compris entre guillemets (") qui sera
repris dans lhistorique de la version de chaque action.
Commandes pour la configuration de la contrle du projet via le serveur ENI :
eni on
eni off

Loption 'Utiliser base de donnes projet ENI' est (ds)active.


(Bote de dialogue 'Projet' 'Options' 'Base de donnes du projet')

eni project readonly on


eni project readonly off

Loption 'Accs en lecture seule' pour la base de donnes


Catgorie projet est (ds)active
(Bote de dialogue 'Projet' 'Options' 'Base de donnes du projet'
'Objets du projet')

eni shared readonly on


eni shared readonly off

Loption 'Accs en lecture seule' pour la base de donnes


Catgorie Objets communs est (ds)active
(Dialogue 'Projet' 'Options' 'Base de donnes du projet', 'Objets
communs')

eni set local <nom du module> Classe le module dans la catgorie 'Local', il nest alors pas gr
dans la base de donnes du projet
(Dialogue 'Projet' 'Objet' 'Proprits' 'Liaison au contrle de
ressources')
eni set shared <nom du
module>

Classe le module dans la catgorie de base de donnes 'Objets


communs'
(Dialogue 'Projet' 'Objet' 'Proprits' 'Liaison au contrle de
ressources')

eni set project <nom du


module>

Classe le module dans la catgorie de base de donnes 'Projet'


(Dialogue 'Projet' 'Objet' 'Proprits' 'Liaison au contrle de
ressources')

eni <Catgorie> server


<Adresse TCP/IP> <Port>
<nom du projet> <nom
dutilisateur> <mot de passe>

Configure la connexion au serveur ENI pour la catgorie 'Objets


de projet'
(Dialogue 'Projet' 'Options' 'Liaison au contrle de ressources');
Exemple :
eni project server localhost 80 batchtest\project EniBatch
Batch
(Adresse TCP/IP= localhost, Port = 80, nom du projet = batchtest\project, nom
dutilisateur = EniBatch, mot de passe = Batch)

CoDeSys V2.3

10-81

Instructions de fichier de commande (Cmdfile)

eni compile sym on


eni compile sym off

Loption 'Crer une information de symboles ASCII' est


(ds)active pour les objets de la catgorie 'Fichiers de
compilation'
(Bote de dialogue 'Projet' 'Options' 'Liaison au contrle de
ressources' 'Configuration ENI' pour 'Fichiers de compilation')

eni compile sdb on


eni compile sdb off

Loption 'Crer une information de symboles binaires' est


(ds)active pour les objets de la catgorie 'Fichiers de
compilation'
(Bote de dialogue 'Projet' 'Options' 'Liaison au contrle de
ressources')'Configuration ENI' pour 'Fichiers de compilation')

eni compile prg on


eni compile prg off

Loption 'Crer fichier dinitialisation' est (ds)active pour les


objets de la catgorie Fichiers de compilation
(Bote de dialogue 'Projet' 'Options' 'Liaison au contrle de
ressources')'Configuration ENI' pour 'Fichiers de compilation')

Commandes du menu 'Projet' 'Liaison avec la base de donnes' pour travailler avec la base de
donnes :

10-82

eni set <categorie>

Lobjet est attribu la catgorie de base de donnes ('Dfinir')

'eni set <categorie>set


<type dobjet>:<nom du
module> <type dobjet>:<nom
du module>

Les objets indiqus dans une liste et spars par des espaces
sont attribus la catgorie de base de donnes. ('Dfinition
multiple')
Exemple:
"eni set project pou:as_fub pou:st_prg"
(les modules (pou) as_fub und st_prg sont attribus la catgorie
de base de donnes)

eni <categorie> getall

Tous les objets de la catgorie sont reprises de la base de


donnes du projet ('Dernires Versions')

'eni <categorie>get
<type dobjet>:<nom du
module> <type dobjet>:<nom
du module>

Les objets de la catgorie donne, indiqus dans une liste et


spars par des espaces, sont reprises de la base de donnes.
('Dernire version')
Exemple:
"eni project get pou:as_fub gvl:global_1"
(le module as_fub.pou et la liste des variables globale
global_1.gvl sont reprises de la base de donnes)

eni <categorie> checkoutall


"<commentaire>"

Tous les objets de la base de donnes du projet subissent un


check-out. La procdure de check-out est accompagne dun
<commentaire>.

'eni <categorie> checkout


"<commentaire>"
<type dobjet>:<nom du
module> <type dobjet>:<nom
du module>

Les objets de la catgorie concerne, indiqus dans une liste par


type dobjet:nom du module et spars par des espaces,
subissent une check-out hors de la base de donnes ('Check
out'). La procdure de check-out est accompagne dun
<commentaire> dans lhistorique de la version.
Exemple:
"eni project checkout "pour l'dition de xy" pou:as_fub
gvl:global_1"
(POU "as_fub" et la liste de variables globale "global_1"
subissent un check-out et cette procdure est commente de
"Pour l'dition de xy")

eni <categorie>checkinall
"<commentaire>"

Tous les objets du projet grs dans la base de donnes du


projet subissent un check-in.La procdure de check-in est
accompagne dun <commentaire>.

CoDeSys V2.3

10 - APPENDICE

'eni <categorie> checkin


"<commentaire>"
<type dobjet>:<nom du
module> <type dobjet>:<nom
du module>

Les objets indiqus dans une liste par type dobjet:nom du module
et spars par des espaces subissent un check-in dans la base
de donnes du projet. La procdure de check-in est
accompagne dun <commentaire>.

Mots-cls pour les paramtres de commande :


Lors de la spcification des paramtres de commande, vous pouvez utiliser les mots-cls ci-dessous
contenus dans des "$".
$PROJECT_NAME$ Nom du projet CoDeSys en cours (nom du fichier sans lextension ".pro", p.ex.
"project_2.pro")
$PROJECT_PATH$ Chemin daccs du rpertoire dans lequel le fichier de projet CoDeSys se
trouve (sans mention du lecteur et sans barre oblique inverse la fin, p.ex.
"projects\sub1").
$PROJECT_DRIVE$ Lecteur sur lequel se trouve le projet CoDeSys en cours. (sans barre oblique
inverse la fin, p.ex. "D:")
$COMPILE_DIR$

Rpertoire de compilation du projet CoDeSys en cours (sans mention du


lecteur et sans barre oblique inverse la fin, p.ex. "D:\codesys\compile")

$EXE_DIR$

Rpertoire dans lequel se trouve le fichier exe CoDeSys (avec mention du


lecteur et sans barre oblique inverse la fin, p.ex. D:\codesys)

Exemple de fichier de commande <command file name>.cmd :

file open CQ\projects\CoDeSys_test\signal.pro


query off ok
watchlist load cQ\work\w.wtc
online login
online run
delay 1000
watchlist read
watchlist save $PROJECT_DRIVE$\$PROJECT_PATH$\w_update.wtc
online logout
file close
Ce fichier de commande ouvre le fichier de projet signal.pro, charge une liste d'espion charge sous
le nom w.wtc, dmarre le programme utilisateur, crit les valeurs des variables dans la liste d'espion
w_update.wtc au bout d'1 seconde et enregistre galement la liste d'espion dans le rpertoire
"C:\projects\CoDeSys_test" avant de refermer le projet.
Le fichier de commande est appel dans une ligne de commande comme suit :
"<Chemin d'accs Fichier Exe CoDeSys>" /cmd "<Chemin d'accs Fichier cmd>"

CoDeSys V2.3

10-83

Instructions de fichier de commande (Cmdfile)

10-84

CoDeSys V2.3

10 - APPENDICE

Appendice G Importation de fichiers Siemens


Le sous-menu 'Projet' 'Importer un fichier Siemens' propose des commandes destines
l'importation de blocs et de variables contenus dans les fichiers Siemens STEP5 et STEP7. La
commande 'Importer un fichier SEQ' permet d'importer des variables globales contenues dans le
fichier de symboles STEP5. Il convient d'activer cette option avant d'appeler les commandes
'Importer un fichier S5', de faon ce que des noms symboliques utilisables soit crs partir
d'adresses absolues, lors de l'importation de blocs. Ces deux commandes servent respectivement
importer des blocs partir de fichiers programme STEP5. Ce faisant, les blocs sont insrs dans le
projet CoDeSys qui est ouvert. Vous pouvez choisir de laisser les blocs en langage STEP5-IL ou bien
de les convertir dans un langage CEI.
Il est prfrable que le projet CoDeSys vers lequel vous importez soit vide. Il faut toutefois veiller ce
que la bibliothque standard.lib soit lie votre projet, sinon vous ne pourrez importer ni compteurs ni
temporisateurs.
Importer un fichier SEQ
Le format SEQ est un format courant pour le fichier symbolique dans un projet STEP5 ou STEP7. Il
est possible de lire des affectations symboliques partir du fichier symbolique SEQ (*.seq). Une
affectation symbolique contient une adresse absolue d'un lment de programmation S5 (entre,
sortie, mmento, etc.), l'identificateur symbolique correspondant et, en option, un commentaire sur le
symbole. Un fichier SEQ est un fichier texte qui contient une affectation de ce type par lignes. Les
"champs" de l'affectation sont spars par des tabulations. Une ligne peut ne comporter qu'un seul
commentaire; dans ce cas, elle doit commencer par un point-virgule.
Les affectations symboliques dans un fichier SEQ sont compiles en dclarations de variables
globales, d'aprs la norme CEI 61131-3. Ce faisant, le nom symbolique, l'adresse et, le cas chant,
le commentaire sont pris en compte. L'adresse est adapte d'aprs la norme CEI 61131-3 (signe de
pourcentage etc.). Etant donn qu'un nom symbolique S5 peut contenir des caractres qui ne sont
pas autoriss au sein d'un identificateur CEI, il se peut que le nom soit modifi. Les caractres non
valides sont tout d'abord remplacs par des caractres de soulignement; pour viter que plusieurs
caractres de soulignement ne se suivent directement, le deuxime caractre de soulignement est
remplac dans ce cas par un caractre valide (p.ex. '0'). Si un nom symbolique a t modifi en cours
de conversion, alors le nom d'origine est rajout derrire le nouveau nom sous forme de
commentaire. Les lignes de commentaire SEQ sont prises en compte titre de commentaires. Il est
possible de crer plusieurs blocs de variables globales. Chaque bloc comprend moins de 64K de
texte.
Le format SEQ, dcrit prcdemment, est utilis par le logiciel Siemens STEP5 PG et par l'ACCON
PG de DELTALOGIC. Ce format SEQ ne contient aucun caractre de sparation (tabulations), mais
table au contraire sur une longueur fixe des noms symboliques et complte si ncessaire les noms au
moyen d'espaces.
L'utilisateur choisit dans une bote de dialogue Windows standard le fichier SEQ. Ensuite l'importation
est effectue, et pour finir la liste de variables globale est compile. Ce faisant, des erreurs peuvent
se produire, cause de la transformation d'identificateurs STEP5 en identificateurs conformes la
norme CEI 61131-3. Prenons un exemple. Deux identificateurs STEP5 "A!" et "A?" sont convertis tous
deux en identificateur CEI "A_", ce qui provoque l'affichage du message "Plusieurs dclarations
possdent des identificateurs identiques 'A_'" Modifiez un des deux identificateurs.
Il ne faut en aucun cas effectuer des modifications autres que celle-ci dans la liste de variables
globales. Si vous voyez des adresses qui sont valides sur un automate programmable Siemens mais
pas sur votre propre automate, laissez les provisoirement telles quelles, mme si des milliers de
messages d'erreur apparaissent lors de la compilation. Ces adresses seront utilises telles quelles
lors de l'importation des blocs.
Si le projet vers lequel vous importez contient dj une dclaration de variable globale x avec une
adresse (p.ex. "%MX4.0"), il se peut qu'une nouvelle variable avec la mme adresse soit dfinie, au
cours de l'importation SEQ. La norme CEI 61131-3 autorise cela, mais souvent ce n'est pas vrai pour
l'utilisateur. Vous n'obtenez aucun message d'erreur, mais votre programme ne fonctionnera peut tre
pas comme souhait, car l'adresse est utilise dans plusieurs modules sans aucun lien entre eux.
C'est pourquoi il est prfrable d'importer vers un projet vide ou vers un projet qui n'utilise pas
(encore) d'adresses absolues.
CoDeSys V2.3

10-85

Instructions de fichier de commande (Cmdfile)

Aprs avoir effectu l'importation SEQ, vous pouvez prsent importer des blocs STEP5 ou 7. Vous
pouvez aussi ds prsent insrer les entres et sorties utilises dans la configuration de l'automate.
Celles-ci ne sont pas requises pour l'importation STEP5, mais les adresses utilises sont vrifies ds
que vous compilez nouveau votre projet, et sont signales comme erreurs, le cas chant.
Importer un fichier S5
Il est possible de lire des blocs partir de fichiers programme Siemens S5 (*.s5d). Le code contenu
est le code MC-5, qui peut tre excut par l'automate programmable S5. Le code MC5 correspond
en gnral directement la liste d'instructions STEP5 (sans noms symboliques). De plus, le SD5
contient les commentaires relatifs aux lignes de la liste d'instruction STEP5. Etant donn qu'un fichier
S5D ne contient aucun nom symbolique, mais uniquement des adresses absolues, CoDeSys cherche
le nom symbolique correspondant l'adresse dans les variables existant dj au sein du projet
CoDeSys. Si CoDeSys ne trouve aucun nom, alors l'adresse absolue reste inchange. Par
consquent, si vous attachez de l'importance aux noms symboliques, importez le fichier SEQ avant
d'importer le fichier S5.
L'utilisateur choisit dans une bote de dialogue Windows standard le fichier S5D. Ensuite une autre
bote de dialogue propose la liste des blocs pouvant tre slectionns. Il est prfrable de choisir la
totalit des blocs. Vous pouvez galement choisir de laisser les blocs en langage STEP5-IL ou de les
convertir en langage IL, LD ou FBD.
Dans la mesure du possible, on utilise, au cours de l'importation, des noms symboliques en lieu et
place des adresses absolues. Lorsque CoDeSys trouve une instruction telle que "U M12.0" pendant
l'importation, alors il cherche une variable globale qui est dfinie sur le mmento M12.0. La premire
dclaration qui convient est retenue et l'instruction est importe sous forme de "U Nom" et non sous
la forme "U M12.0" (Nom est ici l'identificateur symbolique du mmento M12.0).
Parfois, l'importation ou la conversion du code ncessite des variables supplmentaires. Celles-ci
sont dclares globalement. Par exemple, pour reproduire des entres actives par un front montant
ou descendant (p.ex. pour un compteur S5), on doit faire appel des instances R_TRIG.
Conversion de S5 vers CEI 61131-3
Si, pour l'importation STEP5, vous avez choisi un langage CEI comme langage cible, vous devez
tabler sur le fait que votre projet n'est pas convertible intgralement d'aprs la norme CEI 61131-3. Si
une partie d'un bloc S5 contient un code qui n'est pas convertible d'aprs la norme CEI 61131-3, alors
un message d'erreur appropri est affich et le code STEP5 IL d'origine qui pose problme est intgr
dans le module CEI sous forme de commentaire. En rgle gnrale, ce code doit tre remplac par
vous mme, c.--d. que vous devez le rcrire. Les commandes systme qui ne fonctionnent que sur
un systme S5 donn ne sont pas convertible en CEI. Le "jeu de commandes de base STEP5" peut
tre converti en code CEI en appuyant sur un bouton, bien que STEP5 prsente des diffrences de
principe considrables.
Le jeu de commandes de base, convertible d'aprs la norme CEI 61131-3, comprend toutes les
commandes d'un systme de programmation STEP5 convertibles en langage LD ou FBD, ainsi que
toutes les commandes qui sont autorises dans un PB-STEP5 (bloc de programme). De plus, parmi
les commandes STEP5 qui sont autorises uniquement en langage IL ou dans des FB (blocs
fonctionnels), celles qui sont rellement disponibles sur tous les systmes S5, comme par exemple
les sauts absolus ou conditionnels, les commandes de dcalage, etc., sont gnralement convertibles
en CEI.
La seule exception ou restriction au niveau de la conversion concerne la remise zro des
temporisateurs, qui est possible en STEP5 mais pas avec la norme CEI 61131-3.
Commandes convertibles, dans le dtail:
U, UN, O, ON, S, R, = avec les oprandes binaires suivants: E (entres), A (sorties), M
(mmentos), S (mmentos S), D (donnes dans des blocs de donnes)
U, UN, O, ON avec les oprandes suivants: T (temporisateurs), Z (compteurs)
S, R avec les oprandes suivants: Z
SU, RU, P, PN avec les oprandes suivants: E, A, M, D
O, O(, U(, )
10-86

CoDeSys V2.3

10 - APPENDICE

L, T avec les plages d'oprandes suivantes: E, A, M, D, T, Z, P (priphrie) et les tailles


d'oprandes suivantes: B (octet), W (mot), D (mot double), L (octet gauche), R (octet droit)
L avec les formats de constantes suivants: DH, KB, KF, KH, KM, KT, KZ, KY, KG, KC
SI, SE, SA avec les oprandes suivants: T
ZV, ZR avec les oprandes suivants: Z
+, -, X, : avec les oprandes suivants: F (nombre en virgule fixe), G (nombre en virgule flottante)
+, - avec les oprandes suivants: D (nombre en virgule fixe 32 bits)
!=, ><, >, <, >=, <= avec les oprandes suivants: F, D, G
ADD avec les oprandes suivants: BF, KF, DH
SPA, SPB avec les oprandes suivants: PB, FB (avec la plupart des types de paramtres), SB
A, AX avec les oprandes suivants: DB, DX
BE, BEA, BEB
BLD, NOP, ***
UW, OW, XOW
KEW, KZW, KZD
SLW, SRW, SLD, RRD, RLD
SPA=, SPB=
SPZ=, SPN=, SPP=, SPM=
TAK
D, I
La plupart des commandes d'oprateurs formels
Commandes non convertibles
U, UN, O, ON, S, R, = avec les oprandes binaires suivants: Bits de temporisateurs et de
compteurs (T0.0, Z0.0)
L, T avec les plages d'oprandes suivantes: Q (priphrie tendue)
LC avec les oprandes suivants: T, Z
SV, SS, R, FR avec les oprandes suivants: T
FR avec les oprandes suivants: Z
Commandes d'oprateurs formels pour lancer, remettre zro et librer des temporisateurs
Toutes les commandes concernant des oprandes issus des plages BA, BB, BS, BT (donnes du
systme d'exploitation).
SPA, SPB avec les oprandes suivants: OB (fonctionne seulement sur certains S5 avec certains
OB)
BA, BAB avec les oprandes suivants: FX
E, EX avec les oprandes suivants: DB, DX
STP, STS, STW
DEF, DED, DUF, DUD
SVW, SVD
SPO=, SPS=, SPR
AS, AF, AFS, AFF, BAS, BAF
ENT
SES, SEF
CoDeSys V2.3

10-87

Instructions de fichier de commande (Cmdfile)

B avec les oprandes suivants: DW, MW, BS


LIR, TIR, LDI, TDI, TNW, TXB, TXW
MAS, MAB, MSA, MSB, MBA, MBS
MBR, ABR
LRW, LRD, TRW, TRD
TSG
LB, TB, LW, TW avec les oprandes suivants: GB, GW, GD, CB, CW, CD
ACR, TSC
BI
SIM, LIM
Si vous considrez les commandes non convertibles, vous constatez que la plupart sont des
commandes particulires, qui sont disponibles uniquement sur certains systmes. Les commandes
standard non convertibles sont: le chargement de valeurs de temporisateur ou de compteur codifis
en BCD (LC T, LC Z), les types de temporisateurs SV, SS et la remise zro de temporisateurs.
Blocs de donnes
Les blocs de donnes STEP5 sont convertis en modules dots d'un en-tte, mais dpourvus de code.
Cela reprsente un avantage si les blocs de donnes sont utiliss comme une plage normale de
variables et un dsavantage si l'on a tent soi-mme d'implmenter des concepts, tels que des blocs
de donnes servant d'instance, dans le programme STEP5.
Autres problmes pouvant survenir lors de l'importation STEP5
Il est possible d'amliorer soi-mme l'importation STEP5 pour les points suivants:
1. Valeurs de temps dans des variables en format mot
Dans STEP5, une valeur de temps peut se trouver dans n'importe quelle adresse WORD, que cela
soit l'intrieur de la plage des mmentos ou dans un bloc de donnes. Cela n'est pas autoris
d'aprs la norme CEI 61131-3. Les variables et les constantes TIME ne sont pas compatibles avec les
adresses WORD. En cours d'importation STEP5, il se peut qu'une squence de commandes
comportant une erreur de ce type soit gnre. Cela ne se produira pas si vous accdez un bloc de
donnes en ayant slectionn le format de temps (KT) pour l'adresse correspondante. Par
consquent, l'erreur n'apparat que lorsque le programme STEP5 est au moins susceptible d'tre
amlior. Vous reconnaissez cette erreur grce au message "Types incompatibles: Ne peut pas
convertir WORD en TIME " ou Types incompatibles: Ne peut pas convertir TIME en WORD". Lors
d'un traitement ultrieur vous devrez changer la dclaration de la variable WORD (si elle existe) et en
faire une variable TIME.
2. Erreur lors de l'accs des blocs de donnes
Les blocs de donnes ne sont pas reconnus par la norme CEI 61131-3 et il n'est pas possible de les
constituer d'aprs cette norme. Sans STEP5 les blocs de donnes sont soit utiliss comme plage
normale de variables (comme par exemple la plage des mmentos), soit sous forme de tableau (B
DW), de pointeur (B MW100, A DB 0) ou d'union (accs aux octets, mots ou mots doubles dans les
DB). La conversion STEP5 peut convertir des accs des DB uniquement si ceux-ci s'effectuent avec
un minimum de structuration. Concrtement, il faut savoir quel DB est actuellement ouvert (A DB)
pour effectuer un accs. Cette condition est remplie si l'opration A DB est situ plus avant dans le
mme bloc ou si le numro de DB est donn avec le bloc sous forme de paramtre formel. Si aucun A
DB n'est plac avant le premier accs au DB, alors le bloc ne peut pas tre converti. Vous
reconnaissez cela grce au message "Aucun bloc de donnes ouvert (insrez un A DB)". Au niveau
du bloc converti en module vous constatez dans ce cas des accs des variables non dfinies,
portant par exemple le nom "ErrorDW0", qui gnrent des messages d'erreur lors de la compilation du
bloc venant d'tre converti en module. Vous pouvez alors remplacer les variables par un accs au DB
appropri, par exemple en remplaant partout "ErrorDW0" par "DB10.DW0". Une autre possibilit
consiste liminer le bloc converti en module et d'insrer un A DB au dbut du bloc STEP5.
Dans tous les cas, il faut qu'un bloc STEP5 qui accde des mots de donnes (-octets, etc.)
commence par ouvrir le bloc de donnes. Au besoin, il faut que le bloc soit amlior avant
10-88

CoDeSys V2.3

10 - APPENDICE

l'importation, en insrant la commande A DB approprie, de prfrence au dbut du bloc. Autrement


le bloc converti devra faire l'objet d'un traitement ultrieur.
S'il existe plusieurs oprations A DB et qu'on les contourne en partie au moyen de sauts, alors la
conversion peut s'avrer errone du fait qu'un code accdant un DB impropre est gnr.
3. Concepts volus concernant l'accs des blocs de donnes
Dans STEP5, il existe la possibilit de raliser soi-mme quelque chose qui ressemble une
instance, en faisant en sorte qu'un bloc de code ouvre un bloc de donnes d'aprs son indexation.
C'est ce qui se produit par exemple avec la squence de code suivante:
L KF +5
T MW 44
B MW 44
A DB 0
Dans le cas prsent, c'est le DB5 qui est finalement ouvert (de faon gnrale le DB ouvert est celui
dont le numro figure dans le mot de mmento %MW44). De tels accs ne sont pas pris en compte
lors de la conversion, par consquent il faut procder ultrieurement au traitement suivant:
Il faut d'abord importer tous les DB qui fonctionnent comme instance, comme par exemple le DB5 et
le DB6. Vous pouvez choisir si ces dernier seront imports sous forme de modules IL, LD ou FBD
classiques. Les modules n'ont pas de code. Il possdent seulement un en-tte avec des dfinitions de
variables locales. Il est possible de raliser des instances de type partir de ces modules. Crez un
type dfini par l'utilisateur (que vous appelez par exemple DBTyp), dans lequel vous insrez titre de
composant la variable locale du DB converti. Crez ensuite des instances globales avec le type que
vous venez de dfinir, en crivant dans une liste de variables globales:
VAR_GLOBAL
DB5, DB6 : DBTyp;
END_VAR
Vous pouvez maintenant supprimer du projet les DB convertis.
Vous devez ensuite crer l'ouverture des DB d'aprs leur indexation, en attribuant au bloc
correspondant un paramtre VAR_INPUT supplmentaire, de type DBTyp. Les accs aux donnes
au sein du bloc doivent ensuite tre modifis en fonction de cette instance. Au moment de l'appel, il
faut transfrer comme paramtre actuel un des DB servant comme instance.
4. Les blocs fonctionnels S5 intgrs", qui possdent une interface d'appel STEP5, mais pour
lesquels l'implmentation n'est pas crite en STEP5 (ou en MC5, selon le cas) ou pour lesquels un
mcanisme de protection particulier est prvu, jouent un rle particulier. Les blocs de ce type se
prsentent la plupart du temps sous forme de firmware et peuvent tre imports uniquement sous
forme d'interface". Leur partie d'implmentation reste vide. Ces blocs doivent en principe tre
reprogramms lors d'une conversion.
5. Il existe aussi des OB de type firmware, qui ne possdent pas d'interface et dont le code n'est pas
en format STEP5, mais par exemple en assembleur 805xx. Cela concerne avant tout le rgulateur
PID dans sa version OB251, qui reoit ses paramtres et ses variables locales d'un autre bloc (de
donnes), qui peut tre choisi par l'utilisateur. Ni les rgulateur PID, ni les blocs de donnes
correspondants, ni aucun autre bloc utilisant le rgulateur en accdant sur le bloc de donnes, ne
sont convertibles en CEI. Le code CEI qui est gnr, lors de la conversion, pour les blocs de
donnes et les autres blocs, n'est pas utile en l'absence du rgulateur PID. La signification des parties
de programme peut tre obtenue en consultant le manuel de programmation qui se rapporte l'unit
centrale concerne.
6. Pour configurer des units centrales S5, et parfois des sous-groupes, il existe parfois des blocs de
donnes de configuration, comme le DB1 (S5-95U), DX0, DX2, qui sont convertis en modules CEI
sans utilit. La signification de telles donnes est obtenue d'une part en consultant le manuel de
programmation qui se rapporte l'unit centrale concerne, et d'autre part en faisant appel un
systme de programmation S5 capable d'valuer les DB de configuration. La configuration concerne
par exemple les rglages au niveau de la communication, du traitement de valeurs analogiques, des
systmes multiprocesseurs, etc. C'est pourquoi il n'est pas intressant d'apporter une quelconque
CoDeSys V2.3

10-89

Instructions de fichier de commande (Cmdfile)

modification ces blocs lors du transfert vers un automate programmable qui n'est pas fabriqu par
Siemens.
A la fin de l'importation vous devez rechercher les erreurs signales par des messages et effectuer
aux endroits correspondants les corrections, les ajouts ou les remplacements ncessaires. Ces
endroits sont signals par un commentaire, qui commence par:
(*ATTENTION! Code STEP5 non convertible affich en commentaire:*)
Le commentaire contient ensuite le code non convertible.
Pour terminer, il faut prendre en considration les adresses. Lors de l'importation, des adresses
Siemens d'origine sont gnres. En voici la structure:
Bits: Byte-Offset.Bit-Numro
Autres que des bits:Byte-Offset
De plus, les adresses WORD qui se suivent immdiatement se recoupent (car les nombres dans les
adresses sont des bytes-offsets). C'est pourquoi un byte de %MW32 et un byte de %MW33 se
recoupent, en l'occurrence %MB33 (cela n'est vrai que pour un automate programmable Siemens).
Sur votre automate programmable, %MW32 et %MW33 sont compltement indpendant l'un de
l'autre.
Votre automate programmable possde ventuellement plusieurs niveaux de hirarchie, les lments
autres que des bits ayant par exemple plusieurs niveaux d'embotement ("%MW10.0.0" sous forme de
WORD). Vous pouvez, soit complter les adresses de faon les rendre compatibles avec votre
automate programmable, soit renoncer compltement aux adresses. Dans ce cas, vous devez tre
trs prudent !! Dans les programmes Siemens d'origine, on rencontre souvent, dans la mme zone de
mmoire, tantt un accs WORD et tantt un accs binaire ou byte. Lors de l'importation dans
CoDeSys, ces accs sont compils correctement seulement dans le cas de blocs de donnes. Dans
ce cas, CoDeSys cre des variables WORD pour les mots l'intrieur les DB. L'accs WORD au mot
X l'intrieur du DB Y s'effectue alors sans problme. Les accs au byte gauche ou droit du mot X,
les accs mot double ou les accs binaires sont compils sous forme d'expressions complexes. Cela
n'est pas possible dans le cas de mmentos, d'entres ou de sorties, tant donn qu'on ne peut pas
tabler sur un type d'accs standard (p.ex. accs WORD). Par consquent, si le programme travaille
tantt avec %MX33.3, tantt avec %MB33, %MW32 ou %MD30, alors vous devez convertir cela par
vous mme, non sans peine. Sinon, le programme CEI gnr par CoDeSys lors de l'importation
comportera coup sr des erreurs.
Faites sortir une liste des rfrences croises pour l'ensemble des entres, sorties et mmentos, pour
dtecter les accs problmatiques. Ecartez les accs qui interfrent.

10-90

CoDeSys V2.3

10 - APPENDICE

Appendice H Dialogues de la configuration du systme cible

10.26 Dialogue de la configuration du systme cible


Les configurations des systmes cibles prdfinies dans le fichier cible peuvent encore le cas chant
tre modifies par lutilisateur dans CoDeSys. Il faut pour ce faire quils aient t entrs dans le fichier
cible avec les configurations 'visible' et 'modifiable'.
Vous trouverez la bote de dialogue 'Paramtres de la cible' la rubrique du mme nom sous
longlet Ressources, et cette bote de dialogue affiche au minimum dans le champ derrire
Configuration le nom de la configuration de la cible concerne. Vous trouverez en outre
ventuellement quatre onglets sous lesquels diffrentes configurations quant
Plate-forme de la cible
Composition du mmoire
Gnral
Fonctions de rseau
Visualisation
sont rendues visibles et peuvent galement tre modifies.
Attention : Veuillez noter que toute modification de la configuration prrgle du fabricant 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.
La description du contenu possible des catgories de botes de dialogue Rpartition de la mmoire,
Gnralits et Fonctions rseau valent pour toutes les plates-formes. Les points de la catgorie du
dialogue Plate-forme cible varient quant eux en fonction des diffrents systmes cibles.
Les plates-formes suivantes sont actuellement supportes :
Intel 386 et compatibles
Motorola 68k
Infineon C16x
PowerPC
Intel StrongARM
MIPS III ISA
Hitachi SH
8051

CoDeSys V2.3

10-91

Catgorie: Plate-forme cible

10.27 Catgorie: Plate-forme cible


10.27.1

Systme cible 'Intel 386 et compatibles', Catgorie Plate-forme de la cible


Bote de dialogue Paramtres du cible 'Intel 386 et compatibles', Plate-forme de la cible

Point du dialogue

Signification

Plate-forme

Type de systme cible

Options de processeur
virgule flottante

Les commandes FPU sont gnres sur la plate-forme x86 pour les
oprations virgule flottante

Du code supplmentaire permettant le dbogage dans des systmes


Dbogage en
environnement multitche multitche est gnr
Sauts optim

Sauts conditionnels amliors aprs comparaison ; Code plus rapide


et plus court (particulirement sur 386/486); Lignes avec conditions de
saut apparaissent en gris dans le Flowcontrol

Oprations optimes avec Oprations amliores avec des constantes (A = A + 1, A < 500 etc.);
Code plus rapide et plus court (particulirement sur 386/486); les
des constantes
constantes apparaissent en gris dans le Flowcontrol
Oprations de chargement Les oprations de chargement sont omises en cas daccs multiple
une variable / une constante ; Code plus rapide et plus court
optimes

10-92

CoDeSys V2.3

10 - APPENDICE

10.27.2

Systme cible Motorola 68K, Catgorie Plate-forme de la cible


Bote de dialogue Paramtres du cible 'Motorola 68K', plate-forme de la cible

Point du dialogue

Signification

Plate-forme

Type de systme cible

CPU :

Variante du processeur 68k; version de base 68000 ou CPU32 et plus;


Valeurs valides: CPU32|68K

Processeur virgule
flottante

Les commandes FPU sont gnres pour les oprations virgule


flottante

Utiliser dcalages de
sauts 16 bits

activ : les sauts pour lvaluation dexpressions boolennes


fonctionnent avec des dcalages relatifs de16 bits (expressions plus
complexes
possibles,
mais
plus
de
code) ;
dsactiv: des dcalages 8 bits sont utiliss ;

Registre rserv 1 :

Le registre dadresses indiqu est rserv et nest pas utilis. Si "None"


est indiqu, il peut tre utilis par le gnrateur de code; Valeurs
valides : None, A2, A4, A5, A6

Registre rserv 2 :

Autre registre dadresses rserves. Le registre dadresses indiqu est


rserv et nest pas utilis. Si "None" est indiqu, il peut tre utilis par le
gnrateur de code; Valeurs valides : None, A2, A4, A5, A6

Registre de base pour


les donnes de
bibliothques :

Registre pour ladressage de donnes statiques au sein de bibliothques


C (ladresse de lespace libre y est charge avant lappel des fonctions
de bibliothque)

Structures alignes sur


octet autorises

Adressage en mode octet (adresses impaires galement possibles)

Mode de sortie

Rglage "Assembleur" ou "Dsassembleur" : Lors de la compilation, un


fichier en format hexadcimal est cr dans le rpertoire de compilation
configur ('Projet' 'Options' 'Rpertoires'). Celui-ci contient le code
Assembleur ainsi que le code Dsassembleur qui ont t crs. Rglage
"Nothing" : pas de fichier en format hexadcimal cr.

CoDeSys V2.3

10-93

Catgorie: Plate-forme cible

10.27.3

Systme cible Infineon C16x, Catgorie Plate-forme de la cible


Bote de dialogue Paramtres du cible 'Infineon C16x', plate-forme de la cible

10-94

Point du dialogue

Signification

Plate-forme

Type de systme cible

Code / Compilateur :

Compilateur utilis lors de la compilation du systme cible et des


bibliothques (en raison des conventions dappel C)
BSO-Tasking|Keil

Code / Taille de pile :

Profondeur maximale dappel (embotement)


Valeurs valides : 32, 64, 96, 128, 160, 192, 224, 256

Code / Donnes

Type
de
mise
en
mmoire
Valeurs valides : Huge, Far, Near

Code / Fonctions

Type
de
mise
en
Valeurs valides : Huge, Near

Init. fonctions

activ=les fonctions comportent du code dinitialisation pour les variables


locales

Optimer

activ=optimisation du code pour les index de tableaux constants

Sortie HEX

activ=cration d'un fichier en format hexadcimal avec le code

Sortie BIN

activ=cration d'un fichier binaire avec le code

Sortie MAP

activ=cration d'un fichier MAP avec le code

Sortie LST

activ=cration d'un fichier de listage avec le code

Sortie LST, avec


adresses

activ=cration dune liste des adresses du code

Bibliothques /
Code
Tableaux
Donnes
Longueur des donn
Bloc Fonctionels

Rglages pour les bibliothques :


Adresse de dpart pour le code
Adresse de dpart pour les tableaux
Adresse de dpart pour les donnes
Longueur de toutes les donnes des bibliothques
Nombre maximal de modules de bibliothque : Valeurs valides : 0-512

pour

mmoire

pour

les

donnes
le

code

CoDeSys V2.3

10 - APPENDICE

Rfrences

Nombre maximal de rfrences

DPPs / DPP0..DPP2
Dans les instances

Data Page Pointer 0 bis 2 sont mises


Valeurs valides: None, Auto, Page 0, Page 1,...,Page 255
DPP pour breve adressement dans instances de blocs fonctionnels
Valeurs valides: None, DPP0, DPP1, DPP2

10.27.4

Systmes cibles Intel StrongARM et Power PC, Catgorie Plate-forme de la cible


Les points de dialogue sont identiques pour les deux systmes cibles.
Bote de dialogue Paramtres du cible 'Intel StrongARM', plate-forme de la cible

Point du dialogue

Signification

Plate-forme

Type de systme cible

Processeur virgule
flottante

activ : Les commandes FPU sont gnres pour les oprations virgule
flottante

Premier registre de
paramtres (Integer)

Registre dans lequel le premier paramtre (nombre Integer) dappel de


fonction C est transmis (domaine dpendant du systme dexploitation)

Dernier registre de
paramtres (Integer)

Registre dans lequel le dernier paramtre (nombre Integer) dappel de


fonction C est transmis (domaine dpendant du systme dexploitation)

Registre pour valeur


renvoye (Integer)

Registre dans lequel les valeurs Integer dappel de fonction C sont


renvoyes (domaine dpendant du systme dexploitation)

Premier registre de
paramtre (virgule
flottante)

Registre dans lequel le premier paramtre (nombre virgule flottante)


dappel de fonction C est transmis (domaine dpendant du systme
dexploitation)

Dernier registre de
paramtre (virgule
flottante)

Registre dans lequel le dernier paramtre (nombre virgule flottante)


dappel de fonction C est transmis (domaine dpendant du systme
dexploitation)

CoDeSys V2.3

10-95

Catgorie: Plate-forme cible

10.27.5

Registre pour valeur


renvoye (virgule
flottante)

Registre dans lequel les valeurs virgule flottante dappel de fonction C


sont renvoyes (domaine dpendant du systme dexploitation)

Ordre d'octet Intel

activ : Structure dadressage par octet d'Intel est utilise

Taille max. des


arguments sur la pile
(octets) :

Taille de la pile pour arguments en octets. Valeur par dfaut : 40

Systme cible MIPS III ISA, Catgorie Plate-forme de la cible


Bote de dialogue Paramtres du cible 'MIPS III ISA', plate-forme de la cible

10-96

Point du dialogue

Signification

Plate-forme

Type de systme cible

Premier registre de
paramtres (Integer)

Registre dans lequel le premier paramtre (nombre entier) dappel de


fonction C est transmis (domaine dpendant du systme dexploitation)

Dernier registre de
paramtre (Integer)

Registre dans lequel le dernier paramtre (nombre entier) dappel de


fonction C est transmis (domaine dpendant du systme dexploitation)

Registre pour valeur


renvoye (Integer)

Registre dans lequel les valeurs entires dappel de fonction C sont


renvoyes (domaine dpendant du systme dexploitation)

Taille max. des


arguments sur la pile
(octets) :

Dpend du systme d'exploitation taille maximale des arguments qui


peuvent tre transmis dans le projet par le biais de la pile (en octets)

CoDeSys V2.3

10 - APPENDICE

10.27.6

Systme cible Hitachi SH, Catgorie Plate-forme de la cible


Bote de dialogue Paramtres du cible 'Hitachi SH', plate-forme de la cible

Point du dialogue

Signification

Plate-forme

Type de systme cible

Premier registre de
paramtre (Entier)

Registre dans lequel le premier paramtre (nombre entier) dappel de


fonction C est transmis (domaine dpendant du systme dexploitation)

Dernier registre de
paramtre (Entier)

Registre dans lequel le dernier paramtre (nombre entier) dappel de


fonction C est transmis (domaine dpendant du systme dexploitation)

Registre pour valeur


renvoye (Entier)

Registre dans lequel les valeurs entires dappel de fonction C sont


renvoyes (domaine dpendant du systme dexploitation)

Processeur virgule
flottante

activ : Les commandes FPU sont gnres pour les oprations virgule
flottante

Premier registre de
paramtres (flottant)

Premier registre pour les paramtres virgule flottante (domaine dpend


du systme d'exploitation)

Dernier registre de
paramtres (flottant)

Dernier registre pour les paramtres virgule flottante (domaine dpend


du systme d'exploitation)

Registre pour valeur


renvoye (flottant)

Registre pour les valeurs renvoyes virgule flottante (domaine dpend


du systme d'exploitation)

Ordre d'octet Intel

activ : Structure dadressage par octet d'Intel est utilise

CoDeSys V2.3

10-97

Catgorie: Plate-forme cible

10.27.7

Systme cible 8051 et compatibles, Catgorie Plate-forme de la cible


Bote de dialogue Paramtres du cible '8051 et compatibles', plate-forme de la cible

10-98

Point du dialogue

Signification

Plate-forme

Type de systme cible

Taille maximale de pile : (en octets)

taille maximale des arguments qui peuvent tre transmis par


le biais de la pile (nombre doctets)

CoDeSys V2.3

10 - APPENDICE

10.28 Catgorie: Composition du mmoire


Les points dcrits pour cet onglet sont susceptibles dapparatre pour toutes les plates-formes
standard.
Bote de dialogue Paramtres du cible, Composition du mmoire

Point du dialogue

Signification

Code (Base)

activ : la zone du code est automatiquement alloue ;


dsactiv : la zone du code se situe ladresse absolue indique (Base)

Global (Base)

activ : la zone des donnes (donnes globales) est automatiquement


alloue dans chaque domaine ;
dsactiv : la zone des donnes (donnes globales) se situe ladresse
absolue indique

Mmoire (Base)

activ : les mmentos sont automatiquement allous dans chaque


domaine ;
dsactiv : la zone des mmentos se situe ladresse absolue indique

Entre (Base)

activ : l'image du processus l'entre est automatiquement alloue


dans chaque domaine ;
dsactiv : l'image du processus l'entre se situe ladresse absolue
indique

Sortie (Base)

activ : l'image du processus la sortie est automatiquement alloue


dans chaque domaine ;
dsactiv : l'image du processus la sortie se situe ladresse absolue
indique

Maintenir (Base)

activ : les donnes rmanentes sont automatiquement alloues dans


chaque domaine ;
dsactiv : les donnes rmanentes se situent ladresse absolue
indique

Zone (Code)

Numro du domaine de
Valeurs valides : 1, 2, 3, 4, 5, 6

CoDeSys V2.3

la

zone

des

donnes

(Code)

10-99

Catgorie: Composition du mmoire

10-100

Zone (Global)

Numro du domaine de la zone des donnes (Donnes globales)


Valeurs valides : 1, 2, 3, 4, 5, 6

Zone (Mmoire)

Numro du domaine de la zone des mmentos


Valeurs valides : 1, 2, 3, 4, 5, 6

Zone (Entre)

Numro du domaine de l'image du processus l'entre


Valeurs valides : 1, 2, 3, 4, 5, 6

Zone (Sortie)

Numro du domaine de l'image du processus la sortie


Valeurs valides : 1, 2, 3, 4, 5, 6

Zone (Maintenir)

Numro du domaine des donnes rmanentes


Valeurs valides : 1, 2, 3, 4, 5, 6

Base (Code)

Adresse du segment de code (uniquement valide si 'Automatique' nest


pas dsactiv)

Base (Global)

Adresse de la zone des donnes (Donnes globales) ;


(uniquement valide si 'Automatique' nest pas activ)

Base (Mmoire)

Adresse de la zone des mmentos (uniquement valide si 'Automatique'


nest pas activ)

Base (Entre)

Adresse de l'image du processus l'entre (uniquement valide si


'Automatique' nest pas activ)

Base (Sortie)

Adresse de l'image du processus la sortie (uniquement valide si


'Automatique' nest pas activ)

Base (Maintenir)

Adresse de la zone des donnes rmanentes (uniquement valide si


'Automatique' nest pas activ)

Taille (Code)

Taille de la zone du code

Taille par segment


(Global)

Taille dun segment de donnes

Taille (Mmoire)

Taille de la zone des mmentos

Taille (Entre)

Taille de l'image du processus l'entre

Taille (Sortie)

Taille de l'image du processus la sortie

Taille (Maintenir)

Taille de la zone des donnes rmanentes

Propre sgment de
maintenance:

activ : les donnes rmanentes sont gres dans leur propre segment

Taille du mmoire de
donnes entier:

Taille de lespace mmoire total

Nombre max. de
segments de donnes
globales:

Nombre maximal de segments de donnes globales qui peut tre


configur dans les options du projet

Nombre max. de blocs


fonctionnels:

Nombre maximal de modules dans le projet

CoDeSys V2.3

10 - APPENDICE

10.29 Catgorie: Gnral


Les entres dcrites ici peuvent tre utilises pour toutes les plates-formes standard.
Bote de dialogue Paramtres du cible, Gnral

Point du dialogue

Signification

Configurable

activ : supporter une configuration dE/S configurable et charger la


description de la configuration sur lautomate

Supporter configuration
CANopen

activ : supporter une configuration CANopen et charger la description


de la configuration sur lautomate

Supporter configuration
Profibus

activ : supporter une configuration Profibus et charger la description de


la configuration sur lautomate

Tlchargement sous
forme de fichier

activ : Lors dun tlchargement, la configuration E/S est charge sur


lautomate sous la forme dun fichier

Multi-tches premptives

activ : supporter la configuration des tches et charger la description


des tches sur lautomate

Pas de vrification
dadresse

activ : lors de la compilation du projet, les adresses CEI ne sont pas


vrifies

Online Change

activ : Fonctionnalit Online Change (changement en ligne)

Actualiser les E/S non


utilises

activ : CoDeSys cre une tche qui, dans le monitoring, met jour et
visualise les entres et sorties, mme lorsquelles ne sont actuellement
pas utilises.

Tche individuelle dans


multi- tches

Ne pas encore implement

Adressage par octets

activ : ladressage seffectue par octets (p.ex. var1 AT %QD4 obtient


ladresse de dpart %QB4)

Initialiser zro

activ : initialisation gnrale zro

Envoyer fichier de

activ : si un fichier de symboles est cr lors dun tlchargement, il

CoDeSys V2.3

10-101

Catgorie: Gnral

symboles

est charg sur lautomate

Configuration des
symboles du fichier INI

activ : Les paramtres pour la configuration des symboles ne sont pas


lus du dialogue des options de projet, mais bien du fichier codesys.ini
ou dun autre fichier ini sils y sont indiqus.

PLC-Browser

activ : fonctionnalit de PLC-Browser

Histogramme

activ : Enregistrement de l'histogramme

VAR_IN_OUT comme
rfrence
( partir de SP4 de V2.2)

activ : Les VAR_IN_OUT sont transmis comme rfrences lors dun


appel de fonction (pointeur); une affectation de constantes ou un accs
en lecture / criture nest pas possible de lextrieur.

Initialiser les entres

pas activ : Pour des raisons doptimisation, aucun code dinitialisation


nest cr pour les entres dclares avec "AT %IX" (-> valeurs
indfinies jusquau premier cycle de bus!)

Charger automatiquement activ : Aprs un tlchargement, un projet dinitialisation est


automatiquement cr partir du nouveau programme et envoy
projet
lautomate.

10-102

Softmotion

activ : La fonction SoftMotion est active, cest--dire disponible sous


longlet Ressources (Liste de programmes CNC, CAMs).

Continuer de forcer

activ : Mme aprs la fermeture de la session de travail, la liste de


force reste dans le systme d'excution ; lors de fermeture de la
session de travail, lutilisateur obtient une bote de dialogue de
confirmation. (option actuellement supporte partir de CoDeSys SP
32bit full, V2.4, Patch 4 et CoDeSys SP 32bit embedded V2.3, Patch
1) ; loption apparat dans la bote de dialogue, si 'Forage indpendant
du cycle' (voir ci-dessous).

Enregistrer

activ : Le systme d'excution garde le forage, mme en cas de


redmarrage. Loption nest disponible quen fonction de la cible et est
uniquement slectionnable lorsque loption Continuer de forcer est
active (voir ci-dessus).

Forage indpendant du
cycle

activ : Le forage seffectue au dbut et la fin du cycle, et, de plus,


tous les accs criture dans le droulement du programme sont
dsactivs.

CoDeSys V2.3

10 - APPENDICE

10.30 Catgorie: Fonctions de rseau


Les entres dcrites ici peuvent tre utilises pour toutes les plates-formes standard.
Bote de dialogue Paramtres du cible, Fonctions de rseau

Point du dialogue

Signification

Supporter manager des


paramtres

activ : l'entre 'Manager des paramtres' apparat sous l'onglet


Ressources. Celle-ci permet la cration des listes pour les variables et
les paramtres, ce rpertoire servant un change de donnes actif et
cibl avec d'autres automates

Supporter variables du
rseau

activ : les variables du rseau peuvent tre utilises afin de servir


l'change automatique de donnes au sein du rseau (voir Ressources,
Variables rseau)

Noms d'interfaces rseau Liste des types de rseaux supports (p.ex. CAN; UDP;)
supports
Zones d'index pour les
paramtres

Zone d'index pour les paramtres (voir Ressources, Manager des


paramtres)

Zones d'index pour les


variables

Zone d'index pour les variables (voir Ressources,


paramtres)

Zones d'index pour les


mappings

Zone d'index pour Mappings (voir Ressources, Manager des


paramtres)
Attention : Si cette zone est dfinie ici, alors seule celle-ci sera prise en
considration par le module CanDevice pour le mappage ; c.--d. quune
zone dindex dfinie en plus pour des paramtres (voir ci-dessus) ne
sera pas prise en considration !

Zone de sub-index

Zone d'index pouvant tre utilise pour les sub-index au sein des zones
d'index ci-dessus pour paramtres ou variables

CoDeSys V2.3

Manager des

10-103

Catgorie: Visualisation

10.31 Catgorie: Visualisation


Les entres dcrites ici peuvent tre utilises pour toutes les plates-formes standard.
Bote de dialogue Paramtres du cible, Visualisation

Point du dialogue

Signification

Largeur d'affichage en
pixel
Hauteur d'affichage en
pixel

Une limitation optique selon les valeurs indiques ici sera affiche lors
de la cration d'une visualisation dans la fentre d'diteur, afin par
exemple de marquer la surface de l'cran sur lequel la visualisation
devra ultrieurement tre affiche.

Utiliser format de fichier


8.3

Les noms des fichiers bitmap et de langue utiliss dans la visualisation


sont automatiquement rduits au format de notation 8.3 et transmis
sous ce format au systme cible.

Traitement d'alarme dans La tche de Traitement de l'alarme est automatiquement cre dans la
Configuration des tches. Elle excute de manire implicite un code ST
l'automate
qui value l'tat de chaque alarme et accomplit le cas chant les
actions s'y rapportant. Pour ce code ST, on a besoin des fonctions
d'aide de la bibliothque SysLibAlarmTrend.lib, et cette dernire est
automatiquement
charge.
(En
outre,
les
bibliothques
SysLibSockets.lib, SysLibMem.lib, SysLibTime.lib, SysLibFile.lib dont
on a galement et implicitement besoin sont charges. Celles-ci doivent
tre supportes par le systme cible !)
Si cette option n'est pas active alors que la Visualisation Web et/ou la
Visualisation Cible le sont, un avertissement sera donn lors de
l'ouverture de session.
Remarque: 'Traitement d'alarme dans l'automate' peut galement tre
utilise lorsque aucune Visualisation Web ou Visualisation Cible n'est
active (voir plus bas). Un code ST est galement cr de manire
implicite, lequel reprend l'valuation de l'alarme.
Enregistrement des
donnes de tendance
dans l'automate

10-104

La tche TREND_TASK est cre dans la Configuration des tches.


Celle-ci excute un code ST cr implicitement, lequel enregistre les
donnes de tendance dans une mmoire en anneau, et elle
sauvegarde en plus les valeurs dans un systme de fichiers, si toutefois
l'option Historique est dfinie au sein de la tendance. Pour ce code ST,
CoDeSys V2.3

10 - APPENDICE

on a besoin des fonctions d'aide de la bibliothque


SysLibAlarmTrend.lib, et cette dernire est automatiquement charge.
(En outre, les bibliothques SysLibSockets.lib, SysLibMem.lib,
SysLibTime.lib, SysLibFile.lib dont on a galement et implicitement
besoin sont charges. Celles-ci doivent tre supportes par le systme
cible !)
Si cette option n'est pas active alors que la Visualisation Web et/ou la
Visualisation Cible le sont, un avertissement sera donn lors de
l'ouverture de session.
Remarque: 'Enregistrement des donnes de tendance dans l'automate'
peut galement tre utilise lorsque aucune Visualisation Web ou
Visualisation Cible n'est active (voir plus bas). Un code ST est
galement cr de manire implicite, lequel reprend l'enregistrement
des donnes de tendance.
Activer la variable du
systme 'CurrentVisu'

Lorsque cette option est active, la variable de systme CurrentVisu


peut tre utilise pour la permutation de visualisations.

Fonts supportes dans le


systme cible

Liste des polices supportes par le systme cible

Traitement de requte
simplifi

activ : Dans le mode En ligne, les entres sont traites de faon


simplifie : il nest pas ncessaire dutiliser les touches <Tabulateur> et
<Barre despacement> pour passer dun champ de saisie lautre.
Aprs une saisie qui se termine par la <Touche dentre>, la slection
est automatiquement transmise au champ suivant.
Vous pouvez en outre atteindre un champ de saisie laide des
touches flches ou de la touche de tabulateur et y commencer
immdiatement votre saisie.
non activ : Il est ncessaire dutiliser le <Tabulateur> et la <Barre
despacement> pour passer dans le prochain champ de saisie et le
prparer pour une saisie.

Visualisation sur le Web

activ : Tous les objets de visualisation du projet sont compils pour


utilisation en tant que visualisations Web. (Chaque objet de
visualisation peut cependant en tre explicitement exclu dans la bote
de dialogue des Caractristiques des objets)

Visualisation sur la cible

activ : Tous les objets de visualisation du projet sont compils pour


utilisation en tant que Visualisations Cible. (Chaque objet de
visualisation peut cependant en tre explicitement exclu dans la bote
de dialogue des Caractristiques des objets)

Eviter download des


fichiers de visualisation

Si cette option est active, alors les fichiers de visualisation utiliss


dans la visualisation actuelle ne seront pas chargs sur le systme
cible lors du tlchargement du projet. Les fichiers de visualisation ne
sont transmis que pour la visualisation Cible ou Web. Il peut sagir de
fichiers Bitmap, de fichiers de langage et, pour la visualisation Web, de
fichiers de description XML.

Utiliser
VISU_INPUT_TASK

(ne peut tre active que si Visualisation cible l'est) Si cette option est
active, deux tches sont automatiquement cres pour la Visualisation
cible (VISU_INPUT_TASK, VISU_TASK); sinon, seul VISU_TASK sera
cr, comprenant galement les tches de VISU_INPUT_TASK

Dsactiver gnration
des taches

(ne peut tre activ que lorsque la Visualisation sur la cible est active,
voir ci-dessus
Si loption est active, alors les tches VISU_INPUT_TASK et
VISU_TASK (voir ci-dessus au point 'Utiliser VISU_INPUT_TASK') ne
sont pas cres. De cette faon, les deux modules mentionns cidessus,
ou
respectivement
seulement
le
module
MAINTARGETVISU_PAINT_CODE
si
loption
Utiliser
VISU_INPUT_TASK nest pas active, peuvent tre appels

CoDeSys V2.3

10-105

Catgorie: Visualisation

directement dans le programme de lautomate et, si vous le souhaitez,


ils peuvent galement tre commands par le biais dune quelconque
autre tche. Veuillez noter ce propos la description relative la
visualisation Cible (dans le manuel de CoDeSys Visualisation).
Utilisation du clavier pour (ne peut tre activ que lorsque la Visualisation sur la cible est active,
voir ci-dessus)
tableaus
Loccupation du clavier pour les touches VK_TAB (touche de
tabulateur) et VK_SPACE (barre despacement) dfinies pour les
tableaux ne peut tre utilise dans le mode En ligne de la visualisation
Cible que si cette option est active. En cas de dsactivation, aucun
code nest gnr pour les fonctions de touche, ce qui peut tre
avantageux pour les performances dexcution.

10-106

CoDeSys V2.3

10 - APPENDICE

Appendice I

Utilisation du clavier

10.32 Utilisation du clavier


Dans le cas o vous pouvez travailler sur CoDeSys uniquement partir du clavier, vous devez utiliser
certaines commandes que vous ne trouvez pas dans le menu:
La touche de fonction <F6> vous permet de basculer de la partie de dclaration la partie
instructions et vice versa, l'intrieur d'un module ouvert. Dans le Gestionnaire des paramtres,
cela vous permet de passer de la fentre de navigation l'diteur de listes, et vice-versa.
La combinaison <Alt>+<F6> vous permet de basculer d'un objet ouvert vers l'Organisateur
d'objets et, de l, vers la fentre de messages, si celle-ci est ouverte. Si une bote de dialogue
Rechercher est ouverte, alors la mme combinaison vous permet de basculer de l'Organisateur
d'objets vers la bote de dialogue Rechercher et, de l, vers l'objet.
La touche <tabulation> vous permet de vous dplacer d'un champ l'autre, d'un bouton l'autre
et d'un champ un bouton, l'intrieur des botes de dialogue.
Les touches directionnelles permettent de se dplacer d'un onglet l'autre, d'un objet l'autre et
d'un onglet un objet, l'intrieur de l'Organisateur d'objets et du gestionnaire de bibliothques.
Toutes les autres actions peuvent tre dclenches partir des options de menu ou en utilisant les
raccourcis indiqus la suite de ces options. La combinaison <Maj>+<F10> vous donne accs au
menu contextuel, qui contient les commandes les plus frquemment utilises en lien avec un objet
slectionn ou un diteur actif.

10.33 Combinaisons de touches


Voici un aperu des combinaisons de touches et des touches de fonction:
Utilisation habituelle

Basculer de la partie de dclaration vers la partie


d'instructions d'un module et vice versa

<F6>

Basculer de l'Organisateur d'objets vers l'objet


puis vers la fentre de messages et vice versa

<Alt>+<F6>

Menu contextuel

<Maj>+<F10>

Passage la fentre d'diteur suivante et ouverte

<Ctrl>+<F6>

Passage la fentre d'diteur prcdente et


ouverte

<Ctrl>+<Maj>+<F6>

Raccourci pour les dclarations

<Ctrl>+<Entre>

Basculer d'un message dans la fentre de


messages vers l'endroit correspondant dans
l'diteur

<Entre>

Afficher et masquer des variables plusieurs


lments

<Entre>

Ouvrir et fermer des dossiers

<Entre>

Dplacement d'un onglet l'autre dans


l'Organisateur d'objets et dans le gestionnaire de
bibliothques

<Touches directionnelles>

Dplacement dans les botes de dialogue

<Tabulation>

CoDeSys V2.3

10-107

Combinaisons de touches

Aide dpendant du contexte

<F1>

Commandes usuelles

'Fichier' 'Enregistrer'

<Ctrl>+<S>

'Fichier' 'Imprimer'

<Ctrl>+<P>

'Fichier' 'Quitter'

<Alt>+<F4>

'Projet' 'Supprimer un objet'

<Suppr>

'Projet' 'Insrer objet'

<Inser>

'Projet' 'Renommer objet'

<Barre d'espacement>

'Projet' 'Editer objet'

<Entre>

'Editer' 'Annuler'

<Ctrl>+<Z>

'Editer' 'Refaire'

<Ctrl>+<Y>

'Editer' 'Couper'

<Ctrl>+<X> ou <Maj>+<Suppr>

'Editer' 'Copier'

<Ctrl>+<C>

'Editer' 'Coller'

<Ctrl>+<V>

'Editer' 'Supprimer'

<Suppr>

'Editer' 'Rechercher le suivant'

<F3>

'Editer' 'Liste de slection pour l'dition'

<F2>

'Editer' 'Erreur prochaine'

<F4>

'Editer' 'Erreur prcdente'

<Maj>+<F4>

'En Ligne' 'Dmarrer'

<F5>

'En Ligne' 'Point d'arrt actif/inactif'

<F9>

'En Ligne' 'Etape individuelle sur'

<F10>

'En Ligne' 'Etape individuelle dans'

<F8>

'En Ligne' 'Cycle indpendant'

<Ctrl>+<F5>

'En Ligne' 'Ecrire valeurs des variables'

<Ctrl>+<F7>

'En Ligne' 'Forcer valeurs des variables'

<F7>

'En Ligne' 'Arrter de forcer'

<Maj>+<F7>

'Fentre' 'Messages'

<Maj>+<Echap>

Commandes de l'diteur du langage FBD

10-108

'Insrer' 'Rseau (derrire)'

<Maj>+<T>

'Insrer' - 'Affectation'

<Ctrl>+<A>

'Insrer' 'Saut'

<Ctrl>+<L>

'Insrer' 'Return'

<Ctrl>+<R>

'Insrer' 'Oprateur'

<Ctrl>+<O>

'Insrer' 'Fonction'

<Ctrl>+<F>
CoDeSys V2.3

10 - APPENDICE

'Insrer' 'Bloc fonctionnel'

<Ctrl>+<B>

'Insrer' 'Entre'

<Ctrl>+<U>

'Extras' 'Ngation'

<Ctrl>+<N>

'Extras' 'Zoom'

<Alt>+<Entre>

Commandes de l'diteur du langage LD

'Insrer' 'Rseau (derrire)'

<Maj>+<T>

'Insrer' 'Contact'

<Ctrl>+<O>

'Insrer' 'Contact parallle'

<Ctrl>+<R>

'Insrer' 'Bloc fonctionnel'

<Ctrl>+<B>

'Insrer' 'Bobinage'

<Ctrl>+<L>

'Extras' 'Insrer ci-dessous'

<Ctrl>+<U>

'Extras' 'Ngation'

<Ctrl>+<N>

Commandes de l'diteur SFC

'Insrer' 'Etape-Transition (devant)'

<Ctrl>+<T>

'Insrer' 'Etape-Transition (derrire)'

<Ctrl>+<E>

'Insrer' 'Squence alternative (droite)'

<Ctrl>+<A>

'Insrer' 'Squence simultane (droite)'

<Ctrl>+<L>

'Insrer' 'Saut' (SFC)

<Ctrl>+<U>

'Extras' 'Zoom action/transition'

<Alt>+<Entre>

Basculer nouveau vers l'diteur partir de


l'aperu du diagramme fonctionnel en squence

<Entre>

Utilisation de la configuration de l'automate ou de la


configuration des tches

Ouvrir et fermer des lments d'organisation

<Entre>

Mettre un cadre d'dition autour du nom

<Barre d'espacement>

Utilisation de l'diteur du gestionnaire des


paramtres

Passer de la fentre de navigation l'diteur de


listes et vice-versa

<F6>

Effacement d'une ligne dans l'diteur de listes

<Ctrl>+<Suppr>, <Maj>+<Suppr>

Effacement d'un champ

<Suppr>

CoDeSys V2.3

10-109

Combinaisons de touches

10-110

CoDeSys V2.3

10 - APPENDICE

Appendice J Messages d'erreur et Avertissements


Lors de la compilation du projet, les messages relatifs aux erreurs ventuellement survenues et aux
avertissements sont affichs dans la fentre de messages. <F4> permet de sauter la ligne de
messages suivante, ce qui provoque l'ouverture de la fentre l'endroit concern du programme.
Dans la fentre de messages, les messages d'erreur et les avertissements sont prcds d'un
numro d'ID univoque. Si une telle ligne de message est marque, <F1> permet d'ouvrir la fentre
d'aide correspondante.

10.33.1

Avertissements

1100
"Service est inconnu '<nom>' dans la bibliothque."
Vous utilisez une bibliothque externe. Vrifiez si toutes les fonctions donnes dans le fichier en format
hexadcimal (.hex) sont galement dfinies dans le fichier .lib.
1101
"Symbole pas rsolu '<Symbol>'."
Le gnrateur de codes attend un module du nom <Symbol>. Celui-ci nest pas dfini dans le projet. Veuillez
dfinir une fonction/un programme avec le nom adquat.
1102
"Interface invalide pour symbole '<Symbol>'."
Le gnrateur de codes attend une fonction du nom <Symbol> avec prcisment une entre scalaire ou un
programme du nom <Symbol> sans entre ou sortie.
1200
"Tche '<nom>', appel '<nom>': Les variables d'accs dans la liste de paramtres n'ont pas t mises
jour."
Les variables qui ne sont utilises que lors dun seul appel de bloc fonctionnel dans la configuration des tches
ne sont pas reprises dans la liste des rfrences croises.
1300
"Le fichier '<nom>' n'a pas t trouv"
Le fichier auquel renvoie lobjet de variable globale nexiste pas. Vrifiez le chemin daccs.
1301
"La bibliothque d'analyse n'a pas t trouve! Le code pour l'analyse n'est pas gnr."
Vous utilisez la fonction danalyse, mais la bibliothque analyzation.lib nest pas disponible.
Insrez cette bibliothque dans le gestionnaire des bibliothques.
1400
"La directive du compilateur '<nom>' est ignore!"
Cette pragma nest pas supporte par le compilateur. Reportez-vous au mot-cl 'Pragma' pour les directives
supportes.
1401
"La structure '<nom>' ne contient pas d'lments."
La structure ne contient aucun lment, mais les variables de ce type occupent un octet dans la mmoire.
1410
"'RETAIN' et 'PERSISTENT' n'ont pas d'effet dans les fonctions"
Les variables dclares rmanentes au sein dune fonction ne sont pas sauvegardes dans la zone mmoire
rmanente, mais sont traites comme des variables locales normales.

CoDeSys V2.3

10-111

Combinaisons de touches

1411
"Variable '<nom>': La variable '<nom>' dans la configurations des variables n'est pas actualis dans
aucune tche"
Linstance suprieure de la variable nest rfrence par un appel dans aucune tche et nest de ce fait pas
copie dans limage du processus.
Exemple:
Configuration des variables:
VAR_CONFIG
plc_prg.aprg.ainst.in AT %IB0 : INT;
END_VAR
plc_prg:

index := INDEXOF(aprg);

Le programme aprg est bien rfrenc mais pas appel. Ds lors, plc_prg.aprg.ainst.in ne contiendra jamais la
valeur relle de %IB0.
1412
"Token '<nom>' inattendu dans pragma {nom du pragma}"
Vous utilisez un nom de programme incorrect ou un pragma qui nest pas applicable cet endroit. Pour une
correction, appelez au besoin laide en ligne et rfrez-vous aux descriptions figurant au mot-cl "Pragma" ou
consultez le manuel CoDeSys.
1413
"'<nom>' n'est pas de cl valide pour liste '<nom>' . La cl sera ignoreVous indiquez dans le pragma une
liste des paramtres inexistante. Vrifiez le nom de la liste ou consultez les listes disponibles dans le
gestionnaire des paramtres.
1414
"Trop de dfinitions de composants dans pragme '<nom du pragma>'."
Le pragma contient plus de dfinitions (entre crochets) que dans larray ou le bloc fonctionnel concern ou plus
de dfinitions que dlments contenus dans la structure.
1500
"Cette expression ne contient pas dassignement. Aucun code nest gnr."
Le rsultat de cette expression nest pas utilis. Ainsi, aucun code nest gnr pour la totalit de lexpression.
1501
"La constrante de chane est passe comme 'VAR_IN_OUT': '<nom>' ne doit pas tre cras!"
On ne peut crire la constante dans le corps du module puisque aucune vrification de taille ny a lieu.
1502
"La variable '<nom>' porte le mme nom qu'un module. Le module ne sera pas appel!"
Vous utilisez une variable qui porte le mme nom quun module.
Exemple :
PROGRAM a
...
VAR_GLOBAL
a: INT;
END_VAR
...
a; (* Le module a nest pas appel, mais la variable a est charge. *)

10-112

CoDeSys V2.3

10 - APPENDICE

1503
"Le module '<nom>' n'a pas de sorties. Le rsultat est mis 'TRUE'."
Vous continuez de lier le pin de sortie dun module sans sorties en langage FBD ou LD. La liaison se voit
automatiquement attribuer la valeur TRUE.
1504
"L'instruction ne sera probablement pas excute cause de l'expression logique."
Toutes les branches de lexpression logique ne sont pas ventuellement excutes.
Exemple :
IF a AND funct(TRUE) THEN ....
Si a a la valeur FALSE, funct ne sera plus appel.
1505
"Effet latral dans '<nom>'! Probablement, la branche n'est pas calcule!"
La premire entre du module a la valeur FALSE, il se peut ds lors que la branche latrale dbouchant la
seconde entre ne soit plus value.
1506
"La variable '<nom>' a le mme nom qu'une action locale. L'action ne sera pas appele!"
Renommez la variable ou laction de faon ce que le mme nom ne soit pas utilis plusieurs fois.
1507
"La variable '<nom>' a le mme nom qu'une fonction locale. L'instance ne sera pas appele!"
En ST une instance est utilise, que le mme nom comme une fonction. La fonction sera appele ! Donnez
noms diffrents!
1600
"Pas d'vidence quel bloc de donnes vous voulez ouvrir (le code gnr contient ventuellement des
erreurs)."
Le programme original Siemens ne permet pas de dterminer quel module de donnes est ouvert.
1700
"L'entre n'est pas lie."
Vous utilisez une bote dentre en CFC qui na pas de liens conscutifs. Aucun code nest alors cr.
1750
"Etape '<nom>': Le temps minime est plus grand que le temps maximum."
Ouvrez la bote de dialogue Attributs dtape de ltape indique et corrigez les donnes de temps.
1751
"Attention l'utilisation de la variable '<nom>'. Cette variable est utilise par code gnr implicitement et
influence le droulement du Diagramme Fonctionnel en Squence."
Renommez la variable par mesure de prcaution, de manire ce quelle contienne un identificateur univoque.
1800
"'<nom>' (Elemente #<Nombre elemente>): Expression d'espion invalide '<nom>'"
Llment de visualisation contient une expression qui ne peut tre espionne. Vrifiez le nom de variable et le
remplacement despaces rservs.
1801
"Entre sur l'expression '<nom>' pas possible."
Dans la configuration de lobjet de visualisation, vous utilisez une expression compose comme cible dune
action dentre. Remplacez cette expression par une variable individuelle.
1802
"<object de visualisation>(nombre dlment): Bitmap '<nom>' pas trouv"
Assurez-vous que le fichier image bitmap externe correspondant au chemin daccs dfini dans la visualisation
existe.
CoDeSys V2.3

10-113

Combinaisons de touches

1803
"'<nom>'('<nombre>') : L'action ""Imprimer"" n'est pas supporte pour la visualisation target et web."
Une alarme configure dans la visualisation est lie laction Imprimer. Cet tat de fait est ignor dans la
visualisation Web ou Cible.
1804
"'<nom>'('<nombre>'): Le font '<nom>' n'est pas support par le systme cible."
Vous utilisez une police de caractre qui nest pas supporte par le systme cible. Les jeux de caractres
actuellement supports par le systme cible sont affichs dans la configuration du systme cible dans la
catgorie Visualisation.
1806
"'<nom>'('<nombre>'): Les paramtres du systme cible pour le traitement de l'alarme dans la'automate
doivent tre actives."
Vous utilisez dans la visualisation un lment de visualisation dalarmes. Lautomate nen tient toutefois pas
compte, tant donn que loption 'Traitement dalarme dans lautomate nest pas active dans la configuration
du systme cible, catgorie Visualisation.
1807
"'<nom>'('<nombre>'): Pas de fentre dinformation pour lalarme dans la visualisation cible."
Notez que laction "Fentre dinformation" nest pas supporte dans la visualisation Cible !
1850
"La variable d'entre sur %IB<nombre> est utilise dans la tche <nom><nom>, mais actualise
dans une autre tche."
Vrifiez quelles tches utilisent les variables indiques et si la programmation actuelle noccasionne pas des
effets indsirables. La mise jour de la valeur de variable est habituellement effectue par la tche de plus
haute priorit.
1851
"La variable de sortie sur %IB<nombre> est utilise dans la tche <nom><nom>, mais actualise
dans une autre tche."
Vrifiez quelles tches utilisent les variables indiques et si la programmation actuelle noccasionne pas des
effets indsirables. La mise jour de la valeur de variable est habituellement effectue par la tche de plus
haute priorit.
1852
"Le Matre CanOpen n'est ventuellement pas appel cycliquement dans la tche d'vnement <nom>!
Veuillez mettre le paramtre de module 'mise jour de la tche'!"
Momentanment, le Matre CanOpen est appel par la tche dvnement susmentionne. Si vous souhaitez
effectuer un appel cyclique, dfinissez une tche correspondante via le paramtre UpdateTask dans la
configuration de l'automate programmable, dans la bote de dialogue 'Paramtres de module'.
1853
"n PDO (Index: <nombre>) n'est ventuellement pas actualis cycliquement dans la tche d'vnement
<nom>."
Momentanment, le PDO susmentionn est appel par la tche dvnement susmentionne. Si vous
souhaitez cependant effectuer un appel cyclique, attribuez au PDO une tche correspondante en dplaant des
rfrences ES dans cette tche.
1900
"L'unit de programmation '<nom>' (routine principale) n'est pas disponible dans la bibliothque."
Le module dentre (p.ex.PLC_PRG) ne sera pas disponible lors de lutilisation de la bibliothque.
1901
"Les variables d'accs et de configuration ne sont pas enregistres dans la bibliothque!"
Les variables daccs et la configuration de variables ne seront pas sauvegardes dans la bibliothque.

10-114

CoDeSys V2.3

10 - APPENDICE

1902
"'<nom>': Bibliothque n'est pas appropri pour le type de machine ou errone!"
Le fichier .obj de la bibliothque a t cr pour un autre type de machine.
1903
"<nom>: n'est pas de bibliothque valide."
Le fichier ne correspond pas au format requis de fichier du systme cible.
1904
"La constante '<nom>' cache une constante du mme nom dans la bibliothque."
Vous avez dclar dans le projet une constante qui porte le mme nom quune constante contenue dans une
bibliothque associe. La variable de bibliothque va tre crase !
1970
"Manager de paramtres: Liste '<nom>', colonne '<nom>', valeur '<nom>' ne pouvait pas tre importe!"
Vrifiez si le fichier dimportation *.prm contient des saisies qui ne correspondent pas la configuration actuelle
(valeurs standard ou fichier de description XML) du gestionnaire des paramtres.
1980
"Variables de rseau globales nom>, <nom>: Lire et crire en mme temps peut mener une perte de
donnes!"
Dans la configuration des listes de variables de rseau (slectionnez la liste dans longlet Ressources et ouvrez
la bote de dialogue Liste de variables globales par le biais de la commande 'Caractristiques de lobjet dans le
menu contextuel), vous avez activ simultanment les options 'Lire' et 'Ecrire'. Notez que ceci peut
ventuellement causer des pertes de donnes lors de la communication.
1990
"Pas de 'VAR_CONFIG' pour '<nom>' "
Aucune configuration dadresse nest disponible pour cette variable dans VAR_CONFIG. Ouvrez dans longlet
'Ressources' la fentre VAR_CONFIG et insrez-la (commande Insrer 'Tous les chemins dinstance').
2500
"Tache '<nom>' : non temps de cycle dfine pour la tache cyclique."
Une tche cyclique pour laquelle aucun temps de cycle na t dfini a t cre dans la configuration des
tches. Entrez un intervalle de temps correspondant dans la bote de dialogue Attributs des tches, dans
Intervalle .

10.33.2

Erreurs

3100
"Programme trop grand. Volume max: '<Nombre>' Byte (<Nombre>K)"
La taille maximale du programme est dpasse. Veuillez rduire le programme.
3101
"Volume de donnes trop grand. Volume max: '<Nombre>' Byte (<Nombre>K)"
Lespace mmoire est compltement utilis. Rduisez les besoins en fichiers de votre application.
3110
"Erreur dans le fichier de la bibliothque '<nom>'."
Le fichier .hex ne correspond pas au format INTEL Hex.
3111
"Bibliotheque '<nom>' trop grand. Volume max: 64K"
Le fichier .hex dpasse la taille maximale admissible.
CoDeSys V2.3

10-115

Combinaisons de touches

3112
"Instruction ne peut pas dplacer dans la bibliothque."
Le fichier .hex contient une instruction non relocalisable. Le code de bibliothque ne peut tre li.
3114
"La bibliothque utilise plus qu'un sgment."
Les tableaux et le code compris dans le fichier .hex utilisent plus quun segment.
3113
"Le code de la bibliothque crase les tableaux de fonctions."
Les domaines du code et des tableaux dinformation se recoupent.
3115
"La constante ne peut pas tre assigne VAR_IN_OUT. Types de donnes incompatibles."
Le format interne de pointeur pour les constantes de chanes de caractres ne peut tre converti au format
interne de VAR_IN_OUT, car les donnes sont dfinies comme "near" et les constantes de chanes comme
"huge" ou "far". Modifiez si possible cette configuration du systme cible.
3121
"L'unit de programmation est trop grand."
Un module ne peut dpasser la taille de 64K.
3122
"Initialisation trop grande. Dim. max.: 64K"
Le code dinitialisation pour un bloc fonctionnel ou une structure ne peut dpasser la taille de 64K.
3120
"Le sgment de code actuel excde 64K."
Le code systme gnr linstant est plus grand que 64K. Il se peut quil y ait trop de code dinitialisation
requis.
3123
"Sgment de donnes trop grand: Sgment '<nom>' a '<nombre>' octets (max. '<nom>' octets)"
Veuillez vous adresser au fabricant du matriel.
3124
Constante String trop grande: <Nombre> caractres (au maximum 253 caractres)
La constante correspondante doit au moins tre rduite 253 caractres.
3130
"Stack d'application trop petit: <Anzahl> 'DWORD' ncessaire, <Anzahl> 'DWORD' disponible."
Le niveau dimbrication de lappel de module est trop grand. Augmentez la taille de pile dans la configuration du
systme cible ou compilez le programme sans utiliser loption de compilation de projet 'Dbogage'.
3131
"Stack d'utilisateur trop petit: <Nombre> 'DWORD' ncessaire, <Nombre> 'DWORD' disponible."
Veuillez vous adresser au fabricant de lautomate.
3132
"Stack du systeme trop petit: <Nombre> 'DWORD' ncessaire, <Nombre> 'DWORD' disponible."
Veuillez vous adresser au fabricant de lautomate.
3150
"Paramtre '<nom>' de la fonction '<nom>': Le rsultat d'une fonction CEI ne peut pas tre pass
comme paramtre de chane d'une fonction C."
Utilisez une variable intermdiaire qui recevra le rsultat de la fonction CEI.

10-116

CoDeSys V2.3

10 - APPENDICE

3161
"La bibliothque '<nom>' ne contient pas de sgment de code."
Un fichier .obj de bibliothque doit contenir au moins une fonction C. Insrez dans le fichier .obj une fonction
fictive qui nest pas dfinie dans le fichier .lib.
3160
"Ne peut pas ouvrir '<nom>'."
Le fichier '<Nom>' requis pour une bibliothque ne peut tre trouv.
3163
"Type de rfrence inconnu dans la bibliothque '<nom>' (Symbol '<nom>' , Class '<nom>' , Type
'<nom>' )"
Le fichier .obj contient un type de rfrence que le gnrateur de code ne peut rsoudre. Vrifiez la
configuration du compilateur C.
3200
"<nom>: Expression logique trop complexe."
Lespace mmoire temporaire du systme cible nest pas suffisant pour la taille de lexpression. Divisez
lexpression en plusieurs expressions partielles avec attribution des variables intermdiaires.
3162
"Ne peut pas rsoudre la rfrence dans la bibliothque (Symbole '<nom>' , Class '<nom>' , Type
'<nom>' )"
Le fichier .obj contient une rfrence non rsoluble un autre symbole. Vrifiez la configuration du compilateur
C.
3201
"<nom>: Un rseau ne doit produire plus que 512 bytes de code"
Les sauts internes ne peuvent tre rsolus. Activez loption "Utiliser des dcalages de saut 16 bit" dans la
configuration cible 68K.
3202
"Dbordement de la pile en cas d'appels de fonction cordon/zone/structure trop complexes"
Vous utilisez un appel de fonction imbriqu de la forme CONCAT(x, f(i)). Ceci peut provoquer une perte de
donnes. Divisez lappel en deux expressions.
3203
"Seulement deux variables de systme par affectation"
Divisez laffectation en plusieurs parties.
3204
"Un saut excde 32k octets."
La distance dun saut ne peut tre suprieure 32767 octets.
3205
"Erreur interne: Trop de chanes constantes"
Un maximum de 3000 constantes de chanes de caractres peut tre utilis dans un module.
3206
"Le bloc fonctionnel est trop grand."
Un bloc fonctionnel se compose dun maximum de 32767 octets de code.
3207
"Optimation du tableau."
Loptimisation de laccs au tableau a chou car une action a t appele au sein du calcul de lindex.

CoDeSys V2.3

10-117

Combinaisons de touches

3208
"La conversion n'est pas encore implmente."
Vous utilisez une fonction de conversion qui nest pas implmente pour le gnrateur de code actuel.
3209
"Oprateur pas implment."
Vous utilisez un oprateur qui nest pas implment pour le gnrateur de code actuel pour ce type de
donnes : MIN(string1,string2).
3210
"Fonction '<nom>' pas trouve."
Vous appelez une fonction qui nest pas disponible au sein du projet.
3211
"Usage maximum de la variable de chane excd."
Une variable de type STRING ne peut tre utilise que dix fois dans une expression et dans le cas dun
gnrateur de code 68K.
3250
"Real n'est pas accept sur les automates 8 bits."
Le systme cible nest pas support pour linstant.
3251
"Types 'date du jour' ne sont pas accepts pour les automates 8 bits."
Le systme cible nest pas support pour linstant.
3252
"Taille du stack excde <number> Bytes"
Le systme cible nest pas support pour linstant.
3253
"Ne pouvait pas trouver le fichier hex: '<nom>' "
Le systme cible nest pas support pour linstant.
3254
"L'appel d'une fonction de bibliothque externe ne pouvait tre rsolu."
Le systme cible nest pas support pour linstant.
3255
"Pointeurs ne sont pas supporte sur ordinateurs 8 Bits."
Pour pouvoir mettre ce programme en marche sur un ordinateur 8 bits, vous devez contourner lutilisation de
pointeurs.
3260
Fonction <nom> a trop d'arguments, agrandissez le stack des arguments dans les paramtres
de cible."
Dans la mesure du possible, modifiez la taille de la pile dans la bote de dialogue Plate-forme de la cible de la
configuration du systme cible (valeur par dfaut : 40), voir chap. 10.27.4. Si le rglage nest pas modifiable
dans CoDeSys, veuillez contacter votre fabricant dautomate programmable.
3400
"Erreur l'importation des variables d'accs"
Le fichier .exp contient une rubrique incorrecte de variables daccs.
3401
"Erreur l'importation de la configuration des variables"
Le fichier .exp contient une rubrique incorrecte de variables de configuration.
10-118

CoDeSys V2.3

10 - APPENDICE

3402
"Erreur l'importation des variables globales"
Le fichier .exp contient une rubrique incorrecte de variables globales.
3403
"<nom> ne pouvait tre import"
La rubrique relative lobjet donn dans le fichier .exp est incorrecte.
3404
"Erreur l'importation de la configuration des tches"
La rubrique relative la configuration de tche dans le fichier .exp est incorrecte.
3405
"Erreur l'importation de la configuration de l'automate"
La rubrique relative la configuration de lautomate dans le fichier .exp est incorrecte.
3406
"Deux pas nomms '<nom>'! Le deuxime pas n'a pas t import"
La rubrique du module SFC dans le fichier .exp comprend deux tapes portant le mme nom. Renommez une
de ces deux tapes dans le fichier dexportation.
3407
"Pas d'ntre '<nom>' pas trouv"
Ltape nomme nexiste pas dans le fichier .exp.
3408
"Pas suivant '<nom>' pas trouv"
Ltape nomme nexiste pas dans le fichier .exp.
3409
"Pas de transition suivante pour le pas '<nom>' "
La transition requise par ltape indique comme tape dentre, nexiste pas dans le fichier .exp.
3410
"Pas de pas suivant pour la transition '<nom>' "
La transition indique, requise par ltape, nexiste pas dans le fichier .exp.
3411
"Le pas '<nom>' n'est pas accessible du pas init"
Le lien entre ltape indique et ltape dinitialisation nexiste pas dans le fichier .exp.
3450
"PDO <nom>: <nom du module> <nom du dialogue configuration>-<nom PDO> COB-Id manque!"
Cliquez sur le bouton Caractristiques dans la bote de dialogue de configuration <nom de la bote de dialogue
de configuration> du module <nom du module>, et entrez une COB ID pour le PDO <nom de PDO>.
3451
"Erreur en chargeant: Le fichier EDS '<nom>' n'a pas t trouv, mais est utilis dans la configuration!"
Le fichier dappareil ncessit par la configuration CAN nest probablement pas dans le rpertoire correct.
Vrifiez ce point par le biais de lentre de rpertoire pour les fichiers de configuration dans 'Projet' 'Options'
'Rpertoires'.
3452
"Le module '<nom>' ne pouvait tre cre!"
Le fichier dappareil pour le module <Nom> ne correspond pas la configuration prsente. Il a t
probablement modifi depuis la cration de la configuration ou le fichier est corrompu.

CoDeSys V2.3

10-119

Combinaisons de touches

3453
"Le canal '<nom>' ne pouvait tre cre!"
Le fichier dappareil pour le canal <Nom> ne correspond pas la configuration prsente. Il a t probablement
modifi depuis la cration de la configuration ou le fichier est corrompu.
3454
"L'adresse '<adresse>' renvoie une plage de mmoire occupe!"
Vous avez activ loption 'Vrifier superposition dadresses' dans la bote de dialogue de la configuration de
lautomate, et une superposition a t constate. Veuillez noter que la base de la vrification est la taille
rsultant du type de donnes et non la valeur de 'size' dans le fichier de configuration.
3455
"Erreur en chargeant: Le fichier GSD '<nom>' n'a pas t trouv, mais est utilis dans la configuration!"
Le fichier dappareil ncessit par la configuration Profibus nest probablement pas dans le rpertoire correct.
Reportez-vous lentre pour les fichiers de configuration dans 'Projet' 'Options' 'Rpertoires'.
3456
"L'appareil Profibus '<nom>' n'a pas pu tre cre!"
Le fichier d'appareil pour l'appareil <nom> ne correspond pas la configuration prsente. Il a t probablement
modifi depuis la cration de la configuration ou le fichier est corrompu.
3457
"Erreur dans la description du module!"
Vrifiez le fichier d'appareil appartenant au module.
3458
"La configuration de l'automate ne pouvait pas tre tablie! Veuillez vrifier les fichiers de
configuration."
Vrifiez si tous les fichiers ncessaires de configuration et d'appareil se trouvent dans le rpertoire des fichiers
de configuration ('Projet' 'Options' /Rpertoires).
3459
"Le dbit en bauds slectionn n'est pas support!"
Modifiez la configuration dans la bote de dialogue des paramtres CAN. Veuillez tenir compte des indications
relatives au taux de baud dans le fichier GSD.
3460
"3S_CanDrv.lib a une fausse version."
Veuillez vous assurer que vous avez intgr la version actuelle de la librairie 3S_CanDrv.lib dans le projet.
3461
"3S_CanOpenMaster.lib a une fausse version."
Veuillez vous assurer que vous avez intgr la version actuelle de la librairie 3S_CanOpenMaster.lib dans le
projet.
3462
"3S_CanOpenDevice.lib a une fausse version."
Veuillez vous assurer que vous avez intgr la version actuelle de la librairie 3S_CanOpenDevice.lib dans le
projet.
3463
"3S_CanOpenManager.lib a une fausse version."
Veuillez vous assurer que vous avez intgr la version actuelle de la librairie 3S_CanOpenManager.lib dans le
projet.
3464
"3S_CanNetVar.lib a une fausse version."
Veuillez vous assurer que vous avez intgr la version actuelle de la librairie 3S_CanNetVar.lib dans le projet.
10-120

CoDeSys V2.3

10 - APPENDICE

3465
"CanDevice: Les sous-indices doivent tre numrots squentiellement!"
Dans les listes de paramtres utilises dans CanDevice, les sous-index des donnes introduites doivent tre
numrots de faon suivie et sans lacunes. Vrifiez la liste concerne dans le gestionnaire des paramtres.
3466
"Variables de rseau CAN: Pas de contrleur CAN trouv dans la configuration de l'automate."
Vous avez configur des variables de rseau pour un rseau CAN (Ressources, Variables globales),
cependant aucun contrleur CAN nest disponible dans la configuration de l'automate programmable.
3468
"CanDevice: Nom de la tche de mise jour n'existe pas dans la configuration des taux"
La tche de mise jour (pour lappel du CanDevice) dfinie dans la configuration de l'automate dans la bote de
dialogue Paramtres de base pour le CANDevice doit tre configure dans la configuration des tches du
projet.
3469
"Le module Matre CanOpen ne peut pas tre appel. Veuillez assigner la tche manuellement."
Attribuez une tche au Matre dans la configuration de l'automate par le biais de laquelle celui-ci doit tre
appel, et utilisez pour ce faire le paramtre de la tche de mise jour dans la bote de dialogue des
paramtres du module.
3470
"Nom invalide dans le paramtre 'mise jour de la tche'."
Ouvrez la bote de dialogue Paramtres du module de la configuration de l'automate CoDeSys pour le Matre
CAN. Vrifiez le nom de la tche indiqu pour le paramtre UpdateTask. La tche indique doit tre disponible
dans le projet. Il suffit ventuellement de slectionner une autre tche, mais il se peut quil faille vrifier
galement les valeurs prescrites par le fichier de priphrique.
3500
"Pas de VAR_CONFIG pour '<nom>' "
Insrez une dclaration dans la liste des variables globales (contenant la 'Configuration de variables') pour la
variable nomme.
3501
"Pas d'adresse dans VAR_CONFIG pour '<nom>' "
Insrez une adresse dans la liste des variables globales (contenant la 'Configuration de variables') pour la
variable nomme.
3502
"Faux type de donnes de '<nom>' dans VAR_CONFIG"
La variable nomme est dclare avec un autre type de donnes dans la liste des variables globales contenant
la configuration des variables que dans le bloc fonctionnel.
3503
"Faux type d'adresse de '<nom>' dans VAR_CONFIG"
La variable nomme est dclare avec un autre type d'adresse dans la liste des variables globales contenant la
configuration des variables que dans le bloc fonctionnel.
3504
" Valeurs initiales pour les variables 'VAR_CONFIG' ne sont pas supportes"
Une variable de la configuration des variables est dclare avec adresse et valeur initiale. Une valeur initiale ne
peut cependant tre dfinie que dans le cas d'une variable d'entre sans attribution dadresse.
3505
"<nom> n'est pas de chemin d'instance valable "
Une variable nexistant pas est indique dans la configuration des variables.

CoDeSys V2.3

10-121

Combinaisons de touches

3506
"Chemin daccs est attendu "
Dans la liste globale des variables pour les variables daccs, il manque le chemin correct daccs pour une
variable :
<Identificateur> : <Chemin daccs> : <Type> <Type daccs>
3507
"nonc de l`adresse n`est pas admis pour 'VAR_ACCESS'"
Dans la liste globale des variables pour les variables daccs, il existe une affectation d'adresse pour une
variable :
Dfinition correcte : <Identificateur> : <Chemin daccs> : <Type> <Type daccs>
3550
"Le nom de tche '<nom>' a t utilis deux fois"
Vous avez dfini deux tches avec le mme nom. Renommez-en une.
3551
"La tche '<nom>' doit contenir au moins un appel de programme "
Insrez un appel de programme ou effacez la tche.
3552
"La variable d'vnement '<nom>' dans la tche '<nom>' n'est pas dfinie. "
Vous avez utilis dans la configuration de la tche nomme une variable vnementielle qui nest pas dclare
globalement dans le projet. Utilisez une autre variable ou dfinissez la variable en question de manire globale.
3553
"La variable d'vnement '<nom>' dans la tche '<nom>' doit tre du type 'BOOL' "
Utilisez une variable de type BOOLene comme variable vnementielle.
3554
"L'entre de tche '<nom>' doit tre un programme ou une instance de bloc fonctionnel globale. "
Vous avez entr une fonction ou un module non dfini dans le champ Appel de programme.
3555
"L'entre de tche '<nom>' contient des paramtres faux. "
Vous avez entr dans le champ Appel de programme des paramtres qui ne correspondent pas la dclaration
du module.
3556
"Les tches ne sont pas acceptes par la cible slectionne."
La configuration de tches prsente dans le projet nest pas possible pour le systme cible actuellement rgl.
Rglez le systme cible correspondant ou modifiez la configuration des tches en consquence.
3557
"Le nombre maximum de tches (<nombre>) a t excd."
Le systme cible rgl actuellement ne permet pas le nombre actuellement prsent dans la configuration des
tches. Rglez le systme cible correspondant ou modifiez la configuration des tches en consquence.
3558
"La priorit de la tche <nom> est hors de la zone valide entre <nombre> et <nombre>"
Le systme cible rgl actuellement ne permet pas la priorit actuellement dfinie pour la tche dans la
configuration des tches. Rglez le systme cible correspondant ou modifiez la configuration des tches en
consquence.

10-122

CoDeSys V2.3

10 - APPENDICE

3559
"Tche <nom>: Tche d'intervalle n'est pas supporte par la cible actuelle"
Le systme cible rgl actuellement ne permet pas les intervalles de tches actuellement prsents dans la
configuration des tches. Rglez le systme cible correspondant ou modifiez la configuration des tches en
consquence.
3560
"Tche <nom>: Les tches rptition automatique ne sont pas supportes par la cible actuelle."
Le systme cible rgl actuellement ne permet pas les tches spontanes actuellement prsentes dans la
configuration des tches. Rglez le systme cible correspondant ou modifiez la configuration des tches en
consquence.
3561
"Tche <nom>: Les tches d'vnement ne sont pas supporte de la cible actuelle."
Le systme cible rgl actuellement ne permet pas les tches vnementielles actuellement prsentes dans la
configuration des tches. Rglez le systme cible correspondant ou modifiez la configuration des tches en
consquence.
3562
"Task <nom>: Les tches d'vnement externes ne sont pas supportes de la cible actuelle."
Le systme cible rgl actuellement ne permet pas les tches dclenches par vnement externe
actuellement dfinies dans la configuration des tches. Rglez le systme cible correspondant ou modifiez la
configuration des tches en consquence.
3563
"L'intervalle de la tche <nom> est hors de la zone valide de <nombre> <nombre>"
Corrigez lintervalle dans la bote de dialogue des caractristiques pour cette tche dans la configuration des
tches.
3564
"L'vnement externe de la tche <nom> n'est pas support du systme cible actuel."
Le systme cible rgl actuellement ne permet pas lvnement externe actuellement dfini pour la tche.
Modifiez la configuration des tches en consquence.
3565
"Le nombre maximum des tches d'vnement de <nombre> a t excd."
Le systme cible rgl actuellement ne permet pas autant de tches vnementielles telles que
momentanment dfinies. Rglez le systme cible correspondant ou modifiez la configuration des tches en
consquence.
3566
"Le nombre maximum de tches d'intervalle de <nombre> a t excd."
Le systme cible rgl actuellement ne permet pas autant de tches dintervalle telles que momentanment
dfinies. Rglez le systme cible correspondant ou modifiez la configuration des tches en consquence.
3567
"Le nombre maximum de tches rptition automatique de <nombre> a t excd."
Le systme cible rgl actuellement ne permet pas autant de tches spontanes telles que momentanment
dfinies. Rglez le systme cible correspondant ou modifiez la configuration des tches en consquence.
3568
"Le nombre maximum de tches d'vnement externes de <nombre> a t excd."
Le systme cible rgl actuellement ne permet pas autant de tches vnementielles externes telles que
momentanment dfinies. Rglez le systme cible correspondant ou modifiez la configuration des tches en
consquence.

CoDeSys V2.3

10-123

Combinaisons de touches

3569
"Le module <nom> n'a pas t dfini pour l'vnement <nom>"
Le module appeler de l'vnement systme dfini dans la configuration des tches nest pas disponible dans
le projet. Modifiez la configuration des tches en consquence ou assurez-vous que le module appeler soit
bien disponible dans le projet sous ce nom.
3570
"Le tches <nom> et '<nom>"" ont la mme priorit <nombre>."
Modifiez la configuration des tches de faon ce que la mme priorit ne soit pas accorde deux tches.
3571
" La bibliothque 'Syslibcallback' n'est pas incluse dans le projet. Les vnements du systme ne
peuvent pas tre gnrs."
La bibliothque SysLibCallback.lib est ncessaire pour lutilisation de tches commandes par les vnements
(tches dclenches par vnement). Intgrez la bibliothque ou nutilisez pas de tche du type Dclenche
par vnement dans la configuration des tches (Attributs des tches).
3572
" L'intervalle de surveillance de la tche <nom> se trouve hors de la zone valide de <nombre> s
jusqu' <nombre> s"
Dans la bote de dialogue 'Attributs des tches' de la configuration des tches, une valeur en microsecondes
est donne pour lintervalle de surveillance qui se trouve en dehors de la plage dfinie dans le fichier de
description XML.
3573
"L'intervalle de surveillance de la tche <nom> se trouve hors de la zone valide de <nombre> %
jusqu' <nombre> %"
Dans la bote de dialogue 'Attributs des tches' de la configuration des tches, une valeur en pourcent est
donne pour lintervalle de surveillance qui se trouve en dehors de la plage dfinie dans le fichier de description
XML.
3574
"La variable d'vnement <nom> resp. son adresse directe ne peut pas tre utilise comme vnement
qu'une seule fois."
Un vnement Singleton est utilis plusieurs fois dans la configuration des tches. Veuillez vous rfrer ce
propos la description dans 'Insrer' 'Insrer' tche' or ''Insrer' 'Ajouter tche'.
3575
"Task <nom>: Le temps de cycle doit tre un multiple de <nombre> s."
Corrigez le temps de cycle de la tche de faon ad hoc dans la bote de dialogue des proprits de la tche. Le
systme cible dfinit un temps de base et exige que le temps de cycle corresponde celui-ci ou un multiple
de celui-ci.
3600
"Variable implicite non trouve!"
Appliquez tout dabord la commande 'Compiler tout'. Si le message derreur apparat nouveau, veuillez vous
adresser au fabricant de lautomate.
3601
"<nom> est un nom de variable rserv"
Vous avez dclar une variable au sein du projet qui est dj rserve pour le gnrateur de code. Renommez
cette variable.
3610
" '<nom>' n'est pas support"
La caractristique donne nest pas supporte par cette version.

10-124

CoDeSys V2.3

10 - APPENDICE

3611
"Le rpertoire de compilation '<nom>' est non valide."
Vous avez entr un rpertoire incorrect pour les fichiers de compilation dans les options de projet / rpertoires.
3612
"Le nombre maximum de modules ('<numro>') a t excd! La compilation sera abandonne."
Vous utilisez trop de modules et de types de donnes dans le projet. Changez le nombre maximal de modules
dans la configuration du systme cible / Rpartition de la mmoire.
3613
"Compilation abandonne "
La compilation a t interrompue par lutilisateur.
3614
"Le projet doit contenir un module avec le nom '<nom>' (routine principale) ou une configuration de
tche."
Un projet ncessite une entre au programme du type programme (p.ex. PLC_PRG) ou une configuration de
tches.
3615
"<nom>' (Einsprungfunktion) doit tre de type programme "
Vous utilisez une entre au programme(p.ex. PLC_PRG) qui nest pas du type programme.
3616
"Les programmes contenant des donnes ne sont pas accepts par les bibliothques externes. "
La bibliothque enregistrer contient un programme. Ce dernier ne sera pas disposition lors de lutilisation de
la bibliothque.
3617
"Trop peu de mmoire "
Augmentez la mmoire virtuelle de votre calculateur.
3618
" Les accs de bits ne sont pas accepts du gnrateur de code actuelle. "
Le gnrateur de code pour le systme cible actuellement rgl ne supporte pas les accs bit bit aux
variables.
3619
"Fichier d'objet <nom> et bibliothque <nom> ont des versions diffrentes!"
Assurez-vous quune version compatible des fichiers *.lib et *.obj ou *.hex est disponible pour la bibliothque
Ces fichiers doivent porter exactement le mme chronotimbre.
3620
Le module '<nom>' ne doit pas se trouver dans une bibliothque"
Vous souhaitez enregistrer le projet en tant que bibliothque de la version 2.1 Dans cette version, une
bibliothque ne doit pas contenir de module PLC_PRG. Utilisez un autre nom de module.
3621
" Le fichier de traduction <nom> ne peut pas tre dcrit."
Dans le chemin d'accs (voir options de projet, rpertoires) prvu pour le fichier de traduction susmentionn se
trouve probablement dj un fichier de mme nom lecture seule. Supprimez le fichier ou modifiez-en les
droits daccs.
3622
" Le fichier de symbole '<nom>' ne pouvait pas tre cr. "
Dans le chemin d'accs (rpertoire de projet habituel) prvu pour le fichier de symbole susmentionn se trouve
probablement dj un fichier de mme nom lecture seule. Supprimez le fichier ou modifiez-en les droits
daccs.
CoDeSys V2.3

10-125

Combinaisons de touches

3623
" Le fichier avec le projet d'initialisation <nom> ne peut pas tre dcrit."
Dans le chemin d'accs (en fonction du systme cible) prvu pour le fichier de symbole susmentionn se trouve
probablement dj un fichier de mme nom lecture seule. Supprimez le fichier ou modifiez-en les droits
daccs.
3624
"Configuration de la cible'<nombre'>='<valeur>' n'est pas compatible avec '<nombre>'=<valeur>"
Vrifier et corrigez les rglages slectionns dans la bote de dialogue Configuration du systme cible (onglet
Ressources). Si les rglages ne saffichent pas cet endroit ou ny sont pas ditables, veuillez contacter votre
fabricant dautomate programmable.
3700
" Un module appel '<nom>' existe dj dans la bibliothque '<nom>' "
Vous utilisez un nom de module qui est dj attribu un module de bibliothque. Renommez le module.
3701
"Le nom du module dans le nom de dclaration ne correspond pas au nom dans la liste des objets"
Renommez votre module au moyen de la commande de menu "Projet" + "Renommer objet" ou modifiez le
nom du module au niveau de sa partie de dclaration. Le nom doit suivre immdiatement les mots-cls
PROGRAM, FUNCTION ou FUNCTIONBLOCK.
3702
" Trop d'idenfificateurs "
Un maximum de 100 identificateurs peut tre attribu pour chaque dclaration de variable.
3703
" Plusieurs dclarations possdent des identificateurs identiques '<nom>' '"
Plusieurs identificateurs portant le mme nom existent dans la partie dclaration de lobjet.
3704
" Rcursion de donnes: <module 0> -> <module 1> -> .. -> <module 0>"
Une instance de bloc fonctionnel se ncessitant elle-mme a t utilise.
3705
"'<nom>': 'VAR_IN_OUT' n'est pas admis dans les modules de haut niveau quand il n'y a pas de
configuration des tches"
tablissez une configuration de tches ou assurez-vous quaucune variable VAR_IN_OUT ne soit utilise dans
PLC_PRG.
3706
"Dans le modificateur 'CONSTANT', seulement 'VAR', 'VAR_INPUT', 'VAR_OUTPUT', 'VAR_EXTERNAL'
et 'VAR_GLOBAL' sont admis."
Aucune constante ne peut tre dclare pour cette catgorie de variable.
3720
" Adresse attendue aprs 'AT' "
Insrez une adresse valide aprs le mot cl AT ou changez le mot cl AT.
3721
" Seulement 'VAR' et 'VAR_GLOBAL' peuvent tre placs sur des adresses "
Copiez la dclaration dans une zone VAR ou VAR_GLOBAL.
3722
" Sur une adresse de bit, seulement des variables 'BOOL' sont admises "
Changez ladresse ou le type de variable donn dans la dclaration.

10-126

CoDeSys V2.3

10 - APPENDICE

3726
" Une constante ne peut pas tre pose sur une adresse directe. "
Modifiez l'affectation dadresse en consquence.
3727
"Tableaus ne peuvent pas mettre cette adresse "
Modifiez l'affectation dadresse en consquence.
3728
"Adresse inadmissible: '<Adresse>'"
Cette adresse nest pas supporte par la configuration de lautomate. Vrifiez la configuration ou corrigez
ladresse.
3729
"Type interdit '<nom>' sur l'adresse: '<nom>'"
Le type de cette variable ne peut tre plac ladresse indique. Exemple : pour un systme cible qui travaille
avec un alignement de 2 octets (Alignment 2), la dclaration suivante est non valide : var1 AT %IB1:WORD;
3740
" Type inconnu: '<nom>' "
Vous utilisez un type non valide pour la dclaration de variables.
3741
" Identificateur de type attendu "
Vous utilisez un mot cl ou un oprateur la place dun identificateur de type valide.
3742
" Valeur d'numration attendue "
Dans la dfinition du type dnumration, il manque un identificateur aprs la parenthse ouvrante ou aprs une
virgule dans la zone dlimite par les parenthses.
3743
"Nombre entier attendue "
Les valeurs numratives ne peuvent tre initialises quavec des nombres entiers du type INT.
3744
"La constante enum '<nom>' est dj dfinie."
Vrifiez si vous avez respect les rgles suivantes lors de lattribution de valeurs numratives :
- toutes les valeurs doivent tre univoques au sein dune dfinition dnumration.
- toutes les valeurs doivent tre univoques au sein des dfinitions globales dnumration.
- toutes les valeurs doivent tre univoques au sein des dfinitions locales dnumration dun module.
3745
"Les limites de plage ne sont admises que pour les types de donnes intgres!"
Les types domaines partiels ne peuvent tre dfinis que sur base de types de donnes entires.
3746
"La limite de plage '<nom>' n'est pas compatible au type de donnes '<nom>'."
Une des limites donnes pour le type domaine partiel est situe en dehors des limites autorises pour le type
de base.
3747
"Longueur de chane de caractres inconnue: '<nom>''"
Vous utilisez une constante inconnue pour la dfinition de la longueur de la chane de caractres.

CoDeSys V2.3

10-127

Combinaisons de touches

3748
"Un tableau ne doit avoir plus de trois dimensions."
Vous utilisez plus que les trois dimensions autorises pour un tableau. Utilisez le cas chant un ARRAY OF
ARRAY.
3749
"La limite infrieure '<nom>' est inconnue."
Vous utilisez une constante non dfinie comme limite infrieure dun type domaine partiel ou d'un type tableau
(ARRAY).
3750
"La limite suprieure '<nom>' est inconnue."
Vous utilisez une constante non dfinie comme limite suprieure dun type domaine partiel ou d'un type tableau
(ARRAY).
3751
"Longueur de cordon <nombre> invalide"
La longueur de chane de caractres (nombre de caractres) autorise par le systme cible configur est
dpasse dans la prsente dclaration.
3752
"Un tableau ne doit avoir plus de trois dimensions."
Un tableau ne peut avoir que 3 dimensions au maximum. La dimensionnalit obtenue par limbrication de
tableaux (p. ex arr: ARRAY [0..2,0..2,0..2] OF ARRAY [0..2,0..2,0..2] OF ARRAY [0..2,0..2,0..2, 0..2] OF
DINT ne doit pas dpasser 9 et dpasse dans le cas prsent la valeur maximale. Veuillez rduire cette valeur
de faon approprie sur un maximum de neuf dimensions.
3760
"Valeur d'initiale fausse"
Utilisez une valeur initiale qui corresponde la dfinition du type. Vous pouvez vous aider de la bote de
dialogue de dclaration de variables (Maj/F2 ou 'Editer' 'Dclaration de variables').
3761
"Variables 'VAR_IN_OUT' ne doivent pas avoir de valeur initiale."
Enlevez linitialisation dans la dclaration de variables.
3780
"'VAR', 'VAR_INPUT', 'VAR_OUTPUT' ou 'VAR_IN_OUT' attendu"
La premire ligne qui suit le nom dun module, doit contenir un de ces mots-cls.
3781
"'END_VAR' ou identificateur attendu"
Ecrivez un identificateur valide ou END_VAR au dbut de la ligne de dclaration.
3782
"Fin inattendue"
Dans la partie de dclaration : insrez le mot-cl END_VAR la fin de la partie de dclaration.
Dans lditeur littraire : insrez des instructions qui compltent la dernire squence dinstructions (par
exemple END_IF).
3783
"'END_STRUCT' ou identificateur attendu"
Assurez-vous que la dclaration de type soit correctement termine.
3800
"Les variables globales occupent trop de mmoire. Veuillez augmenter le mmoire disponible dans les
options de projet."
Augmentez le nombre de segments rgl pour les options de compilation dans les options de projet.
10-128

CoDeSys V2.3

10 - APPENDICE

3801
"La variable '<nom>' est trop grande ('<nombre>' Bytes)"
La variable utilise un type qui est plus grand quun segment de donne. Vous pouvez rgler la longueur de
segment, selon le systme cible, dans la Configuration du systme cible / Rpartition de la mmoire. Si vous
ny trouvez aucune possibilit de saisie, veuillez vous adresser au fabricant de lautomate.
3802
"Le mmoire pour la variable de retain est puis. Variable '<nom>', octets."
Lespace mmoire disponible pour les variables rmanentes est puis. Vous pouvez rgler cet espace, selon
le systme cible, dans la Configuration du systme cible / Rpartition de la mmoire. Si vous ny trouvez
aucune possibilit de saisie, veuillez vous adresser au fabricant de lautomate. (Veuillez galement noter cet
effet, que dans le cas dinstances de blocs fonctionnels dans lesquels une variable rmanente est utilise,
linstance complte est gre dans la zone de mmoire rmanente !)
3803
"Le mmoire pour les variables globales est puis. "
Lespace mmoire disponible pour les variables globales est puis. Vous pouvez rgler cet espace, selon le
systme cible, dans la Configuration du systme cible / Rpartition de la mmoire. Si vous ny trouvez aucune
possibilit de saisie, veuillez vous adresser au fabricant de lautomate.
3820
"'VAR_OUTPUT' et 'VAR_IN_OUT' ne sont pas admis dans les fonctions."
Vous ne pouvez dfinir aucun paramtre de rfrence / de sortie dans une fonction.
3821
"Au moins une entre est ncessaire pour une fonction"
Insrez au moins un paramtre dentre pour la fonction.
3840
"Variable globale inconnue '<nom>'!"
Vous utilisez dans le module une variable VAR_EXTERNAL pour laquelle aucune variable globale
correspondante nest dclare.
3841
"Dclaration de '<nom>' ne correspond pas la dclaration globale!"
La dfinition du type dans la dclaration de la variable de type VAR_EXTERNAL ne correspond pas la
dfinition dans la dclaration globale.
3850
"Dclaration d'une structure 'unpacked' <nom> dans une structure 'packed' <nom> est interdit!"
La dfinition de structure indique mne un misalignment (mauvais alignement) dans la mmoire.
Modifiez la dfinition de structure de faon approprie.
3900
"Soulignes multiples dans l'identificateur"
Enlevez les caractres de soulignement multiples dans lidentificateur.
3901
"Un maximum de 5 zones numriques est admis dans les adresses"
Vous utilisez une affectation directe dadresse pour une adresse qui contient plus de quatre niveaux (p.ex.
%QB0.1.1.0.1).
3902
"Des mots cl s'crivent en majuscules"
crivez le mot cl en majuscules ou activez loption 'Formater automatique'.

CoDeSys V2.3

10-129

Combinaisons de touches

3903
"Constante de temps inadmissible"
La constante nest pas donne conformment au format IEC61131-3.
3904
"Constante de temps dpasse valeur maximum"
Vous utilisez une valeur pour la constante de temps qui ne peut plus tre reprsente en format interne. La
valeur maximale reprsentable est t#49d17h2m47s295ms.
3906
"Constante d'heure du jour inadmissible"
La constante nest pas donne conformment au format IEC61131-3.
3907
"Constante date/temps inadmissible"
La constante nest pas donne conformment au format IEC61131-3.
3908
"Chane de caractres non valid "
La constante de chane contient un caractre non valide.
4000
"Identificateur attendu "
Introduisez un identificateur valide cet endroit.
4001
"Variable '<nom>' non dclare"
Dclarez la variable locale ou globale.
4010
"Types incompatibles: Ne peut pas convertir '<nom>' en '<nom>'."
Vrifiez les types requis par loprateur (recherchez pour cela loprateur dans votre fichier daide) et remplacez
le type de la variable qui a gnr lerreur par un type admis ou choisissez une autre variable.
4011
"Type inadmissible dans paramtre '<nombre>' de '<nom>': Ne peut pas convertir '<nom>' en '<nom>'."
Le type du paramtre actuel ne peut tre converti celui du paramtre formel. Utilisez une conversion de type
ou un type de variable correspondant.
4012
"Type inadmissible pour paramtre '<nom>' de '<nom>': Ne peut pas convertir '<nom>' en '<nom>'."
Une valeur du type inadmissible <type2> est affecte la variable '<nom>'. Remplacez la variable ou la
constante par une variable ou une constante de type <type1>, ou utilisez une conversion de type ou une
constante avec prfixe de type.
4013
"Type inadmissible pour sorties '<nom>' de '<nom>': Ne peut pas convertir '<nom>' en '<nom>'."
Une valeur du type inadmissible <type2> est affecte la variable '<nom>'. Remplacez la variable ou la
constante par une variable ou une constante de type <type1>, ou utilisez une conversion de type ou une
constante avec prfixe de type.
4014
" Constante avec prfixe de type: '<nom>' ne peut pas tre converti en '<nom>'. "
Le type de la constante nest pas compatible avec le type du prfixe.
Exemple : SINT#255

10-130

CoDeSys V2.3

10 - APPENDICE

4015
" Type de donnes non valide <'<nom>'> pour accs de bit direct. "
Ladressage direct de bits nest autoris que pour les types de donnes entires (Integer) et chanes de bits
(Bitstring) et nest pas autoris pour les variables directes. Vous utilisez dans laccs bit bit <var1>.<bit> une
variable var1 de type REAL/LREAL ou une constante ou essayez un accs de bit sur une variable directe.
4016
" L'index de bit '<numro>' est hors de la plage valide pour variables du type <nom>'. '"
Vous essayez daccder un bit qui nest pas dfini pour le type de donne de la variable.
4017
" 'MOD' n'est pas defini pour 'REAL' "
Loprateur MOD ne peut tre utilis que pour les types de donnes entires (Integer) et chanes de bit
(Bitstring).
4020
" Les oprandes 'ST', 'STN', 'S', 'R' doivent tre des variables modifiables"
Remplacez le premier oprande par une variable laquelle l'on peut accder en criture.
4021
" Pas de permission de modification pour '<nom>' "
Remplacez la variable par une variable avec accs en criture.
4022
"Oprande attendu"
Ajoutez un oprande derrire la commande existante.
4023
" Aprs '+' ou '-', un nombre est attendue "
Entrez un chiffre.
4024
"Erwarte <Operator 0> oder <Operator 1> oder ... vor '<nom>'"
Entrez un oprateur valide lendroit indiqu.
4025
"Erwarte ':=' oder '=>' vor '<nom>'"
Entrez un des deux oprateurs lendroit indiqu.
4026
" 'BITADR' attend une adresse de bit ou une variable sur une adresse de bit. "
Utilisez une adresse de bit correcte (p.ex. %IX0.1).
4027
" Nombre entier ou constante symbolique attendu "
Insrez un nombre entier ou lidentificateur dune constante correcte.
4028
" L'oprateur 'INI' requiert une instance de bloc fonctionnel ou une variable structure "
Vrifiez le type des variables sur lesquelles vous appliquez loprateur INI.
4029
" Des appels imbriqus de la mme fonction ne sont pas possibles."
Dans le cas de systmes cibles non-rentrants et en mode simulation, un appel de fonction ne peut contenir
comme paramtre un appel lui-mme.
Exemple : fun1(a,fun1(b,c,d),e);
Utilisez une variable intermdiaire.
CoDeSys V2.3

10-131

Combinaisons de touches

4030
" 'ADR' requiert une variable comme paramtre et pas une expression ou une constante "
Remplacez la constante ou lexpression par une variable ou une adresse directe.
4031
" L'oprateur d'adresse n'est pas admis sur les bits! Veuillez utiliser 'BITADR'."
Utilisez BITADR. Veuillez noter : BITADR ne rend pas dadresse mmoire physique.
4032
"' '<numro>' d'oprandes sont trop peu pour '<nom>'. Un minimum de '<numro>' est ncessaire "
Vrifiez combien doprandes sont requis par loprateur '<Nom>', et insrez les oprandes manquants.
4033
"' '<numro>' oprandes sont trop pour '<nom>'. Le nombre exact de '<numro>' est ncessaire "
Vrifiez combien doprandes sont requis par loprateur '<Nom>', et supprimez les oprandes superflus.
4034
" Division par '0'"
Vous utilisez une division par 0 dans une expression constante. Utilisez le cas chant une variable avec la
valeur 0 pour forcer une erreur dexcution.
4040
" L'tiquette '<nom>' n'est pas dfinie "
Dfinissez une tiquette nomme <tiquette> ou bien remplacez <tiquette> par une tiquette dfinie.
4041
" Dfinition multiple de l'tiquette '<nom>' '"
Ltiquette de saut '<Nom>' est dfinie plusieurs fois dans le module. Renommez en consquence ou enlevez
une dfinition.
4042
" Il peut seulement tre au maximum '<numro>' renvoi de saut successivement "
Le nombre dtiquettes par instruction est limit '<nombre>'. Insrez une instruction fictive.
4043
"Le format du label est invalide. Un label doit tre un nom qui peut tre suivi par deux points. "
Soit le nom utilis pour ltiquette nest pas un identificateur valide, soit il manque un signe deux-points dans la
dfinition.
4050
" L'unit '<nom>' n'existe pas dans le projet "
Dfinissez un module nomm <Nom> au moyen de la commande de menu "Projet" + "Insrer objet" ou
remplacez <Nom> par le nom dun module dfini.
4051
" '<nom>' n'est pas de fonction "
Utilisez pour le '<Nom>' un des noms de fonction dfinis dans le projet ou les bibliothques.
4052
" '<nom>' doit tre une instance dclare du bloc fonctionnel '<nom>"
Utilisez pour le '<Nom dinstance>' une des instances de type '<Nom>' dfinies dans le projet ou modifiez le
type de <Nom dinstance> en '<Nom>'.
4053
"<nom>' n'est pas de module ou oprateur valide"
Remplacez '<Nom>' par le nom dun des modules dfinis dans le projet ou le nom dun oprateur.

10-132

CoDeSys V2.3

10 - APPENDICE

4054
"Bausteinname als Parameter von 'INDEXOF' erwartet"
Le paramtre indiqu nest pas un nom de module valide.
4060
"'VAR_IN_OUT' Paramtre '<nom>' de '<nom>' requiert variable avec permission de modification
comme entre. "
Il faut transmettre aux paramtres VAR_IN_OUT des variables avec accs en criture, car celles-ci peuvent
tre modifies au sein du module.
4061
"'VAR_IN_OUT' Paramtre '<nom>' de '<nom>' doit tre occup. "
Les paramtres VAR_IN_OUT doivent tre affects des variables avec accs en criture, car celles-ci
peuvent tre modifies au sein du module.
4062
"Pas d'accs au paramtre 'VAR_IN_OUT' '<nom>' de '<nom>' de l'extrieur."
Les paramtres VAR_IN_OUT ne peuvent tre lus ou crits quau sein du module car il sagit dun transmission
par rfrence.
4063
"Vous ne pouvez pas attribuer des adresses de bit au paramtre 'VAR_IN_OUT' '<nom>' de '<nom>'. "
Une adresse de bit nest pas une adresse physique correcte. Transmettez une variable ou une non-adresse
directe de bit.
4064
"'VAR_IN_OUT' ne doit pas tre cras dans un appel d'action local! "
Effacez l'assignation des variables VAR_IN_OUT pour lappel local daction.
4070
"Le module contient une expression trop complexe. "
Rduisez le niveau d'imbrication en divisant lexpression en plusieurs expressions laide daffectations des
variables intermdiaires.
4071
"Le rseau est trop grand "
Divisez le rseau en plusieurs rseaux.
4100
" '^' ncessite un type de pointer "
Vous essayez de drfrencer une variable qui nest pas dclare comme POINTER TO.
4110
" '[<index>]' seulement admis pour les variables de tableau "
Vous utilisez [<index>] pour une variable qui nest pas dclare comme ARRAY OF.
4111
"L'expression dans l'index d'un tableau doit avoir un rsultat du type 'INT' "
Utilisez une expression de type correspondant ou une conversion de type.
4112
"Le tableau a trop d'indices "
Vrifiez le nombres dindices (1, 2 ou 3) spcifis dans la dclaration du tableau et supprimez les indices en
surnombre.

CoDeSys V2.3

10-133

Combinaisons de touches

4113
" Le tableau a trop peu d'indices "
Vrifiez le nombres dindices (1, 2 ou 3) spcifis dans la dclaration du tableau et compltez les indices
manquants.
4114
" Il n'y a pas d'index constant dans la zone du tableau "
Assurez-vous que les indices utiliss se trouvent dans les limites du tableau.
4120
" Une variable structure doit tre place devant '.' "
Lidentificateur gauche du point doit tre une variable de type STRUCT ou un bloc fonctionnel
FUNCTION_BLOCK ou encore le nom dune FONCTION ou dun PROGRAMME.
4121
"'<nom>' n'est pas de composant de '<nom>' "
Le composant '<Nom>' nest pas contenu dans la dfinition de lobjet <Objet>.
4122
'<nom>' n'est pas de paramtre d'entre du bloc fonctionnel appel "
Vrifiez les variables dentre du bloc fonctionnel appel et remplacez '<Nom>' par une de ces variables.
4200
" 'LD' attendu "
Insrez au moins une instruction LD dans la fentre dditeur du langage IL ou aprs ltiquette.
4201
" Oprateur IL attendu "
Toute instruction IL doit dbuter avec un oprateur ou une tiquette.
4202
" Fin inattendue de l'expression entre parenthses "
Insrez une parenthse droite (fermante).
4203
"'<nom>' ne doit pas tre entre parenthses "
Loprateur indiqu nest pas autoris au sein dune expression IL entre parenthses.
(non autoriss : 'JMP', 'RET', 'CAL', 'LDN', 'LD', 'TIME')
4204
" Parenthse de fermeture sans parenthse d'ouverture correspondante "
Insrez une parenthse gauche (ouvrante) ou effacez la parenthse droite (fermante).
4205
" Une virgule est inadmissible aprs ')' "
Enlevez la virgule aprs la parenthse droite (fermante).
4206
" Pas d'tiquettes dans des expressions entre parenthses "
Dplacez ltiquette en dehors de lexpression entre parenthses.
4207
" Modificateur 'N' demande un oprande du type 'BOOL','BYTE','WORD' ou 'DWORD' "
Le modificateur 'N' ncessite un type de donnes pour lequel une ngation boolenne peut tre effectue.

10-134

CoDeSys V2.3

10 - APPENDICE

4208
" L'expression devant un oprateur doit livrer un rsultat du type 'BOOL' "
Assurez-vous que lexpression donne un rsultat boolen ou utilisez une conversion de type.
4209
" Pas de nom de fonction admis ici "
Remplacez lappel de fonction par une variable ou par une constante.
4210
" 'CAL', 'CALC' ou 'CALN' requirent une instance de bloc fonctionnel comme oprande "
Dclarez une instance du bloc fonctionnel que vous souhaitez appeler.
4211
" Commentaire dans IL seulement admis la fin de la ligne "
Dplacez le commentaire la fin de la ligne ou dans une ligne propre.
4212
" L'accumulateur est invalide devant un nonc li la valeur de l'accu "
Le contenu de laccumulateur nest pas dfini. Ceci se produit aprs des instructions qui ne donnent pas de
rsultat (p.ex. 'CAL').
4213
" 'S' et 'R' demande un oprande du type 'BOOL' "
Utilisez une variable boolenne cet endroit.
4250
" Le module n'est pas termine proprement: Insrez 'ST' ou effacez la dernire expression. "
La ligne ne commence pas avec une instruction ST valide.
4251
" La fonction '<nom>' a trop de paramtres "
Vous avez indiqu plus de paramtres que ce qui est dclar dans la dfinition de la fonction.
4252
" La fonction '<nom>' a trop peu de paramtres "
Vous avez indiqu moins de paramtres que ce qui est dclar dans la dfinition de la fonction.
4253
" 'IF' et 'ELSIF' demandent une condition de type boolen "
Assurez-vous que la condition suivant un 'IF' ou 'ELSEIF' soit une expression boolenne.
4254
" 'WHILE' requiert une condition boolenne"
Assurez-vous que la condition suivant un 'WHILE' soit une expression boolenne.
4255
" 'UNTIL' requiert une condition boolenne "
Assurez-vous que la condition suivant un 'UNTIL' soit une expression boolenne.
4256
" 'NOT' requiert un oprande boolen "
Assurez-vous que la condition suivant un 'NOT' soit une expression boolenne.
4257
" Le compteur de l'nonc 'FOR' doit tre du type 'INT' "
Assurez-vous que la variable de comptage soit un type de donnes entires (Integer) ou chanes de bits
(Bitstring) (p.ex. DINT, DWORD).
CoDeSys V2.3

10-135

Combinaisons de touches

4258
" Le compteur dans l'nonc 'FOR' n'est pas de variable avec permission de modification "
Remplacez la variable de comptage par une variable avec accs en criture.
4259
" La valeur initiale de l'nonc 'FOR' doit tre du type 'INT' "
La valeur initiale de l'nonc FOR doit tre compatible avec le type de la variable de comptage.
4260
" La valeur finale de l'nonc 'FOR' doit tre du type 'INT' "
La valeur finale de l'nonc FOR doit tre compatible avec le type de la variable de comptage.
4261
" La valeur incrmentale de l'nonc 'FOR' doit tre du type 'INT' "
La valeur dincrmentation de l'nonc FOR doit tre compatible avec le type de la variable de comptage.
4262
" 'EXIT' n'est admis que dans une boucle "
Nutilisez 'EXIT' quau sein dnoncs 'FOR', 'WHILE' ou 'UNTIL'.
4263
" Nombre, 'ELSE' ou 'END_CASE' attendus"
Vous ne pouvez indiquer au sein dun 'CASE' quun nombre ou un nonc 'ELSE' ou encore lnonc final
'END_CASE'.
4264
" Le slecteur de l'nonc CACE doit tre du type 'INT' "
Assurez-vous que le slecteur soit un type de donnes entires (Integer) ou chanes de bits (Bitstring) (p.ex.
DINT, DWORD).
4265
" Aprs ',' nombre attendu "
Dans l'numration des slecteurs CASE, un autre slecteur doit tre plac aprs une virgule.
4266
" Un enonc au minimum est demand "
Entrez une instruction, au moins un point-virgule.
4269
" Aprs la branche 'ELSE', 'END_CASE' est attendu "
Fermez lnonc 'CASE' aprs la branche 'ELSE' au moyen de 'END_CASE'.
4270
" Constante de 'CASE' '%ld' dj utilis" "
Un slecteur 'CASE' ne peut tre utilis quune fois dans un nonc 'CASE'.
4271
" Le minimum indiqu est plus grand que le maximum. "
Corrigez les limites des slecteurs de manire ce que la limite infrieure ne soit pas plus grande que la limite
suprieure.
4272
" Expectant paramtre '<nom>' au lieu de '<numro>' dans l'appel de '<nom>'!"
Lorsque vous procdez au paramtrage des fonctions dans lappel de fonctions avec le nom des paramtres, la
position des paramtres (ordre) doit toujours et encore correspondre la position des paramtres dans la
dfinition des fonctions.

10-136

CoDeSys V2.3

10 - APPENDICE

4300
"Saut ou Return requiert une entre boolenne"
Assurez-vous que lentre pour un saut ou linstruction de retour soit une expression boolenne.
4301
" Le module '<nom>' requiert exactement '<numro>' entres "
Le nombre dentres ne correspond pas au nombre de variables VAR_INPUT et VAR_IN_OUT indiqu dans la
dfinition du module
4302
" Le module '<nom>' requiert exactement '<numro>' sorties "
Le nombre de sorties ne correspond pas au nombre de variables VAR_OUTPUT indiqu dans la dfinition du
module
4303
"'<nom>' n'est pas d'oprateur "
Remplacez '<Nom>' par un oprateur valide.
4320
" Expression non-boolenne '<nom>' avec contact "
Le signal de commutation dun contact doit tre une expression boolenne.
4321
" Expression non-boolenne '<nom>' avec bobinage "
La variable de sortie dun bobinage doit tre de type BOOL.
4330
"Une expression est attendue l'entre 'EN' de la bote '<nom>'
Brancher lentre EN du module '<Nom>' sur une entre ou une expression.
4331
" Une expression est attendue l'entre '<numro>' de la bote '<nom>' "
Lentre du module doprateur nest pas cbl.
4332
"Une expression est attendue l'entre '<nom>' du module '<nom>'"
Lentre du module est du type VAR_IN_OUT et nest pas cbl.
4333
" Identificateur attendu dans saut "
La destination du saut indiqu nest pas un identificateur valide.
4334
" Une expression est attendue l'entre du saut "
Cblez lentre du saut avec une expression boolenne. Lorsque celle-ci a la valeur TRUE, le saut est excut.
4335
" Une expression est attendue l'entre de Return eturn"
Cblez lentre de linstruction de retour avec une expression boolenne. Lorsque celle-ci a la valeur TRUE, le
saut est excut.
4336
"Une expression est attendue l'entre de la sortie "
Reliez la sortie une expression laquelle cette sortie peut tre affecte.

CoDeSys V2.3

10-137

Combinaisons de touches

4337
" Identificateur attendu pour cette entre "
Insrez dans la bote dentre une expression ou un identificateur valide.
4338
" La bote '<nom>' n'a pas d'entres relles "
Aucune des entres du module doprateur '<Nom>' n'est cbl avec une expression valide. F
4339
"Types incompatibles l'entre: Ne peut pas convertir '<nom>' en '<nom>'"
Lexpression dans la bote de sortie nest pas de type compatible avec lexpression qui devrait lui tre affecte.
4340
"Saut requiert une entre boolenne"
Assurez-vous que lentre pour le saut soit une expression boolenne.
4341
" Return requiert une entre boolenne "
Assurez-vous que lentre pour linstruction de retour soit une expression boolenne.
4342
" L'entre 'EN' de la bote requiert une entre boolenne. "
Associez lentre EN du module avec une expression boolenne valide.
4343
" Affectation de la constante: <nom>"
Vous avez dclar lentre '<Nom>' du module '<Nom>' comme VAR_INPUT CONSTANT. Vous lui avez
cependant affect, dans la bote de dialogue 'Editer paramtres', une expression qui nest pas de type
compatible.
4344
"'S' et 'R' demande un oprande du type 'BOOL' "
Insrez une expression boolenne valide derrire linstruction Set (positionner) ou Reset (remettre zro).
4345
"Unzulssiger Typ fr Parameter '<nom>' von '<nom>': Kann '<Typ>' nicht in '<Typ>' konvertieren."
Vous avez affect lentre '<Nom>' du module '<Nom>' une expression qui nest pas de type compatible.
4346
" Une sortie ne doit pas tre une constante. "
La cible dune affectation doit tre une variable ou une adresse directe avec accs en criture.
4347
" Le paramtre 'VAR_IN_OUT' a besoin d'une variable avec accs criture comme entre. "
Il faut transmettre aux paramtres VAR_IN_OUT des variables avec accs en criture, car celles-ci peuvent
tre modifies au sein du module.
4348
"Nom de programme '<nom>' invalide."
Vous avez insr une bote de programme dans lditeur CFC qui porte le mme nom quune variable (globale)
dj existante. Renommez-la de faon approprie.
4349
"Entre ou sortie efface dans le module '<nom>': Vrifier le lien avec la boite. Ce message derreur
disparait aprs ldition du CFC."
Corrigez le module CFC de faon approprie.

10-138

CoDeSys V2.3

10 - APPENDICE

4350
"Une action de SFC ne peut pas tre appele de dehors!"
Des actions SFC ne peuvent tre appeles quau sein du module SFC dans lequel elles ont t dfinies.
Toutefois, le message d'erreur est galement dit si vous appelez une action au sein du module SFC de faon
autorise, mais que vous nutilisez pas dtapes CEI et que la bibliothque iecsfc.lib est cependant encore
intgre dans le projet. Dans ce cas, veuillez supprimer la bibliothque du projet dans le gestionnaire des
bibliothques et procder une nouvelle fois la compilation.
4351
" Le nom de l'tape n'est pas d'identificateur admissible: '<nom>' '"
Renommez ltape et choisissez comme nom un identificateur valide.
4352
" Des caractres inadmissibles suivent le nom de l'tape admissible:'<nom>' '"
Effacez les caractres non autoriss dans le nom de ltape.
4353
" Noms d'tape doubles: '<nom>' >'"
Renommez une des tapes.
4354
" Saut sur une tape non dfinie: '<nom>' '"
Choisissez comme destination du saut un nom dtape disponible ou insrez une tape avec le nom non
encore dfini.
4355
"Eine Transition darf keine Seiteneffekte (Zuweisungen, FB-Aufrufe etc.) haben"
Une transition ne peut contenir quune expression boolenne.
4356
" Saut sans nom d'tape valid: '<nom>' "
Utilisez un identificateur valide comme destination de saut.
4357
" La bibliothque CEI n'a pas t trouve "
Vrifiez si la bibliothque iecsfc.lib a t associe dans le gestionnaire de bibliothques et si les chemins
daccs saisis dans les options de projet sont corrects.
4358
" Action pas dclare: '<nom>' '"
Assurez-vous que laction de ltape CEI soit insre dans lOrganisateur dobjets en dessous du module SFC
et que le nom de laction soit entr dans la case droite du qualificateur.
4359
" Qualificateur interdit: '<nom>' "
Entrez un qualificateur pour laction CEI dans la case situe gauche du nom de laction.
4360
" Constante de temps attendue aprs qualificateur: '<nom>' >'"
Entrez une constante de temps pour laction CEI dans la case situe gauche du nom de laction, derrire le
qualificateur.
4361
" '<nom>' n'est pas le nom d'une action "
Entrez une action dfinie dans le projet ou une variable boolenne pour laction CEI dans la case situe droite
du qualificateur.

CoDeSys V2.3

10-139

Combinaisons de touches

4362
" Expression pas boolen dans l'action: '<nom>'"
Entrez une variable boolenne ou un nom daction valide.
4363
" Le nom du pas CEI a dj t utilis pour une variable: '<nom>'"
Renommez soit ltape, soit la variable.
4364
" Expression pas boolen dans une transition "
Le rsultat de l'expression de transition doit tre de type BOOLenne.
4365
"L'etape '<nom>' a une valeur limite de temps fausse"
Ouvrez la bote de dialogue des Attributs dtape pour ltape '<Nom>' et entrez une variable ou une constante
de temps valide.
4366
" La marque pour l'tape parallle n'est pas d'identificateur valide: '<nom>' '"
Entrez un identificateur autoris ct du triangle qui indique ltiquette.
4367
" La marque '<nom>'existe dj. "
Vous avez dj dsign une tiquette ou une tape avec ce nom. Renommez-la en consquence.
4368
" L'action '<nom>' est utilise dans plusiers niveaux de SFC embots! "
Vous utilisez laction '<Nom>' dans le module et galement dans une ou plusieurs actions de ce module.
4369
" Exactement un rseau ncessaire pour les transitions "
Vous avez utilis pour la transition plusieurs rseaux FBD ou LD. Rduisez un seul rseau.
4370
" Trouv les lignes en trop aprs transition IL correcte "
Effacez les lignes non utilises la fin de la transition.
4371
" Des caractres inadmissibles suivent le nom de l'tape admissible:'<nom>' '"
Effacez les caractres non utiliss la fin de la transition.
4400
" Le module '<nom>' est incomplet / a t import ou converti en contenant des erreurs. "
Le module ne peut tre entirement converti en CEI 61131-3.
4401
" La constante de temps S5 est trop grand de %lu secondes (max. 9990s)."
Laccumulateur ne comporte pas de temps cod BCD valide.
4402
" L'accs direct n'est pas admis que sur les entres et les sorties. "
Assurez-vous que vous naccdez qu une variable dfinie comme entre ou sortie.
4403
" Ordre STEP5 invalide ou pas convertible en CEI 61131-3. "
Toute commande STEP5 nest pas convertible en CEI 61131-3, par exemple des commandes CPU comme
MAS.
10-140

CoDeSys V2.3

10 - APPENDICE

4404
" Oprande STEP5 invalide ou pas convertible en CEI 61131-3."
Toute oprande STEP5 nest pas convertible en CEI 61131-3, ou il manque un oprande.
4405
"Le dverrouillage d'un timer STEP5/7 ne peut tre converti en CEI 61131-3.."
Les temporisateurs CEI correspondants nont pas dentre de remise zro.
4406
" La constante de comptage STEP5 est trop grande (max. 999)"
Laccumulateur ne comporte pas de constante de comptage code BCD valide.
4407
" L'instruction STEP5 n'est pas convertible en CEI 61131-3 "
Toute instruction STEP5/7 nest pas convertible en CEI 61131-3, par exemple DUF.
4408
" L'accs de bit sur des mots timer/compteur n'est pas convertible en CEI 61131-3. "
Les commandes spciales de temporisation / de comptage ne sont pas convertibles en CEI 61131-3.
4409
" Le contenu de Accu1 ou Accu2 n'est pas dfini et ne peut tre convertie en CEI 61131-3. "
Une commande qui associe deux accumulateurs nest pas convertible car les contenus des accumulateurs sont
inconnus.
4410
" Le module appel n'existe pas dans le projet. "
Importez tout dabord le module appel.
4411
" Erreur dans la liste de variables globales. "
Veuillez vrifier le fichier SEQ.
4412
" Erreur interne No.11 "
Veuillez vous adresser au fabricant de lautomate.
4413
" Format erron d'une ligne dans l'unit de donnes. "
Le code importer contient une donne errone.
4414
" Nom FB/FX manque "
Il manque le nom symbolique dun bloc fonctionnel (tendu) dans le fichier de sortie S5D.
4415
" Cette commande n'est pas permise aprs la fin du bloc "
Un module protg ne peut tre import.
4416
" Commande invalide "
La commande S5 ne peut tre dsassemble.
4417
" Commentaire pas termin "
Terminez le commentaire avec "*)".

CoDeSys V2.3

10-141

Combinaisons de touches

4418
" Nom FB/FX trop long (max. 8 caractres) "
Le nom symbolique dun bloc fonctionnel (tendu) est trop long.
4419
"Format des lignes attendu ""(* Name: <FB/FX-Name> *)"" "
Corrigez la ligne en consquence.
4420
"Nom du paramtre FB/FX manque"
Vrifiez les blocs fonctionnels.
4421
"Indication du type de paramtre FB/FX invalide"
Vrifiez les blocs fonctionnels.
4422
" Type de paramtre FB/FX pas indiqu"
Vrifiez les blocs fonctionnels.
4423
"Oprande actuel invalide "
Vrifiez linterface du bloc fonctionnel.
4424
" Warning: Le bloc appel n'existe pas ou le header est faux ou sans params. "
Le bloc fonctionnel appel na pas encore t import ou est incorrect ou ne possde pas de paramtres (vous
pouvez dans ce dernier cas ignorer le message).
4425
" Etiquette pas dfinie "
La destination dun saut nest pas indique.
4426
" Le module n'a pas de nom STEP5 valide comme p.ex. PB10 "
Modifiez le nom du module.
4427
" Le type de timer n'a pas t indiqu "
Insrez une dclaration du temporisateur dans la liste des variables globales.
4428
" Nombre de parenthses permis dans STEP 5 excd "
Il nest pas permis dutiliser plus de sept parenthses gauches (ouvrantes).
4429
" Erreur dans le nom formel du paramtre "
Le nom du paramtre ne peut comporter plus de quatre caractres.
4430
" Ce type de paramtre formel n'est pas convertible en CEI "
Des temporisateurs, compteurs et modules ne peuvent tre convertis en tant que paramtres formels en CEI
61131-3.
4431
" Trop de paramtres 'VAR_OUTPUT' pour un appel dans STEP5-IL "
Un module ne peut compter comme sorties plus de seize paramtres formels.
10-142

CoDeSys V2.3

10 - APPENDICE

4432
" Les tiquettes au milieu d'une expression sont interdites "
Les tiquettes ne peuvent pas tre places nimporte o dans CEI 61131-3.
4434
" Trop de labels "
Un module ne peut compter plus de 100 tiquettes.
4435
" Aprs saut/appel, vous ne pouvez plus continuer la liaison "
Aprs un saut ou un appel, il doit y avoir une commande de chargement.
4436
" Le contenu du rsultat de liaison n'est pas dfini et pas convertible en CEI 61131-3."
Une commande qui utilise le rsultat de la liaison nest pas convertible car la valeur du rsultat de la liaison est
inconnue.
4437
" Les types de la commande et de l'oprande ne correspondent pas "
Une commande bit bit a t applique un oprande de type mot ou vice-versa.
4438
" Pas de bloc de donnes ouvert (ajoutez 'A DB') "
Insrez un bloc de donnes A (A DB).
4500
" Variable ou adresse inconnue "
Cette variable despion nest pas dclare dans le projet. En appuyant sur la touche <F2> vous obtenez une
liste de slection pour ldition relative la variable dclare.
4501
" Des caractres inadmissibles suivent une expression d'espion valide "
Supprimez les caractres en surnombre.
4520
" Erreur dans la directive pour le compilateur: Flag attendu devant '<nom>'! "
La pragma nest pas saisie correctement. Vrifiez si '<Nom>' est un drapeau valide.
4521
" Erreur dans la directive pour le compilateur: Elment inattendu '<nom>'! "
Vrifiez la composition correcte de la pragma.
4522
" Directive 'flag off' attendue! "
La dsactivation de la pragma manque, insrez une instruction 'flag off'.
4550
" Indice indfiniss : Variable LdO '<numro>', ligne '<numro>' "
Assurez-vous que lindex soit situ dans la zone dfinie dans la configuration du systme cible / Fonctions
rseau.
4551
" Subindice indfiniss : Variable LdO '<numro>', ligne '<numro>'"
Assurez-vous que le sous-index soit situ dans la zone dfinie dans la configuration du systme
cible / Fonctions rseau.

CoDeSys V2.3

10-143

Combinaisons de touches

4552
"Indice indfiniss : Parameter LdO '<numro>', ligne '<numro>'"
Assurez-vous que lindex soit situ dans la zone dfinie dans la configuration du systme cible / Fonctions
rseau.
4553
"Subindice indfiniss : Parameter LdO '<numro>', ligne '<numro>'"
Assurez-vous que le sous-index soit situ dans la zone dfinie dans la configuration du systme
cible / Fonctions rseau.
4554
" Nome de variable invalide: Variable LdO '<numro>', ligne '<numro>' "
Entrez une variable de projet valide dans le champ Variable. Utilisez le format dcriture <Nom du module>
<Nom de la variable> ou <Nom de la variable> pour les variables globales.
4555
Insrez un valeur, n'est pas optional: Parameter OD '<numro>', ligne '<numro>'
Vous devez procder une saisie dans ce champ.
4556
" Insrez un valeur, n'est pas optional: Variable OD <nom>, ligne <nom>"
Vous devez procder une saisie dans ce champ.
4557
"Le mmoire de paramtres ncessaire est trop long."
La taille maximale dfinie par le systme cible pour les donnes de type paramtre pouvant tre charges via
la liste des paramtres de type a t dpasse. Une dition de la taille des donnes saffiche dans la fentre
dinformation lors de la compilation du projet. Rduisez le volume des listes de paramtres.
4558
"Le mmoire de variables ncessaire est trop grand."
La taille maximale dfinie par le systme cible pour les donnes de type paramtre pouvant tre charges via
la liste des paramtres de type a t dpasse. Une dition de la taille des donnes saffiche dans la fentre
dinformation lors de la compilation du projet. Rduisez le volume des listes de paramtres.
4560
" Valeur invalide: Rpertoire '<nom>', colonne '<nom>', ligne '<nombre>'"
Contrlez la saisie. Les donnes autorises pour ce champ dpendent de la dfinition de la colonne (attribut)
dans le fichier de description XML spcifique au systme cible du gestionnaire des paramtres, respectivement
des rglages standard utiliss lorsquaucun fichier de description nest disponible.
4561
"Colonne pas dfinie: '<nom>'"
Des saisies entres dans la colonne de la liste des paramtres se rapportent la colonne mentionne, qui nest
toutefois pas dfinie. Les dfinitions de colonne sont contenues dans le fichier de description (XML) du
gestionnaire des paramtres pour le systme cible actuel. Si un tel fichier nest pas disponible, les rglages
standard sappliquent.
4562
"L'index/sous-index '<nom>' est dj en utilisation: rpertoire '<nom>', ligne '<nombre>'"
Un appariement index/sous-index doit tre univoque au sein de toutes les listes des paramtres, tant donn
quil peut tre utilis pour laccs. Modifiez lindexation de faon approprie.
4563
"Le nom '<nom>' est dj en utilisation: rpertoire '<nom>', ligne '<nombre>'"
Le nom dune donne introduite doit tre univoque au sein de toutes les listes des paramtres, tant donn quil
peut tre utilis pour laccs. Utilisez un autre nom.

10-144

CoDeSys V2.3

10 - APPENDICE

4564
"Index <nom> nicht in erlaubtem Bereich: Verzeichnis <nom> , Zeile '<Zeilennummer>' "
Entrez dans ce champ un index se trouvant lintrieur de la plage dfinie dans Paramtres de la cible,
catgorie 'Fonctions de rseau' dans les Zones dindex' pour le prsent type de liste (variables, paramtres,
mappages).
4565
"Subindice indfiniss : Variable LdO <nombre>, ligne <nombre>"
Entrez dans ce champ un sub-index se trouvant lintrieur de la plage dfinie dans Paramtres de la cible,
catgorie 'Fonctions de rseau' comme 'Zones de sub-index'.
4566
"Erreur en important le manager des paramtres"
Vous avez import un fichier dexportation dans le projet qui contient des informations errones sur le
gestionnaire des paramtres. Vrifiez le fichier *.exp dans cette optique.
4600
"Variables de rseau: '<nom>' n'est pas d'expression boolenne!"
Assurez-vous que la variable indique dans loption 'Transmission dclenche par vnement' de la bote de
dialogue des caractristiques dune liste de variables rseau, soit de type BOOL.
4620
Des variables non utilises ont t trouves dans le projet. Veuillez vous rfrer ce propos la description de
la commande 'Projet' 'Vrifier' 'Variables inutilises' dans le chapitre 4.3.
4621
Des chevauchements ont t constats dans certaines zones de mmoire lors de lattribution de variables au
moyen de la dclaration AT . Veuillez vous rfrer ce propos la description de la commande 'Projet'
'Vrifier' 'Zones de mmoire imbriques' dans le chapitre 4.3.
4622
Des adresses CEI renvoyant la mme zone de mmoire sont rfrences dans plus dune tche. Veuillez
vous rfrer ce propos la description de la commande 'Projet' 'Vrifier' 'Accs concurrant' dans le chapitre
4.3.
4623
Plusieurs accs criture ont lieu sur plus dun emplacement de la mme zone de mmoire. Veuillez vous
rfrer ce propos la description de la commande 'Projet' 'Vrifier' 'Ecriture multiple sur la sortie' dans le
chapitre 4.3.
4650
"AxisGroup '<nom>': Tche '<nom>' n'existe pas. "
Un nom inconnu dans la configuration des tches est donn dans la configuration de l'automate, dans la
dfinition du groupe daxes (bote de dialogue 'Module parameters', colonne Value) pour la tche qui
commande le transfert des donnes du groupe daxes. Corrigez la configuration de la tche ou de l'automate
de faon approprie.
4651
"AxisGroup '<nom>': Temps de cycle (dwCycle) pas ajust."
Introduisez une valeur dans la configuration de l'automate pour le temps de cycle (dwCycle) dans la bote de
dialogue 'Paramtre de module' du groupe daxes.
4670
"Programme CNC '<nom>': Variable globale '<nom>' pas trouve."
Une variable globale (p. ex. $glob_var$) qui nest pas dfinie dans le projet est utilise dans le programme
CNC. Dclarez lattribution de la variable ou corrigez-la de faon approprie dans le programme CNC.

CoDeSys V2.3

10-145

Combinaisons de touches

4671
"Programme CNC '<nom>': Variable '<nom>' a un faux type."
Vous utilisez dans le programme CNC une variable pour un ordre de dplacement qui est dclare avec un
type non autoris cet endroit. Corrigez lutilisation ou la dclaration de type.
4685
"Came '<nom>': Type de donnes du tableau de points d'appui inconnu."
Vrifiez le type de donnes introduit dans la bote de dialogue 'Option de traduction' de lditeur CAM pour le
tableau de points dappui quidistant ou optimis en fonction des lments.
4686
" Came '<nom>': Point d'appui excde zone des types de donnes"
Des points dappui dpassant la plage de donnes dfinie pour le tableau de points dappui sont utiliss dans la
came. Veuillez voir ce propos la dfinition dans la bote de dialogue 'Options de traduction' dans lditeur
CAM.
4700
"'<Nombre>' ('<nom>'): Expression d'espionnage '<nom>' n'est pas de variable numrique."
Vous utilisez dans la configuration de la visualisation une variable qui nest dfinie par aucun chiffre, bien que ce
soit exig cet endroit (p. ex. lors de la configuration de la variable XOffset ou dangle, etc.)
4701
"'<nom>' ('<nombre>'): L'expression d'espion '<nom>' n'est pas de type boolen"
Vous utilisez dans la configuration de la visualisation une variable qui nest pas de type BOOL, bien que ceci
soit exig cet endroit.
4702
"<nom> ('<nombre>'): L'expression d'espion '<nom>' nest pas de type STRING."
Vous utilisez dans la configuration de la visualisation une variable qui nest pas de type STRING, bien que ceci
soit exig cet endroit.
4703
"'<nom>' ('<nombre>' ): Expression d'espionnage invalide '<nom>' "
La visualisation contient une variable invalide.
4704
"<nom>(<nombre>): Valeur initiale errone dans la liste d'espionnage <nom>."
Une valeur initiale errone est contenue dans une liste despionnage visualise (ordre INTERNE dans la
catgorie Entre). Vrifiez la liste utilise.
4705
"<nom> (<nombre>): Le tableau dalarmes nest pas un groupe dalarmes ordonn <nom>."
Dfinissez un groupe dalarmes valable dans la bote de dialogue de la configuration du tableau dalarmes,
dans la catgorie 'Tableau dalarmes'.
4900
"Type invalide pour conversion"
Une conversion de type qui n'est pas supporte par le gnrateur de code configur a t utilise.
4901
"Erreur interne: dpassement de capacit dans 'array access'!"
Les limites du tableau sont trop leves pour une variable de 32 bits. Rduisez la zone dindex de larray.

10-146

CoDeSys V2.3

11 - Index

11 Index
3
3S Licensing Manager 9-1

8
8051 et compatibles 10-98

A
ABS 10-20
Accder au systme 4-70
Accepter lment chang 4-44
Accepter les caractristiques 4-44
Accepter les droits d accs 4-44
Accepter les parties changes 4-44
Accs concurrent 4-13, 4-48
ACOS 10-23
Action 2-6, 2-17, 4-62
Action de sortie 2-18, 5-58
Action d'entre 2-18, 5-58
Actions cachent les programmes
Actions pour alarmes 6-12
Actions synchrones 6-79
Activer la variable du systme 'CurrentVisu' 10-105
Activer/Dsactiver tche 6-62
Actualiser le statut 4-55
ADD 10-1
ADR 10-13
Adressage de bits au sein de variables 10-30
Adressage par octets 10-101
Adresse
Esclave DeviceNet 6-51
Fonction 10-14
Matre DeviceNet 6-50
Adresse 10-101
Adresse dentre
Matre DeviceNet 6-50
Adresse dune instance 10-13
Adresse de diagnose 6-29
Adresse de diagnostic
Matre DeviceNet 6-50
Adresse de sortie
Matre DeviceNet 6-50
Adresse de sortie 6-29
Adresse d'entre 6-29
Adresses
Changer automatiquement 6-29
Adresses 10-32
ADRINST 10-13
Affectation 2-11, 5-32
Affichage 5-34
Afficher curseur 6-69
Afficher hirarchie d appel 6-62
Afficher l histoire de la version 4-52
Afficher la zone d'impression 4-8
Afficher les diffrences 4-52
Afficher les messages de diagnose 6-55
Afficher les symboles des units de programmation 4-6
Aide adapte au contexte 4-88
Ajouter appel de programme 6-59
Ajouter au module 5-40
Ajouter fichier de configuration 6-26
Ajouter sous-lment 6-57
CoDeSys V2.3

Ajouter une action de sortie 5-58


Ajouter une action d'entre 5-58
Ajouter une tiquette la branche parallele 5-59
alarme 10-104
Alarmes 6-10, 6-12, 6-17, 6-18
ALIAS 10-41
Alignement lors des accs du pointeur 10-39
Analyse matrielle du systme cible 6-54
AND 10-4
Annuler 4-64
Annuler check out 4-51
Annuler le check-out multiple 4-53
Appareil actif dans la configuration 6-51
Appareil optionnel 6-42
Appel de blocs fonctionnels en langage ST 2-13
Appel de fonction 2-1
Appel d'un bloc fonctionnel 2-3, 2-11
Appel d'un programme 2-5
Appel d'une fonction 2-1
Appeler 4-19
Application tlchargee du code source dans l automate
4-85
Appliquer des valeurs 6-80
Arccosinus 10-23
Archive 4-26
Arcsinus 10-23
Arctangente 10-24
Argument 2-1, 2-3
ARRAY 10-37
Arrter 4-74
Arrter de forcer 4-78
Arrter l'histogramme 6-68
ASIN 10-23
Asservissements 5-55
AT 5-7
ATAN 10-24
Attribuer un nom la version 4-54
Attributs d'tape 5-60
Auteur 4-44
Auto Declare 5-8
Automate programmable 4-72, 4-76, 4-77
Autre bibliothque 6-20
Avancer le squencement par un 5-51
Avec arguments 5-21

B
Barre de fractionnement 4-2
Barre de menus 4-1
Barre d'tat 4-3, 4-8
Barre d'outils 4-2, 4-8
Base 10-98
Base de donnes de projet
Catgories 7-3
Travailler avec 7-2
Base de donnees du projet
Fonctions automatiques 4-19
Options pour les Objects communs 4-19
Options pour les Objets de Projet 4-19
Base de donnes du projet
Options pour les fichiers de compilation 4-21
Base de donnes du projet 4-17, 4-21
BCD_TO_INT 10-57
Bibliothque
Insrer 6-20
I

Index

Bibliothque
Dfinir 6-20
Bibliothque 2-8, 4-26
Bibliothque
Licence 6-21
Bibliothque
Enlever 6-21
Bibliothque
Information de License 6-21
Bibliothque des macros 4-23
Bibliothque externe 4-26, 6-20
Bibliothque interne 4-26, 6-20
Bibliothque SFC 2-19
Bibliothque soumise licence 9-1
Bibliothque standard 6-20
bibliothques 6-19
Bibliothques
Modules 10-69
BITADR 10-14
Bits 4-6
BLINK 10-62
Bloc avec EN 5-40
Bloc fonctionnel
dans le rseau LD 2-24
instance 2-3
Bloc fonctionnel 2-2
Bloc fonctionnel en LD 5-39
Bobinage 2-24, 5-38, 5-39
Bobinage SET/RESET 2-24, 2-25
Bote de dialogue de la configuration du systme cible 683
BOOL 10-35
Boucle 2-11, 2-12
Branche parallele 5-59
BY 2-15
BYTE 10-35

C
CAL 10-14
Calcule les adresses 6-27
Calculer les adresses automatiquement 6-27
CAN
Service Data Objects 6-45
CAN 6-49
CAN environnement 6-5
Canal
Paramtre de base 6-32
Paramtre voie 6-32
Canal 6-32
Canal de Gateway 4-83
Canal Gateway 4-84
Canaux binaires 6-32
CAN-Configuration 6-40
CANDevcice
Dfault PDO-Mapping CANDevice 6-48
CANDevice
Configuration CAN 6-47
Configuration de base 6-46
CANDevice 6-46
CAN-Matre
Paramtres de base 6-40
CANopen 10-101
CANopen Esclave 6-46
Caractres 4-6
Caractristiques CFC 5-48
Caractristiques d objet
Outils 6-88
II

CASE 2-11, 2-14


Catgorie dobjet 7-3
CEI61131-3 2-28
CFC
Asservissements 5-55
Connecteur 5-46, 5-49
Copier 5-48
Crer Macro 5-53
Dplacer 5-48
Etablir des liaisons 5-48
Expansion du macro 5-55
Insrer des entres / des sorties la vole 5-50
mode en ligne 5-55
Modifier des liaisons 5-49
Ordonner selon flux des donnes 5-52
Ordre A la fin 5-52
Ordre - Affichage 5-50
Ordre Au dbut 5-52
Ordre - Avancer le squencement par un 5-51
Ordre - Ordonner selon l'ordre topologique 5-51
Ordre - Remettre le squencement par un 5-52
Ordre d'excution 5-50
Sauter dans le macro 5-54
Slctionner 5-48
Supprimer des liaisons 5-49
Toutes les niveaux du macro en arrire 5-55
Un niveau du macro en arrire 5-55
CFC 2-23
Champ 2-1, 10-37
Champ de numrotation de ligne 4-74, 4-80, 5-22
Champ de numrotation de rseau 4-74, 4-80
Changement de systme cible 10-75
CHARCURVE 10-64
Charger automatiquement 4-4
Charger automatiquement projet 10-102
Charger avec programm 6-79
Charger code source 4-85
Charger de l'automate 6-72
Charger du fichier 6-72
Charger le fichier de l automate 4-86
Charger les informations de download 4-33
Charger l'tat du module 6-55
Charger l'histogramme 6-64, 6-71
Charger liste d'espion 6-64
Check in 4-51
Check in multiple 4-53
Check out 4-51
Check out multiple 4-53
Check.lib 10-43
CheckBounds 2-1, 10-37, 10-38
CheckDivByte 10-2
CheckDivDWord 10-2
CheckDivReal 2-1, 10-2
CheckDivWord 10-2
CheckRangeSigned 2-1, 10-41
CheckRangeUnsigned 2-1, 10-41
Chemin daccs de bibliothque 6-20
Cible 6-82
Cibles 9-1
Classe d'alarme 6-10
Classes d'alarme 6-12
COB-Id 6-42, 6-44
CoDeSys 1-1
Coller 4-66, 5-35, 5-42
Coller dans le langage LD 5-41
Coller dans SFC 5-57
Coloration de la syntaxe 5-3, 5-7
Combinaisons de touches 10-107
CoDeSys V2.3

11 - Index

Commandes
PLC-Browser 6-84
Commentaire
Module 6-29
Commentaire 5-10, 5-26, 5-30, 5-38, 5-60
Commentaire de rseau 5-26, 5-30, 5-38
Commentaire en CFC 5-45
Commentaires 5-1
Communication
paramtres 4-8
Commutation vers une autre langue 4-34
Commuter traduction 4-37
Comparaison de projets
Ignorer les caractristiques 4-40
Prochaine diffrence 4-44
Raliser 4-40
Travailler en mode de comparaison 4-43
Visualisation des rsultats 4-41
Comparaison de projets 4-40
Comparer au projet ENI 4-40
Compiler 4-31
Compiler LREAL comme REAL 4-13
Compiler tout 4-32
Composition de la mmoire 10-98
Compresser 6-71
CONCAT 10-47
Concatnation 10-47
Configurable 10-101
Configurateur de tches
Travailler avec 6-56
Configurateur de tches 6-56
Configuration dexpert pour un Esclave DeviceNet 6-51
Configuration de l automate
Calcule les adresses 6-27
Calculer les adresses automatiquement 6-27
Convertir 6-27
Settings 6-27
Vrifier superposition d'addresses 6-27
Configuration de lautomate V2.1 6-24
Configuration de l'alarme
Classes d'alarme 6-12
Date/Temps 6-18
Enregistrement de l'alarme 6-17
Groupes d'alarme 6-16
Langage 6-18
Configuration de l'alarme 6-10
Configuration de l'alarme 6-16
Configuration de l'alarme 6-17
Configuration de l'automate
canal 6-32
Canaux binaires 6-32
Custom Parameters 6-28
Exporter module 6-27
Importer le module 6-27
Insrer les lments 6-26
mode en ligne 6-54
nom symbolique 6-26
Remplacer lment 6-26
Retour la configuration par dfaut 6-27
Slection 6-25
Configuration de l'automate configurable 6-24
Configuration de l'automation
Canal 6-32
Configuration de symbole 4-16
Configuration des symboles du fichier INI 10-102
Configuration des tches
Afficher hirarchie d appel 6-62
en mode En Ligne 6-60
CoDeSys V2.3

vnements dans le systme 6-59


Evolution dans le temps 6-60
Insrer appel de programme 6-59
Libraries 6-60
Quelle tche est traite? 6-62
Statut 6-60
Tche de dbogage 6-62
Configuration des tches 6-55
Configuration du module 6-55
Configuration du systme cible 6-82, 6-83
Configuration largie pour un Esclave DeviceNet 6-51
Confirmation d'alarmes 6-11
Connecteur 5-46, 5-49
Connecteur dans l'diteur CFC 5-46, 5-49
CONSTANT 5-5
Constante 5-5
Constantes
types 10-29
Constantes 10-29
Constantes BOOL 10-27
Constantes BYTE 10-28
Constantes DATE 10-27
Constantes DATE_AND_TIME 10-27
Constantes DINT 10-28
Constantes DWORD 10-28
Constantes globales 6-8
Constantes INT 10-28
Constantes LREAL 10-28
Constantes numriques 10-28
Constantes REAL 10-28
Constantes SINT 10-28
Constantes STRING 10-28
Constantes TIME_OF_DAY 10-27
Constantes types 10-29
Constantes UDINT 10-28
Constantes UINT 10-28
Constantes USINT 10-28
Constantes WORD 10-28
Contact 2-24, 5-37, 5-38
Contacts parallles 2-24, 5-38
Contantes TIME 10-27
Continuer de forcer 10-102
Contrle de droulement 4-80, 5-25
Contrle de projets
Actualiser le statut 4-55
Afficher l histoire de la version 4-52
Afficher les diffrences 4-52
Annuler check out 4-51
Annuler le check-out multiple 4-53
Attribuer un nom la version 4-54
Check in 4-51
Check in multiple 4-53
Check out 4-51
Check out multiple 4-53
Dfinir 4-51
Dfinition multiple 4-53
Dernire version 4-51
Dernires versions 4-53
Historique de la version du projet 4-54
Insrer les objets communs 4-54
Login 4-55
Contrle de projets 4-55
Contrle de projets' 7-2
Contrler la version du produit pour un Esclave
DeviceNet 6-51
Contrles pour un Esclave DeviceNet 6-51
Conversion de S5 vers CEI 61131-3 10-86
Conversions BOOL_TO 10-15
III

Index

Conversions DATE_TO 10-18


Conversions de types 10-15
Conversions DT_TO 10-18
Conversions d'un type entier en un autre type entier 1017
Conversions LREAL_TO 10-17
Conversions REAL_TO 10-17
Conversions STRING_TO 10-19
Conversions TIME_TO 10-17
Conversions TO_BOOL 10-16
Conversions TOD_TO 10-17
Convertir 6-27
Convertir objet 4-59
Copie de sauvegarde 4-4
Copier 4-44, 4-65
Copier dans CFC 5-48
Copier objet 4-59
Corps 5-24, 5-57
COS 10-22
Cosinus 10-22
Couleurs 4-9
Couper 4-65, 5-35, 5-42
Cration dune Liste de variables globales 6-3
Crer fichier binaire de l'application 4-13
Crer projet d initialisation 4-86
CTD 10-55
CTU 10-55
CTUD 10-56
CurrentVisu 10-105
Curseur 6-69
Custom Parameters 6-28
Customer paramtres 6-31
Cycle par cycle 4-76

D
DATE 10-36
DATE_AND_TIME 10-36
DCF 6-40
DDE 8-1, 8-2, 8-4
Dbogage 2-26, 4-12, 5-21, 5-29
Dcalage 10-6
Dclaration
Array 5-9
tableau 5-9
Dclaration AT 5-7
Dclaration de fonction 2-1
Dclaration de variables 5-6
Dclaration variables 4-70
Dclarations sous forme de tableau 5-10
Dclarer automatiquement 4-6, 5-8
Dclencheur 6-66
Dfault PDO-Mapping CANDevice 6-48
Dfinir 4-51
Dfinir des rpertoires 10-79
Dfinir tche de dbogage 6-62
Dfinition multiple 4-53
DELETE 10-47
Dmarrer 4-73
Dplacer dans CFC 5-48
DERIVATIVE 10-59
Dernire version 4-51
Dernires versions 4-53
Dsactiver la gnration de tches 10-105
Dtection de fronts descendants dans LD 5-40
Dtection de fronts montants dans LD 5-40
Dvelopper 4-57
DeviceNet 6-49
IV

DeviceNet Paramtres DeviceNet


Esclave DeviceNet 6-50
DeviceNet-Slave
Configuration de connexion E/S
Esclave DeviceNet 6-52
Diagnose 6-29
Diagnostic du systme cible 6-54
Diagramme d'appel 4-64
Diagramme fonctionnel en squence 2-1, 2-3, 2-17, 474, 5-57
Dialogue Ecrire/Forcer 4-79
Dialogueue des points d'arrt 4-75
DINT 10-35
DIV
CheckDivReal 2-1
DIV 2-1
DIV 10-2
DO 2-15
Documentation 4-30, 4-38
Documentation du projet 6-9
Dossier 4-56, 4-57
download 4-32
Download information 4-33
Download Sourcecode 4-15
DP-Esclave
Assignation des groupes 6-39
Caractristiques dun DP esclave lors dun
fonctionnement esclave du Profibus 6-40
Entre/Sorties 6-37
Paramtre de base 6-36
Paramtre de l utilisateur 6-38
Paramtre de module 6-40
Paramtre DP 6-36
DP-Matre
Paramtre de base 6-33
Paramtre de bus 6-35
Paramtre DP 6-33
Drag&Drop 4-56
Drapeau systme 10-29
Drapeaux SFC 2-21
Droits d'accs 4-61
DT 10-36
DWORD 10-35

E
Echelles d'affectation 5-33
Ecrire DCF 6-42
Ecrire des valeurs 6-80
Ecrire des valeurs de default 6-80
Ecrire la recette 6-65
Ecrire le fichier dans l automate 4-86
Ecrire liste 6-80
crire valeurs des variables 4-76
Ecrire/Forcer Dialogue 4-79
Ecriture multiple sur la sortie 4-13, 4-48
Editer listes de paramtres
Editer 6-79
Editer objet 4-60
Editeur 4-6
Editeur de dclaration 5-3
Editeur du langage contacts 5-36
Editeur du langage FBD 5-30
Editeur pour langage IL 5-24
Editeur pour langage ST 2-11, 5-25
Editeur SFC 5-57
Editeurs
Structure dun diteur 5-1
CoDeSys V2.3

11 - Index

Editeurs 5-1
Editeurs 5-3
Editeurs 5-24
Editeurs 5-25
Editeurs graphiques 5-26
Editeurs littraux 5-20, 5-26
dition des listes de variables globales 6-7
EDS 6-40
Effacer ligne 6-79
Effacer une action 5-60
Effacer une tape et une transition 5-57
Effacer une tiquette d'un saut 5-59
Effacer une transition 5-60
ELSE 2-14
ELSIF 2-14
Emergency Telegram 6-42
En ligne
Paramtres de communication 4-82
En ligne 1-1, 1-2, 3-12
En ligne 5-21
En ligne 5-29
En ligne 6-63
En ligne 6-64
EN/ENO en CFC 5-47
END_CASE 2-14
END_FOR 2-15
END_FUNCTION_BLOCK 2-2
END_IF 2-14
END_PROGRAM 2-5
END_REPEAT 2-16
END_TYPE 10-40, 10-41
END_VAR 5-3, 5-5
END_WHILE 2-15
Engineering Interface ENI 4-17, 4-19, 4-21
ENI
Catgorie dobjet 7-3
ENI 4-40, 4-49, 7-2
ENI Base de donnes du projet
Options 4-17
ENI Server 7-1
ENI Server Suite 7-1
Enlever une bibliothque 6-21
Enonc 2-11, 2-12
Enonc CASE 2-14
Enonc d'itration FOR 2-11, 2-15
Enonc d'itration REPEAT 2-16
Enonc d'itration WHILE 2-11, 2-15
Enonc IF 2-11, 2-14
Enregistrement automatique 4-4
Enregistrement de l'alarme 6-17
Enregistrement des donnes de tendance dans
l'automate 10-104
Enregistrement des donnes de tendance dans
l'automate 10-104
Enregistrement des histogrammes 6-65
Enregistrer 4-25, 10-102
Enregistrer archive/envoyer 4-26
Enregistrer avant compilation 4-12
Enregistrer dans le fichier 6-72
Enregistrer histogramme 6-72
Enregistrer la configuration de l'histogramme 6-66
Enregistrer les valeurs de l'histogramme 6-71
Enregistrer les valeurs de l'histogramme' 6-71
Enregistrer liste d'espion 6-64
Enregistrer une bibliothque 6-20
Entre de module en CFC 5-33, 5-45
Entre EN 2-25, 5-39
Entre en CFC 5-45
CoDeSys V2.3

Entre en langage FBD 5-33


Entrer variables d'histogramme 6-66
Enumration 10-40
Environnement de travail 4-2, 4-3, 4-8
Envoyer fichier de symboles 10-102
Envoyer mappage PDO 6-44
EQ 10-12
Erreur prcdente 4-70
Erreur prochaine 4-70
Esclave CAN
Paramtre CAN 6-42
Paramtre CAN d un CAN-Esclave 6-42
Paramtres de base 6-42
Esclave DeviceNet
Configuration de connexion E/S 6-52
Paramtres 6-54
Paramtres de base 6-50
Paramtres DeviceNet 6-50
Espion 4-70, 5-11, 5-21, 6-63, 6-64, 6-65
Espionnage 5-22
Espionner une variable 5-11, 5-35
Etablir des liaisons dans l'diteur CFC 5-48
Etablir fichier cadre pour la documentation 6-10
Etape 2-17, 4-74, 5-57
Etape active 2-18
Etape CEI 2-19, 5-62
tape individuelle dans 4-75
tape individuelle sur 4-75
Etape initiale 2-18
Etape-Transition (derrire) 5-57
Etape-Transition (devant) 5-57
tatt d'alarme 6-11
Etendre 6-70
Etiquette en CFC 5-34
Etiquetter projet 4-54
Etiquettes de saut 5-26
vnement d'alarme 6-11
Event-Time 6-44
Exclure de la compilation 4-13, 4-32
Exclure des objets 4-32
Exclure des objets de la compilation 4-13
EXIT 2-11, 2-16
EXP 10-22
Exponentation 10-24
Exportation dun module 6-27
Exporter 4-39, 6-81
Exporter module 6-27
Expression 2-11
EXPT 10-24
EXTRACT 10-58
Extraire 4-20
Extras
Prochaine diffrence 4-44
Extras Insrer branche parallele droite 5-59

F
F_TRIG 10-51
F4 4-8
F4 ignore les avertissements 4-8
FBD 2-23
Fentre 4-87
Fentre de messages 4-3
Fentre rubriques d'aide 4-88
Fermer fichier 4-25
Fichier 4-23
Fichier *.tnf 6-82
Fichier asl 4-5
V

Index

Fichier cadre pour la documentation 6-9


Fichier de configuration 6-26
Fichier de langage 4-34
Fichier de traduction
Crer 4-33
Edition 4-36
Fichier de traduction 4-33
Fichier de traduction 4-34
Fichier de traduction 4-36
Fichier Insrer
Etiquette 5-34
Oprande 5-21
Fichier Insrer 5-21
fichier prm 6-81, 6-82
Fichier tlt 4-34
Fichier vis 4-34
Fichiers de bibliothques 4-10
Fichiers de chargement 4-10
Fichiers de compilation 4-10, 4-21
FIND 10-48
Fonction 2-1, 10-33
fonction Callback 6-60
Fonction CheckPointer 10-39
Fonction CheckPointerAligned 10-39
Fonction d'adressage 10-13
Fonction En Ligne 4-70
Fonction exponentielle 10-22
Fonction Intellisense 5-2
Fonction standard 6-20
Fonctionnement Multi-utilisateurs 7-1
Fonctions d'dition 4-64
Fonctions rseau 10-103
Fonts supportes dans le systme cible 10-105
FOR 2-15
Forage indpendant du cycle 10-102
Forcer 4-77, 5-11, 6-65
Formater automatiquement 4-6
FREQ_MEASURE 10-62
Front descendant 10-51
Front du dclencheur 6-66
Front montant 10-62
Front montant 10-50
FUNCTION 2-1
FUNCTION_BLOCK 2-2

G
Gateway 4-81
Gateway DDE 8-2, 8-4
Gateway-Server 4-83
GE 10-11
GEN 10-63
Gnral 10-101
Gnrer des entres de symboles 4-16
Gnrer un tableau XML 4-16
Gestion de version 7-1
Gestion des bibliothques 3-3
Gestionnaire d'Aide
Image non structure 4-68
Image structure 4-68
Gestionnaire de bibliothques 6-19
Gestionnaire de bibliothques
Proprits d une bibliothque 6-21
Gestionnaire de recettes 6-62
Gestionnaire des tches 6-55
Gestionnaire d'espion et de recettes 6-62
Gestionnaire d'espion et de recettes en mode En Ligne
6-63, 6-64
VI

Glisser-Dplacer 4-56
Graduation Y 6-70
Grille 6-70
Groupe d'alarme 6-10
Groupes d'alarme 6-16
GT 10-11

H
Hauteur d'affichage en pixel 10-104
heartbeat 6-48
Heartbeat 6-42
Hirarchie d'appel 4-80
Histogramme
Charger de l'automate 6-72
Charger du fichier 6-72
Enregistrer les valeurs 6-71
Histogramme 6-65
Histogramme 10-102
Histogramme en fichier ASCII 6-71
Historique 6-17
Hitachi SH 10-97
HYSTERESIS 10-66

I
ID de nud 6-42
identifier
offline tooltip 5-2
IF 2-14
Ignorer les caractristiques 4-40
IL 2-2, 2-3, 2-9, 4-74, 5-24
Image non structure 4-68
Image structure 4-68
Importation dun module 6-27
Importation de fichiers Siemens 10-85
Importer 4-39, 6-81
Importer module 6-27
Importer un fichier S5 10-86
Importer un fichier SEQ 10-85
Importer un fichier Siemens 4-39
Imprimer 4-29
Index/Sub-index pour les paramtres 10-103
INDEXOF 10-4
Infineon C16x 10-94
Info
Esclave DeviceNet 6-51
Info-bulle 4-2, 5-21, 5-29, 5-35, 5-42
informations de download 4-33
Informations du systme cible 6-54
Informations sur le projet 4-4, 4-44
Informations utilisateur 4-6
Infos relatives la licence 4-46
Inhibit Time 6-44
Initialisation 5-6
Initialisation de variables rmanentes 10-25
Initialiser les entres 10-102
Initialiser zro 10-101
Insrer
Timer (TON) dans LD 5-40
Insrer
Reset-Bobinage 5-39
'Bobinage 5-39
Commentaire 5-27
Dtection de fronts descendants dans LD 5-40
Dtection de fronts montants dans LD 5-40
Nouvelle dclaration 5-10
Insrer appel de programme 6-59
CoDeSys V2.3

11 - Index

Insrer bibliothque 6-20


Insrer branche parallele droite 5-59
Insrer ci-aprs 5-41
Insrer ci-dessous 5-41
Insrer ci-dessus 5-41
Insrer derrire 5-59
Insrer des entres / des sorties la vole 5-50
Insrer les lments 6-26
Insrer les objets communs 4-54
Insrer ligne 6-79
Insrer listes de paramtres 6-78
Insrer Module dans FBD 5-31
Insrer objet 4-58
Insrer rseau 5-29
Insrer Tche 6-57
Insrer une dclaration 5-10
Insrer une entre CFC 5-45
Insrer une sortie CFC 5-45
Insrer variables 5-2
INSERT 10-47
Instance 2-3, 6-75, 6-76
Instance de bloc fonctionnel
Adresse 10-13
Instruction 2-9, 2-12
Instruction Pragma 5-12
INT 10-35
INT_TO_BCD 10-57
INTEGRAL 10-59
Intel 386 et compatibles 10-92
Intel StrongARM 10-95
Intellisense 5-2
Interface DDE
EXCEL 8-2
Gateway DDE 8-2, 8-4
Intouch 8-2
WORD 8-1
Interface DDE 8-1
Interface ENI 7-1
Inversion CFC 5-46

J
Journal
Enregistrer 6-23
Menu 6-23
Journal 6-21
Journal du projet 6-23

L
Lancer 4-73
Lancer l'histogramme 6-68, 6-69
Langage 6-18
Langage contacts (LD) 2-23, 4-74, 5-36
Langage CFC 2-23
Langage FBD 2-3, 2-23, 4-74, 5-30
Langage IL 2-2, 2-3
Langage LD 2-23, 4-74, 5-36
Langage ST 2-3, 2-11, 4-74, 5-25
Langue 4-9
Largeur d'affichage en pixel 10-104
Largeur de tabulation 4-6
L'attribution de licences
Cration d'une bibliothque soumise licence 9-1
Editer les informations sur lattribution dune licence 91
L'attribution de licences 9-1
LD
CoDeSys V2.3

adresse 5-28
Ajouter au module 5-40
Bloc avec EN 5-40
Bloc fonctionnel 5-39
Bobinage 5-38
Commentaires par contact 5-27, 5-28
Contact 5-37, 5-38
Contact parallle 5-38
Dplacer des lments 5-37
Entre EN 5-39
Insrer ci-dessous 5-41
Insrer ci-dessus 5-41
Insrer un commentaire 5-27
Ngation 5-41
Positions du curseur 5-36
LD 5-36
LE 10-11
lecsfc.lib 2-19
Lecture automatique de l'histogramme 6-68
LEFT 10-45
LEN 10-45
Liaison la base de donnes 4-49
Liaison au contrle de ressources
Proprits de lobjet 4-61
Librarie
SysTaskInfo.lib 6-60
SysTime.lib 6-60
Licence
Bibliothque 6-21
Licence 9-1
Licence 9-1
Licence info 4-46
Life Time Factor 6-42
Ligne aprs 6-79
LIMIT 10-10
LIMITALARM 10-66
LIN_TRAFO 10-59
Lire la recette 6-65
Lire l'histogramme 6-66, 6-68
Lire liste 6-80
Liste de slection pour l'dition 4-67
Liste de variables globales 6-3
Liste des rfrences croises 4-63
Liste d'espion 6-62
Liste d'instructions-IL 2-9, 4-74, 5-24
Lister les composants 4-6
Listes de paramtres
Appliquer des valeurs 6-80
Copier 6-79
Couper 6-79
Download 6-80
Ecrire des valeurs 6-80
Ecrire des valeurs de default 6-80
Ecrire liste 6-80
Effacer 6-79
Effacer ligne 6-79
Exporter 6-82
Importer 6-82
Insrer 6-78
Insrer ligne 6-79
Insrer rpertoire 6-79
Instance 6-75
Ligne aprs 6-79
Lire liste 6-80
Mappage 6-75
Modele 6-75
Nouvelle ligne 6-79
Paramtres 6-75
VII

Index

paramtres du systme 6-75


Pragmas 5-15
Renommer 6-79
Supprimer liste 6-80
Types 6-75
Upload 6-80
Variables 6-75
Listes de paramtres 6-79
Listes de paramtres du systme 6-75
Listes des paramtres
Exporter 6-81
Importer 6-81
Listes des paramtres dans projet d'initialisation 6-81
Litral structur 2-3, 2-11, 4-74, 5-25
LN 10-21
LOG 10-21
Logarithme 10-21
Login au base de donnes ENI 4-55
Longueur maximale du commentaire 5-27
LREAL 10-35
LT 10-12

M
Macro 4-13
Macro aprs la compilation 4-13
Macro avant la compilation 4-13
Macro en CFC 5-53, 5-54, 5-55
Macros
Bibliothque 4-23
Macros 4-22
Macros 4-70
Macros en PLC-Browser 6-86
Matre CAN
Paramtre CAN 6-41
Matre DeviceNet
Paramtre de base 6-50
Paramtres 6-50
Paramtres de module 6-50, 6-54
Manager des paramtres
Editeur 6-75
Manager des paramtres
Activer 6-74
Attributes 6-73
Liste des paramtres 6-73
Mappages pour CAN device PDO 6-74
Manager des paramtres
Mode en ligne 6-80
Manager des paramtres
Download et Upload 6-80
Manager des paramtres 10-103
Mappage 6-49, 6-75
Mappage PDO 6-75
Mappages pour CAN device PDO 6-74
Marquage 4-6
Matrice 6-70
MAX 10-9
Mmento 10-32
Mmoire 10-98
Menu Aide
Sommaire et Index 4-88
Menu contextuel 4-3
Menu Editer
Coller 4-66, 5-35, 5-42
Copier 4-65
Couper 4-65, 5-35, 5-42
Dclaration variables 4-70
Erreur prcdente 4-70
VIII

Erreur prochaine 4-70


Liste de slection pour l'dition 4-67
Macros 4-70
Rechercher 4-66
Rechercher le suivant 4-67
Refaire 4-65
Remplacer 4-67
Supprimer 4-66, 5-35, 5-42
Menu En Ligne
Accder au systme 4-70
Application tlchargee du code source dans l
automate 4-85
Arrter 4-74
Arrter de forcer 4-78
Charger code source 4-85
Charger le fichier de l automate 4-86
Crer projet d initialisation 4-86
Cycle indpendant 4-76
Dmarrer 4-73
Dialogue Ecrire/Forcer 4-79
Dialogueue des points d'arrt 4-75
Ecrire le fichier dans l automate 4-86
crire valeurs des variables 4-76
tape individuelle dans 4-75
tape individuelle sur 4-75
Forcer valeurs des variables 4-77
Hirarchie d'appel 4-80
Lancer 4-73
Paramtres de communication 4-81, 4-82
Point d'arrt actif/inactif 4-74
Quitter le systme 4-73
Reset 4-74
Reset froid 4-74
Reset origine 4-74
Simulation 4-80
Menu Extras
Accepter lment chang 4-44
Accepter les caractristiques 4-44
Accepter les droits d accs 4-44
Accepter les parties changes 4-44
Actions synchrones 6-79
Activer/Dsactiver tche 6-62
Affichage 5-34
Afficher curseur 6-69
Afficher hirarchie d appel 6-62
Ajouter fichier de configuration 6-26
Ajouter une tiquette la branche parallele 5-59
Arrter l'histogramme 6-68
Attributs d'tape 5-60
Calcule les adresses 6-27
Calculer les adresses 6-27
Caractristiques 5-48
Charger avec programm 6-79
Charger l'histogramme 6-64, 6-71
Charger liste d'espion 6-64
Compresser 6-71
Configuration de l'alarme 6-18
Configuration de l'histogramme 6-66
Configuration par dfaut 6-27
Connecteur 5-46, 5-49
Convertir 6-27
Crer Macro 5-53
Dfinir tche de dbogage 6-62
Ecrire la recette 6-65
Effacer action/transition 5-60
EN/ENO 5-47
Enregistrer les valeurs de l'histogramme' 6-71
Enregistrer liste d'espion 6-64
CoDeSys V2.3

11 - Index

Espionnage actif 6-65


Etablir fichier cadre pour la documentation 6-10
Etendre 6-70
Expansion du macro 5-55
Graduation Y 6-70
Insrer branche parallele droite 5-59
Insrer ci-aprs 5-41
Insrer ci-dessus 5-41
Insrer derrire 5-59
Inversion 5-46
Lancer l'histogramme 6-68, 6-69
Lecture automatique de l'histogramme 6-68
Lire la recette 6-65
Montrer la grille 6-70
Multivoie 6-70
Ngation 5-41, 5-46
nsrer ci-dessous 5-41
Options 5-26, 5-30, 5-38, 5-61
Options d'espionnage 5-22
Ordre A la fin 5-52
Ordre - Affichage 5-50
Ordre Au dbut 5-52
Ordre - Avancer le squencement par un 5-51
Ordre Ordonner selon flux des donnes 5-52
Ordre - Ordonner selon l'ordre topologique 5-51
Ordre - Remettre le squencement par un 5-52
Prochaine diffrence 4-44
Proprits 6-25
Proprits d une bibliothque 6-21
Relier action 5-62
Renommer liste d'espion 6-64
Sauter dans le macro 5-54
Slectionner fichier cadre pour la documentation 6-10
Slectionner tout 5-48
Set/Reset 5-34, 5-46
Toutes les niveaux du macro en arrire 5-55
Un niveau du macro en arrire 5-55
Utiliser les tapes CEI 5-62
Valeurs dans le fichier ASCII 6-71
Vue des temps 5-61
Zoom action/transition 5-59
Menu Extras 6-69
Menu Fentre
Cascade 4-87
Fermer tout 4-87
Gestionnaire de bibliothques 4-87
Messages 4-87
Mosaque horizontale 4-87
Mosaque verticale 4-87
Protocol en ligne 6-21
Rorganiser les icnes 4-87
Menu Fentre 4-87
Menu Fichier
Enregistrer 4-25
Enregistrer sous 4-25
Fermer 4-25
Imprimer 4-29
Nouveau 4-23
Ouvrir 4-23
Quitter 4-31
Menu insrer
Insrer les lments 6-26
Menu Insrer
Affectation 5-32
Ajouter appel de programme 6-59
Ajouter au module 5-39, 5-40
Ajouter une action de sortie 5-58
Ajouter une action d'entre 5-58
CoDeSys V2.3

Autre bibliothque 6-20


Bloc avec EN 5-40
Bloc fonctionnel 5-21, 5-39
Bobinage 5-38
Commentaire 5-26, 5-30, 5-38, 5-45
Contact 5-37, 5-38
Contact parallle 5-38
Entre 5-45
Entre de module 5-33, 5-45
Etape-Transition (derrire) 5-57
Etape-Transition (devant) 5-57
Fonction 5-21
Insrer appel de programme 6-59
Insrer Tche ou Ajouter sous-lment 6-57
Insrer une entre CFC 5-45
Insrer une sortie CFC 5-45
Module 5-44
Mots cls de dclaration 5-7
Nouvelle dclaration 5-10, 5-11
Nouvelle liste d'espion 6-63
Oprateur 5-20
Rseau (derrire) 5-29
Rseau (devant) 5-29
Return 5-45
Saut 5-45
Squence alternative (droite) 5-57
Squence alternative (gauche) 5-58
Squence parallle droite 5-58
Squence parallle gauche 5-58
Sortie 5-45
Tous les chemins d'instance 6-9
Transition-Saut 5-58
Types 5-7
Menu Journal 6-23
Menu Projet
Afficher liste de rfrences croises 4-63
Ajouter une action 4-62
Annuler 4-64
Charger les informations de download 4-33
Comparer 4-40
Compiler 4-31
Compiler tout 4-32
Copier 4-44
Crer fichier de traduction 4-33, 4-36
Diagramme d'appel 4-64
Documentation du projet 4-38
Exporter 4-39
Importer 4-39
Importer un fichier Siemens 4-39
Info projet 4-44
Liaison la base de donnes 4-49
Mot de passe pour niveau d'accs 4-49
Objet
Convertir objet 4-59
Copier objet 4-59
Editer objet 4-60
Insrer objet 4-58
Objet droits d'accs 4-61
Renommer objet 4-59
Supprimer un objet 4-57
Objet Proprits 4-60
Options 4-3
Ouvrir l'instance 4-62
Recherche globale 4-46
Remplacer globalement 4-47
Rorganiser tout 4-32
Traduire dans d autres langues 4-33
Traduire projet 4-36
IX

Index

Vrifier tout 4-47


Menu Projet 4-3
Message au chargement 4-15
Mesure de frquence 10-62
MID 10-46
MIN 10-10
MIPS III ISA 10-96
Mise en page matre 4-61
Mises en page 5-26, 5-30, 5-38
MOD 10-3
Mode En Ligne
Configuration des tches 6-60
Editeur de dclaraction 5-11
Editeur de rseaux 5-29
Editeur du langage contacts 5-42
Editeur du schma en blocs fonctionnels 5-35
Editeur littral 5-21
Editeur SFC 5-62
Gestionnaire d'espion et de recettes 6-63, 6-64
Mode raccourci 5-8
Mode scurit 4-8
Modle 6-75
Modles 6-76
Modificateur 2-9
Modifier des liaisons dans l'diteur CFC 5-49
Module 1-1, 2-5, 4-2
Module CAN
Envoyer mappage PDO 6-44
Module E/S
Paramtres de base 6-29
Paramtres voie / Customer paramtres 6-31
Module E/S 6-29
Module EN 2-25
Module en CFC 5-44
Modules disponibles 6-43
Modules slectionns 6-43
Modules standards 2-1
Montrer la grille 6-70
Montrer le projet traduit 4-37
Mot de passe 4-14
Mot de passe lecture seul 4-14
Mot de passe pour niveau d'accs 4-49
Mot-cl 4-14
Motorola 68K 10-93
Mots cls 5-6, 5-7
MOVE 10-3
MUL 10-1
Multi-tches premptives 10-101
Multivoie 6-70
MUX 10-10

N
NE 10-12
Ne pas changer les adresses automatiquement 6-29
Ngation CFC 5-46
Ngation en langage FBD 5-34
Ngation en langage LD 5-41
Niveau d'accs 4-48
Niveau du dclencheur 6-66
Nodeguarding 6-42
Node-ID
Matre DeviceNet 6-50
Nom d'instance 2-3
Nom symbolique 6-26
Nombre de segments de donnes 4-13
Nombre max. de blocs fonctionnels 10-98
Nombre max. de segments de donnes globales 10-98
X

nonpersistante
Pragma 5-20
NOT 10-6
notargetchange (ligne de commande) 10-75
Nouveau dossier 4-57
Nouveau fichier 4-23
Nouvelle dclaration 5-10, 5-11
Nouvelle ligne 6-79
Nouvelle liste d'espion 6-63
Numriser la configuration du module 6-55
Numro Sync's 6-44
Numros de ligne 5-10
Numros de ligne de l'diteur littral 5-24

O
Objet 2-1, 4-56
Objet de visualisation
Proprits 4-61
Objet Proprits 4-60
OF 2-14
Online Change 4-31, 4-70, 10-101
Oprande 2-1, 5-21
Oprande du langage ST 2-11
Oprateur dinitialisation 10-25
Oprateur d'affectation 2-13
Oprateur de contenu 10-14, 10-38
Oprateur du langage ST 2-11
Oprateur en langage IL 2-9
Oprateur INI 10-25
Oprateurs
Aperu 10-69
Oprateurs 5-20
Oprateurs et modules de bibliothques 10-69
Opration en ligne en mode scurit 4-8
Options
Base de donnes du projet 4-17
Compilation 4-12
Configuration de symbole 4-16
Couleurs 4-9
d'diteur 4-6
Download Sourcecode 4-15
Editeur 4-6
Environnement de travail 4-8
Informations utilisateur 4-6
Macros 4-22
Mots de passe 4-14
Ouvrir & Fermer 4-4
Rpertoires 4-10
Options 4-3
Options 4-9
Options SFC 5-61
OR 10-5
Ordre d'excution dans l'diteur CFC 5-50
Ordre initial 5-11
Organisateur d'objets 4-2
Outils
Caractristiques d objet 6-88
Enregistrement de liens 6-92
Excution de liens 6-92
nouveaux liens 6-91
Supprimer des liens 6-91
Outils 6-87
Ouvrir & Fermer 4-4
Ouvrir fichier 4-23
Ouvrir linstance 5-2
Ouvrir l'intance 4-62

CoDeSys V2.3

11 - Index

P
PACK 10-58
Paramtrage spcifique l'application 6-28
Paramtre CAN d un CAN-Esclave 6-42
Paramtre CAN d un Matre CAN 6-41
Paramtre de base
Matre DeviceNet 6-50
Paramtre de base d un canal 6-32
Paramtre de base d un DP-Matre 6-33
Paramtre de bus dun DP-Matre 6-35
Paramtre de module d un DP-Esclave 6-40
Paramtre DP d un DP-Matre 6-33
Paramtre voie d un canal 6-32
Paramtres
Esclave DeviceNet 6-54
Matre DeviceNet 6-50
Paramtres de base
Esclave DeviceNet 6-50
Paramtres de base d un CAN-Matre 6-40
Paramtres de base d un module CAN 6-42
Paramtres de base d un module E/S 6-29
Paramtres de communication
Canal Gateway 4-84
Check 4-85
Indications pour l'diter 4-85
Slection de Gateway-Server 4-83
Paramtres de communication 4-8, 4-81, 4-82
Paramtres de module
Matre DeviceNet 6-50, 6-54
Partie de dclaration 2-1, 5-3, 5-24, 5-25, 5-36, 5-57
Pas pas 2-26, 4-75, 5-21, 5-29, 5-62
Pas de vrification dadresse 10-101
Pas initialiser 6-42
PD 10-61
PDO 6-44
persist.dat 5-20
persistante 5-20
PID 10-62
PLC_PRG 2-6
PLC-Browser
Annuler la commande 6-87
commandes 6-84
Enregistrer la liste du protocole 6-87
Imprimer la dernire commande 6-87
Macros 6-86
PLC-Browser 6-83
Protocole en sens avant 6-87
Protocole en sens inverse 6-87
PLC-Browser 6-83
PLC-Browser 10-102
Point d'arrt 1-1, 2-26, 4-74, 5-21, 5-23, 5-29, 5-62
POINTER 10-38
Pointeur
Contrle dadresse 10-39
Contrle dalignement 10-39
Pointeur 10-38
Position du dclencheur 6-66
Position point d'arrt 4-74
Positions des points d'arrt dans l'diteur littral 5-22
Power PC 10-95
Pragma
Gestionnaire des paramtres 5-15
nonpersistante 5-20
Pragma 4-17, 5-12
Pragma 6-73
Pragma {nonpersistante} 5-20

CoDeSys V2.3

Pragma pour laffichage de dclarations de bibliothque


5-19
Presse-papiers 4-65
Principe de la gateway 4-81
Priorit d'alarme 6-11
Priorit des oprateurs du langage ST 2-11
prm-fichier 6-81, 6-82
Prochaine diffrence 4-44
Profibus 10-101
Profibus-DP 6-33
PROGRAM 2-5
Programme 2-5
Programme principal 2-6
Projet 1-1, 2-1, 2-5, 4-36
Projet d'initialisation 4-12, 6-79, 6-81
Projet Version 1.5 4-25
Projet Version 2
0 4-25
Propre sgment de maintenance 10-98
Proprits 4-61
Proprits d une bibliothque 6-21
Proprits in Configuration de l automate 6-25
Protocole en ligne 6-21
PUTBIT 10-58

Q
Qualificatif 2-20
Qualificatif pour tapes CEI 2-20
Quitter 4-31
Quitter le systme 4-73

R
R_TRIG 10-50
Racine carre 10-21
RAMP_INT 10-65
RAMP_REAL 10-66
REAL 10-35
Raliser un Comparaison de projets 4-40
Recevoir mappage PDO 6-44
Recherche globale 4-46
Rechercher
Bibliothque 6-21
Rechercher 4-66
Rduire 4-57
Refaire 4-65
Rfrences 10-41
Relier action en SFC 5-62
Remettre le squencement par un 5-52
Remplacer 4-47, 4-67
Remplacer lment 6-26
Renommer liste d'espion 6-64
Renommer listes de paramtres 6-79
Renommer objet 4-59
Rorganiser tout 4-32
REPEAT 2-11, 2-16
Rpertoire 4-10
Rpertoire de bibliothques 6-20
Rpertoire des fichiers de visualisation 4-10
Rpertoires des fichiers gnral 4-10
Rpertoires du Projet 4-10
Rpertoires du System cible 4-10
REPLACE 10-48
Reprsentation MDI 4-8
Rseau 5-26, 5-30, 5-38
Reseau (aprs) 5-37
Reseau (devant) 5-37
XI

Index

Rseau en FBD 2-23


Rseau en LD 2-24
Reset 4-74
Reset froid 4-74
Reset origine 4-74
Reset sortie 5-34, 5-41
Reset-Bobinage 5-39
Ressources
Configuration de l'alarme 6-10
Enregistrement des histogrammes 6-65
Journal 6-21
Outils 6-87
Ressources 2-8, 4-2, 6-1
RETAIN 5-5
Retour la configuration par dfaut 6-27
RETURN 2-11, 2-13, 5-33
Return en CFC 5-45
Return en LD 5-41
ri-fichier 4-33
RIGHT 10-46
ROL 10-7
ROR 10-8
Rotation 10-7
RS 10-49
RTC 10-54

S
Saut 2-23, 5-32
Saut en CFC 5-45
Saut en LD 5-41
Saut en SFC 5-57, 5-58
Sauvegarde de fichier 4-14
Schma en blocs fonctionnels 2-3, 2-23, 4-74, 5-30
SEL 10-9
Slctionner dans CFC 5-48
Slectionner en SFC 5-57
Slectionner fichier cadre pour la documentation 6-10
Slectionner fichier dexportation 6-27
Slectionner tout en CFC 5-48
SEMA 10-50
Squence alternative en rseau SFC 2-22, 5-57, 5-58
Squence parallle en rseau SFC 5-58
Squence parallle gauche en rseau SFC 5-58
Squence simultane en rseau SFC 2-22
Serveur Gateway 4-83
Service Data Objects 6-45
Set sortie 5-34, 5-41
Set/Reset en CFC 5-46
SFC
Effacer une tape et une transition 5-57
Effacer une tiquette d'un saut 5-59
Mode en ligne 5-62
Options 5-61
SFC 2-1, 2-3, 2-17, 4-74, 5-57
SFCCurrentStep 2-21
SFCEnableLimit 2-21
SFCError 2-21
SFCErrorAnalyzation 2-21
SFCErrorPOU 2-21
SFCErrorStep 2-21
SFCInit 2-21
SFCPause 2-21
SFCQuitError 2-21
SFCReset 2-21
SFCTip 2-21
SFCTipMode 2-21
SFCTrans 2-21
XII

SHL 10-6
SHR 10-7
Siemens 10-85
Siemens Import 4-39
Simulation 2-27, 4-70, 4-80
SIN 10-22
SINT 10-35
Sinus 10-22
SIZEOF 10-4
Softmotion 10-102
Sortie en CFC 5-45
Sortie en langage FBD 5-33
Sourcedownload 4-15
Sous-tat d'alarme 6-11
SQRT 10-21
SR 10-49
ST
Appel de module avec paramtres de sortie 5-21
ST 5-21
standard.lib 6-20
STATISTICS_INT 10-60
STATISTICS_REAL 10-60
Statistique 4-44
STRING 10-35
STRUCT 10-40
Structure 2-1
Structures 10-40
SUB 10-2
Supporter manager des paramtres 6-74, 10-103
Supporter variables du rseau 10-103
Suppression de la rfrence 10-14, 10-38
Supprimer 4-66, 5-35, 5-42
Supprimer des liaisons dans l'diteur CFC 5-49
Supprimer le monitoring de types complexes 4-6
Supprimer liste 6-80
Supprimer un objet 4-57
Surveillance 2-26
Surveillance des temps dans l'diteur SFC 5-61
Symbole 4-16
Symboles 10-102
SysTaskInfo.lib 6-60
Systme cible
8051 et compatibles 10-98
Composition de la mmoire 10-98
Fonctions rseau 10-103
Gnral 10-101
Hitachi SH 10-97
Infineon C16x 10-94
Intel 386 et compatibles 10-92
Intel StrongARM 10-95
MIPS III ISA 10-96
Motorola 68K 10-93
Power PC 10-95
Visualisation 10-104
Systme cible 6-82, 6-83
SysTime.lib 6-60

T
Tableau
CheckBounds 10-37
Tableau 10-37
Tableau de dclaration 5-10
Tabulation 4-6
Tche
Ajouter appel de programme 6-59
vnements dans le systme 6-59
Insrer 6-57
CoDeSys V2.3

11 - Index

Insrer appel de programme 6-59


rgles dexcution 6-62
Tche de dbogage 6-62
Tche individuelle dans multi- tches 10-101
Taille 10-98
Taille du mmoire de donnes entier
TAN 10-23
Tangente 10-23
Target-Support-Package 6-82
Taux d'chantillonnage 6-66
tlchargement 4-32, 4-33
Tlchargement sous forme de fichier 10-101
tendance 10-104
Texte dans une visualisation 4-34
THEN 2-14
TIME 10-36
TIME_OF_DAY 10-36
Timeout de communication 4-8
Timeout de communication pour tlchargement 4-9
Timer (TON) dans LD 5-40
Titre du projet 4-45
TO 2-15
TOD 10-36
TOF 10-53
TON 10-53
Tooltip 4-56, 5-21, 5-29, 5-35
tooltip for identifiers 5-2
Touches 10-107
TP 10-52
Tracebuffer 6-65, 6-66
Traduction 4-37
Traduire 4-33
Traduire dans d autres langues 4-33
Traduire projet 4-36
Traduire un projet 4-37
Traitement d'alarme dans l'automate 10-104
Traitement de requte dans la visualisation 10-105
Traitement de requte simplifi 10-105
Transition 2-18, 5-57
Transition-Saut en SFC 5-58
Travailler en mode de comparaison 4-43
Trier dans lditeur de tableaux 5-11
Trier par adresse 5-11
Trier par nom 5-11
Trier par type 5-11
TRUNC 10-20
TSP 6-82
TYPE 10-40, 10-41
Type de donne 4-2
Type domaine partiel 10-41
Type numratif 10-40
Typed Literal 5-5
Typed Literals 10-29
Types 5-7
Types de donnes
Type domaine partiel 10-41
Types de donnes 2-8, 10-35

U
UCMM 6-51
UDINT 10-35
UDP environnement 6-5
UINT 10-35
UNPACK 10-58
UNTIL 2-16
USINT 10-35
Util.lib 10-57
CoDeSys V2.3

Utilisation du clavier 10-107


Utilisation du clavier pour tableaus 10-106
Utiliser format de fichier 8.3 10-104
Utiliser les tapes CEI 5-62
Utiliser VISU_INPUT_TASK 10-105

V
Valeur absolue 10-20
Valeur des bits 4-6
Valeurs dans le fichier ASCII 6-71
VAR 5-4, 5-8
VAR EXTERNAL 5-6
VAR_ACCESS 6-2
VAR_CONFIG 6-2
VAR_GLOBAL 5-8, 6-2, 6-7
VAR_IN_OUT 5-4
VAR_IN_OUT comme rfrence 10-102
VAR_INOUT 5-8
VAR_INPUT 5-3, 5-8
VAR_INPUT CONSTANT 5-48
VAR_OUTPUT 5-4, 5-8
Variable Configuration 6-8
Variable d'histogramme 6-68
Variable locale 5-4
Variable rmanente 5-5
Variables 5-3, 10-29
Variables de sortie 5-4
Variables d'entre 5-3
Variables d'entre-sortie 5-4
Variables du rseau 10-103
Variables externes 5-6
Variables globales
Configurer 6-3
Cration 6-3
Objets 6-2
Variables globales 6-2
Variables globales 6-3
Variables globales 6-3
Variables globales rmanentes 6-7
Variables implicites en SFC 2-20
Variables inutilises 4-13, 4-47
Variables rseau 6-3
Variables rseau globales 6-7
VARIANCE 10-61
Vendeur ID 9-1
Vrifier automatiquement 4-13
Vrifier ID du vendeur pour un Esclave DeviceNet 6-51
Vrifier superposition d'addresses 6-27
Vrifier tout 4-47
Verrouillage/Dverouillage 5-34
Version 2.1 4-25
Version 2.2 4-25
Version compilateur 4-13
VISU_INPUT_TASK 10-105
Visualisation
Mise en page matre 4-61
Visualisation 2-8, 4-2
Visualisation 10-104
Visualisation des rsultats de la comparaison 4-41
Visualisation sur la cible
Proprits de lobjet 4-61
Visualisation sur la cible 10-105
Visualisation sur le web
Proprits de lobjet 4-61
Visualisation sur le Web 10-105

XIII

Index

W
WHILE 2-15
WORD 10-35

X
XML-Encoding 4-9
XOR 10-5
xyz 4-12

XIV

Z
Zone d'impression 4-8, 5-1
Zones de mmoire superposes 4-13, 4-47
Zoom 5-26
Zoom action 5-59
Zoom sur module appel 5-2, 5-34, 5-42, 5-56
Zoom transition 5-59

CoDeSys V2.3

You might also like