Vous êtes sur la page 1sur 7

AUTOMATISMES INDUSTRIELS TP N°1

Mise en œuvre du logiciel CODESYS 2AE


Programmation LADDER et IL Date : …../…../……

Le logiciel CODESYS développé par 3S-Smart Software Solutions GmbH contient 6 langages de
programmation différents. Cette diversité permet à l’utilisateur de choisir le langage approprié à son besoin.
Les 6 langages sont les suivants :
- IL Instruction List Liste d’instructions
- LD Ladder Diagram Schéma à contacts
- FBD Function Block Diagram Diagramme de blocs fonctionnels
- SFC Sequential Function Chart Grafcet
- ST Structured Text Texte structuré
- CFC Continuous Function Chart
Les 5 premiers langages de programmation sont les langages définis dans la norme CEI 61131-3.

A) REALISATION D’UN PREMIER PROGRAMME


A.1 ) PRESENTATION

Ce premier programme est conçu pour commencer à programmer rapidement avec CoDeSys. Il est
destiné à vous faire découvrir comment écrire et tester un programme simple en langage LADDER puis
ensuite en langage IL.

Le but du programme est de réaliser la logique de commande d’un ventilateur.

Principe :
Entrées de Sortie de
l'automatisme l'automatisme

S1 Energie
400V Tri
Logique de
S2
de
M1
commande Interface
S3 3~
(a réaliser)
S4

Les conditions de fonctionnement sont : - Marche générale S1 actionné


- Protection thermique S4 non actionnée
- Commande locale par action sur S2 ou à distance
par l’action S3.

Table de vérité : Equation logique simplifiée du fonctionnement du


ventilateur :
S1 S2 S3 S4 M1
0 X X X 0
1 0 0 0 0
M1= S1 . S4 . ( S2 + S3 )
1 0 0 1 0
1 0 1 0 1
1 0 1 1 0
Adressage des Entrées / Sorties
1 1 0 0 1
1 1 0 1 0 S1  %IX1.1 S2  %IX1.2 S3  %IX1.3
1 1 1 0 1 S4  %IX1.4 M1  %QX0.1
1 1 1 1 0
X = 0 ou 1

TP_N°1_API_Tutorial_LD_IL_E AUTOMATISMES INDUSTRIELS Page 1/7


PMIL
TP N°1 Programmation LADDER et IL

Programme en langage LADDER Programme en langage IL

M1 LD S1 (* charger la valeur de la variable S1 dans l’accumulateur *)


S1 S4 S2
ANDN S4 (* exécuter AND avec la négation de la valeur de la variable S4 *)
AND ( S2 (* exécuter AND avec le résultat du OU de la variable S2 *)
S3 OR S3 (* et de la variable S3 *)
)
ST M1 (* Résultat dans la variable de sortie M1 *)

A.2 ) MISE EN ŒUVRE AVEC LE LOGICIELS CODESYS ( LANGAGE LADDER)

Voici point par point toutes les opérations à effectuer pour concevoir, générer et tester
l’application décrite ci-dessus.

ETAPE 1 : LANCER CODESYS


Démarrer  Programmes  WAGO Software  CoDeSys V2.3
Vous venez d'ouvrir la fenêtre : gestionnaire de projet.
ETAPE 2 : CREER LE PROJET
Utilisez la commande « Nouveau » du menu «Fichiers ». Une fenêtre « paramètre cible apparaît », il
s’agit de la configuration matérielle utilisée (l’automate). Souhaitant uniquement simuler l’application,
sélectionnez « None » et validez. On vous propose ensuite un nom de programme : PLC_PRG. Vous devez
impérativement garder se nom. Par contre il faut sélectionner le type d’unité de fonctionnement :
Programme et le langage LD.

ETAPE 3 : ENREGISTRER VOTRE PROJET


Classiquement, enregistrer votre projet à chaque modification.
Utiliser la commande « Enregistrer sous » du menu « Fichier » , spécifier votre répertoire, créer un
dossier : WAGO et donnez un nom : ESSAI1

