Vous êtes sur la page 1sur 6

Section : S

Option : Sciences de lingnieur

Discipline : Gnie lectrique

Compteurs, variables et afficheurs dans Automgen


Domaine dapplication :
Traitement programm de linformation

Type de document :
Travaux Pratiques

Classe :
Premire

Mise en situation et objectifs du TP

Date :

Lobjectif de ce TP est de dcouvrir lutilisation des compteurs et des variables utilisateurs dans Automgen, que
ce soit pour la conception dun systme logique combinatoire (sous forme dun logigramme) ou pour un systme
logique squentiel (sous forme dun grafcet). Les notions abordes dans ce TP sont :
Utilisation des compteurs dans Automgen
Utilisation des variables utilisateurs
Utilisation dune dynavue pour la mise au point du programme
Ajout dun afficheur sur le pupitre pour visualiser la valeur dune variable numrique
Ce TP est structur en 2 parties :
La partie apprentissage vous explique les principes de base (liste non exhaustive) connatre
La partie application dans laquelle vous devez proposer une solution une problmatique donne

Travail demand

I Partie apprentissage
Cette premire partie va vous montrer des nouvelles syntaxes, des nouveaux principes et des nouveaux oprateurs
utilisables dans votre projet Automgen, que votre programme soit sous forme dun logigramme ou dun grafcet.
Toutes les informations donnes dans cette premire partie ne seront ni rappeles dans la partie application, ni
rappeles dans les futurs TP Automgen et doivent tre mmorises afin de les utiliser dans les TP futurs
Il vous appartient donc de retenir le contenu de cette premire partie et de ressortir de vous-mme ce document
dans les TP futurs en cas de besoin : ce TP vous servira par la suite de document ressource pour Automgen.
I 1 Syntaxe du logiciel Automgen
Automgen est un atelier d'automatisme, de supervision et de simulation interactive des systmes. Il permet de :
Crer un systme logique combinatoire dont le fonctionnement est dcrit par un logigramme
Crer un systme logique squentiel dont le fonctionnement est dcrit par un grafcet
Automgen permet dutiliser diffrents types de variables (des entres, des sorties, des temporisations, etc.), ayant
chacun un rle bien dfini. La syntaxe de chaque type de variable est normalise selon le tableau suivant :

Type de variable

Syntaxe Automgen

les entres
les sorties
les temporisations
les tapes du grafcet
les compteurs
les variables utilisateur

i0 i23
o0 o15
t0 t9999
x0 x9999
c0 c9999
m200 m9999

Remarques :

Les variables m0 m199 sont rservs pour le systme et sont appels les variables systme
Pour programmer votre application seules les variables partir de m200 sont disponibles
Les variables m200 m9999 sont appeles les variables utilisateur
La table des symboles permet de personnaliser le nom de tout type de variable
Automgen ne distingue pas les majuscules et les minuscules dans les noms des variables ou des symboles
Les noms normaliss (i0, o2, t3, x7, m204, c9, etc.) sont affichs en VIOLET sur le folio
Les symboles personnaliss (crs dans la table des symboles) sont affichs en VERT sur le folio
Les oprateurs ( + . / etc.) sont affichs en BLEU sur le folio
Les commentaires sont affichs en NOIR sur le folio : cliquez sur le fond du folio pour ajouter un commentaire

Afin de ne pas masquer le type des variables, seuls les noms normaliss seront utiliss dans les exemples de cette
partie apprentissage sans crer de table de symboles : ainsi la premire lettre dune variable rappelle son type.
Pour les 5 paragraphes suivants, effectuez en pratique dans Automgen tous les exemples demands, puis observez
leur fonctionnement dans le but de mmoriser les principes nouveaux et de les reproduire dans la partie application.
T.P. : Compteurs, variables et afficheurs dans Automgen

www.gecif.net

Page 1 / 6

I 2 Utilisation de nouveaux oprateurs dans les rceptivits et dans les actions


