👨‍💻 Tutoriel CoDeSys v2.3 et programmation Ladder ️⚙️
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 :
|
|
Pour démarrer
CoDeSys double cliquer sur l'icĂ´ne suivant

.
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 : 1
er Mot de la variable.
•
1 : 2
ème bit de la variable.
L'entrée
%IX0.0 signifie donc entrée digitale ayant pour adresse le 2
ème bit du 1
er 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 digitale ayant 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 : 1
er Mot de la variable.
L'entrée
%QW0 signifie donc sortie analogique ayant pour adresse le 1
er 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 2
1 = 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 : 1
er bit de la variable.
La mémoire booléenne (bit)
%MX2.0 se trouve donc au 1
er 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 : 2
16 = 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 : 2
32 = 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 |
Désignation |
|
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 |
Sorties digitales |
Adresses |
Désignations |
Mnémoniques |
Adresses |
Désignations |
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 ou 0002 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.
7. QCM :
Quizz de connaissance sur les
automates programmables.