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


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

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

A ce moment indiquer l'adresse IP de l'automate, dans cet exemple l'IP de l'automate est 192.168.1.142.
paramétrer l'adresse IP de l'automate Wago avec Codesys v2.3

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.
désactivation du mode simulation dans le logiciel Codesys
Avant de faire un test en réel sur l'automate, il faut désactiver le mode simulation dans Codesys.
  • "En Ligne" puis cliquer sur "Accéder au système".
accéder au système Wago dans le logiciel Codesys
Cliquer sur "Accéder au système" dans Codesys.
  • "En Ligne" puis cliquer sur "Démarrer".

démarrer l'automatisme Wago dans le logiciel Codesys
Cliquer sur "Démarrer" dans le logiciel Codesys.


codesys 7. QCM :

Quizz de connaissance sur les automates programmables.



📌 Politique de Confidentialité | Cet article peut inclure des liens d'affiliation, notamment des liens Amazon (programme Partenaire Amazon EU)
ou du contenu sponsorisé me permettant de tester du matériel récent et de couvrir les frais d'hébergement du site.
Si vous aimez les articles et pour soutenir le développement du site c'est ici !