> >

👨‍💻 Tutoriel CoDeSys v2.3 et programmation Ladder ️⚙️


Utilisation du logiciel Codesys v2.3 et programmation en langage 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


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


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

Création d’un nouveau programme : Fichier - Nouveau ou comme sur l'image ci-dessous en cliquant sur l'icône Nouveau.
créer un programme avec Codesys v2.3

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.).
choisir la référence de l'automate Wago target ou cible automate

Sur l'onglet visualisation cocher visualisation sur le web pour disposer d’une visualisation à partir d’un navigateur web, puis cliquer sur OK.
Intégration de la webvisu dans le programme automate

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)
Choix du langage de programmation ladder, grafcet, bloc fonctionnel, sous codesys
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.
image codesys
La fenêtre ci-dessous apparaît, c'est sur celle-ci que l'on pourra réaliser notre programme en Ladder.
Programmation en langage schéma à contacts ou 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.
hardware configuration Codesys v2.3

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.
édition de la configuration des entrées et sorties Wago sous Codesys v2.3

Cliquer sur le plus vert image codesys . Ajouter un module d'entrée ou de sortie Wago avec Codesys

Ajouter le module d'entrées digitales 750-402.
Choisir le module d'entrées digitales Wago avec Codesys 750-402

Puis choisir le module de sorties digitales 750-504.
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
configuration input output wago avec Codesys


codesys 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 digitale ayant 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 entrée 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 : 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 : Input (entrĂ©e).
    • W : analogique ou WORD (Mot).
    • 4 : 1er Mot de la variable.
La mémoire mot %MW4 se trouve donc au 5ème mot.




     3.6. Les mĂ©moires mots - %MD :

Les mémoires mots sont variables, elles peuvent prendre plusieurs valeurs :
sur 16 bits : 232 = 4294967296, cette valeur peut varier de 0 Ă  4294967295.
Exemple d'adresse d'entrée analogique 16 bits : %IW0
    • % : Variable.
    • M : Input (entrĂ©e).
    • D : analogique ou DWORD (Mot double).
    • 4 : 1er Mot de la variable.
La mémoire mot %MW4 se trouve donc au 5ème mot.



codesys 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
codesys
Variable booléenne de type NO ou contact à fermeture (%IX entrée automate;%M mémoire; etc...).
codesys
Mise en parallèle ou dĂ©rivation d’un contact.   
codesys
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.
codesys
Permet d’inverser l'état d'un contact ou d'une bobine.
codesys
Contact NC
codesys
Bobine Inversée
S
   Mise Ă  l’état 1 de la sortie ou de la mĂ©moire. (MĂ©morisation, S = SET)    
codesys
R
   Mise Ă  l’état 0 de la sortie ou de la mĂ©moire (MĂ©morisation, R =RESET)    
codesys

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).
présentation interactive du langage ladder


codesys 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.
perceuse Ă  colonne interactive


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.
barre des tâches codesys v2.3

Puis insérer les contacts ou bobines dans la zone de saisie (ex Ligne 0001 ou 0002 etc.).
insérer un contact ladder avec codesys v2.3

Infos :Ă€ partir du cahier des charges on va Ă©crire les Ă©quations d'activation de nos sorties (H1, H2 et KM1).

/S3 = H2É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 :
   Ecriture d'un programme en ladder ou langage Ă  contacts avec Codesys v2.3 qui se lit "H2 Ă©gale PAS S3".   
   programmation en Ladder ou schĂ©ma Ă  contact avec Codesys v2.3   
Équation 2 de H2 :
   utilisation du langage ladder sous codesys qui se lit "PAS H2 Ă©gale S3".   
   comment programmer en langage ladder sous codesys   


/S3 = H2É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 :
   programmer un automate Wago en langage ladder avec codesys
qui se lit
"H1 Ă©gale PAS S2 et S3 et S1 ou KM1".   
   programmer un automate Wago en schĂ©ma Ă  contacts avec codesys   


/S3 = H2É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 :
   apprendre Ă  programmer en langage Ă  contact ou ladder sous codesys
qui se lit
"KM1 Ă©gale PAS S2 et S3 et S1 ou KM1".   
   tutoriel ladder sous codesys   


codesys 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 Ctrl + F7 pour valider l'affectation.
Quand une variable est bleue, la variable est active.
simulation du fonctionnement du programme automate sous codesys v2.3Double cliquer sur la variable pour changer l'Ă©tat puis appuyer sur la touche F7 pour forcer l'affectation.
Quand elle est rouge c’est quelle est forcée (soit active ou désactive).
activation des sorties ou forçage avec codesys en mode simulation


Pour aller plus loin, découvrez comment réaliser une supervision automate avec Codesys v2.3..
Tutoriel comment réaliser une supervision avec Codesys, webvisu Wago

     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".
accéder au système Wago avec codesys

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..."
paramétrage de la communication avec l'automate Wago sous codesys v2.3

A ce moment indiquer l'adresse IP de l'automate (ex : 192.168.1.142).
paramétrer l'adresse IP de l'automate Wago avec Codesys v2.3

    1. Cliquer sur "En Ligne" puis cliquer sur "AccĂ©der au système".
accéder au système Wago avec codesys pour mettre en communication Codesys et l'automate

    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".
démarrer la communication entre Codesys et l'automate Wago

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.


codesys 7. QCM :

Quizz de connaissance sur les automates programmables.



Si vous aimez les articles, n'hésitez pas à faire vos achats sur Amazon via ce lien, ils me permettront de recevoir une commission grâce au programme Partenaires Amazon EU.