Vous êtes sur la page 1sur 14

TP1 : Initiation à la programmation GRAFCET et LADDER

I. Introduction :
L’objectif de ce TP est la familiarisation avec les outils de programmation des
automates programmables industriels en LADDER et en GRAFCET en utilisant
le logiciel Unity Pro.
Le but de cette première manipulation est de concevoir un GRAFCET pour la mise
en marche et l’arrêt d’un mécanisme.
II. Partie théorique :
1- Rappelez les règles d’évolution du GRAFCET
III. Manipulation :
1. Architecture du projet :
La norme CEI 61131-3 définit une norme sur l’architecture qui est reprise par
l’ensemble des programmes automate, une fois que vous aurez compris la logique, vous
pourrez plus facilement passer d’un logiciel d’automate à un autre.

Vue structurelle d’un projet sur Unity PRO.


Une configuration est spécifique à un type particulier de système de commande, y
compris l’arrangement du matériel, c’est-à-dire les ressources processeurs, les adresses
de mémoire pour les canaux d’I/O et les possibilités spécifiques du système. Une
configuration est une plate-forme matérielle comprenant une ou plusieurs ressources.
Une ressource représente une machine virtuelle. Une ressource est divisée en
plusieurs unités de programmation appelées POU. (La ressource est appelée
Programme sur l’image)
Les Taches : les ressources sont organisées en taches, il peut avoir une ou plusieurs
taches. Les tâches commandent l’exécution d’un ensemble de programmes et/ou de
blocs fonctionnels. Sur l’image il existe deux taches : Mast (tâche principale) et FAST
(Tache rapide).
Les POU (program organization unit) d’une ressource sont organisés en une
architecture hiérarchisée de taches (task) et programme. Ceux-ci peuvent être exécutés
périodiquement ou à l’occurrence d’un événement spécifique. Les POU peuvent être
des programmes, des fonctions ou des blocs fonctionnels.
Les programmes peuvent être décrits avec les langages graphiques ou textuels SFC,
FC, ST, IL, FBD, ou LD. Typiquement, un programme se compose d’un réseau de
fonctions et de blocs fonctionnels, qui peuvent échanger des données. Les fonctions et
les blocs fonctionnels sont les éléments de base, contenant une structure de données et
un algorithme.

Déroulement du programme Automate

Le déroulement du programme automate se déroule en trois taches :

1. Lecture des variables d’entrées ;


2. Exécution des programmes (Taches à programmer) ;
3. Mise à jour des sorties.

Dans la majorité des cas le système est synchrone par rapport aux entrées et aux
sorties, ce qui signifie que tous les changements se font en même temps ; pendant
l’exécution des programmes, les E/S conservent la même valeur. Dans les autres cas,
une variable peut prendre différentes valeurs en différents points du programme.

L’exécution des programmes se fait dans l’ordre de leur rangement dans la mémoire
programme ; sauf s’il y a une interruption.

Le temps de cycle sépare deux lancements successifs de la même portion du


programme d’application, comprend non seulement le temps de traitement, mais aussi
le temps de mise à jour de la mémoire des E/S. Si un temps de cycle est programmé, la
machine attend l’écoulement de ce temps avant de commencer l’exécution d’un
nouveau cycle. En dehors du temps de cycle, il existe une possibilité de ne faire
exécuter une portion de programme que dans certaines circonstances : c’est
l’interruption (INT.). On a alors une exécution événementielle. Elle permet d’accélérer
la réponse à une information jugée majeure.
Le temps d’acquisition du système d’entrée est le temps qui sépare l’apparition de
l’information d’entrée (front montant sur le signal fourni par le détecteur) aux bornes
d’entrée et son enregistrement dans la mémoire de l’automate. Il comprend le temps de
passage par les filtres d’entrée et le temps de conversion.
Le temps d’exécution dépend de la taille du programme, la plupart des machines
pouvant ne lire que la partie de la mémoire Programme utilisée par le programme en
cours, mais change par exemple en cas de présence d’un saut avant ; il peut s’apprécier
à partir d’une vitesse de référence exprimée en millisecondes par kilomots de la
mémoire programme.
Le temps d’activation de sortie, séparant l’apparition des sorties dans la mémoire
image de l’API de celle du signal sur les actionneurs, dépend notamment du type de
sortie. Il est plus long pour les sorties à relais électromagnétiques.

Les langages de programmation d’automates

La description d’un programme peut être réalisée à l’aide des langages graphiques ou
textuels suivants :