I 2 1 Les oprateurs utilisables dans une rceptivit :
En utilisant lassistant ralisez le grafcet ci-contre, lancez la simulation, agissez sur les
entres i0 et i1 tout en observant les conditions dactivation des tapes et lvolution du
grafcet, puis rpondez aux questions suivantes :
A quelle condition la rceptivit i0 est-elle vraie ?

 si i0=0

 si i0=1

A quelle condition la rceptivit /i1 est-elle vraie ?

 si i1=0

 si i1=1

Est-il possible que toutes les rceptivits de ce grafcet restent vraies simultanment ?
 OUI : expliquez alors quelle condition :
 NON : expliquez alors pourquoi :
On appelle front montant linstant ou une entre passe du niveau bas au niveau haut (passage de 0 1), et front
descendant linstant o une entre passe du niveau haut au niveau bas (passage de 1 0).
Sachant que les oprateurs et utiliss dans les rceptivits sobtiennent en utilisant les
touches haut et bas du clavier (symbolises par et sur le clavier), ralisez le
grafcet ci-contre puis rpondez aux questions suivantes :
A quelle condition la rceptivit i0 est-elle vraie ?
 lors dun front montant sur i0
 lors dun front descendant sur i0
A quelle condition la rceptivit i1 est-elle vraie ?
 lors dun front montant sur i1
 lors dun front descendant sur i1
Est-il possible que toutes les rceptivits de ce grafcet restent vraies simultanment ?
 OUI : expliquez alors quelle condition :
 NON : expliquez alors pourquoi :

Conclusion : dans une rceptivit on peut tester une entre sur niveau (dtection du niveau haut ou du niveau bas)
ou encore sur front (dtection du front montant ou du front descendant) en utilisant les oprateurs /, et .
I 2 2 Les oprateurs utilisables dans une action :
Dans un nouveau folio ralisez le logigramme suivant puis rpondez aux questions poses :
Quel est ltat logique de o4 lorsque i0=0 ?
0
Quel est ltat logique de o4 lorsque i0=1 ?
0

1
1

Modifiez votre logigramme comme ci-dessous en ajoutant loprateur N dans laction puis rpondez aux questions :
Quel est ltat logique de o4 lorsque i0=0 ?
0
1
Quel est ltat logique de o4 lorsque i0=1 ?
0
1
Ralisez maintenant le logigramme suivant utilisant les oprateurs S, R et I dans les actions et loprateur dans les
rceptivits puis rpondez aux questions poses :
Que se passe-t-il chaque impulsion sur i0 ?
 o4 est force 0
 o4 est force 1
 o4 change dtat
Que se passe-t-il chaque impulsion sur i1 ?
 o4 est forc 0
 o4 est force 1
 o4 change dtat
Que se passe-t-il chaque impulsion sur i2 ?
 o4 est force 0
 o4 est force 1
 o4 change dtat
Reliez par un trait chacune des 5 questions suivantes sa bonne rponse et mmorisez jamais ces 5 remarques :
Quel est le rle de loprateur R dans une action ?
Quel est le rle de loprateur S dans une action ?
Quel est le rle de loprateur N dans une action ?
Quel est le rle de loprateur I dans une action ?
Comment ragit une action utilisant aucun oprateur ?

Si ltape est active les sorties prsentes sont 0


Bascule la sortie 1 quelque soit son tat
Change systmatiquement ltat de la sortie
Si ltape est active les sorties prsentes sont 1
Bascule la sortie 0 quelque soit son tat

Conclusion : dans une action on peut contrler ltat dune sortie ou la manire dont elle bascule en utilisant les
oprateurs R, S, I et N. Tous ces nouveaux oprateurs sont utilisables dans un logigramme comme dans un grafcet.
T.P. : Compteurs, variables et afficheurs dans Automgen

www.gecif.net

Page 2 / 6

I 3 Utilisation dun compteur


Ralisez le logigramme suivant utilisant le compteur c0 et les oprateurs R et + dans les actions, lancez la simulation
puis rpondez aux questions poses (on appelle impulsion le passage de 0 1 suivi dun passage de 1 0) :
Quel est leffet dune impulsion sur i0 ?
 le compteur c0 est remis zro
 le compteur c0 compte
