IPA01 – Tutoriel ladder – Programmer avec une ampoule

Découvrons Codesys v2.3

Comme, je n’en doute pas, vous avez lu assidûment l’introduction, codesys v2.3 est déjà installé sur votre PC. (si ce n’ai pas fait, aller discrètement jeter un œil au chapitre précédent 😉 ).

Donc ne perdons pas de temps, on lance le logiciel:

Fichier -> Nouveau

On vous demande de sélectionner une configuration, choisissez none.

Puis vous voila dans l’écran de création des sous programmes.

Codesys, création d'un sous programme.

Codesys, création d’un sous programme.

  • Type de l’unité: pour l’instant nous ne faisons que des programmes.
  • Langage de l’unité sélectionnez LD, qui signifie Ladder.
  • Trés important, laissez le noms d’origine: PLC_PRG.
  • Et faites OK

Et voici une présentation de l’espace de travail:

Espace de travail Codesys

Espace de travail Codesys

  • La barre d’outils: On y retrouve les fonctions classiques, ainsi que nos symboles en raccourci.
  • L’arborescence des programmes: Lorsque nos prog. se compliqueront, ils seront divisé en plusieurs sous programmes qui se trouveront dans cette section. Mais pour l’instant, il n’y aura que le PLC_PRG que l’on a créé. Notez qu’il y a 4 onglets en bas, mais ceux ci ne nous concernent pas pour le moment.
  • La zone de déclaration des variables: nous y reviendrons, mais sachez que lorsque je vous direz de déclarer vos variables, cela se passera ici.
  • L’emplacement des réseaux: Un réseau est l’endroit ou l’on écrit son programme. On peut écrire plusieurs réseaux si le programme se complique.
  • La barre d’état: Sert à indiquer dans quel mode de fonctionnement nous nous trouvons, encore une fois nous y reviendrons.

Devenons de vrai programmeurs !

Fini de parlé d’interrupteur et d’ampoules, maintenant nous parlerons de contacts NO (Contact Normaly Open pour les interrupteurs normalement ouvert), de contacts NC (Contact Normally Close pour les interrupteurs normalement fermé) et de sorties pour les ampoules.

Des entrées et des sorties TOR.

Dans la programmation Tout Ou Rien (on peut dire Digital ou binaire), on distingue 3 types de variables:

  1. Les variables d’entrée TOR (ou entrée Digital ou Digital Input (D.I.)), qui sont toutes les informations venant de l’extérieur et entrant dans le programme. Les interrupteurs sont, par exemple, des entrées TOR car c’est l’utilisateur qui décide physiquement d’appuyer dessus.
  2. Les variables de sortie TOR (ou sortie Digital ou Digital Output (D.O.)), qui sont toutes les informations calculées par le programme et partant vers l’extérieur. Les ampoules sont, par exemple, des sorties TOR car c’est le programme qui décide de l’allumer ou non.
  3. Enfin le dernier type est la variables interne, qui n’est ni une entrée, ni une sortie, mais nous verrons cela en temps voulu.

