> >



flux rss     fb     youtube        
   

wago Prise en main du logiciel CoDeSys

BEP ELEEC S4.2 : Systèmes communicants - V.D.I. : Voix, Données, Images.

S4.3 : Équipements industriels - Gestion des automatismes : Automate programmable industriel (API), principe et types d'entrees / sorties.
BAC PRO S4.1 : Automatismes programmables - Automate programmable, superviseur.

S4.7 : Réseau communicant - Voix, Données, Images.


1. Présentation
2. Démarrage avec Codesys v2.3
3. Les types de variables
4. Le langage Ladder
5. Création d'un programme
7. Test du programme
8. 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 :

2.1 Création d'un programme - Configuration de l'automate :

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

Sur la fenêtre qui s'ouvre et à l'aide du menu déroulant configuration choisir la référence de l’automate WAGO dans lequel on implantera le programme (750-841, 750-881, etc.).
image codesys

Sur l'onglet visualisation cocher visualisation sur le web pour disposer d’une visualisation à partir d’un navigateur web, puis cliquer sur OK.
image codesys

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


2.2 Configuration des entrées / sorties :


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

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

Cliquer sur le plus vert image codesys . image codesys

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

Puis choisir le module sorties digitales 750-504.
image codesys

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
image 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 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 Marche S2 S2 %QX0.1 Voyant marche 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

Puis insérer les contacts ou bobines dans la zone de saisie (ex Ligne 0001 ou 0002 etc.).
barre des tâches

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 :
   /S3 = H2 qui se lit "H2 égale PAS S3".   
   /S3 = H2   
Équation 2 de H2 :
   /S3 = H2 qui se lit "PAS H2 égale S3".   
   /S3 = H2   


/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 :
   ( S1||KM1 ) & S3 & /S2 = H1
qui se lit
"H1 égale PAS S2 et S3 et S1 ou KM1".   
   ( S1||KM1 ) & S3 & /S2 = H1   


/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 voyant KM1 s'allume.

   Équation       Langage Ladder
Équation de KM1 :
   ( S1||KM1 ) & S3 & /S2 = KM1
qui se lit
"KM1 égale PAS S2 et S3 et S1 ou KM1".   
   ( S1||KM1 ) & S3 & /S2 = KM1   


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.


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




     6.2. Envoyer un programme dans l'automate :



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


codesys 8. QCM :

Quizz de connaissance sur les automates programmables.
flux rssPour suivre les mises à jour du site, cliquez ici !!
fb youtube
*** 2012-2017 - CP@ ***