Que se passe-t-il lorsque i1 reste 1 ?
 c0 sincrmente de 1 unit
 c0 compte en continu
Modifiez votre logigramme en ajoutant loprateur comme ci-dessous puis rpondez aux questions poses :
Quel est leffet dun front montant sur i1 ?
 c0 sincrmente de 1 unit
 c0 compte en continu
Que se passe-t-il lorsque i1 reste 1 ?
 c0 reste constant
 c0 compte en continu
Modifiez votre logigramme en ajoutant loprateur P1 comme ci-dessous puis rpondez aux questions poses :
A quel moment le compteur c0 sincrmente-t-il ?
 lactivation de ltape
 la dsactivation de ltape
Que se passe-t-il lorsque i1 reste 1 ?
 c0 reste constant
 c0 compte en continu
Modifiez votre logigramme en utilisant loprateur P0 comme ci-dessous puis rpondez aux questions poses :
A quel moment le compteur c0 sincrmente-t-il ?
 lactivation de ltape
 la dsactivation de ltape
Que se passe-t-il lorsque i1 reste 1 ?
 c0 reste constant
 c0 compte en continu
Videz votre folio, ralisez le grafcet ci-dessous en utilisant lassistant puis rpondez aux questions poses :
Remarque : la seconde rceptivit marque 1 est une rceptivit toujours vraie et se
rdige en crivant =1 dans la transition.
Quelle est la valeur du compteur c0 au dmarrage ?
Que se passe-t-il lorsque chaque front montant sur i0 ?
 c0 reste constant
 c0 sincrmente
Le problme de ce grafcet est que le compteur nest pas mis zro au dmarrage : il
contient une valeur quelconque la mise sous tension du systme. Pour garantir un
compteur zro, il faudrait mettre laction R c0 dans ltape initiale, mais dans ce cas il
serait mis zro systmatiquement chaque front montant sur i0. La solution pour
mettre zro un compteur une seule fois au dmarrage est donne ci-dessous.
On utilise pour cela une divergence en OU, mais ltape initiale est place dans une des branches de la
divergence, et non au sommet du grafcet. Crez et testez le grafcet ci-dessous puis rpondez aux questions poses :
Quelle est la valeur du compteur c0 au dmarrage ?
Que se passe-t-il chaque front montant sur i0 ?
 c0 reste constant
 c0 sincrmente
Quelle est la plus grande valeur que peut prendre le compteur c0 ?
Que se passe-t-il lorsque c0 atteint la valeur 5 ?
 c0 reste 5
 c0 est remis 0
Cet exemple vous a notamment montr :
Comment forcer un compteur 0 au dmarrage (oprateur R)
Comment tester la valeur dun compteur (oprateur =)
Comment incrmenter un compteur (oprateur +)
Comment tester un front montant sur une entre (oprateur )
Lutilit dune rceptivit toujours vraie (note =1)
I 4 Utilisation dune variable utilisateur
Les variables utilisateur permettent de mmoriser une valeur numrique et deffectuer des calculs simples dans votre
programme (un logigramme ou un grafcet). Les variables utilisateur sont nommes m200 m9999 dans Automgen.
Ralisez et testez le logigramme suivant utilisant la variable utilisateur m200 puis rpondez aux questions poses :
T.P. : Compteurs, variables et afficheurs dans Automgen

www.gecif.net

Page 3 / 6

Quel est leffet dun front montant sur i0 ?


 la variable m200 prend la valeur 14
 la variable m200 prend la valeur 2
m200+3
Quel est leffet dun front montant sur i1 ?
 la variable m200 prend la valeur 14
 la variable m200 prend la valeur 2
m200+3
Dans le logigramme ci-dessus quelle condition la sortie o4 est-elle active ?
 si m200=50 (gal )  si m200<>50 (diffrent de)  si m200<=50 (infrieur ou gal)  si m200>50 (strictement suprieur)
