Accueil > Automatisme >
Découverte CoDeSys v2.3
Pour programmer un automate Wago 750-xxx vous devez utiliser le logiciel Codesys v2.3. Comment utiliser le logiciel Codesys ? Comment déclarer les entrées et sorties d'un automate Wago ? Découvrez dans ce tutoriel, comment utiliser le logiciel Codesys v2.3 et apprenez à utiliser le langage schéma à contact ou Ladder (LD).
• 1. PrĂ©sentation
• 2. DĂ©marrage avec Codesys v2.3
• 3. Les types de variables
• 4. Le langage schĂ©ma Ă contacts ou Ladder (LD)
• 5. CrĂ©ation d'un programme
• 6. Test du programme
• 7. QCM
1. Présentation :
La programmation des automates Wago se fait Ă l'aide du logiciel CoDeSys.Il propose les diffĂ©rents langages de programmation du standard CEI 61131-3 pour le dĂ©veloppement dâapplications sur automate industriel :
• LD : Langage Ladder : SchĂ©ma Ă contacts : ce langage sera dĂ©veloppĂ© dans la suite du cours.
• SFC : Sequential Function Chart : Grafcet reprĂ©sentation graphique.
• FBD : Function Block Diagram : programmation sous forme de boĂźte fonctionnelle (exemple Ă cette adresse).
• IL : Liste dâInstructions : proche du langage assembleur.
• ST : Texte structurĂ© : inspirĂ© du langage Pascal, programmation structurĂ©e.
• CFC : Continuous Function Chart : boĂźte fonctionnelle que lâon place librement Ă lâĂ©cran.
Le logiciel permet de simuler le programme (ne nécessite pas d'automate) afin de valider le fonctionnement avant une utilisation réelle sur le systÚme.
2. Démarrage avec Codesys v2.3 :
Pour ceux qui ne possÚde par l'application de programmation Codesys v2.3 et que vous souhaitez le télécharger ou installer Codesys, vous pouvez consulter cet article.2.1 Création d'un programme - Configuration de l'automate :
|
Tutoriel| Création d'un programme en vidéo : |
|
CrĂ©ation dâun nouveau programme : Fichier - Nouveau ou comme sur l'image ci-dessous en cliquant sur l'icĂŽne Nouveau.
Sur la fenĂȘtre qui s'ouvre et Ă l'aide du menu dĂ©roulant configuration choisir la rĂ©fĂ©rence de lâautomate WAGO (cible) dans lequel on implantera le programme (750-841, 750-881, etc.).
Sur l'onglet visualisation cocher visualisation sur le web pour disposer dâune visualisation Ă partir dâun navigateur web, puis cliquer sur OK.
Une nouvelle fenĂȘtre apparaĂźt, le nom du programme apparaĂźt, laisser PLC_PRG.
PLC_PRG doit ĂȘtre prĂ©sent parmi les diffĂ©rents modules.
Programmable Logic Controllers (PLC)
On retrouve les différents langages de programmation, IL, LD, FBD, SFC, ST et CFC.
Choisir le langage de programmation LD (Ladder) qui ressemble à un schéma électrique puis cliquer sur OK.
La fenĂȘtre ci-dessous apparaĂźt, c'est sur celle-ci que l'on pourra rĂ©aliser notre programme en Ladder.
2.2 Configuration des entrées / sorties :
Dans la vidéo ci-dessous découvrez comment configurer les entrées et les sorties d'un automate Wago dans l'application Codesys.Cette affectation des modules d'entrées et des sorties est indispensable au fonctionnement de l'automate.
En fonction de lâĂ©quipement que lâon souhaite automatiser, on dispose dâun certains nombres de modules entrĂ©es et sorties connectĂ©s Ă lâautomate quâil faudra affecter dans le logiciel Codesys.
En bas Ă droite cliquer sur lâonglet Ressources puis sur Configuration de lâautomate (menu Ă gauche).
Développer le menu en cliquant sur le + à gauche de Hardware configuration.

Reprenons le cas du cours sur l'automate Wago, nous avons besoin de 3 entrées Digitales et 3 sorties digitales.
Il va donc falloir ajouter un module 4 entrĂ©es digitales (750-402) et dâun module 4 sorties digitales (750-504).
Pour ajouter un module dâentrĂ©e ou de sortie, il faut faire clique droit sur K-Bus [FIX] et cliquer sur Ajouter sous-Ă©lĂ©ment.

Cliquer sur le plus vert
.

Ajouter le module d'entrées digitales 750-402.

Puis choisir le module de sorties digitales 750-504.

A ce moment 8 variables apparaissent :
• Les 4 entrĂ©es digitales (Tout Ou Rien TOR ou BoolĂ©enne BOOL) appelĂ©es : %IX0.0 Ă %IX0.3
• Les 4 sorties digitales (Tout Ou Rien TOR ou BoolĂ©enne BOOL) appelĂ©es : %QX0.0 Ă %QX0.3

3. Les types de variables :
Le CoDeSys permet de travailler avec plusieurs types de variables.Le premier type est la variable booléenne (BOOL ou digitale ou TOR), elle ne peut prendre que 2 valeurs TRUE (vrai = 1) ou FALSE (faux = 0).
Une variable de ce type occupe 1 octet de mémoire.
Il existe dâautres types de variables :
| Type | Signification | Valeur minimale | Valeur maximale | Espace mémoire |
|---|---|---|---|---|
BOOL |
Bit simple | FALSE | TRUE | 1 octet |
| BYTE |
Octet | 0 | 255 | 8 bits |
WORD |
Mot de 16 bits | 0 | 65535 | 16 bits |
| DWORD |
Double mot sur 32 bits | 0 | 4294967295 | 32 bits |
| SINT |
Entier signé court sur 8 bits | -128 | 127 | 8 bits |
UINT |
Entier non signé sur 8 bits | 0 | 255 | 16 bits |
| INT |
Entier signé sur 16 bits | -32768 | 32767 | 16 bits |
| DINT |
Entier signé sur 32 bits | -2147483648 | 2147483647 | 32 bits |
| UDINT |
Entier non signé sur 32 bits | 0 | 4294967295 | 32 bits |
8 bits = 1 octet
3.1. Les entrées digitales (TOR) - %IX :
Les entrées digitales sont de types TOR (Tout Ou Rien) : BOOL, elles peuvent avoir pour états :TRUE (Vrai, 1 ou active) ou FALSE (Fausse, 0 ou inactive).
Exemple d'adresse d'entrée digitale : %IX0.1
• % : Variable.
• I : Input (entrĂ©e).
• X : digital ou BOOL (TOR).
• 0 : 1er Mot de la variable.
• 1: 2Ăšme bit de la variable.
L'entrée %IX0.0 signifie donc entrée digitaleayant pour adresse le 2Úme bit du 1er mot.
3.2. Les entrées analogiques - %IW :
Les entrées analogiques sont variables, elles peuvent prendre plusieurs valeurs :sur 16 bits cette valeur peut varier de 0 à 65535.
Exemple d'adresse d'entrée analogique 16 bits : %IW0
• % : Variable.
• I : Input (entrĂ©e).
• W : analogique ou WORD (Mot).
• 1 : 2Ăšme Mot de la variable.
L'entrée %IW1 signifie donc entrée analogique ayant pour adresse le 2Úme mot (espace mémoire 16 bits).
3.3. Les sorties digitales (TOR) - %QX :
Les sorties digitales sont de types TOR (Tout Ou Rien) : BOOL, elles peuvent avoir pour états :TRUE (Vrai, 1 ou active) ou FALSE (Fausse, 0 ou inactive).
Exemple d'adresse de sortie digitale : %QX1.2
• % : Variable.
• Q : Output (sortie).
• X : digital ou BOOL (TOR).
• 1 : 2Ăšme Mot de la variable.
• 2: 3Ăšme bit de la variable.
L'entrée %QX1.2 signifie donc sortie digitaleayant pour adresse le 3Úme bit du 2Úme mot.
3.4. Les sorties analogiques - %QW :
Les sorties analogiques sont variables, elles peuvent prendre plusieurs valeurs :sur 16 bits cette valeur peut varier de 0 Ă 65535.
Exemple d'adresse d'entrée analogique 16 bits : %QW0
• % : Variable.
• Q : Input (entrĂ©e).
• W : analogique ou WORD (Mot).
• 0 : 1er Mot de la variable.
L'entrée %QW0 signifie donc sortie analogique ayant pour adresse le 1er mot (espace mémoire 16 bits).
3.5. Les mémoires booléennes (TOR) - %MX :
La mĂ©moire permet de conserver lâĂ©tat ou la valeur dâun Ă©lĂ©ment du programme, cette valeur sera conservĂ©e mĂȘme en cas de rupture dâalimentation de lâautomate.Les mĂ©moires boolĂ©ennes (bit) sont de types TOR (Tout Ou Rien) : BOOL, elles peuvent avoir 21 = 2 valeurs soit :
TRUE (Vrai, 1 ou active) ou FALSE (Fausse, 0 ou inactive).
Exemple d'adresse de sortie digitale : %MX2.0
• % : Variable.
• M : MĂ©moire (interne).
• X : boolĂ©enne ou BOOL (TOR).
• 2 : 3Ăšme Mot de la variable.
• 0: 1er bit de la variable.
La mémoire booléenne (bit) %MX2.0 se trouve donc au 1er bit du 3Úme mot.
3.5. Les mémoires mots - %MW :
Les mémoires mots sont variables, elles peuvent prendre plusieurs valeurs :sur 16 bits : 216 = 65536, cette valeur peut varier de 0 à 65535.
Exemple d'adresse d'entrée analogique 16 bits : %IW0
• % : Variable.
• M : MĂ©moire (interne).
• W : WORD (Mot).
3.6. Les mémoires mots - %MD :
Les mémoires mots sont variables, elles peuvent prendre plusieurs valeurs :sur 326 bits : 232 = 4294967296, cette valeur peut varier de 0 à 4294967295.
Exemple d'adresse d'entrée analogique 16 bits : %IW0
• % : Variable.
• M : MĂ©moire (interne).
• D : DWORD (Mot double).
4. Le langage schéma à contacts ou Ladder :
Le langage Ladder ou "schéma à contacts" se rapproche d'un schéma électrique.Chaque entrée, sortie ou mémoire est représentée par un symbole, le programme ressemble donc à un schéma facile à lire.
| Symbole | |||
|---|---|---|---|
![]() |
Variable booléenne de type NO ou contact à fermeture (%IX entrée automate;%M mémoire; etc...). | ||
![]() |
Mise en parallĂšle ou dĂ©rivation dâun contact. | ||
![]() |
Variable bobine (%M mĂ©moire; %QX sortie automate, etc..), sera active si la ligne dâalimentation est Ă 1. UtilisĂ©e pour les sorties ou MĂ©moires. |
||
![]() |
Permet dâinverser l'Ă©tat d'un contact ou d'une bobine. | ![]() Contact NC |
![]() Bobine Inversée |
| S |
Mise Ă lâĂ©tat 1 de la sortie ou de la mĂ©moire. (MĂ©morisation, S = SET) | ![]() |
|
| R |
Mise Ă lâĂ©tat 0 de la sortie ou de la mĂ©moire (MĂ©morisation, R =RESET) | ![]() |
|
A l'aide de l'animation ci-dessous vous pouvez faire le lien entre le matériel (boutons poussoirs et voyants) et le programme simple en langage Ladder.
• Une fonction OUI lie le Bouton poussoir S1 (entrĂ©e %IX0.0) et le voyant H1 (sortie %QX0.4).
• Une fonction PAS lie le Bouton poussoir S2 (entrĂ©e %IX0.1) et le voyant H1 (sortie %QX0.5).
5. Création d'un programme :
Reprenons l'exemple du cours précédent (automate Wago) dont l'exercice de schéma a pour support la perceuse automatisée ci-dessous.Cahier des charges :
• Quand la fenĂȘtre de sĂ©curitĂ© est fermĂ©e (S3 fermĂ©) le voyant H2 sâĂ©teint.
• Quand on appuie sur le bouton poussoir marche (BP Vert) et si la fenĂȘtre est fermĂ©e (S3 appuyĂ©) alors la perceuse fonctionne (KM1 enclenchĂ©) et le voyant H1 sâallume.
• Quand la fenĂȘtre est ouverte (S3 ouvert) la perceuse sâarrĂȘte et le voyant H2 sâallume.
• Quand on appuie sur le bouton poussoir arrĂȘt S2 (BP Rouge) la perceuse sâarrĂȘte.
5.1. Affectation des entrées / sorties :
L'affectation des entrées et des sorties permet de savoir comment sont reliées les entrées et les sorties, présentées sous forme de tableau elle permet également d'y intégrer les mnémoniques servant d'aide mémoire.| Entrées digitales | |||||
|---|---|---|---|---|---|
| Adresses | Mnémoniques | Adresses | Mnémoniques | ||
| %IX0.0 | Bouton Marche S1 | S1 | %QX0.0 | Voyant marche H1 | H1 |
| %IX0.1 | Bouton ArrĂȘt S2 | S2 | %QX0.1 | Voyant dĂ©faut H2 | H2 |
| %IX0.2 | Capteur de sécurité S3 | S3 | %QX0.2 | Contacteur moteur KM1 | KM1 |
| %IX0.3 | - | - | %QX0.3 | - | - |
5.2. Ăcriture du programme :
Pour écrire le programme dans CoDeSys il faut utiliser la barre des taches ci-dessous.
Puis insérer les contacts ou bobines dans la zone de saisie (ex Ligne 0001 ou0002 etc.).

à partir du cahier des charges on va écrire les équations d'activation de nos sorties (H1, H2 et KM1).
Ătude du voyant H2
Il faut se poser les questions suivantes :•A quel moment le voyant H2 doit-il s'allumer ?
- Si S3 est ouvert alors le voyant H2 s'allume.
Il y a deux équations possibles pour répondre au problÚme :
| Ăquation | Langage Ladder |
|---|---|
Ăquation 1 de H2 : qui se lit "H2 Ă©gale PAS S3". |
|
Ăquation 2 de H2 : qui se lit "PAS H2 Ă©gale S3". |
|
Ătude du voyant H1
Il faut se poser les questions suivantes :•A quel moment le voyant H1 doit-il s'allumer ?
- Si S1 ou KM1 sont actifs et si S3 est pas appuyé et si S2 n'est pas appuyé alors le voyant H1 s'allume.
| Ăquation | Langage Ladder |
|---|---|
Ăquation de H1 :![]() qui se lit "H1 Ă©gale PAS S2 et S3 et S1 ou KM1". |
|
Ătude du voyant KM1
Il faut se poser les questions suivantes :•A quel moment le voyant KM1 doit-il s'enclencher ?
- Si S1 ou KM1 sont actifs et si S3 est pas appuyé et si S2 n'est pas appuyé alors le contacteur KM1 s'enclenche.
| Ăquation | Langage Ladder |
|---|---|
Ăquation de KM1 :![]() qui se lit "KM1 Ă©gale PAS S2 et S3 et S1 ou KM1". |
|
6. Test du programme :
6.1. Simulation du programme :
Pour valider le fonctionnement du programme, il faut utiliser la fonction de simulation que propose CoDeSys.
Dans la barre des menus cliquer sur :
• "En Ligne" puis cliquer sur "Simulation",
cet icĂŽne doit apparaĂźtre Ă gauche de simulation.• "En Ligne" puis cliquer sur "AccĂ©der au systĂšme".
• "En Ligne" puis cliquer sur "DĂ©marrer".
Pour tester le fonctionnement du programme, il faut affecter un Ă©tat (TRUE ou FALSE) Ă une variable en cliquant dessus et vĂ©rifier que les conditions permettent dâactiver vos sorties.
Double cliquer sur la variable pour changer l'état puis appuyer sur les touches
+
pour valider l'affectation.Quand une variable est bleue, la variable est active.

Double cliquer sur la variable pour changer l'état puis appuyer sur la touche
pour forcer l'affectation.Quand elle est rouge câest quelle est forcĂ©e (soit active ou dĂ©sactive).

Pour aller plus loin, découvrez comment réaliser une supervision automate avec Codesys v2.3..
6.2. Envoyer un programme dans l'automate :
Découvrez comment envoyer un programme dans votre automate Wago avec le logiciel Codesys v2.3.Dans la barre des menus dans cliquer sur "En Ligne"
Décocher "simulation".
Au prĂ©alable il faut utiliser un cĂąble croisĂ©e et vĂ©rifier lâadresse IP pour cela il faut cliquer sur "ParamĂštres de communication..."
A ce moment indiquer l'adresse IP de l'automate (ex : 192.168.1.142).
1. Cliquer sur "En Ligne" puis cliquer sur "Accéder au systÚme".
2.Le logiciel indique que le programme a Ă©tĂ© modifiĂ© (votre programme ne correspond pas Ă celui prĂ©sent dans lâautomate), valider en cliquant sur "OK" afin dây tĂ©lĂ©charger le nouveau programme.
3."En Ligne" puis cliquer sur "Démarrer".
Cette procĂ©dure envoie le programme automate (dans la mĂ©moire RAM de lâautomate), Ă la prochaine mise sous tension ou si vous cliquez sur "En ligne" / "Reset" le programme sera perdu.
6.3. Test du programme dans l'automate :
Comme pour la simulation du programme, pour vérifier le fonctionnement du programme il est possible d'utiliser CoDeSys pour piloter le systÚme automatisé.Vous pouvez activer les sorties de l'automates et ainsi vérifier le fonctionnement de votre équipement. Cette solution permet de vous assurer que les raccordements des entreées et des sorties aux différents composants (capteur, boutons, voyants, contacteurs, etc.) sont corrects.
Au prĂ©alable, il faut que l'automate soit connectĂ© au mĂȘme rĂ©seau que l'ordinateur.VĂ©rifier que lâadresse IP de l'automate est bien paramĂ©trĂ©e, pour cela, il faut cliquer sur "ParamĂštres de communication..."
A ce moment indiquer l'adresse IP de l'automate, dans cet exemple l'IP de l'automate est 192.168.1.142.
Pour valider le fonctionnement du programme en réel dans l'automate (sans simulation), il faut :
Dans la barre des menus de Codesys cliquer sur :
• "En Ligne" dĂ©cocher "Simulation", cet icĂŽne
ne doit plus ĂȘtre visible Ă gauche de Simulation.








qui se lit "H2 égale PAS S3".
qui se lit "PAS H2 égale S3".






