Vous êtes sur la page 1sur 1

Program GRAFCET;

Var
Dcy :sbit at RA0_bit ;
L11 :sbit at RA1_bit ;
L10 :sbit at RA2_bit ;
kM1 :sbit at RB0_bit ;
kM2 :sbit at RB1_bit;
X0, X1, X2 :bit;
Begin
trisa :=255; trisb := 0;
kM1 := 0 ; kM2 := 0 ;
X0 := 1 ; X1 := 0 ; X2 := 0 ;
while true do if (X2 = 1) and (L10 = 1) then
begin begin //// début programme
//Déclaration
traitement des
de lavariables
//////traitement
bouton
le nom dcydude la sortieà kM1 :
connecté
programme RA0
if (X0 = 1) and (dcy = 1) then X2 := 0; X0 := 1; transition
//PortA
si//l’étape est
1 T01
T12 alorsen
configuré
T20
active KM1
capteur
entrée et L11 connecté
portB est en à RA1
sortie
begin end ; //
est si l’étape
excité sinon 0
1
2 active
KM1 est àdcy
et L11
L10
// capteur L10 connecté RA2
X0 := 0; X1 := 1; if (X1 = 1) then kM1 := 1 actionné
// état
désexcité alors
initial des sorties
// kM1 relais connecté à RB0
end ; else kM1 := 0; ////onétat
kM2 désactive
traitement
initial
relais des l’étape
de la sortie
étapes
connecté 0
2
à du et
kM2 :
1RB1
if (X1 = 1) and (L11 = 1) then if (X2 = 1) then kM2 := 1 on
si active2de
//l’étape
grafcet
étapes l’étape
active 1
alors
2 KM1
GRAFCET:
else kM2 := 0; est
//// excité
fin sinon
du d’une
traitementKM1 est la
begin variables
début internesbouclede qui se
désexcité
transition T01
X1 := 0; X2 := 1; end; répète infinimentT12
T20
end ; end. // fin de la boucle qui se répète infiniment
// fin programme

Vous aimerez peut-être aussi