Nous allons donc taper notre premier programme qui sera le premier schéma que l’on à vu. Le contact NO en série avec la sortie. Alors retournez sous Codesys:

  • Dans la zone de déclaration de variable, sautez une ligne entre VAR et END_VAR, tapez cela:
    DI1:BOOL;    (* Interrupteur*)
    DO1:BOOL;   (*Sortie*)
    Explication: le programme ne sait pas combien d’entrée ou de sortie nous aurons besoin pour fonctionner, nous devons donc lui spécifier. Vous aurez certainement reconnu DI1 et DO1 qui sont notre contact NO et notre sortie, mais le :BOOL?
    Et bien BOOL signifie au programme que les variables que nous utilisons sont de type Tout Ou Rien (vous verrez qu’il y a plein de type de variable différent, mais ne nous disperçons pas).
    Attention : N’oubliez pas les point virgule à la fin ! ! !
    les mots entre les (* ……….. *) sont ce que l’on appel des commentaires. Ce sont des informations qui ne sont pas lut par le programme, mais qui servent à renseigner le programmeur. Ne les négligeaient pas car ils vous dépanneront bien quand vos programmes se compliqueront.
  • Cliquez à l’intérieur de l’emplacement des réseaux. Puis dans la barre d’outil (3 cases à droite du menu déroulant 100%), vous verrez un bouton sur lequel est dessiné un contact NO, cliquez dessus (attention il y a 2 boutons contact NO, un avec des petites barres verticales sur le coté et un sans, choisissez celui sans).
    Il apparaîtra au début du réseau avec 3 points interrogations.  Cliquez sur ces points d’interrogations et écrivez DI1 ( !!! Attention aux majuscules !!! ).
  • Cliquez au milieu du réseau, et dans la barre d’outils cliquez sur le bouton sur lequel est dessiné une sortie (4 boutons à droite du contact NO), nommée bobinage.
    La sortie apparaît à droite du réseau avec 3 points d’interrogation, cliquez sur ces points et tapez DO1.
  • Dans les menu du haut, cliquez sur En ligne, puis accedez au système pour « transferer » votre programme.
  • La zone de déclaration de variable disparaît pour laisser la place à DI1 et DO1, avec écrit false à coté d’eux. False que l’élément est au repos, contrairement à l’état true qui veut dire au travail.
    Les lignes à gauche de DI1 doivent être passée en bleu. Dans la barre d’état, En ligne et SIM ont du passés en noir.

Voila ce que vous êtes censé avoir:

Premier programme en ladder sous Codesys

Premier programme en ladder sous Codesys

Codesys est un logiciel d’automate, et ceux ci on besoin d’être démarré pour faire fonctionner un programme. Allez donc dans En ligne, puis démarrer (ou faites F5 🙂 ). Dans la barre d’état, En marche doit être écrit en noir.

Un dur travail récompensé.

Et voilà, vous avez fait votre premier programme, maintenant savourez l’instant…

Dans l’ancienne zone de déclaration de variables, double cliquez sur le false à coté de DI1, vous verrez <:=TRUE> s’afficher. Ce qui veut dire que c’est cette valeur que l’on s’apprête à assigner à DI1 (ce qui simule un appuie sur notre interrupteur).

Allez dans En ligne, puis cliquez sur Ecrire valeurs des variables (ou faites CTRL+F7) et voilà, notre contact s’active (se remplit de bleu) et enclenche notre sortie (DO1 se remplit de bleu). Re-cliquez deux fois sur le TRUE de DI1, faites CTRL+F7, et vous désactiverai votre sortie.

Bilan

Si tout ceci était nouveau pour vous, j’imagine que cela n’a pas du être évident, alors reposez vous un peu les méninges. Prenez le temps de relire ce chapitre quelques jours plus tard, de cette façon certaines notions seront peut être plus simple à assimiler. Avant d’attaquer la suite, il faut que vous maîtrisiez parfaitement ce que l’on a vu, donc si vous avez l’ombre d’un doute, n’hésitez surtout pas à venir sur le forum, nous nous ferons un plaisir de vous aider.

Ce qu’il faut retenir de ce tutoriel ladder (partie 1).

  • Nous avons vu 2 types d’entrées TOR, les contacts NO (normalement ouvert) et les contacts NC (normalement fermé).
  • Nous avons vu 1 type de sortie TOR, la sortie.
  • Sous codesys, on doit d’abord déclarer nos variables avant de pouvoir les utiliser.
  • Sous codesys, le type de variable Tout Ou Rien s’appel BOOL.

Ce qui vous attend dans le tutoriel ladder partie 2 – La mémoire des ampoules.

Dans le prochain chapitre, nous:

  • Commencerons par refaire les programmes de ce chapitre ci, histoire de se faire un peu la main sous Codesys.
  • Nous verrons une formidable fonction de mémorisation des BOOL.
  • Nous parlerons de la notion de cycle d’exécution d’un programme.
  • Et nous finirons avec un gros exercice synthétisant l’ensemble de nos acquis.
Voila, je ne le répéterai jamais assez, mais si ce tutoriel ladder vous a plus, partagez le et surtout, n’oubliez pas de faire vivre le forum qui est le cœur de ce site!
Lien vers le chapitre suivant, la mémoire des ampoules », cliquez ici.

Tutoriel ladder - set reset

Lien vers la section du forum conssacrée à ce chapitre

Lien vers l’article wikipédia concernant le ladder