grafcet_transparencias.pdf
TRANSCRIPT
-
GRAFCETGRAFCET
Vctor M. Gonzlez (Enero 2004)
-
PPOR OR QQU U GRAFCET?GRAFCET?
AUTOMATISMOS SECUENCIALES
MTODOPIEDRA
GRAFCET MTODOHUFFMAN
NO COMPLETO SI INTUITIVO
SI COMPLETO SI INTUITIVO
SI COMPLETO NO INTUITIVO
Vctor M. Gonzlez (Enero 2004)
-
IINTRODUCCINNTRODUCCIN
1977La AFCET (Association Franaise pour la Cyberntique Economique et Technique)
define GRAFCET = GRAfico Funcional de Etapa-Transcin
1988
1993
define GRAFCET = GRAfico Funcional de Etapa-Transcin
IEC-848. Preparation of function charts for control systems.
IEC-61131-3. Sequential Function Chart (SFC).
GRAFCET = Lenguaje Grfico
Vctor M. Gonzlez (Enero 2004)
GRAFCET = Lenguaje Grfico
de Descripcin de Modelos de Automatismos Secuenciales
Independiente de la Tecnologa de las Partes de Mando y Operativa
GRAFCET NO ES un Lenguaje de Programacin
-
EELEMENTOS LEMENTOS GGRFICOS DE RFICOS DE BBASEASE
0EETAPAS TAPAS NNORMALESORMALES
PULSADOR
ARRIBA
RRECEPTIVIDADESECEPTIVIDADES
SUBIR
BAJAR
AACCIONESCCIONES
TTRANSICIONESRANSICIONES
LLNEAS DE EVOLUCIN NEAS DE EVOLUCIN
0
EETAPAS TAPAS IINICIALESNICIALES
1
2
EETAPAS TAPAS NNORMALESORMALES
Vctor M. Gonzlez (Enero 2004)
ABAJO
-
SSINTAXIS DE INTAXIS DE GRAFCETGRAFCET
EETAPATAPA--TTRANSICINRANSICIN--EETAPATAPA GRAFCET SGRAFCET SIEMPRE IEMPRE GGLOBALMENTE LOBALMENTE CCERRADOERRADO
EETAPAS TAPAS NNUMERADASUMERADASEETAPAS TAPAS AACTIVASCTIVAS
Vctor M. Gonzlez (Enero 2004)
EETAPAS TAPAS NNUMERADASUMERADAS
EEL L NNMERO MERO NONO IIMPLICA MPLICA OORDENRDEN
EETAPAS TAPAS AACTIVASCTIVAS
-
RREGLAS DE EGLAS DE EEVOLUCIN DE VOLUCIN DE GRAFCETGRAFCET
IINICIALIZACINNICIALIZACINEN LA INICIALIZACIN DEL SISTEMA SE HAN DE ACTIVAR TODAS LAS ETAPAS INICIALES Y SLO LAS INICIALES
EEVOLUCIN DE LAS VOLUCIN DE LAS TTRANSICIONESRANSICIONES UNA TRANSICIN EST VALIDADA
CUANDO TODAS LAS ETAPAS INMEDIATAMENTE ANTERIORES A ELLA ESTN ACTIVAS.
UNA TRANSICIN ES FRANQUEABLE
CUANDO EST VALIDADA Y SU RECEPTIVIDAD ASOCIADA ES CIERTA.
TODA TRANSICIN FRANQUEABLE
DEBE SER OBLIGATORIAMENTE E INMEDIATAMENTE FRANQUEADA.
Vctor M. Gonzlez (Enero 2004)
T. VALIDADA T. FRANQUEABLE T. FRANQUEADA
-
RREGLAS DE EGLAS DE EEVOLUCIN DE VOLUCIN DE GRAFCET IIGRAFCET II
EEVOLUCIN DE LAS VOLUCIN DE LAS EETAPAS TAPAS AACTIVASCTIVAS
AL FRANQUEAR UNA TRANSICIN
SE DEBEN ACTIVAR
SSIMULTANEIDAD EN EL FRANQUEAMIENTO IMULTANEIDAD EN EL FRANQUEAMIENTO DE LAS DE LAS TTRANSICIONESRANSICIONES
SE DEBEN ACTIVAR
TODAS LAS ETAPAS INMEDIATAMENTE POSTERIORES
Y DESACTIVAR SIMULATNEAMENTE
TODAS LAS INMEDIATAMENTE ANTERIORES.
LAS TRANSICIONES SIMULATNEAMENTE FRANQEUABLES
HAN DE SER SIMULATNEAMENTE FRANQEUADAS
PPRIORIDAD DE LA RIORIDAD DE LA AACTIVACINCTIVACIN
SI AL EVOLUCIONAR UN GRAFCET,
Vctor M. Gonzlez (Enero 2004)
SI AL EVOLUCIONAR UN GRAFCET,
UNA ETAPA HA DE SER ACTIVADA Y DESACTIVADA AL MISMO TIEMPO,
DEBE PERMANECER ACTIVADA
-
EESTRUCTURAS STRUCTURAS BBSICAS DE SICAS DE GRAFCETGRAFCET
SSECUENCIAECUENCIALLINEALINEAL
SSECUENCIAECUENCIAAALTERNATIVALTERNATIVA
SSECUENCIAECUENCIAPPARALELAARALELA
SSALTOALTO
Vctor M. Gonzlez (Enero 2004)
OJO! CON LA SINTAXIS
-
MMACROACRO--EETAPASTAPAS
CCORRECTOORRECTO IINCORRECTONCORRECTO
Vctor M. Gonzlez (Enero 2004)
M2
-
MMACROACRO--AACCIONES O CCIONES O SSUBRUTINASUBRUTINAS
Vctor M. Gonzlez (Enero 2004)
-
TTIPOS DE IPOS DE AACCIONESCCIONES
CCONDICIONADAONDICIONADA RRETARDADAETARDADA MMEMORIZADAEMORIZADA
IIMPULSIONALMPULSIONAL LLIMITADAIMITADA
X1X1
Ter.Ter.
Cal.Cal.
X2X2
Cer.Cer.0.5s.0.5s.
X6X6X8X8
Vctor M. Gonzlez (Enero 2004)
X3X3Sir.Sir. 2s.2s.
X8X8
XBRXBR
X4X4
Acti.Acti.
-
EjemploEjemplo
PULSADOR DE SUBIR - KMS - Q0.0
ARRIBA - FC_ARRIBA - I0.1P_INI - I0.0
PULSADOR DE MARCHA
BAJAR - KMB - Q0.1
SUBIR - KMS - Q0.0
ABAJO - FC_ABAJO - I0.2
Una vez pulsado "MARCHA" el elemento sube hasta "ARRIBA", baja automticamente y se para "ABAJO".
AMPLIACIONES: Qu hacer si el elemento no se encuentra inicialmente abajo?
Vctor M. Gonzlez (Enero 2004)
Qu hacer si durante la maniobra se vuelve a pulsar "MARCHA"? Qu hacer si se tarda demasiado en la maniobra de subida o de bajada? Qu hacer si los dos fines de carrera estn activos simultneamente? Cmo indicar cualquier posible fallo, aceptarlo y rearmar la instalacin? Conviene considerar alguna temporizacin para que Q0.0 y Q0.1 no estn activos simultneamente?
-
P_INI FC_ARRIBA
R 13 13
4 FC_ABAJO
13FC_ARRIBA
R
PLC%I0.1.
%Q0.1.
0 1 2 3 4 65 7
0 1 2 3 4 65 7
13
14
13
14
A1 A1
R
N
13
14P_INI KMS
KMB
FC_ARRIBA
KMS
KMB
FC_ABAJO
Vctor M. Gonzlez (Enero 2004)
KMS KMB
N
2
A1
A2
A1
A2
KMS KMB
N
-
NNIVELES DE IVELES DE RREPRESENTACIN DE EPRESENTACIN DE GRAFCETGRAFCET
NNIVEL IIVEL I NNIVEL IIIVEL II NNIVEL IIIIVEL III
0 0 0
MARCHA
ARRIBA
SUBIR
BAJAR
0
1
2
KMS
KMB
0
1
2
Q0.0
Q0.1
0
1
2
P_INI
FC_ARRIBA
I0.0
I0.1
Vctor M. Gonzlez (Enero 2004)
ABAJO
BAJAR2 KMB2 Q0.12
FC_ABAJO I0.2
ALTO NIVEL NIVEL DE PROCESO NIVEL DE CONTROLADOR
-
Ejemplo con CoDeSys: SFC con "IEC steps"Ejemplo con CoDeSys: SFC con "IEC steps"
Vctor M. Gonzlez (Enero 2004)
-
Ejemplo con CoDeSys: SFCEjemplo con CoDeSys: SFC
Vctor M. Gonzlez (Enero 2004)
-
Ejemplo con CoDeSys: LDEjemplo con CoDeSys: LD
Vctor M. Gonzlez (Enero 2004)
-
Ejemplo con CoDeSys: STEjemplo con CoDeSys: ST
Vctor M. Gonzlez (Enero 2004)
-
Ejemplo con PL7Ejemplo con PL7
Vctor M. Gonzlez (Enero 2004)
-
Ejemplo con PL7Ejemplo con PL7
Vctor M. Gonzlez (Enero 2004)
-
Ejemplo con PL7Ejemplo con PL7
Vctor M. Gonzlez (Enero 2004)
-
Ejemplo con UNITY: ConfiguracinEjemplo con UNITY: Configuracin
Vctor M. Gonzlez (Enero 2004)
-
Ejemplo con UNITY: SFC (Ejemplo con UNITY: SFC (GrafcetGrafcet))
Vctor M. Gonzlez (Enero 2004)
-
Ejemplo con UNITY: LDEjemplo con UNITY: LD
Vctor M. Gonzlez (Enero 2004)
-
Ejemplo con UNITY: STEjemplo con UNITY: ST
Vctor M. Gonzlez (Enero 2004)
-
Ejemplo con UNITY: STEjemplo con UNITY: ST
Vctor M. Gonzlez (Enero 2004)
-
Ejemplo con UNITY: Ejemplo con UNITY: Comparativa de lenguajesComparativa de lenguajes
12
IF MARCHA AND NOT BAJAR THENSET(SUBIR);
END_IF;
IF FC_ARRIBA THEN
SUBIR := (MARCHA OR SUBIR) AND NOT FC_ARRIBA AND NOT BAJAR;BAJAR := (FC_ARRIBA OR BAJAR) AND NOT FC_ABAJO AND NOT SUBIR;
3
4
Vctor M. Gonzlez (Enero 2004) 27
IF FC_ARRIBA THENRESET(SUBIR); SET(BAJAR);
END_IF;
IF FC_ABAJO THENRESET(BAJAR);
END_IF;