Remarques concernant lutilisation des variables utilisateur dans Automgen :
Les variables utilisateur m200 m9999 ne peuvent contenir que des nombres entiers
Les oprateurs { et } (les accolades) dans une tape permettent dcrire du code littral dans une action
Le code littral est le langage de bas niveau utilis en interne par Automgen
Pour donner la valeur 58 la variable m200 il faut utiliser le code littral {m200:=58;} dans une action
Dans le code littral loprateur := signifie prend la valeur de
Dans le code littral chaque ligne doit finir par un point-virgule
Pour faire un calcul on peut utiliser les oprateurs + (addition), (soustraction), * (multiplication) et / (division
entire) dans le code littral. Exemple : {m204:=47-m200/3;}
Pour tester la valeur dune variable utilisateur on peut utiliser les oprateurs arithmtiques >, <, =, <>,
<= ou >= dans une rceptivit
I 5 Visualisation de ltat des variables lors de la mise au point du programme
Ralisez le grafcet ci-contre dans lequel :
Le compteur c0 est initialis 50 au dmarrage
Un front montant sur i1 incrmente c0
Un front montant sur i2 dcrmente c0
Un front montant sur i0 remet c0 50
A tout moment m201 vaut 3 fois la valeur de c0
Le code littral de ltape 10 contient 2 lignes
Lancez la simulation puis agissez sur les entres i1,
i2 et i0 : vous pouvez observer la valeur des
variables numriques c0, m200 et m201 directement
sur le folio. Pour observez la valeur des variables
dans une dynavue procdez comme suit :
Arrter la simulation
Dans larborescence du projet cliquez droit sur
Mise au point puis sur Ouvrir une dynavue
La dynavue se prsente dans un nouvel onglet, ct du folio, et possde un fond rose. Une dynavue permet de
visualiser dun coup toutes les variables du programme sans devoir les rechercher parpilles dans tout le grafcet.
Pour ajouter une nouvelle variable dans la dynavue, cliquez droit sur Variables dans la dynavue, cliquez sur Ajouter,
puis saisissez le nom de la variable (m200 ou i0 par exemple). Ajoutez les variables i0, i1, i2, c0, m200 et m201
dans votre dynavue, cliquez sur Mosaque verticale dans le menu Fentre afin dafficher lcran la fois le folio
et la dynavue, lancez la simulation en cliquant sur le bouton Go !, puis agissez sur les entres i0, i1 et i2 en
cliquant dans le grafcet tout en observant la valeur des variables dans la dynavue.
Ce paragraphe vous a montr les bases dutilisation dune dynavue pour visualiser toutes les variables du programme
regroupes dans un mme document. Automgen dispose dune seconde solution pour visualiser la valeur et lvolution
des variables durant lexcution du programme : il sagit du monitoring (disponible galement dans larborescence
Mise au point) mais dont le fonctionnement ne sera pas dcrit ici. A partir de maintenant vous tes libre dutiliser
un de ces deux outils disponibles dans Automgen, partir du moment o ils vous permettent dorganiser la mise au
point de votre programme sans perdre trop de temps, que leur utilisation soit demande ou non dans le sujet des TP.
I 6 Affichage de la valeur dune variable numrique sur un pupitre
Pour visualiser la valeur dune variable numrique sur un pupitre IRIS 2D il faut
y ajouter un nouvel objet appel un afficheur . Les afficheurs sont
disponibles dans Objets prdfinis  Elments de pupitre  Afficheurs
dans larborescence des objets IRIS 2D (on a le choix parmi 3 couleurs et 2
tailles diffrentes). Pour que lafficheur affiche en temps rel la valeur dune variable particulire il suffit de renseigner
le champ Variable ou symbole dans longlet Liens des proprits de lafficheur en y indiquant le nom de la variable
afficher. Dans un nouveau projet, ralisez puis testez le logigramme ci-contre avec un pupitre contenant 2 boutons
monostables actionnant les entres i0 et i1 et un afficheur vert de petite taille affichant la valeur de la variable c0.
T.P. : Compteurs, variables et afficheurs dans Automgen

www.gecif.net

Page 4 / 6

I 7 Rcapitulation de lensemble des oprateurs Automgen connatre


I 7 1 Les 4 types de rceptivits :
Dans une rceptivit il est possible de raliser 4 types de tests diffrents comme rsum dans le tableau suivant :