LD (Ladder Diagram) : Le langage à contacts se base sur une approche visuelle


évoquant des schémas électriques (avec symbole US). Dans le cas de traitement
booléen, les éléments fondamentaux sont des contacts normalement fermés (NF) ou
normalement ouverts (NO), et des bobines. Ce langage est très efficace pour des
systèmes combinatoires. Mais le Ladder n’est pas adapté aux programmes complexes
impliquent un grand nombre de séquences ni adapté aux calculs complexes.

IL (Instruction List) : Les listes d’instructions est très proche du langage


informatique dit assembleur. Une instruction débute sur une ligne, comporte un
opérateur, un ou plusieurs opérandes. On peut introduire des étiquettes et des
commentaires. Ce langage n’est pas celui jugé le plus pratique par la plupart des
utilisateurs, car le passage d’une analyse souvent semi-graphique à la programmation
n’est pas toujours aisé, pas plus que la mise au point du programme.

FBD (Function Block Diagram) : Les diagrammes de schémas fonctionnels sont un


langage graphique qui permet de programmer à l’aide de blocs fonctionnels reliés les
uns aux autres.
Les blocs fonctionnels peuvent être fournis par une bibliothèque ou personnalisés par
l’utilisateur. Un des intérêts de ce langage réside dans la réduction du nombre
d’erreurs, par l’utilisation de blocs validés. LE FBD est le langage le plus utilisé.

ST (Structured Text) : Le texte structuré est un langage textuel de haut niveau qui est
utilisé pour décrire des procédures complexes. Il est très proche du langage Pascal. Il
utilise des expressions, assemblage ordonné d’opérateurs , avec des priorités. Ce
langage facilite donc la mise en œuvre d’algorithmes complexes comportant beaucoup
de traitement numérique. En contrepartie, il est moins commode pour la mise au point
de fonctions booléennes.
SFC (Sequential Function Charts) : Les graphes de fonction séquentielle sont issus
du langage GRAFCET. Ce langage, de haut niveau, permet la programmation aisée de
tous les procédés séquentiels, il est semblable Diagramme états-transitions. Ils sont
particulièrement adaptés à la commande de cycles opératoires. Graphiquement, on se
trouve devant une alternance étape(s) — transition-étape(s), etc., avec des liaisons
dirigées. À chaque transition est associée une condition de franchissement de cette
transition ; à chaque étape peuvent être définies des actions à entreprendre. Conditions
de franchissement et actions s’expriment dans un des langages décrits ci-devant.

Type de variables

Les principaux types de variables :

Type Nom Taille Étendue Valeur

BOOL Boolean 1 [0 (false),1 (true)] Logique

INT Integer 16 [-32,768.32767] Entière continue

DINT Double integer 32 [-231 231] Continue entière double

UINT Unsigned integer 16 [0.65 535] Entière continue non signée

REAL Real numbers 32 [-2128, 2128] Continue réelle (flottante)

BYTE Bit string 8 [0.255] demi-mot

WORD Bit string 16 [0.65535] Mot

DWORD Bit string 32 [0,232] double mot

TIME [0 ms, 10* 231ms] Temps

DATE date

STRING 1 à 255 ASCII Chaîne de caractères


2. Etapes de conception d’un programme :

3. Configuration d’un automate :