ETAPE 4 : EDITER LE PROGRAMME LD


La saisie du schéma à contact se fait dans la partie inférieure de la fenêtre,
grâce aux boutons suivants :
A chaque fois, lors de la description d’un contact ou d’un bobinage (remplacement des ???) que vous
utilisez une nouvelle variable, la fenêtre suivante apparaît automatiquement:
C’est la fenêtre de déclaration des
variables.
1) Classe : vous définissez si vous
voulez travailler avec des
variables : locales ou globales,
avec des variables internes,
TP_N°1_API_Tutorial_LD_IL_E AUTOMATISMES INDUSTRIELS
d’entrée ou de sortie. Page 2/7
PMI
TP N°1 Programmation LADDER et IL

2) Nom : identifiant de la variable (faire attention aux majuscules / minuscules).


3) Type : Vous avez le choix entre de nombreux types de données, à vous de le
spécifier selon l’utilisation que vous en ferez .

Type Valeur minimale Valeur maximale Espace mémoire


BYTE 0 255 8 bits
WORD 0 65535 16 bits
DWORD 0 4294967295 32 Bits
SINT -128 127 8 bits
UINT 0 255 8 bits
INT -32768 32767 16 bits
DINT -2147483648 2147483647 32 bits
UDINT 0 4294967295 32 bits

4) Addresse : S’il s’agit d’une variable d’entrées ou de sorties, vous devez indiquer son affectation.
L’affectation est l’adressage physique sur la carte de l’automate.
% IX1.1
Exemple : pour la variable d’entrée S1 I pour entrée position de
(Input) Emplacement de la variable
la carte dans l'API
De même pour une Sortie en remplacent I par Q.
Les cartes de sorties ou d’entrées possèdent des Entrées ou Sorties TOR (Tout Ou Rien), les
variables associées sont donc des variables BOOL (booléenne).
Remarque : Toutes les variables que vous avez déclarées,
se retrouvent obligatoirement dans l’entête du programme (PLC_PRG)
Vous pouvez directement saisir ou modifier la
déclaration des variables dans l’entête du programme au
lieu de le faire dans la fenêtre décrite précédemment.

ETAPE 5 : COMPILER LE CODE


Utiliser la commande : « Compiler » du menu « Projet » dans la fenêtre du Gestionnaire de
Programmes pour générer le code de l’application.

ETAPE 6 : SIMULER L’APPLICATION

Utiliser l’onglet « visu » de l’organisateur de projet.


« Click » droit sur « visualisations » et sélectionner « insérer objet »
Spécifier un nom pour votre objet de simulation, par exemple : TestSimu.
A l’aide des boutons disponibles : insérer un objet rectangulaire.
« Click droit » sur l’objet, et « Configurer » : vous ouvrez la fenêtre :

1) Texte : c’est le nom de la variable que


vous voulez voir apparaître.
2) Couleurs : vous pouvez programmer
la couleur correspondant à : FALSE
(Couleur) et la couleur correspondant à :
TRUE (Couleur d’alarme).

TP_N°1_API_Tutorial_LD_IL_E AUTOMATISMES INDUSTRIELS Page 3/7


PMI
TP N°1 Programmation LADDER et IL

3) Variables : c’est le nom de la variable utilisée (si vous travaillez avec une variable Locale, il faut
faire précéder le nom par le nom du programme dans lequel elle se situe, exemple : PLC_PRG.S1), que
vous devez rentrer à la ligne : « Changer couleur »
4) Entrée : sélectionner l’entrée : « Toggle variable » et spécifier le nom de la variable (idem 3).
Créer autant de boutons que de variables à visualiser. Il est possible (et fortement conseillé d’utiliser :
copier/coller) .
Il faut maintenant spécifier que vous voulez simuler, pour cela : Menu « En Ligne » cocher :
Simuler

Vous êtes maintenant prêt à simuler votre programme, afin de le mettre au point le cas échéant,
en tout cas de vérifier le fonctionnement attendu.
Pour lancer la simulation : Menu « En Ligne » sélectionner : « Accéder au système ».
Il faut maintenant démarrer l’exécution : Menu « En Ligne » sélectionner : « Démarrer »