Les 4 types de rceptivits

Exemples

Test dune entre (sur niveau ou sur front)


Test dune temporisation
Test dune tape (sur niveau ou sur front)
Test de la valeur numrique dune variable ou dun compteur

i0

/i2
t2

x4
/x7
m200>8

i5
x16
c0=12

On peut aussi utiliser plusieurs tests dans la mme rceptivit condition de les relier par des oprateurs logiques.
I 7 2 Les 4 types dactions :
Dans une action il est possible dutiliser 4 types de variables diffrents comme rsum dans le tableau suivant :

Les 4 types dactions

Exemples
o0

Ro4
So9
t3(4s)
+c0
c23
{m217:=14;}
{m358:=m201+c0;}

Activation dune sortie


Dclenchement dune temporisation
Incrmentation ou dcrmentation dun compteur
Affectation dune valeur une variable numrique

On peut aussi raliser plusieurs actions dans le mme rectangle daction condition de les sparer par une virgule.
I 7 3 Les oprateurs utilisables dans une rceptivit :
Afin de contrler la manire dont les entres ou les variables sont dtectes ou testes dans une rceptivit il est
possible dutiliser lensemble des oprateurs suivants.

Les oprateurs utilisables dans une rceptivit

Rle

.
+
/

ET logique
OU logique
NON logique, dtecte un niveau bas
Dtecte un front montant
Dtecte un front descendant
Compare deux valeurs numriques
1 logique : condition toujours vraie

<

<=

>

>=

<>

=1

Une rceptivit se rdige entre les dlimiteurs dans un logigramme, ou bien droite dune transition dans un grafcet.
I 7 4 Les oprateurs utilisables dans une action :
Afin de contrler la manire dont les sorties ou les variables sont actives ou modifies dans une action il est possible
dutiliser lensemble des oprateurs suivants.

Les oprateurs utilisables dans une action

Rle

,
R
S
I
N
P1
P0
+
-

Sparateur pour raliser plusieurs actions


Reset : met 0 une sortie ou un compteur
Set : met 1 une sortie
Inversion : complmente ltat de la sortie
Ngation logique : dsactive la sortie
Impulsion lactivation de ltape
Impulsion la dsactivation de ltape
Incrmente un compteur (y additionne 1)
Dcrmente un compteur (y soustrait 1)
Permet dcrire du code littral

{ et }

Une action se rdige dans un rectangle daction, aussi bien dans un logigramme que dans un grafcet.

Remarques surligner et retenir :

Loprateur . ne sutilise que dans une rceptivit et na aucun sens dans une action !
Loprateur , ne sutilise que dans une action et na aucun sens dans une rceptivit !
Loprateur + a deux fonctions diffrentes selon quil est utilis dans une action ou dans une rceptivit
Pour obtenir la liste exhaustive de tous les oprateurs utilisables consultez la documentation officielle dAutomgen

T.P. : Compteurs, variables et afficheurs dans Automgen

www.gecif.net

Page 5 / 6

II Partie application
En utilisant toutes vos connaissances concernant Automgen, proposez une solution sous forme dun grafcet associ
un pupitre pour chacune des applications suivantes dans lesquelles seule la problmatique rsoudre est indique.
II 1 Application 1 : le chronomtre
On dsire raliser un chronomtre possdant 3 boutons monostables nommes START, STOP, et RAZ et dont le
fonctionnement doit tre le suivant :
Le chronomtre doit mesurer et afficher le temps 100 ms prs
Au dmarrage le chronomtre doit tre initialis automatiquement zro
Une impulsion sur le bouton START lance la mesure du temps qui est alors affiche en temps rel
Une impulsion sur STOP arrte la mesure du temps et fige laffichage la valeur mesure
Une impulsion sur RAZ (RAZ=Remise A Zro) remet le chronomtre zro
Le bouton RAZ na aucun effet si la mesure du temps na pas t arrte par le bouton STOP
II 1 1 Proposez et validez dans un nouveau projet Automgen une solution compose dun grafcet associ un
pupitre pour raliser ce chronomtre. Les trois symboles START, STOP, et RAZ seront crs et connects
respectivement aux entres i0, i1 et i2, et le compteur c0 sera utilis pour mesurer le temps.
II 2 Application 2 : le compteur de passage
Pour contrler le nombre de voitures prsentes dans un parking souterrain, un dispositif appel compteur de
passage a t install. Le compteur de passage permet au gardien du parking de consulter sur un afficheur le
nombre exact de voiture prsentes dans le parking, et de pouvoir interdire laccs au parking lorsquil est plein :
Si une voiture entre dans le parking lafficheur sincrmente
Si une voiture sort du parking lafficheur se dcrmente
Pour dtecter le sens de passage dune voiture deux capteurs A et B ont t
Capteur A
Capteur B


