SlideShare une entreprise Scribd logo
1  sur  66
Télécharger pour lire hors ligne
Le Grafcet – G7
grafcet fonctionnel
vs
grafcet technologique
Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 2
karen.godary@lirmm.fr
Grafcet fonctionnel / technologique
„ grafcet fonctionnel : prise en compte de la partie fonctionnelle, en
faisant abstraction de toute réalisation technologique
„ grafcet technologique : en s'appuyant sur le grafcet fonctionnel, intègre
les contraintes technologiques et opérationnelles.
grafcet fonctionnel
principe
grafcet
technologique
technologie
pneumatique
Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 3
karen.godary@lirmm.fr
Grafcet fonctionnel / technologique
„ Pour garantir l'indépendance du grafcet fonctionnel, faire attention à certains cas particuliers.
„ Gestion des fronts : permet de tester l'apparition / disparition d'evt plutôt que leur
présence. C'est le cas lorsqu'une information est déjà présente dans l'état initial.
„ Exemple : commande d'un moteur : lorsque l'opérateur commande la rotation, l'information
du capteur p de position est déjà vraie => tester l'apparition de p et non sa présence.
„ Rmq : en fait le test d'un front montant se traduit ds le grafcet technologique à l'aide d'une
étape supplémentaire.
Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 4
karen.godary@lirmm.fr
Grafcet fonctionnel / technologique
„ Exclusivité au niveau des divergences : l'exclusivité de a et c peut être :
{ liée au procédé : par ex. capteurs "opposés" (objet à gauche / objet à droite);
{ incompatibilité temporelle : a priori jamais en même temps;
{ exclusion logique : structurellement, cf. schéma.
„ Mais pour garantir l'indépendance, il vaut mieux expliciter l'exclusivité de façon
structurelle
Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 5
karen.godary@lirmm.fr
Grafcet fonctionnel / technologique
„ Gestion des simultanéités en fin de convergence
„ Hypothèse sur les capteurs
Pb : si une action finie
avant l'autre, elle ne
peut pas s'arrêter
1 solution, mais avec
hypothèse : capteurs à
contact maintenus
solution la meilleure.
Le Grafcet – G7
Dialogue entre grafcets
Le Grafcet – G7
Dialogue entre grafcets :
Communication dans l'entreprise
Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 8
karen.godary@lirmm.fr
„ CF COURS RLI
Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 9
karen.godary@lirmm.fr
Communications
„ Evolution des architectures d'automatismes : introduction de communications
de façon hiérarchique
„ En entreprise : hiérarchie des communications = pyramide CIM (Computer
Integrated Manufacturing)
„ Avantages :
{ Réduction du câblage
{ Réduction des coûts (câblage, interface PO/PC (interface capteurs))
{ Modularité
„ Inconvénients :
{ Gestion des délais, pertes, contraintes temporelles, répartition des données
⇒ problématique des réseaux locaux industriels (RLI)
Cf. cours
RLI
Le Grafcet – G7
Dialogue entre grafcets :
Division technologique
Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 11
karen.godary@lirmm.fr
Réalisation technologique
„ Il est donc souvent nécessaire ou judicieux de diviser la partie
commande et/ou la partie opérative :
{ Application complexe divisée en sous parties de moindre complexité;
{ Synchronisation et dialogue entre sites réparties géographiquement;
{ Intégration du concept de CIM avec nécessité d'optimiser les
communications entre niveaux.
Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 12
karen.godary@lirmm.fr
Réalisation technologique
„ Exemple : 2 chariots
Le Grafcet – G7
Hiérarchisation de la partie
commande
Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 14
karen.godary@lirmm.fr
Hiérarchisation
„ Exemple : 3 chariots.
{ Les chariots 1 et 2 se chargent (CPi) à gauche et se
déchargent (Dpi) à droite dans le chariot 3;
{ chariot 1 en 1er
{ Le chariot 3 se décharge (Dp3) à droite.
Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 15
karen.godary@lirmm.fr
Hiérarchisation
„ Découpage de la PC :
{ Gestion des chariots (3 grafcets, un par chariot)
{ Gestion des synchronisations, mémorisations, ressources.
chariot 1 chariot 2
chariot 3
synchro synchro
synchro
Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 16
karen.godary@lirmm.fr
Hiérarchisation
„ Synchronisation et gestion de la ressource chariot 3 :
chariot 1 chariot 2
chariot 3
grafcet de
synchronisation
Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 17
karen.godary@lirmm.fr
Hiérarchisation
„ Commande hiérarchisée :
Le Grafcet – G7
Implantation
Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 19
karen.godary@lirmm.fr
Mise en oeuvre
„ La norme définit les symboles et les règles nécessaires à la
représentation graphique de ce langage, ainsi que l’interprétation qui
en est faite.
„ Les techniques de mise en œuvre (passage d’une spécification
GRAFCET à une réalisation câblée et (ou) programmée) ne font pas
partie du domaine d’application de cette norme.
„ Rmq : ds le cas des systèmes de commande intégrant un automate
programmable, la norme CEI 61131-3 (1993) définie un ensemble de
langages de programmation destinés aux automates programmables.
Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 20
karen.godary@lirmm.fr
Implantation du grafcet
„ Description du comportement du grafcet = règles d'évolution => modèle
comportementale.
„ Pour l'implantation, on a besoin d'une formalisation supplémentaire :
{ Soit algorithme d'évolution
{ Soit équation booléennes équivalentes (équations logiques)
„ Ces 3 représentations sont équivalentes (même comportement du système
vis-à-vis des E/S)
Le Grafcet – G7
Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 22
karen.godary@lirmm.fr
Algorithme d'évolution
Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 23
karen.godary@lirmm.fr
Algorithme d'évolution
„ Exemple :
Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 24
karen.godary@lirmm.fr
Algorithme d'évolution
„ Exemple :
Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 25
karen.godary@lirmm.fr
Algorithme d'évolution
„ IMPLANTATION INFORMATIQUE : plusieurs façons selon des critères
d'optimisation (taille mémoire, tps d'exécution..)
Exemple simple :
Données Paramètre.
ou
Propriété
Paramètre.
ou
Propriété
Paramètre.
ou
Propriété
Paramètre.
ou
Propriété
Paramètre.
ou
Propriété
Entrée Nom Valeur N° Connex. 1 = vert
0 =rouge
Sortie Nom Valeur N° Connex. 1 = vert
0 =rouge
Etapes Nom Etat Initiale ? Liste Trans. Amont Liste Trans. Aval
Transition Nom Franchissable ? Réceptivité Liste Etapes Amont Liste Etapes Aval
Réceptivité Nom Valeur Fonction
Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 26
karen.godary@lirmm.fr
„ Algorithme :
Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 27
karen.godary@lirmm.fr
Algorithme d'évolution
„ Variantes :
{ Algorithme sans recherche de stabilité : le précédent; (nom : SRS)
{ Algorithme avec recherche de stabilité (nom : ARS) : de nouvelles entrées ne
sont lues que lorsque le grafcet a atteint un état stable.
Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 28
karen.godary@lirmm.fr
Algorithme d'évolution
„ Intérêt de la recherche de stabilité
„ Exemple : déplacement d'un mobile
„ Fonctionnement :
{ Déplacements initiaux : H et D
{ Si atteinte de b avant a : le mobile repart à gauche
jusqu'à c
{ Si atteinte de a avant b, et le bouton poussoir m
enclenché : continu d'aller à droite jusqu'à d (ne
monte plus)
{ Si atteinte de a avant b, et m non enclenché : va à
droite jusqu'à b, puis revient à gauche jusqu'à c.
(1)
(4)
(2)
(3)
(5)
(7)
(6)
(8)
Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 29
karen.godary@lirmm.fr
Algorithme d'évolution
„ Mise en œuvre SANS stabilité :
1) Lecture des entrées
2) Evolution de la situation (franchissement d'1 ou plusieurs transitions simultanées)
3) Exécutions des actions
„ Exemple de scénario d'entrée : capteur m, puis a, puis b rapidement après a
„ Comportement : (situation initiale {1,2} )
{ Lecture de m
{ Evolution {1,2} →{1,4}
{ Action : H,D
{ Lecture de ↑a
{ Evolution {1,4} →{3,4}
{ Action : D
{ Lecture de ↑ b
{ Transitions franchissables : n°5 ET n°6
⇒ simultanément franchies, pas très correct a priori (branches censées être exclusives)
{ Actions : G et D => confirmation du problème !!
Rmq : si b arrive + tard, la transition n°6 sera franchie
avant la n°5 => comportement non déterministe, ce
qui n'est pas dans l'esprit du Grafcet
Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 30
karen.godary@lirmm.fr
Algorithme d'évolution
„ Une solution : assurer explicitement l'exclusivité des branches d'une structure
de choix, ou éviter les situations instables (difficile, et grafcet souvent limité).
„ Autre solution : Mise en œuvre AVEC stabilité
1) Lecture des entrées
2) Evolution de la situation jusqu'à atteinte d'une situation stable
3) Exécutions des actions
„ Sauf cas particulier, la recherche de stabilité est indispensable à la mise en
œuvre correcte d'un grafcet.
Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 31
karen.godary@lirmm.fr
Algorithme d'évolution
„ Optimisations :
{ Diminution du nb de transitions à explorer : au lieu d'explorer toutes les
transitions, on sélectionne les transitions aval des étapes actives.
{ Diminution du nb de transitions à explorer : au lieu d'explorer toutes les
transitions, on ne sélectionne que les transitions associées aux entrées
qui ont changées.
{ Rmq : ces optimisations sont + ou – efficaces suivants l'implémentation
mémoire des données (listes, chaînées ou doublement chaînées,
tableaux, etc..)
Le Grafcet – G7
Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 33
karen.godary@lirmm.fr
Équations équivalentes
„ Principe : on considère une étape Xp et son environnement.
„ Une étape p est active (Xp vaut 1) si :
{ elle est activée par l'amont
{ elle valait déjà 1 et n'est pas désactivée par l'aval
)
on
esactivati
ConditionD
(
)
t
(
Xp
ctivation
ConditionA
)
t
(
Xp n
n ×
+
=
+1
Equation logique d'une étape
Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 34
karen.godary@lirmm.fr
Équations équivalentes
„ Initialisation : activation des étapes initiales, désactivation des autres :
{ Init(Xp) = 1 à t0 si Xp est une étape initiale, 0 sinon.
)
(
)
(
)
(
)
( 1 on
esactivati
ConditionD
t
Xp
ctivation
ConditionA
Xp
Init
t
Xp n
n ×
+
+
=
+
Equation logique d'une étape
Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 35
karen.godary@lirmm.fr
Équations équivalentes
„ Exemple : début de choix de séquences
b+c
d
e
e
.
X
c
.
X
X
d
.
X
b
.
X
X
)
c
b
.(
X
a
.
X
X
31
10
31
21
10
21
10
9
10
+
=
+
=
+
+
=
Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 36
karen.godary@lirmm.fr
Équations équivalentes
„ Exemple : fin de choix de séquences
a
g
f
f
.
X
e
.
X
X
g
.
X
d
.
X
X
a
.
X
)
f
.
X
g
.
X
(
X
32
31
32
22
21
22
9
32
22
9
+
=
+
=
+
+
=
Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 37
karen.godary@lirmm.fr
Équations équivalentes
„ Exemple : début de séquences parallèles
e
.
X
c
.
X
X
d
.
X
b
.
X
X
b
.
X
a
.
X
X
21
10
31
21
10
21
10
9
10
+
=
+
=
+
=
b
d
e
Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 38
karen.godary@lirmm.fr
Équations équivalentes
„ Exemple : fin de séquences parallèles
b
.
X
.
X
e
.
X
X
b
.
X
.
X
d
.
X
X
a
.
X
b
.
X
.
X
X
21
31
30
31
31
21
20
21
10
31
21
10
+
=
+
=
+
=
a
X31.b
X21.b
X30.e
Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 39
karen.godary@lirmm.fr
„ Conditions d'activation (CAXp) : pour Xp à l'instant n+1
„ Conditions de désactivation (CDXp) :
∑ ∑ ∏
∑
∀
⎪
⎭
⎪
⎬
⎫
⎪
⎩
⎪
⎨
⎧
⎥
⎦
⎤
⎢
⎣
⎡
+
p
de
amont
j
i
j ju
j
jd
j
i
i
i R
X
X
R
X
,
1 )
.
..
)
.
(
∑ ∑ ∏
∑
∀
⎭
⎬
⎫
⎩
⎨
⎧
⎥
⎦
⎤
⎢
⎣
⎡
+
p
de
aval
l
k
l lv
l
ld
l
k
k R
X
X
R
,
1 )
.
..
)
(
Équations équivalentes
j1 jd
i
Ri
Ti Tj Rj
Rk
Tk
Tl Rl
l1 ld
p
instant n
instant n+1
Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 40
karen.godary@lirmm.fr
Équations équivalentes
„ Action continue : son activité dépend de l'activité des étapes
auxquelles elle est associée.
„ Exemples :
Gestion des actions
• A = X1 + X3
• B = X2
• A = X1
• B = X2
Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 41
karen.godary@lirmm.fr
Équations équivalentes
„ Action conditionelle : son activité dépend de l'activité des étapes
auxquelles elle est associée ET des conditions.
„ Exemple :
Gestion des actions
A = X1 . e
Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 42
karen.godary@lirmm.fr
Équations équivalentes
„ Gestion des arrêts d'urgence :
{ AU doux : stop des actions
{ AU Dur : désactivation des étapes
AUD
).
)
CDXp
(
)
t
(
Xp
CAXp
)
Xp
(
Init
(
)
t
(
Xp n
n ×
+
+
=
+1
Signaux d'arrêt d'urgence
AUd
.
Xp
A =
Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 43
karen.godary@lirmm.fr
Équations équivalentes
„ Exemple 1 :
le grafcet
Les équations équivalentes
• Xi(0) = 0 ∀i
• Init = 1 à t=1
Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 44
karen.godary@lirmm.fr
Équations équivalentes
„ Exemple 2 : commande du cycle d'1 vérin avec initialisation et détect° de dépassement du tps
le grafcet
1
2 Ordre VaGauche
T1 NonGA T2 GA
T3 GoCycle
T4 DA
T2 GA
3 Attente
4 Ordre VaDroite
T5 X4
11 Début détection
10
T6 X3
12 ALARME
T7 t/X11/5 sec
T8 ACQ
Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 45
karen.godary@lirmm.fr
Équations équivalentes
le grafcet
Les équations équivalentes
ACQ
.
X
sec)
/
X
/
t
.(
X
X
)
sec)
/
X
/
t
(
X
.(
X
X
.
X
X
X
.
X
X
.
X
ACQ
.
X
Init
X
DA
.
X
GoCycle
.
X
X
GoCycle
.
X
GA
.
X
GA
.
X
X
GA
.
X
DA
.
X
GA
.
X
X
Init
X
.
X
Init
.
X
Init
X
)
GA
GA
(
.
X
Init
X
12
5
11
11
12
5
11
3
11
4
10
11
4
10
3
11
12
10
4
3
4
3
1
2
3
2
4
1
2
1
0
1
1
1
1
1
1
+
=
+
+
=
+
+
+
=
+
=
+
+
=
+
+
=
=
+
=
+
=
+
+
=
Les équations de sorties
12
4
2
X
ALARME
X
VaDroite
X
VaGauche
=
=
=
Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 46
karen.godary@lirmm.fr
Conclusion
„ Ces principes montrent comment passer d'un Grafcet à une
réalisation algorithmique ou à un circuit.
„ Ils s'appliquent quelque soit la technologie:
{ circuits logiques
{ programmation logique sur API
{ programmation classique sur PC industriels
{ etc...
Le Grafcet – G7
Quelle technologie ?
Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 48
karen.godary@lirmm.fr
Mise en œuvre
„ Le Grafcet n'impose aucune solution : le choix ne dépend que de
critères économiques ou des conditions d'utilisation.
„ Exemples :
{ Si besoin de modification, si bcp d'E/S ou si implémentation personnalisée : API,
programmé directement en G7 par une console de programmation (et / ou réseau).
{ Si : langage simple (ET, OU, mémoires)
{ Si fonctionnement prédéfini et figé, et simple : câblage électronique (portes et
bascules).
{ Si environnement peu compatible avec l'électronique : câblage non électronique
(réalisation pneumatique ou électrique)
{ Si fonctionnement complexe avec besoin de rapidité ou de calcul numérique : carte
µ-contrôleur ou même µ-processeur.
Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 49
karen.godary@lirmm.fr
Mise en œuvre
„ Approches de mise en œuvre :
{ Approche câblée asynchrone
bascules RS
{ Approche câblée synchrone
diagramme d'états, séquenceur à bascules D
{ Approche câblée programmée
mémoire et bascules D
{ Approche programmée
µcontrôleur et processeur booléen
{ Automate Programmable
+ flexible
Le Grafcet – G7
Programmation par logique câblée
Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 51
karen.godary@lirmm.fr
Réalisation technologique
„ Programmation en logique câblée :
{ Logique combinatoire
{ Logique séquentielle asynchrone
„ Bascule RS
{ Logique séquentielle synchrone
{ Séquenceur électrique
{ Séquenceur pneumatique
Le Grafcet – G7
Exemple :
Câblage par bascules RS
Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 53
karen.godary@lirmm.fr
Câblage asynchrone
„ Mise en œuvre par câblage asynchrone : cas simple d'un grafcet linéaire.
{ Une bascule RS par étape
{ Une étape s'active si son étape amont est active + réceptivité vraie
{ Une étape se désactive qd la suivante est active
„ Etape 2 :
{ Activation : S2 = Q1.d
{ Sortie X : X=Q2
{ Désactivation : R2=Q3
Etape i :
• Si : Set
• Ri : Reset
• Qi : Sortie
Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 54
karen.godary@lirmm.fr
„ Schéma du câblage du système complet :
Câblage asynchrone
Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 55
karen.godary@lirmm.fr
Câblage asynchrone
„ Principale difficulté : le routage, surtout pour un circuit imprimé (croisements de pistes
impossibles). D'autant plus que chaque composant doit être alimenté (alimentations non
représentées ici). Mais il existe désormais de bons logiciels de routage.
„ La mise en œuvre d'un Grafcet par câblage n'est pas très compliquée, par contre la
modification est difficile (souvent, nouveau câblage si modif du G7). De même, la
recherche d'erreurs après coup étant difficile => test du câblage dès sa réalisation.
„ Autre problème de cette méthode :
{ une étape active désactive son étape amont en permanence, tant qu'elle reste active (au lieu
de ne le faire qu'au moment de la transition).
⇒ L'étape amont ne peut alors pas être activée par un autre signal (ex : bouton "init")
„ Solution : mémoriser par une bascule intermédiaire l'état des transitions.
{ trop complexe !
{ reste des difficultés liées aux tps de réponse ≠ des bascules
⇒ câblage synchrone (bascule D), …
Le Grafcet – G7
Automate Programmable Industriel
(API)
Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 57
karen.godary@lirmm.fr
Automate Programmable Industriel
„ Caractéristiques essentielles : adapté pour le contrôle de procédé
{ Un ordinateur durci : ambiance industrielle
{ Une connectique adaptée : connexion rapide
{ Un système d'exploitation adapté : fonctionnement préformé
{ Programme et exploitation adaptés : formalisme proche de la définition des
équations de commande.
„ Cycle de base :
modularité
E/S
Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 58
karen.godary@lirmm.fr
Automate Programmable Industriel
„ Structure des systèmes
automatiques :
„ Principe de fonctionnement
d'un API :
Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 59
karen.godary@lirmm.fr
Automate Programmable Industriel
Langages des API
LANGAGE
• si machine = µ-processeur
⇒ spécifique au µ-processeur
• si machine = machine logique spécialisée
⇒ proche du langage booléen
Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 60
karen.godary@lirmm.fr
Automate Programmable Industriel
„ Fonctions combinatoires élémentaires :
{ ET logique : entre la variable et le résultat précédent,
{ OU logique : entre la variable et le résultat précédent,
{ LIRE : l'état de la variable indiquée,
{ RANGER : le résultat dans la variable indiquée,
{ NON : inverser l'état de la variable sélectionnée
„ Pour chaque étape i :
{ Écrire sa condition d'activation CAXi
{ Écrire sa condition de désactivation CDXi
{ Écrire son action associée
{ Utilisation d'une variable interne associée M0,i
Programmation en langage booléen
(U : fonction ET)
Ex : langage STEP5
sur une console
PG605 pour les
automates de types
SIMATIC S5 Siemens
Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 61
karen.godary@lirmm.fr
Automate Programmable Industriel
„ Type d'éléments :
{ Entrées (contacts) : contact ouvert ou fermé
{ Sorties (bobines) : set et reset
{ Fonctions : AND, OR, XOR, NOT (NAND, NOR)
„ Programmation d'une étape i avec action A :
{ Écrire sa condition d'activation CAXi
{ Écrire sa condition de désactivation CDXi
{ remplacement de chaque étape Xi par une variable interne de
l’automate notée Bi ;
{ câblage de la CAXi sur le SET de Bi et de la CDXi sur le RESET de Bi;
{ câblage de l’action A associée à Xisur la variable interne Bi.
Programmation en langage à contacts (ladder)
Ex : langage PL7-2 sur un
terminal TSX-T407 pour
les automates
Télémécanique TSX 17-
20/27/47-J/47-10/20
Projet
P5+P7
Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 62
karen.godary@lirmm.fr
Automate Programmable Industriel
„ Langage proche de l'écriture directe et non du schéma.
„ Ligne :
Ln° : NomVariable = ExpressionBooleenne
„ Instruction de saut
• exemple : L20 : (E3+E5) = L35
⇒ si (E3+E5) est vraie, le programme va ligne L35 (sinon L21)
• utilisation :
‰ Initialisation
‰ Mode Panne ou Normal
‰ Calcul en fonction d'une valeur de variable
Programmation en expressions booléennes
Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 63
karen.godary@lirmm.fr
Automate Programmable Industriel
„ Programmation structurée en 3 parties :
Programmation "directe" en GRAFCET
Ex : automate
Télémécanique TSX 47
avec le langage
GRAFCET PL7-2 sur un
terminal TSX-T407
Projet
P5+P7
Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 64
karen.godary@lirmm.fr
Automate Programmable Industriel
Programmation "directe" en GRAFCET
Exemple
Bits systèmes de l'automate :
SY21=I1,7 : init du G7
SY22=I1,6 : RAZ du G7 (AUD)
SY09=I1,5 : mise à 0 des Out (Aud)
Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 65
karen.godary@lirmm.fr
Automate Programmable Industriel
„ Programmation des API : aléas
{ Il existe une différence entre l'exécution du système d'équations
séquentielles théoriques et l'exécution d'une suite d'équations sur un API.
{ Dans un API, l'état final atteint peut dépendre de l'ordre des équations /
instructions / ladder.
{ Pour éviter cela : si modification d'une variable pendant un cycle, ne pas
faire les calculs restant avec la nouvelle valeur mais avec celle de début du
cycle (utiliser une variable temp).
„ Exemple :
a = b+c
d = a
d = a
a = b+c
≠
temp = a
a = b+c
d = temp
d = a
a = b+c
⇔
Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 66
karen.godary@lirmm.fr
Automate Programmable Industriel
„ Le programme est également structuré de
façon séquentielle (comme pour l'API) afin de
tenir compte du traitement séquentiel des
informations du système automatique.
„ Implémentation de l'algorithme d'évolution.
„ Ex : Pascal, C.
Programmation en langage évolué

Contenu connexe

Similaire à Le_Grafcet _G7.pdf

ContrôLe De La Concurence Sgbd Temps RéEl SystèMe Dexploiration
ContrôLe De La Concurence Sgbd Temps RéEl   SystèMe DexploirationContrôLe De La Concurence Sgbd Temps RéEl   SystèMe Dexploiration
ContrôLe De La Concurence Sgbd Temps RéEl SystèMe Dexploirationpierrehalleux
 
Mardi gras du 2 juin 2010 : CSIM2
Mardi gras du 2 juin 2010 : CSIM2Mardi gras du 2 juin 2010 : CSIM2
Mardi gras du 2 juin 2010 : CSIM2hortis
 
Présentation 13 sept 2011 ff association france
Présentation 13 sept 2011 ff association francePrésentation 13 sept 2011 ff association france
Présentation 13 sept 2011 ff association franceFieldbus France
 
SI dans une station de pesage au Cameroun
SI dans une station de pesage au CamerounSI dans une station de pesage au Cameroun
SI dans une station de pesage au CamerounGuy Landry
 
Recherche Opérationnelle - Optimisation (notions de base)
Recherche Opérationnelle - Optimisation (notions de base)Recherche Opérationnelle - Optimisation (notions de base)
Recherche Opérationnelle - Optimisation (notions de base)Mohammed TAMALI
 
20100608 01 - Points de fonctions (Renault)
20100608 01 - Points de fonctions (Renault)20100608 01 - Points de fonctions (Renault)
20100608 01 - Points de fonctions (Renault)LeClubQualiteLogicielle
 
Modelisation prof
Modelisation profModelisation prof
Modelisation profmariya808
 
Contrôle de la qualité logiciel
Contrôle de la qualité logicielContrôle de la qualité logiciel
Contrôle de la qualité logicielSylvain Leroy
 
Logiciel pour géomètres sans AutoCAD
Logiciel pour géomètres sans AutoCADLogiciel pour géomètres sans AutoCAD
Logiciel pour géomètres sans AutoCADOlivierCochard3
 
Softshake 2015 - test driven map reduce development with crunch
Softshake   2015 - test driven map reduce development with crunchSoftshake   2015 - test driven map reduce development with crunch
Softshake 2015 - test driven map reduce development with crunchpkernevez
 
Chapitre i introduction et motivations
Chapitre i introduction et motivationsChapitre i introduction et motivations
Chapitre i introduction et motivationsSana Aroussi
 
Digital_Signal_Processors_TG_FULL.pdf
Digital_Signal_Processors_TG_FULL.pdfDigital_Signal_Processors_TG_FULL.pdf
Digital_Signal_Processors_TG_FULL.pdfHouBou3
 

Similaire à Le_Grafcet _G7.pdf (20)

Boost.SIMD
Boost.SIMDBoost.SIMD
Boost.SIMD
 
ContrôLe De La Concurence Sgbd Temps RéEl SystèMe Dexploiration
ContrôLe De La Concurence Sgbd Temps RéEl   SystèMe DexploirationContrôLe De La Concurence Sgbd Temps RéEl   SystèMe Dexploiration
ContrôLe De La Concurence Sgbd Temps RéEl SystèMe Dexploiration
 
Mardi gras du 2 juin 2010 : CSIM2
Mardi gras du 2 juin 2010 : CSIM2Mardi gras du 2 juin 2010 : CSIM2
Mardi gras du 2 juin 2010 : CSIM2
 
Présentation 13 sept 2011 ff association france
Présentation 13 sept 2011 ff association francePrésentation 13 sept 2011 ff association france
Présentation 13 sept 2011 ff association france
 
Smb20 sur 20
Smb20 sur 20Smb20 sur 20
Smb20 sur 20
 
SI dans une station de pesage au Cameroun
SI dans une station de pesage au CamerounSI dans une station de pesage au Cameroun
SI dans une station de pesage au Cameroun
 
Systèmes Automatisés
Systèmes AutomatisésSystèmes Automatisés
Systèmes Automatisés
 
Ch1
Ch1Ch1
Ch1
 
Recherche Opérationnelle - Optimisation (notions de base)
Recherche Opérationnelle - Optimisation (notions de base)Recherche Opérationnelle - Optimisation (notions de base)
Recherche Opérationnelle - Optimisation (notions de base)
 
L'Agilité en 4D - Christophe Battu
L'Agilité en 4D - Christophe BattuL'Agilité en 4D - Christophe Battu
L'Agilité en 4D - Christophe Battu
 
20100608 01 - Points de fonctions (Renault)
20100608 01 - Points de fonctions (Renault)20100608 01 - Points de fonctions (Renault)
20100608 01 - Points de fonctions (Renault)
 
Modelisation prof
Modelisation profModelisation prof
Modelisation prof
 
Grafcet.pdf
Grafcet.pdfGrafcet.pdf
Grafcet.pdf
 
algo thrichi.pdf
algo thrichi.pdfalgo thrichi.pdf
algo thrichi.pdf
 
Contrôle de la qualité logiciel
Contrôle de la qualité logicielContrôle de la qualité logiciel
Contrôle de la qualité logiciel
 
Logiciel pour géomètres sans AutoCAD
Logiciel pour géomètres sans AutoCADLogiciel pour géomètres sans AutoCAD
Logiciel pour géomètres sans AutoCAD
 
Softshake 2015 - test driven map reduce development with crunch
Softshake   2015 - test driven map reduce development with crunchSoftshake   2015 - test driven map reduce development with crunch
Softshake 2015 - test driven map reduce development with crunch
 
La parallélisation au service de l'optimisation
La parallélisation au service de l'optimisationLa parallélisation au service de l'optimisation
La parallélisation au service de l'optimisation
 
Chapitre i introduction et motivations
Chapitre i introduction et motivationsChapitre i introduction et motivations
Chapitre i introduction et motivations
 
Digital_Signal_Processors_TG_FULL.pdf
Digital_Signal_Processors_TG_FULL.pdfDigital_Signal_Processors_TG_FULL.pdf
Digital_Signal_Processors_TG_FULL.pdf
 

Le_Grafcet _G7.pdf

  • 1. Le Grafcet – G7 grafcet fonctionnel vs grafcet technologique
  • 2. Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 2 karen.godary@lirmm.fr Grafcet fonctionnel / technologique „ grafcet fonctionnel : prise en compte de la partie fonctionnelle, en faisant abstraction de toute réalisation technologique „ grafcet technologique : en s'appuyant sur le grafcet fonctionnel, intègre les contraintes technologiques et opérationnelles. grafcet fonctionnel principe grafcet technologique technologie pneumatique
  • 3. Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 3 karen.godary@lirmm.fr Grafcet fonctionnel / technologique „ Pour garantir l'indépendance du grafcet fonctionnel, faire attention à certains cas particuliers. „ Gestion des fronts : permet de tester l'apparition / disparition d'evt plutôt que leur présence. C'est le cas lorsqu'une information est déjà présente dans l'état initial. „ Exemple : commande d'un moteur : lorsque l'opérateur commande la rotation, l'information du capteur p de position est déjà vraie => tester l'apparition de p et non sa présence. „ Rmq : en fait le test d'un front montant se traduit ds le grafcet technologique à l'aide d'une étape supplémentaire.
  • 4. Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 4 karen.godary@lirmm.fr Grafcet fonctionnel / technologique „ Exclusivité au niveau des divergences : l'exclusivité de a et c peut être : { liée au procédé : par ex. capteurs "opposés" (objet à gauche / objet à droite); { incompatibilité temporelle : a priori jamais en même temps; { exclusion logique : structurellement, cf. schéma. „ Mais pour garantir l'indépendance, il vaut mieux expliciter l'exclusivité de façon structurelle
  • 5. Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 5 karen.godary@lirmm.fr Grafcet fonctionnel / technologique „ Gestion des simultanéités en fin de convergence „ Hypothèse sur les capteurs Pb : si une action finie avant l'autre, elle ne peut pas s'arrêter 1 solution, mais avec hypothèse : capteurs à contact maintenus solution la meilleure.
  • 6. Le Grafcet – G7 Dialogue entre grafcets
  • 7. Le Grafcet – G7 Dialogue entre grafcets : Communication dans l'entreprise
  • 8. Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 8 karen.godary@lirmm.fr „ CF COURS RLI
  • 9. Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 9 karen.godary@lirmm.fr Communications „ Evolution des architectures d'automatismes : introduction de communications de façon hiérarchique „ En entreprise : hiérarchie des communications = pyramide CIM (Computer Integrated Manufacturing) „ Avantages : { Réduction du câblage { Réduction des coûts (câblage, interface PO/PC (interface capteurs)) { Modularité „ Inconvénients : { Gestion des délais, pertes, contraintes temporelles, répartition des données ⇒ problématique des réseaux locaux industriels (RLI) Cf. cours RLI
  • 10. Le Grafcet – G7 Dialogue entre grafcets : Division technologique
  • 11. Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 11 karen.godary@lirmm.fr Réalisation technologique „ Il est donc souvent nécessaire ou judicieux de diviser la partie commande et/ou la partie opérative : { Application complexe divisée en sous parties de moindre complexité; { Synchronisation et dialogue entre sites réparties géographiquement; { Intégration du concept de CIM avec nécessité d'optimiser les communications entre niveaux.
  • 12. Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 12 karen.godary@lirmm.fr Réalisation technologique „ Exemple : 2 chariots
  • 13. Le Grafcet – G7 Hiérarchisation de la partie commande
  • 14. Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 14 karen.godary@lirmm.fr Hiérarchisation „ Exemple : 3 chariots. { Les chariots 1 et 2 se chargent (CPi) à gauche et se déchargent (Dpi) à droite dans le chariot 3; { chariot 1 en 1er { Le chariot 3 se décharge (Dp3) à droite.
  • 15. Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 15 karen.godary@lirmm.fr Hiérarchisation „ Découpage de la PC : { Gestion des chariots (3 grafcets, un par chariot) { Gestion des synchronisations, mémorisations, ressources. chariot 1 chariot 2 chariot 3 synchro synchro synchro
  • 16. Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 16 karen.godary@lirmm.fr Hiérarchisation „ Synchronisation et gestion de la ressource chariot 3 : chariot 1 chariot 2 chariot 3 grafcet de synchronisation
  • 17. Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 17 karen.godary@lirmm.fr Hiérarchisation „ Commande hiérarchisée :
  • 18. Le Grafcet – G7 Implantation
  • 19. Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 19 karen.godary@lirmm.fr Mise en oeuvre „ La norme définit les symboles et les règles nécessaires à la représentation graphique de ce langage, ainsi que l’interprétation qui en est faite. „ Les techniques de mise en œuvre (passage d’une spécification GRAFCET à une réalisation câblée et (ou) programmée) ne font pas partie du domaine d’application de cette norme. „ Rmq : ds le cas des systèmes de commande intégrant un automate programmable, la norme CEI 61131-3 (1993) définie un ensemble de langages de programmation destinés aux automates programmables.
  • 20. Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 20 karen.godary@lirmm.fr Implantation du grafcet „ Description du comportement du grafcet = règles d'évolution => modèle comportementale. „ Pour l'implantation, on a besoin d'une formalisation supplémentaire : { Soit algorithme d'évolution { Soit équation booléennes équivalentes (équations logiques) „ Ces 3 représentations sont équivalentes (même comportement du système vis-à-vis des E/S)
  • 22. Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 22 karen.godary@lirmm.fr Algorithme d'évolution
  • 23. Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 23 karen.godary@lirmm.fr Algorithme d'évolution „ Exemple :
  • 24. Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 24 karen.godary@lirmm.fr Algorithme d'évolution „ Exemple :
  • 25. Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 25 karen.godary@lirmm.fr Algorithme d'évolution „ IMPLANTATION INFORMATIQUE : plusieurs façons selon des critères d'optimisation (taille mémoire, tps d'exécution..) Exemple simple : Données Paramètre. ou Propriété Paramètre. ou Propriété Paramètre. ou Propriété Paramètre. ou Propriété Paramètre. ou Propriété Entrée Nom Valeur N° Connex. 1 = vert 0 =rouge Sortie Nom Valeur N° Connex. 1 = vert 0 =rouge Etapes Nom Etat Initiale ? Liste Trans. Amont Liste Trans. Aval Transition Nom Franchissable ? Réceptivité Liste Etapes Amont Liste Etapes Aval Réceptivité Nom Valeur Fonction
  • 26. Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 26 karen.godary@lirmm.fr „ Algorithme :
  • 27. Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 27 karen.godary@lirmm.fr Algorithme d'évolution „ Variantes : { Algorithme sans recherche de stabilité : le précédent; (nom : SRS) { Algorithme avec recherche de stabilité (nom : ARS) : de nouvelles entrées ne sont lues que lorsque le grafcet a atteint un état stable.
  • 28. Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 28 karen.godary@lirmm.fr Algorithme d'évolution „ Intérêt de la recherche de stabilité „ Exemple : déplacement d'un mobile „ Fonctionnement : { Déplacements initiaux : H et D { Si atteinte de b avant a : le mobile repart à gauche jusqu'à c { Si atteinte de a avant b, et le bouton poussoir m enclenché : continu d'aller à droite jusqu'à d (ne monte plus) { Si atteinte de a avant b, et m non enclenché : va à droite jusqu'à b, puis revient à gauche jusqu'à c. (1) (4) (2) (3) (5) (7) (6) (8)
  • 29. Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 29 karen.godary@lirmm.fr Algorithme d'évolution „ Mise en œuvre SANS stabilité : 1) Lecture des entrées 2) Evolution de la situation (franchissement d'1 ou plusieurs transitions simultanées) 3) Exécutions des actions „ Exemple de scénario d'entrée : capteur m, puis a, puis b rapidement après a „ Comportement : (situation initiale {1,2} ) { Lecture de m { Evolution {1,2} →{1,4} { Action : H,D { Lecture de ↑a { Evolution {1,4} →{3,4} { Action : D { Lecture de ↑ b { Transitions franchissables : n°5 ET n°6 ⇒ simultanément franchies, pas très correct a priori (branches censées être exclusives) { Actions : G et D => confirmation du problème !! Rmq : si b arrive + tard, la transition n°6 sera franchie avant la n°5 => comportement non déterministe, ce qui n'est pas dans l'esprit du Grafcet
  • 30. Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 30 karen.godary@lirmm.fr Algorithme d'évolution „ Une solution : assurer explicitement l'exclusivité des branches d'une structure de choix, ou éviter les situations instables (difficile, et grafcet souvent limité). „ Autre solution : Mise en œuvre AVEC stabilité 1) Lecture des entrées 2) Evolution de la situation jusqu'à atteinte d'une situation stable 3) Exécutions des actions „ Sauf cas particulier, la recherche de stabilité est indispensable à la mise en œuvre correcte d'un grafcet.
  • 31. Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 31 karen.godary@lirmm.fr Algorithme d'évolution „ Optimisations : { Diminution du nb de transitions à explorer : au lieu d'explorer toutes les transitions, on sélectionne les transitions aval des étapes actives. { Diminution du nb de transitions à explorer : au lieu d'explorer toutes les transitions, on ne sélectionne que les transitions associées aux entrées qui ont changées. { Rmq : ces optimisations sont + ou – efficaces suivants l'implémentation mémoire des données (listes, chaînées ou doublement chaînées, tableaux, etc..)
  • 33. Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 33 karen.godary@lirmm.fr Équations équivalentes „ Principe : on considère une étape Xp et son environnement. „ Une étape p est active (Xp vaut 1) si : { elle est activée par l'amont { elle valait déjà 1 et n'est pas désactivée par l'aval ) on esactivati ConditionD ( ) t ( Xp ctivation ConditionA ) t ( Xp n n × + = +1 Equation logique d'une étape
  • 34. Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 34 karen.godary@lirmm.fr Équations équivalentes „ Initialisation : activation des étapes initiales, désactivation des autres : { Init(Xp) = 1 à t0 si Xp est une étape initiale, 0 sinon. ) ( ) ( ) ( ) ( 1 on esactivati ConditionD t Xp ctivation ConditionA Xp Init t Xp n n × + + = + Equation logique d'une étape
  • 35. Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 35 karen.godary@lirmm.fr Équations équivalentes „ Exemple : début de choix de séquences b+c d e e . X c . X X d . X b . X X ) c b .( X a . X X 31 10 31 21 10 21 10 9 10 + = + = + + =
  • 36. Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 36 karen.godary@lirmm.fr Équations équivalentes „ Exemple : fin de choix de séquences a g f f . X e . X X g . X d . X X a . X ) f . X g . X ( X 32 31 32 22 21 22 9 32 22 9 + = + = + + =
  • 37. Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 37 karen.godary@lirmm.fr Équations équivalentes „ Exemple : début de séquences parallèles e . X c . X X d . X b . X X b . X a . X X 21 10 31 21 10 21 10 9 10 + = + = + = b d e
  • 38. Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 38 karen.godary@lirmm.fr Équations équivalentes „ Exemple : fin de séquences parallèles b . X . X e . X X b . X . X d . X X a . X b . X . X X 21 31 30 31 31 21 20 21 10 31 21 10 + = + = + = a X31.b X21.b X30.e
  • 39. Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 39 karen.godary@lirmm.fr „ Conditions d'activation (CAXp) : pour Xp à l'instant n+1 „ Conditions de désactivation (CDXp) : ∑ ∑ ∏ ∑ ∀ ⎪ ⎭ ⎪ ⎬ ⎫ ⎪ ⎩ ⎪ ⎨ ⎧ ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ + p de amont j i j ju j jd j i i i R X X R X , 1 ) . .. ) . ( ∑ ∑ ∏ ∑ ∀ ⎭ ⎬ ⎫ ⎩ ⎨ ⎧ ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ + p de aval l k l lv l ld l k k R X X R , 1 ) . .. ) ( Équations équivalentes j1 jd i Ri Ti Tj Rj Rk Tk Tl Rl l1 ld p instant n instant n+1
  • 40. Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 40 karen.godary@lirmm.fr Équations équivalentes „ Action continue : son activité dépend de l'activité des étapes auxquelles elle est associée. „ Exemples : Gestion des actions • A = X1 + X3 • B = X2 • A = X1 • B = X2
  • 41. Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 41 karen.godary@lirmm.fr Équations équivalentes „ Action conditionelle : son activité dépend de l'activité des étapes auxquelles elle est associée ET des conditions. „ Exemple : Gestion des actions A = X1 . e
  • 42. Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 42 karen.godary@lirmm.fr Équations équivalentes „ Gestion des arrêts d'urgence : { AU doux : stop des actions { AU Dur : désactivation des étapes AUD ). ) CDXp ( ) t ( Xp CAXp ) Xp ( Init ( ) t ( Xp n n × + + = +1 Signaux d'arrêt d'urgence AUd . Xp A =
  • 43. Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 43 karen.godary@lirmm.fr Équations équivalentes „ Exemple 1 : le grafcet Les équations équivalentes • Xi(0) = 0 ∀i • Init = 1 à t=1
  • 44. Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 44 karen.godary@lirmm.fr Équations équivalentes „ Exemple 2 : commande du cycle d'1 vérin avec initialisation et détect° de dépassement du tps le grafcet 1 2 Ordre VaGauche T1 NonGA T2 GA T3 GoCycle T4 DA T2 GA 3 Attente 4 Ordre VaDroite T5 X4 11 Début détection 10 T6 X3 12 ALARME T7 t/X11/5 sec T8 ACQ
  • 45. Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 45 karen.godary@lirmm.fr Équations équivalentes le grafcet Les équations équivalentes ACQ . X sec) / X / t .( X X ) sec) / X / t ( X .( X X . X X X . X X . X ACQ . X Init X DA . X GoCycle . X X GoCycle . X GA . X GA . X X GA . X DA . X GA . X X Init X . X Init . X Init X ) GA GA ( . X Init X 12 5 11 11 12 5 11 3 11 4 10 11 4 10 3 11 12 10 4 3 4 3 1 2 3 2 4 1 2 1 0 1 1 1 1 1 1 + = + + = + + + = + = + + = + + = = + = + = + + = Les équations de sorties 12 4 2 X ALARME X VaDroite X VaGauche = = =
  • 46. Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 46 karen.godary@lirmm.fr Conclusion „ Ces principes montrent comment passer d'un Grafcet à une réalisation algorithmique ou à un circuit. „ Ils s'appliquent quelque soit la technologie: { circuits logiques { programmation logique sur API { programmation classique sur PC industriels { etc...
  • 47. Le Grafcet – G7 Quelle technologie ?
  • 48. Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 48 karen.godary@lirmm.fr Mise en œuvre „ Le Grafcet n'impose aucune solution : le choix ne dépend que de critères économiques ou des conditions d'utilisation. „ Exemples : { Si besoin de modification, si bcp d'E/S ou si implémentation personnalisée : API, programmé directement en G7 par une console de programmation (et / ou réseau). { Si : langage simple (ET, OU, mémoires) { Si fonctionnement prédéfini et figé, et simple : câblage électronique (portes et bascules). { Si environnement peu compatible avec l'électronique : câblage non électronique (réalisation pneumatique ou électrique) { Si fonctionnement complexe avec besoin de rapidité ou de calcul numérique : carte µ-contrôleur ou même µ-processeur.
  • 49. Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 49 karen.godary@lirmm.fr Mise en œuvre „ Approches de mise en œuvre : { Approche câblée asynchrone bascules RS { Approche câblée synchrone diagramme d'états, séquenceur à bascules D { Approche câblée programmée mémoire et bascules D { Approche programmée µcontrôleur et processeur booléen { Automate Programmable + flexible
  • 50. Le Grafcet – G7 Programmation par logique câblée
  • 51. Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 51 karen.godary@lirmm.fr Réalisation technologique „ Programmation en logique câblée : { Logique combinatoire { Logique séquentielle asynchrone „ Bascule RS { Logique séquentielle synchrone { Séquenceur électrique { Séquenceur pneumatique
  • 52. Le Grafcet – G7 Exemple : Câblage par bascules RS
  • 53. Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 53 karen.godary@lirmm.fr Câblage asynchrone „ Mise en œuvre par câblage asynchrone : cas simple d'un grafcet linéaire. { Une bascule RS par étape { Une étape s'active si son étape amont est active + réceptivité vraie { Une étape se désactive qd la suivante est active „ Etape 2 : { Activation : S2 = Q1.d { Sortie X : X=Q2 { Désactivation : R2=Q3 Etape i : • Si : Set • Ri : Reset • Qi : Sortie
  • 54. Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 54 karen.godary@lirmm.fr „ Schéma du câblage du système complet : Câblage asynchrone
  • 55. Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 55 karen.godary@lirmm.fr Câblage asynchrone „ Principale difficulté : le routage, surtout pour un circuit imprimé (croisements de pistes impossibles). D'autant plus que chaque composant doit être alimenté (alimentations non représentées ici). Mais il existe désormais de bons logiciels de routage. „ La mise en œuvre d'un Grafcet par câblage n'est pas très compliquée, par contre la modification est difficile (souvent, nouveau câblage si modif du G7). De même, la recherche d'erreurs après coup étant difficile => test du câblage dès sa réalisation. „ Autre problème de cette méthode : { une étape active désactive son étape amont en permanence, tant qu'elle reste active (au lieu de ne le faire qu'au moment de la transition). ⇒ L'étape amont ne peut alors pas être activée par un autre signal (ex : bouton "init") „ Solution : mémoriser par une bascule intermédiaire l'état des transitions. { trop complexe ! { reste des difficultés liées aux tps de réponse ≠ des bascules ⇒ câblage synchrone (bascule D), …
  • 56. Le Grafcet – G7 Automate Programmable Industriel (API)
  • 57. Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 57 karen.godary@lirmm.fr Automate Programmable Industriel „ Caractéristiques essentielles : adapté pour le contrôle de procédé { Un ordinateur durci : ambiance industrielle { Une connectique adaptée : connexion rapide { Un système d'exploitation adapté : fonctionnement préformé { Programme et exploitation adaptés : formalisme proche de la définition des équations de commande. „ Cycle de base : modularité E/S
  • 58. Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 58 karen.godary@lirmm.fr Automate Programmable Industriel „ Structure des systèmes automatiques : „ Principe de fonctionnement d'un API :
  • 59. Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 59 karen.godary@lirmm.fr Automate Programmable Industriel Langages des API LANGAGE • si machine = µ-processeur ⇒ spécifique au µ-processeur • si machine = machine logique spécialisée ⇒ proche du langage booléen
  • 60. Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 60 karen.godary@lirmm.fr Automate Programmable Industriel „ Fonctions combinatoires élémentaires : { ET logique : entre la variable et le résultat précédent, { OU logique : entre la variable et le résultat précédent, { LIRE : l'état de la variable indiquée, { RANGER : le résultat dans la variable indiquée, { NON : inverser l'état de la variable sélectionnée „ Pour chaque étape i : { Écrire sa condition d'activation CAXi { Écrire sa condition de désactivation CDXi { Écrire son action associée { Utilisation d'une variable interne associée M0,i Programmation en langage booléen (U : fonction ET) Ex : langage STEP5 sur une console PG605 pour les automates de types SIMATIC S5 Siemens
  • 61. Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 61 karen.godary@lirmm.fr Automate Programmable Industriel „ Type d'éléments : { Entrées (contacts) : contact ouvert ou fermé { Sorties (bobines) : set et reset { Fonctions : AND, OR, XOR, NOT (NAND, NOR) „ Programmation d'une étape i avec action A : { Écrire sa condition d'activation CAXi { Écrire sa condition de désactivation CDXi { remplacement de chaque étape Xi par une variable interne de l’automate notée Bi ; { câblage de la CAXi sur le SET de Bi et de la CDXi sur le RESET de Bi; { câblage de l’action A associée à Xisur la variable interne Bi. Programmation en langage à contacts (ladder) Ex : langage PL7-2 sur un terminal TSX-T407 pour les automates Télémécanique TSX 17- 20/27/47-J/47-10/20 Projet P5+P7
  • 62. Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 62 karen.godary@lirmm.fr Automate Programmable Industriel „ Langage proche de l'écriture directe et non du schéma. „ Ligne : Ln° : NomVariable = ExpressionBooleenne „ Instruction de saut • exemple : L20 : (E3+E5) = L35 ⇒ si (E3+E5) est vraie, le programme va ligne L35 (sinon L21) • utilisation : ‰ Initialisation ‰ Mode Panne ou Normal ‰ Calcul en fonction d'une valeur de variable Programmation en expressions booléennes
  • 63. Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 63 karen.godary@lirmm.fr Automate Programmable Industriel „ Programmation structurée en 3 parties : Programmation "directe" en GRAFCET Ex : automate Télémécanique TSX 47 avec le langage GRAFCET PL7-2 sur un terminal TSX-T407 Projet P5+P7
  • 64. Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 64 karen.godary@lirmm.fr Automate Programmable Industriel Programmation "directe" en GRAFCET Exemple Bits systèmes de l'automate : SY21=I1,7 : init du G7 SY22=I1,6 : RAZ du G7 (AUD) SY09=I1,5 : mise à 0 des Out (Aud)
  • 65. Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 65 karen.godary@lirmm.fr Automate Programmable Industriel „ Programmation des API : aléas { Il existe une différence entre l'exécution du système d'équations séquentielles théoriques et l'exécution d'une suite d'équations sur un API. { Dans un API, l'état final atteint peut dépendre de l'ordre des équations / instructions / ladder. { Pour éviter cela : si modification d'une variable pendant un cycle, ne pas faire les calculs restant avec la nouvelle valeur mais avec celle de début du cycle (utiliser une variable temp). „ Exemple : a = b+c d = a d = a a = b+c ≠ temp = a a = b+c d = temp d = a a = b+c ⇔
  • 66. Polytech' Montpellier, ERII4 - Cours "Automatismes et SED " 66 karen.godary@lirmm.fr Automate Programmable Industriel „ Le programme est également structuré de façon séquentielle (comme pour l'API) afin de tenir compte du traitement séquentiel des informations du système automatique. „ Implémentation de l'algorithme d'évolution. „ Ex : Pascal, C. Programmation en langage évolué