Maintenant c’est à vous de jouer !!!

A.3 ) MISE EN ŒUVRE AVEC LE LOGICIELS CODESYS ( LANGAGE IL)

Procéder à la programmation en langage IL. Pour cela créer un nouveau projet et sélectionner le type
d’unité de fonctionnement : Programme et le langage IL.
Rq : il est possible de récupérer la visualisation que vous avez créer en utilisant la fonction copier/coller

B) EXERCICE 1 : DISTRIBUTEUR AUTOMATIQUE DE BOISSON


(LOGIQUE COMBINATOIRE)

B.1 ) PRESENTATION
DISTIBUTEUR AUTOMATIQUE DE BOISSON

- Un appareil comporte trois cuves contenant de l'eau,


du citron et de la menthe.

- 3 boutons (e, m, c) commandent les voyants (VE, VM, VC)


et les électrovannes (EVE, EVM, EVC).

- Les électrovannes permettent d'obtenir de l'eau, de la


menthe à l'eau ou du citron à l'eau.

- Une pièce (p) est nécessaire pour obtenir une boisson


à la menthe ou au citron. L'eau est gratuite.

- La pièce est rendue en cas de fausse manœuvre,


la restitution est signaler par un voyant VRP et réaliser par la
commande d’un relais RP.

TP_N°1_API_Tutorial_LD_IL_E AUTOMATISMES INDUSTRIELS Page 4/7


PMI
TP N°1 Programmation LADDER et IL

La table de vérité décrivant Equations simplifiées de


le fonctionnement des voyants fonctionnement des voyants

e m c p VE VM VC VRP
VE = m.c .p + m.c .p + e .m.c
0 0 0 0 0 0 0 0
0 0 0 1 0 0 0 1 VM = m. c .p
0 0 1 0 0 0 0 0
0 0 1 1 1 0 1 0 VC = m.c .p
0 1 0 0 0 0 0 0
0 1 0 1 1 1 0 0 VR P = m . c . p + m . c . p
0 1 1 0 0 0 0 0
0 1 1 1 0 0 0 1
1 0 0 0 1 0 0 0
Adressage des Entrées/ Sorties
1 0 0 1 1 0 0 1
1 0 1 0 0 0 0 0
1 0 1 1 1 0 1 0
e  %IX1.0 m  %IX1.1
1 1 0 0 0 0 0 0
1 1 0 1 1 1 0 0
p  %IX1.3 c  %IX1.2
1 1 1 0 0 0 0 0
1 1 1 1 0 0 0 1 VE  %QX1.1 VM  %QX1.2
VC  %QX1.3 VRP  %QX1.4

EVE  %QX1.5 EVM  %QX1.6


B.2 ) TRAVAIL DEMANDE EVC  %QX1.7 RP  %QX1.8

B.2.1) Réaliser le programme en langage LADDER permettant de gérer le fonctionnement


des voyants et Tester votre programme par simulation

B.2.2) Intégrer dans votre programme la gestion des Electrovannes sachant que :
- L’Electrovanne d’Eau EVE reste ouverte 6s après une demande en eau.
- Les Electrovannes de Menthe et Citron, respectivement EVM et EVC doivent
s’ouvrir uniquement 2s.
- Le Relais de restitution Pièce doit être actif que 2s après une mauvaise manipulation.

Vous devez pour cela implanter des temporisations dans des réseaux LADDER. Utilisez pour cela
des blocs fonctionnels TP (en langage FBD). Aidez-vous de l’aide du logiciel CoDeSys
(Touche F1)

Simuler et valider le fonctionnement de votre programme

B.2.3) Réaliser le programme en langage IL permettant de gérer uniquement le fonctionnement des


voyants et Tester votre programme par simulation.

Rq : Une liste des modificateurs et opérandes en langage IL est fournit ANNEXE 1 .

TP_N°1_API_Tutorial_LD_IL_E AUTOMATISMES INDUSTRIELS Page 5/7


