Académique Documents
Professionnel Documents
Culture Documents
Cours Grafcet VBA PDF
Cours Grafcet VBA PDF
Grafcet
et
Supervision
Pierre BONNET
2011-2012
Grafcet et Supervision
Grafcet et Supervision
Grafcet et Supervision
X1
action1
Transition T1
X2
action2
Transition T2
X3
action3
Grafcet et Supervision
Dbut cycle
Acquisition des entres
Calcul des conditions
de franchissement avec
mise jour immdiate
de l'activit
X1
%Franchissement 1-->2 :
Si (X1=1 ET T1=1) alors
X2:=1 ; X1:=0 ;
Fin_Si
%Franchissement 2-->3 :
Si (X2=1 ET T2=1) alors
X3:=1 ; X2:=0 ;
Fin_Si
action1
Transition T1
X2
action2
Transition T2
X3
action3
L'excution squentielle n'est acceptable que si le graphe reprsente une squence pure (graphe d'tat)
De faon gnrale, l'application des rgles peut provoquer un dysfonctionnement:
- la variable X2 prend sa valeur ds l'excution de la premire rgle
- la valeur utilise par une autre rgle est modifie ce qui peut conduire une volution errone
Grafcet et Supervision
Dbut cycle
Acquisition des entres
X1
action1
Transition T1
X2
action2
Transition T2
X3
action3
Attention : cette solution est insuffisante: dans un graphe complexe , il peut y avoir affectations de
nouvelles valeurs contradictoires. (mise un et zro de la mme tape).
Grafcet et Supervision
X i = X i . ReponseX i + AppelX i
Table d'volution de l'tape Xi :
Etat Courant Xi
Appel
Rponse
Etat Futur Xi
1*
1*
La mthode d'appel-rponse ncessite de disposer de deux variables d'volution par tape (et la
valeur de l'tape elle-mme )
Masters ASE GSI Supervision Industrielle P. Bonnet
Grafcet et Supervision
....
X1
X1
action1
Transition T1
X2
action2
Transition
T3
Transition
T2
X3
action3
X4
action4
%Franchissement 2-->4 :
Si (X2=1 ET T3=1) alors
Appel_X4:=1 ; Reponse_X2:=1 ;
Fin_Si
%Mise jour simultane des activits
X1:= Appel_X1 OU (X1 ET Pas(Reponse_X1));
X2:= Appel_X2 OU (X2 ET Pas(Reponse_X2));
X3:= Appel_X1 OU (X1 ET Pas(Reponse_X3));
..
%Mise jour des sorties
....
Masters ASE GSI Supervision Industrielle P. Bonnet
Grafcet et Supervision
10
Grafcet et Supervision
X4
t45
X15
X5
=1
X5
La situation finale (ensemble des marquages actifs d'tapes) n'est obtenue qu'aprs
plusieurs cycles de calcul , avec affectation des sorties associes aux tapes marques
transitoirement (commande impulsionnelle pouvant solliciter les actionneurs)
11
Grafcet et Supervision
L'volution de l'activit peut conduire valider de nouveaux franchissements pour les mmes
valeurs de variables d'entres.
Le principe de l'ARS est de vrifier si la
stabilit est atteinte par une nouvelle analyse
des transitions pour des valeurs d'entres
identiques et sans affecter les sorties:
Dbut cycle
Acquisition des entres
Calcul des conditions
de franchissement
Evaluation de la Stabilit
non
L'activit
est-t-elle stable?
Mise jour des sorties
oui
Fin cycle
Masters ASE GSI Supervision Industrielle P. Bonnet
12
Grafcet et Supervision
13
Grafcet et Supervision
Mise en oeuvre de l'ARS:
Dans l'algorithme "synchrone", l'ARS consiste simplement vrifier que les nouvelles valeurs
d'tapes sont diffrentes ou non des valeurs prcdentes.
%Acquisition des entres et initialisation des variables internes
Stable:=0;
Appel_X1:=0 ; Rponse_X1:=0;...
Old_X1:=X1; Old_X2:=X2 ; Old_X3:=X3
TantQue (Stable=0)
%Franchissements
Si (X1=1 ET T1=1) alors
Appel_X2:=1; Reponse_X1:=1;
Fin_Si
Si (X2=1 ET T2=1) alors
Appel_X3:=1; Reponse_X2:=1;
Fin_Si ...
%Calcul des volutions
X1:= Appel_X1 OU (X1 ET Pas(Reponse_X1));
%Test Stabilit
Si (X1=Old_X1) ET (X2=Old_X2) ET ... alors
Stable:=1
Fin_Si
Fin_TantQue
%Mise jour des sorties permanentes...
Masters ASE GSI Supervision Industrielle P. Bonnet
14
Grafcet et Supervision
Limites de l'ARS:
- lorsqu'il y a volution, l'algorithme refait systmatiquement une boucle de calcul en vue de la
recherche de stabilit. Le calcul est donc plus long qu'avec un algorithme sans recherche de
stabilit. Les performances sont 2 fois moindres que sans ARS.
- pour un jeu d'entres donnes, il se peut que le Grafcet soit sans situation stable .
Dans un tel cas, l'algorithme boucle indfiniment
Il est donc impratif de limiter le nombre de boucle de recherche de la stabilit du
Grafcet
X1
X1
a
X2
action2
a
X3
action1
action3
15
Grafcet et Supervision
Vrification du Grafcet:
16
Grafcet et Supervision
Exercice 1
Donner l'algorithme complet du Grafcet en VBA, avec ARS et arrt forc au del de 10 boucles
de recherche de stabilit pour le Grafcet suivant:
X1
- Les entres et sorties seront simules par
des cellules Excel.
- les tapes seront visualises par des cellules.
- le nombre d'itration sera visualis
- Lorsque l'arrt de l'algorithme est forc,
donner un message d'erreur.
depart
X2
b
X3
V1
b
X4
V2
a
Le systme prsent-t-il des situations instables ? Pour quelles valeurs des entres ?
17
Grafcet et Supervision
Les actions sont associes l'activit des tapes. La norme CEI 61131-3
prvoit plusieurs type d'actions.
Actions :
X1
action1
Transition T1
X2
action2
Transition T2
X3
action3
18
Grafcet et Supervision
Evolution vnementielle :
X1
action1
Transition T1
action2
Transition T2
X3
action3
19
Grafcet et Supervision
X1
action1
IHM
Chgt val,
clic...
Chgt valeur
Transition T1
X2
action2
Transition T2
X3
Timer
d'excution
priodique
action3
Entres
Externes
Chgt val
Tic
Grafcet
principal
Chgt valeur
Chgt valeur
Sorties
Chgt valeur
lancement
Fin tempo
Autres
Grafcet
Temporisations
20
Grafcet et Supervision
sortie
Temporisation:
Lancement
tempo
Graphe de
commande
entre
Temporisateur
entre
Fin
tempo
Lancement
tempo
Grafcet
Principal
sortie
Timer
d'excution
Fin tempo
X1
Depart
X2
Lancement_Tempo1
Fin_Tempo1
X3
Action
21
Grafcet et Supervision
22
Grafcet et Supervision
sortie
Lancement
Processus
Graphe de
commande
Processus
Fin
Processus
entre
Sub Grafcet
% Calcul volutions...
%Mise jour des sorties
Si X2=1 alors
Lancement_Processus
FinSi
Sortie2 = ...
End Sub
Sub Fin_Processus_Event()
Fin_Process= True
Execution_Grafcet
Fin_Process = False
End Sub
Le couplage par vnement est dit asynchrone
lorsque le processus appelant n'est pas bloqu
pendant l'excution du processus appel
entre
Lancement
processus
Grafcet
Principal
sortie
Processus
externe
Fin processus
X1
Depart
X2
Lancement_Processus
Fin_Processus
X3
Action
23
Grafcet et Supervision
Exercice 3: supervision d'un processus de fabrication
Soit un systme de fabrication est activ par
une variable logique FAB. La fin de fabrication
est signale par le systme en activant la
variable fin_fab (simule par une temporisation
alatoire ou un bouton)
FAB
Grafcet
Supervision
Systme de Fabrication
Fin_fab
24
Grafcet et Supervision
MASTER ASE
Systmes d'Information pour l'Industrie
25
Grafcet et Supervision
Solution Exo 1 : Grafcet avec recherche de stabilite
Principe du programme:
' Dclarations des variables (evite les erreurs)
Dim X1, new_X1 ... as Boolean
Sub Bouton_Calcul_Grafcet_Click
' Acquisitions des entres
depart = togglebutton1.value
a = togglebutton2.value ...
nb_iterations = 0
While (nb_iterations<10 and stable=False)
' Calcul des evolutions
If (X1=True and depart=True) Then
new_X2=True
new_X1=False
End if
If (X2=True and a=True) Then
new_X3=True
new_X2=False
End if
If ....
' Verification evolution ARS
If (new_X1=X1 and new_2=X2 and ...) Then
Stable = True
End if
nb_iterations = nb_iterations + 1
Prvoir l'initialisation du Grafcet et des variables
Sub Bouton_Init_Click
X1 = True
new_X1 = X1
X2 = False...
'Affichage sur l'iHM
End Sub
26
Grafcet et Supervision
Solution Exo 2 : Grafcet avec temporisation
Interface IHM
Temporisateur
au
au
Heure courante
Armement tempo
init
bp
Proprits au:
couleur
valeur
Fin de tempo
Horloge
bp
Proprits bp:
valeur
validit
Grafcet
Allumer la
lampe L1
Initialisation
faite
Initialisation
L1
27
Grafcet et Supervision
Solution Exo2 : Grafcet avec temporisation
Apparence d'un lment de l'interface iHM
L'aspect ou le comportement d'un lment de l'IHM
peuvent tre modifis dynamiquement en modifiant une
ou plusieurs proprits du l'lment.
Modification du texte affich:
nom_controle.caption = "Texte"
Modification de la police
nom_controle.font.bold = True
nom_controle.Forecolor = RGB(200,100,100)
28
Grafcet et Supervision
Solution Exo2 : Grafcet avec temporisation (suite)
Temporisation:
La temporisation est une relation entre le Grafcet et le
temporisateur externe [timer Windows].
Sub Calcul_Grafcet
' Acquisitions des entres
' Calcul des volutions
If (X2=True and fin_T1=True) Then ...
' Vrification ARS
' Affectation des sorties
Heure_Fin_Tempo1 = Now + TimeSerial(0,0,3)
If (X2=1 and T1_On=false)
Application OnTime Heure_Fin_Tempo1, "Fin_Tempo1"
T1_On = True
End If
Lancement tempo
End Sub
Sub Fin_Tempo1
fin_T1 = True
Calcul_Grafcet
fin_T1 = False
T1_On = False
End Sub
Execution
Grafcet
29
Grafcet et Supervision
Solution Exo3 : Grafcet de supervision d'un process
Interface IHM
Initialisation
init
nb_cycles
nb cycles
start
Compteur
manu/auto
Initialisation
faite
start
Afficheurs
manu
Maxi
atteint
Incrmenter
compteur
FAB
Temps_Fab
Temps_Moyen
Processus
Grafcet
FAB,fin_fab
fin_fab
Calcul
temps
Heure courante
Horloge
Masters ASE GSI Supervision Industrielle P. Bonnet
30
Grafcet et Supervision
Solution Exo3 : Grafcet de supervision d'un process (suite)
31
Grafcet et Supervision
Solution Exo3 : Grafcet de supervision d'un process (suite)
Relation superviseur/processus:
La superviseur autorise le processus quitter son tape initiale X4
processus entre alors en phase de fabrication dans l'tape X5. Cette
(utiliser la fonction rnd pour crer un ala sur cette dure). Lafin
tempo, ce qui fait voluer le processus vers X6. Cette tape met 1
superviseur .
Excution du Grafcet:
L'excution par vnement est exploite autant que possible, mais certaines volutions doivent tre provoques
manuellement. Par exemple, la transition associe l'tape X3 est conditionne au passage 1 de fin_calcul.
Cette variable tant une variable interne, son passage 1 ne cre pas d'vnement. Il faut solliciter le calcul.
32