placs lentre du parking, et sont espacs de 10 cm :

Sens
dentre
dune
voiture 
Une voiture qui entre active le capteur A avant le B

Sens
de
sortie
dune
voiture
Une voiture qui sort active le capteur B avant le A
Dans les deux sens de circulation la voiture passera forcment devant les 2 capteurs la fois. Sachant quun capteur
dlivre un 1 logique en cas de prsence dune voiture devant lui, et dlivre un 0 logique en cas dabsence de voiture,
les squences dlivres par les deux capteurs et permettant de dtecter le sens de circulation sont les suivantes :

Squence dlivre
par les capteurs
Une voiture entre
Une voiture sort

La voiture
approche
A=0 et B=0
A=0 et B=0

Elle passe devant


le 1er capteur
A=1 et B=0
A=0 et B=1

Elle passe devant


les 2 capteurs
A=1 et B=1
A=1 et B=1

Elle passe devant


le 2nd capteur
A=0 et B=1
A=1 et B=0

La voiture
sloigne
A=0 et B=0
A=0 et B=0

Le sens de circulation de la voiture est donc dtermin en analysant lordre dans lequel les capteurs A et B sont
activs (A, AB, puis B : une voiture entre. B, AB, puis A : une voiture sort).
II 2 1 Proposez et validez dans un nouveau projet Automgen une solution compose dun grafcet associ un
pupitre pour raliser ce compteur de passage. Le pupitre doit contenir 2 boutons bistables A et B simulant les
capteurs lentre du parking et un afficheur indiquant le nombre de voiture prsente dans le parking :
Les capteurs A et B seront connects aux entres i0 et i1 dans la table des symboles
Le nombre de voitures sera comptabilis dans la variable N associ au compteur c0 dans la table des symboles
Au dmarrage on considre que le parking est vide (N=0)
En simulant lentre dune nouvelle voiture avec les boutons A et B le compteur doit sincrmenter
En simulant la sortie dune voiture avec les boutons A et B le compteur doit se dcrmenter
Si N=0 (parking vide) alors la sortie dune voiture ne doit pas modifier la valeur du compteur (qui doit rester 0)
II 2 2 Ajoutez 3 voyants VERT, ORANGE et ROUGE sur le pupitre indiquant le remplissage du parking :
On considre que le parking a une capacit de 10 places seulement (pour pouvoir le remplir rapidement)
Les voyants VERT, ORANGE et ROUGE seront connects respectivement aux sorties o0, o1 et o2
Le voyant VERT doit tre allum lorsque le nombre de places vides est suprieur ou gal 4
Le voyant ORANGE doit tre allum lorsque le nombre de places vides est strictement infrieur 4
Le voyant ROUGE doit tre allum lorsque le parking est plein (10 voitures prsentes, aucune place vide)
II 2 3 Sachant que chaque voiture entrante paye 2 pour se garer au parking, ajoutez un second afficheur au
pupitre indiquant la somme prsente dans la caisse tout moment de la journe. Cette somme dargent sera
mmorise dans la variable CAISSE associe la variable utilisateur m200 : une voiture entrante incrmente la
caisse de 2 , une voiture sortante na aucun effet sur le contenu de la caisse, et au dmarrage la caisse est vide.
T.P. : Compteurs, variables et afficheurs dans Automgen

www.gecif.net

Page 6 / 6