PMI
TP N°1 Programmation LADDER et IL

C) EXERCICE 2 : SYSTEME DE TRAITEMENT DE PRODUIT


(LOGIQUE SEQUENTIELLE)
C.1 ) PRESENTATION

Dans une usine de produits agro-alimentaire une partie du processus de traitement d'un produit consiste
à doser une certaine quantité d'un liquide visqueux (huile) pour la porter à une température prédéterminée égale
à θ°C.
Synoptique Grafcet point de vue Partie Commande
spécification Technologique

DCY

1 EV1

P1

2 EV2

P0

3 RC MB

B1

4 EV1

20s/X4
Descriptif du fonctionnement :
• La mise en marche du système est réalisée après action sur un bouton poussoir DCy.
• L'électrovanne EV1 permet le remplissage du bac doseur A jusqu'à une certaine valeur préaffichée P1 du
système de pesée.
• Lorsque P1 est atteint, EV1 interrompt le remplissage et EV2 autorise le transvasement du liquide du bac
vers le ballon de chauffe B. A la fin du transvasement (Information P0), le circuit de chauffe RC et le
moteur de brassage MB sont alimentés.
• La température de chauffage est contrôlée par le thermostat B1 préréglé à la valeur θ°C.
• Lorsque cette température est atteinte le chauffage et le brassage sont arrêtés, et EV3 autorise la
circulation du liquide vers la suite du processus.
• Au bout de 20 secondes, EV3 est désexcitée et le système revient à son état initial.

C.2 ) TRAVAIL DEMANDE

C.2.1) Réaliser le programme en langage LADDER permettant le fonctionnement du système


et Tester votre programme par simulation. (L’affectation des E/S est à définir)
Aidez-vous pour cela de la méthode de programmation d’un automatisme séquentiel
en langage LADDER fournit en ANNEXE1.
C.2.2) Réaliser le programme en langage IL permettant le fonctionnement du système
et Tester votre programme par simulation.

TP_N°1_API_Tutorial_LD_IL_E AUTOMATISMES INDUSTRIELS Page 6/7


PMI
TP N°1 Programmation LADDER et IL

Liste des modificateurs et opérandes en langage IL ANNEXE 1


En langage IL, il est possible d'utiliser les opérateurs et modificateurs suivants :
Modificateurs :
● C pour JMP, CAL, RET: l'instruction est exécutée uniquement si l'expression précédente fournit le résultat VRAI.
● N pour JMPC, CALC, RETC: l'instruction est exécutée uniquement si l'expression précédente fournit le résultat FAUX.
● N autres: négation de l'opérande (mais pas de l'accumulateur)

Liste des opérateurs en langage IL et leurs modificateurs autorisés, avec une description de ces opérateurs
Opérateur Modificateurs Description
LD N Rendre le résultat courant égal à l'opérande
ST N Mémoriser le résultat courant à l'emplacement de l'opérande
S Positionner l'opérande booléenne sur VRAI si et seulement si le résultat
courant est VRAI
R Remettre l'opérande booléenne sur FAUX si et seulement si le résultat
courant est VRAI
AND N,( AND bit à bit
OR N,( OR bit à bit
XOR N,( OR exclusif bit à bit
ADD ( Addition
SUB Soustraction
MUL Multiplication
DIV Division
GT >
GE >=
EQ =
NE <>
LE <=
LT <
JMP CN Saut vers l'étiquette
CAL CN Appel d'un bloc fonctionnel
RET CN Retour d'un bloc fonctionnel appelé
) Evaluation d'une opération différée

Méthode de programmation d’un automatisme séquentiel en langage LADDER

Effet mémoire :
a X2
a S

b X2
2 EV R

b X2 EV

Si a := TRUE  Activation mémoire Set X2  X2 := TRUE  EV : = TRUE


Si b := TRUE  Désactivation mémoire Reset X2  X2:= FALSE  EV := FALSE

TP_N°1_API_Tutorial_LD_IL_E AUTOMATISMES INDUSTRIELS Page 7/7


PMI

Vous aimerez peut-être aussi