-Un automate possède plusieurs entrées et sorties (10ES à 24ES), voir plus avec
l’ajout de modules d’extensions entrées/sorties. Sur les entrées, l’automate va
recevoir les informations provenant des capteurs de la machine ainsi que les
consignes données par l’opérateur. Elles disposent généralement d’une
alimentation fournie par l’automate.
-Les sorties de l’API permettent de commander les pré-actionneurs ou les
interfaces (contacteurs auxiliaires, relais, électrovanne, etc.) qui agissent sur les
actionneurs de la partie opérative. De même les sorties permettent de renvoyer
des informations à l’opérateur sous la forme d’une signalisation. (voyant,
afficheur, terminal de visualisation).
Cliquez sur nouveau projet puis choisissez M340 puis le CPU : BMX P34 2020.
Cliquez sue configuration (dans le menu gauche) pour afficher l’automate (Rack
BMXXBP0600, Block d’alimentation BMXCPS2000 et CPU BMXP 34 2020).
Double-clic sur les emplacements 1 et 2 pour configurer les E/S logiques TOR
(numériques : utiliser DDI1602(16 entrées) et DRA 1605 (16 sorties) (et3 et 4
pour configurer les E/S analogiques, utilisez AMI0410 et AMO0210).
4. Programmation d’un automate :
Cliquez sur programme (dans le menu gauche) puis sur
TACHE/MAST/SECTION puis clic-droit sur section puis nouvelle section puis
choisissez langage SFC (pour GRAFCET) puis ouvrir l’emplacement ou vous
allez mettre le programme grafcet du démarrage d’un moteur.
5. Insérez le Grafcet du DEMARRAGE DIRECT dans la nouvelle
fenêtre :

Double cliquez sur une étape pour la renommer. Pour l’étape initiale, cochez la
case correspondante.
6. Adresses des entrées / sorties :
Dans cet exemple, nous avons deux entrée (MARCHE et ARRET) et une sortie
(KM1).
A savoir : Un contacteur de puissance ou auxiliaire est équipé de contact F dit "à
Fermeture", de contact O dit "à Ouverture". Ces contacts peuvent être utilisés
dans la partie commande (contact auxiliaire) ou dans la partie puissance (contact
de puissance) de l'installation en fonction de leurs caractéristiques électriques.
Les contacteurs sont utilisés afin d'alimenter des moteurs industriels de grande
puissance et en général des consommateurs de fortes puissances. Ils sont repérés
par KM (KM1, KMA...).
Vous devez maintenant configurer les adresses des entrées / Sorties de l’automate.
Dans configuration, double-clic sur les blocks d’entrées et des sorties pour
configurer les E/S dans le tableau. Les entrées et les sorties respectivement sont
Marche(T1) et Arret (T2) et KM1.
Pour configurer l’entrée 1 ➔ double-clic DDI1 ➔ double-clic sur le module l’E/S
BMX DDI 1602 ➔ Objets d’E/S ➔ Cochez %I (pour les entrées).
Cliquez ensuite sur « mettre à jour grille », un tableau avec les sorties va
apparaître. Cliquez sur une entrée, puis renommez-la dans « préfixe pour nom »
comme dans l’exemple, puis Créer (ou touche entrée).
Faites la même chose pour la deuxième entrée, renommez-la « ARRET ». Pour
la sortie, choisissez le module DRA 1605 et %Q (pour les sorties). Renommez-
la KM1.
Q1 : Quelle est la signification des numéros des entrées (%I0.1.O) et des sorties
%Q0/2/0 ?
7. Remplissage des étapes /transitions :
Double-clic sur la transition T1, configurez-la en choisissant le langage Ladder,
puis cliquez sur edit, une fenêtre de programmation Ladder va apparaitre. Appelez
la bobine de sortie de cette fenêtre T1.

Déplacez la bobine de sortie T1 vers la droite, ajoutez un contact (entrée) à


gauche. Double cliquez sur le contact, puis sur les 3 boutons à droite pour afficher
les différentes entrées/sorties. Choisissez MARCHE pour cette transition.
Faites la même chose pour la deuxième transition.
Pour l’action KM1, double cliquez sur l’étape 2, puis dans « actions », renommez
l’action etape1 et cliquez sur le bouton nouveau.
Cliquez sur appliquer, puis sur « éditer la section » choisissez le langage LD,
ajoutez une bobine ➔ double clic ➔ clic sur les 3 points et choisissez KM1.

8. Simulation :
Cliquez sur Analyser (1) le projet : pour voir s’il y a des erreurs ➔ Générer tout
le projet (2)➔ Mode simulation (3)➔ Connecter (4)➔ Décharger le projet
pour le transférer à l’automate (5).

1 2 5 4 3

• 1 : Analyser
• 2 : Générer tout le projet
• 3 : Mode simulation
• 4 : Connecter
• 5 : Décharger le programme

Cochez « Exécution de l’automate après le transfert » ➔ Transférer.


Pour exécuter le programme, cliquez sur RUN.

Pour lancer le programme, il faut que la transition T1 passe à l’état 1. Pour ce


faire, double cliquez sur la transition T1 ➔ éditer ➔ clic droit sur le contact
MARCHE ➔ Forcer la valeur ➔ forcer à 1.
Superposez les fenêtres des entrées et du GRAFCET pour voir l’évolution en
changeant les états.

Q2 : Changez les valeurs des étapes « MARCHE » et « ARRET » (0 ou 1) pour


que le programme fonctionne correctement. Quelle est la succession des étapes ?

Vous aimerez peut-être aussi