Vous êtes sur la page 1sur 18

IntroduccinalmodeladoGRAFCET 1

1. TEMPORIZADORESYCONTADORESEN
STEP7
1.1. TEMPORIZADORES
Un temporizador es un dispositivo capaz de permanecer en un estado
transcurrido un tiempo desde que se produce un evento. El tiempo y el evento son
parmetrosconfigurabledeltemporizador.
EnunPLC,latemporizadoresformanpartedelamemoriaRAMdesistemade
la CPU (ver arquitectura). El contenido de estas "celdas de tiempo" se actualiza
automticamente por el sistema operativo de forma asncrona y concurrente con la
ejecucin del programa de usuario. En los autmatas Siemens, el lenguaje STEP7
permite configurar una funcin temporizador que rige el comportamiento de cada
celda asignando valores a sus parmetros. En cuanto al nmero de celdas, el
ensamblador de STEP7 permite direccionar 256 temporizadores como mximo. El
nmerorealadisposicindelprogramadordependerdelmodelodeCPU.
Enlenguajedecontactos,STEP7haprevistoelinterfazdelafigura11(bloque
funcin) para poder configurar el comportamiento de cada temporizador. El bloque
constadetresentradas(izquierda)ytressalidas(derecha)conelsiguientesignificado:
Tiempo a contar: Tiempo inicial que se carga en el registro (RAM) del
temporizador.LanormalodenominaconlassiglasPT(delinglsPresetTime).
Sealdedisparo:Eventoqueactivaeltemporizadoriniciandounacuentaatrs.
El tringuloen laconexin con el bloque de lafigura 11 indica que seactiva
porflanco(cambiodeestado),nopornivel.

PPabloSanSegundo UniversidadPolitcnicadeMadridUPM

IntroduccinalmodeladoGRAFCET 2
T<N>: Nombre de la variable temporizador (T1, T2, T3, etc.). Usada como
operandoenAWLidentificasureadememoria.
Reset:EventoqueponeacerolasalidalgicaQdeltemporizador
Salida lgica: Valor lgico del temporizador (su estado) determinado por el
SistemaOperativoencadainstante.
Salida analgica: Valor del tiempo que falta para finalizar la cuenta atrs (en
binario).
Salida analgica (BCD): Idem que el anterior pero en formato BCD (Binary
CodedDecimal),dondecadanmerodecimalocupaunbyte.

FiguraXXX

Figura11.BloquetemporizadordellenguajeKOPdeSTEP7.Elsmbolotriangularenla
entradaSindicaquefuncionaporflanco

LasentradasS,RylasalidaQsonbooleanas.Elrestodeparmetrossontodos
tamaoWORD(16bits),elmismotamaodelregistrotemporizadoridentificadopor
sunombre(T<N>).ElformatodeltiempoacontaresdetipoS5TIME,untipoquelleva
elnombredelaversinanteriordellenguajeSTEP5,porquesecreaparamantenerla
compatibilidad.UnaconstanteS5TIMEenAWLseescribe:
S5T#aHbbMccSdddMS
donde las unidades son a: Horas, b: Minutos, c: Segundos y d: Milisegundos y el
smboloS5T#indicaformatoS5TIME(elsmbolo#enunaconstantenumricaindica
findeespecificacindeformato).PorejemploS5T#2S100MSson2,1s.
El formato S5TIME almacena el tiempo en BCD, ocupando los tres primeros
bytes del registro del temporizador. El cuarto byte dedica los dos primeros bits a
codificarlaBasedeTiempos,quedefineelintervalodetiempoenquesedecrementa
en una unidad el valor de temporizacin. La arquitectura del PLC maneja 4 bases de
tiemponumeradasde0a3:10ms,100ms,1s,10sycomponeelvalorcargadoapartir
destastalque,amenorbase,mayorprecisin.EnSTEP5eranecesarioespecificarla

PPabloSanSegundo UniversidadPolitcnicadeMadridUPM

IntroduccinalmodeladoGRAFCET 3
base de tiempos, pero en STEP7 se ajusta automticamente, lo que supone una
comodidad.Deloanteriorsededuceque:
Elmximotiempoquepuedealmacenarelregistrodetemporizacines999,quepara
labasedetiemposmayorsuponeunintervalomximode9990s(2h46my30s)
Para medir intervalos de tiempo superiores es necesario combinar adecuadamente
variostemporizadores.
FUNCIONAMIENTO. Una vez que se han definido adecuadamente los parmetros, el
temporizadorcargaelvalordetiempoenelregistroyquedaalaesperadelcambiode
estado de la seal de disparo. Tras el disparo, comienza una cuenta atrs (asncrona
conelprogramaenejecucin)hastaqueelvalordetiempollegaaceroactualizndose
entonceselvalordelasalidalgicaQ.

1.2. TIPOSGENERALESDETEMPORIZADORES
La norma IEC 611313 define explcitamente 3 tipos de temporizadores que
debensersoportadosporcualquierlenguajedeprogramacinparaPLC:
Temporizadordepulso(TP):SeactivalasalidalgicaQtrasunflancodesubida
delasealdedisparo.SedesactivaaltranscurrirPT.
Temporizador de retardo a la conexin (TON): Se activa Q despus de
transcurrirPTtrasproducirseunflancodesubidadelasealdisparo.
Temporizador de retardo a la desconexin (TOFF): Se desactiva Q cuando
transcurrePTtrasproducirseunflancodebajadadelasealdedisparo.
Intuitivamente el temporizador TP sigue al disparo y cae tras el paso del
tiempo.Encambio,eltemporizadorTONtardauntiempoenseguiralasealunavez
conectada(deahelnombre).Finalmente,elTOFFseactivatrasconectarselasealy
tras su desconexin, Qtarda un tiempo en caer. La figura12 muestra un bloquede
temporizacindepulsodescritoenlanorma.LasealINeslasealdedisparo,laseal
PT (Preset Time) es el valor de carga, Q es la salida lgica y ET (Elapsed Time) es el
tiempotranscurridodesdelapuestaenmarcha(convalormximoPT).Observequela
norma solo indica los elementos fundamentales. La implementacin que ofrece
SIEMENSencontactos(figura11)tienemsparmetros.


Figura12.BloquetemporizadorTPprevistoenlanormaIEC611313

Adems de estas tres tipologas bien definidas, existen dos propiedades muy
importantes para caracterizar el comportamiento del temporizador: la memoria y la
redisparabilidad(eninglsretriggerability).

PPabloSanSegundo UniversidadPolitcnicadeMadridUPM

IntroduccinalmodeladoGRAFCET 4
Memoria: Describe el comportamiento de un temporizador activo con la
llegadadelprimerflancoopuestoaldeactivacindelasealdedisparo(sise
disparaconelflancodesubida,lamemoriahacereferenciaalcomportamiento
anteelprimerflancodebajadaposterioryviceversa).
Sedicequeuntemporizadortienememoriacuandotrassupuestaenmarcha,contina
conlatemporizacinantelallegadadelprimerflancoopuestoaldedisparo.
Es decir, el temporizador se acuerda de lo que estaba haciendo antes del
eventoycontinaconello.Sinotienememoria,paralacuentaysedesactiva(Q=0).
Redisparabilidad:Describeelcomportamientodeuntemporizadoractivocon
la llegada del primer flanco de disparo posterior al de activacin. Esta
propiedadslodescribealostemporizadoresconmemoriayaquelosqueno
tienenmemoriavenalredisparocomoundisparoconvencional.
Sedicequeuntemporizadoresredisparablecuando,trassupuestaenmarcha,reinicia
lacuentaatrsconelsiguientedisparo.

1.3. TIPOSDETEMPORIZADORESENSTEP7
STEP7 realiza la especificacin ofreciendo 5 temporizadores distintos que se
describenenlatabla11:

Tabla11.TemporizadoresenSTEP7

AWL Memoria Redisparo Tipo Nombre

SI TP SIMPULS

SV x x TP SVIMP

SE TON SEVERZ

SS x x TON SSEVERZ

SA x x TOFF SAVERZ


La columna de la izquierda es el nemnico del operador AWL para cada
temporizador.Seempleacomooperadorenunainstruccindeltipo:
S<LETRA>T<N>
ytienedosargumentosimplcitos,lasealdedisparoyelvalordetiempodecarga,
que los obtiene de los registros de la ALU: la seal del biestable RLO y el tiempo de
carga de un registro denominado Acumulador de 32 bits que se emplea para
manipulartamaosdedatossuperioresalbit.Examinaremosendetalleestoregistros
en secciones posteriores. Por ahora basta saber que para almacenar un dato en el
Acumuladorlainstruccinenensambladores:

PPabloSanSegundo UniversidadPolitcnicadeMadridUPM

IntroduccinalmodeladoGRAFCET 5
L<DATO>
yparaextraerundatodelAcumuladorlainstruccines:
T<DATO>
Dicho esto, ya es posible programar un temporizador bsico en AWL de
cualquieradelos5tipos.Comoejemploelcdigosiguienteconfigurauntemporizador
depulsosinmemoriaSIenelreadememoriaT1yconuntiempoestablecidode10s
y2ms.
//Configuracin del TEMPORIZADOR T1 de tipo SE en AWL

U Seal de disparo //Configura entrada de disparo


L S5T#10S2MS //Tiempo en formato S5TIME
SE T1 //Tipo y nombre del temporizador

Las dos primeras instrucciones cargan los registros de la ALU de manera


conveniente(elvalordelasealenelRLOyeltiempoenelprimeracumulador).La
instruccin SE T1 es la que realmente crea el temporizador y tiene que ir
obligatoriamente despus de las anteriores. Aunque no es estrictamente obligatorio,
se recomienda siempre escribir estas tres instrucciones juntas, ya que se corre el
riesgo de una contaminacin de los registros de la ALU no deseada antes de la
ejecucindelainstruccindeconfiguracin.
Attuloinformativo,elcdigoequivalentealbloqueKOPdelafigura11,para
eltemporizadoranterior.
//Configuracin del TEMPORIZADOR T1 de tipo SE en AWL

U Seal de disparo //Entrada de disparo (por flanco)


L S5T#10S2MS //En formato S5TIME (S5T#10M3S)
SE T1 //Tipo y nombre del temporizador

U Reset
R T1 //Entrada reset (por nivel)

U T1
= A 124.0 //Asigna a A124.0 la salida lgica Q

L T1
T MW10 //Asigna la salida DUAL a MW10

LC T1
T MW12 //Asigna la salida DEZ a MW12

1.3.1 TemporizadordepulsoSI
Lafigura13muestraelcomportamientodeltemporizadorSI.Eltemporizador
sigue a la entrada tras ser disparado y se desconecta cuando pasa el tiempo. Al no
tenermemoria,sedesactivasilasealdedisparocae.Lagrficatambinmuestrala
variacin de la salida DUAL correspondiente a la cuenta atrs desde que se puso en
marcha.

PPabloSanSegundo UniversidadPolitcnicadeMadridUPM

IntroduccinalmodeladoGRAFCET 6


Figura13.TemporizadordepulsoSI.

Ejercicio11.Programacindeunasealrectangularcontiemposde5sy10sparalos
nivelesbajoyaltorespectivamente

Una manera cmoda de construir seales rectangulares es encadenando dos


temporizadoresdepulsotalquecadaunomideeltiempodeunodelosnivelesdela
seal.LasiguientefiguramuestraunposiblediagramaSFC(izquierda)ysurealizacin
(derecha) en AWL donde la seal pedida corresponde a la evolucin de la variable
M1.0.

UN M1.0
L S5T#5s
SI T1 //TP1

UN T1
L S5T#10s
SI T2 //TP2

U T2
= M1.0

Figura14.Implementacindeunasealrectangular

Elprimertemporizadorsedisparaenelinicioyllevalacuentadeladuracin
delnivelbajodelaseal.Ladesactivacindesusalidasirvecomosealdemandoy
disparaeltemporizadorT2quemideeltiempodelnivelaltodelaseal.Mientraslos
temporizadoresestnenmarcha,elvalordeM1.0alfinaldelciclosecorrespondecon
laespecificacindelasalida.Porltimo,lostemporizadoresenmarchasiempretienen
lasealdedisparoanivelaltoporloquenonecesitanmemoria.

PPabloSanSegundo UniversidadPolitcnicadeMadridUPM

IntroduccinalmodeladoGRAFCET 7

1.3.2 TemporizadordepulsoprolongadoSV
La figura 15 muestra el comportamiento del temporizador de impulso
prolongado. Se comporta de manera similar al de pulso normal (SI) en la puesta en
marcha,perotienememorialuegocontinafuncionandoantelacadadelasealde
disparo.Finalmente,alserredisparablereinicialacuentaatrsanteunnuevoevento
disparo.Seindicaenlafiguraeleventoquereflejaambaspropiedades.


Figura15.TemporizadordepulsoprolongadoSV.

1.3.3 TemporizadorderetardoalaconexinSE
La figura 16 describe el comportamiento del TON sin memoria que ofrece
STEP7. Con la puesta en marcha el temporizador empieza la cuenta atrs pero no
sigue a la seal de disparo hasta que termina la cuenta. Como no tiene memoria el
temporizadorsedesactivaconelflancodebajadadelasealdedisparo.Activadala
salida lgica, el temporizador se mantiene en este estado hasta que cae la seal de
activacin.ElfuncionamientodelaentradaResetesanlogoaloscasosanteriorespor
loquesehaomitido.


Figura16.TemporizadorretardoalaconexinsinmemoriaSE.

PPabloSanSegundo UniversidadPolitcnicadeMadridUPM

IntroduccinalmodeladoGRAFCET 8
Ejercicio12.GeneraruntrendepulsoscadaXsegundos

Un tren de pulsos es una seal muy til como elemento de control interno pues se
puedenusarlospulsospararealizaraccionesendgenas(porejemploincrementarun
contador)oconstruirsealesperidicascuadradas.Sepuedeimplementarfcilmente
conuntemporizadorSEdelasiguientemanera:
//TREN DE PULSOS cada 5s en la marca M 1.0

UN M1.0
L S5T#5S
SE T1 //Configura el temporizador

U T1
= M1.0 //M1.0 = NOT(Q)

quesecorrespondeconelsiguientebloquenormalizado:

Figura17.Implementacindeuntrendepulsos

Merecelapenadetenerseunpocoenestecircuito.Enelinicio,lasealdisparo
M1.0 est desactivada y, por tanto, se pone en marcha T1. Al ser de tipo TON, su
estadonocambia(Q=0),lasealdedisparotampoco(IN=NOT(Q)=1)perocomienzala
cuenta atrs de los 5s. La situacin se mantiene estale hasta que T1 se desconecta
(Q=0) al finalizar la cuenta atrs, lo que provoca inmediatamente un nuevo disparo
(IN=NOT(Q)=1)ycomienzaunnuevociclo.LasealM1.0solamentetomaelvalor1en
elcicloscandeladesconexindeltemporizadorydura,comomximo,eltiempode
eseciclo.

Ejercicio13.GenerarunasealcuadradadeperiodoX

Como la seal es cuadrada solo existe un nico tiempo a medir y es posible realizar
una implementacin sucinta con un solo temporizador. La forma ms sencilla y
eleganteesempleareltrendepulsosdelejercicioanteriorparacambiarelestadode
unavariablebooleana.LaimplementacinenAWLrequiereunainstruccindeltipo:
IFFlancodesubidadeltrendepulsosTHENcambiaelestadodelavariable
ParaellosenecesitaenAWLalgunainstruccindesaltodentrodeunmismobloque
decdigo.LasmsempleadassonlosoperandosSPBySPBN:
SPB <Etiqueta>: El flujo de ejecucin salta a la instruccin que contiene la
etiqueta operando (y continua a partir de ah) siempre que RLO=1 en el
momentodelainterpretacin.

PPabloSanSegundo UniversidadPolitcnicadeMadridUPM

IntroduccinalmodeladoGRAFCET 9
SPBN <Etiqueta>: El flujo de ejecucin salta a la instruccin que contiene la
etiqueta operando (y continua a partir de ah) siempre que RLO=0 en el
momentodelainterpretacin.
Elcdigosolucinesunalgoritmoconstructivoquecomponelosnivelesaltoybajode
laseal,cadaunocontiempoT/2:
//Seal cuadrada en A 1.0 de periodo 10s

UN M1.0
L S5T#5S //Valor de carga la mitad del periodo
SE T1 //Configura el temporizador

U T1
= M1.0 //Tren de pulsos

U M1.0
FP M100.0 //RLO=1 si flanco de subida de un pulso

SPBN _001 //Si RLO=0 salta a _001

UN A1.0
= A1.0 //Cambio de estado de A1.0

_001: NOP 0 //Instruccin vaca

La instruccin NOP 0 es la instruccin No OPeration. Sirve para compilar una


instruccin sin contenido. En este caso se emplea como instruccin destino del salto
referenciadoporlaetiqueta_001.

Ejercicio14.Midaunacantidaddetiempode1000s

Los bloques de funcin en AWL no superan ninguno un valor de tiempo de carga


superioralos9990sporloqueesnecesarioencadenardoseventosdetemporizacin
consecutivosparallegaralos1000sdelenunciado.

//Evento M1.0=1 tras 1000s despus del evento E1.0 = 1

U E1.0
L S5T#9990s
SE T1 //Configura el primer temporizador con el tiempo max.

U T1
L S5T#10s //Carga el tiempo que falta hasta los 1000s
SE T2 //Dispara el temporizador con Q(T1)=0

U T2
= M1.0 //M1.0NOT(Q(T2))

SeeligenlosdostemporizadoresSEqueseconectanpasadoeltiempoconloquela
salidadecadatemporizadoresunasealdemando.Lasalidadelprimerodisparaal
segundo temporizador y la salida de este ltimo marca el evento deseado. Observe
quesieleventoE1.0cambiaradevalorlacuentaseparara.Si,apesardetodo, se
desea medir el intervalo de tiempo desde su activacin sera necesario emplear un
temporizadorTONconmemoria(SS).

PPabloSanSegundo UniversidadPolitcnicadeMadridUPM

IntroduccinalmodeladoGRAFCET 10
Se recomienda al lector que trate de implementar este ejercicio usando
temporizadoresdepulsosinmemoria.

1.3.4 TemporizadorderetardoaladesconexinSS
Este temporizador es la versin con memoria del TON anterior. La figura 18
describe su comportamiento. Los cronogramas reflejan el comportamiento esperado
habidacuentadequeestetemporizadortienememoriayesredisparable.Comonota
destacablehayquetenerencuentaqueestetemporizador,unavezactivadasusalida
lgica, requiere un evento Reset (por nivel, como siempre) para que la salida se
desactive.EstandoanivelaltoQ,noatiendeaeventosdedisparo.
Estacaractersticanoescompartidaporningunodelosotrostemporizadores,
y hay que tenerla muy presente. Se resume en que, una vez necesita un reinicio
explcitoparavolveraserutilizado.


Figura18.TemporizadorretardoalaconexinconmemoriaSS.

Ejercicio15.ProgramacindeunatransicinentredosetapasX2yX3condicionada
a que hayan transcurrido 3s desde la activacin de una etapa anterior X1 en otra
secuenciadelgrafcet.

Esta situacin es tpica, por ejemplo de un perro guardin que vigila si ha


finalizadoeltiempoparalarealizacindeunatareacompleja.Lasolucinapareceen
la figura 19. Los elementos clave se han resaltado en azul. En primer lugar se ha
elegido un temporizador de retardo a la conexin que es el operador estndar de
tiempo en el grafcet para definir receptividades, que se dispara con la etapa que
determinaeleventoatemporizar.

PPabloSanSegundo UniversidadPolitcnicadeMadridUPM

IntroduccinalmodeladoGRAFCET 11
U X1
L S5T#3s
SS T1

//

U "X2"
U T1
S "X3"
R "X2"
FP M100.0
R T1

Figura19.SolucinalejercicioX.

Aqu,lareceptividadamodelarseproduceentreetapasdistintasaleventode
temporizacinporloqueeltemporizadortienequeseguirlacuentaatrsaunquela
seal de disparo (la etapa 1) se desactive, es decir tiene que tener memoria. Esto
justificalaeleccindeltemporizadorSS,elnicoTONconmemoriaenAWL.
Finalmente, es necesario activar la entrada Reset del temporizador para que
pueda ser reutilizado la siguiente vez que el grafcet active la etapa1. En la
implementacin se utiliza el propio franqueamiento de la transicin como eventode
inicio.Seusaelflancoyaqueloseventosdearranquesontodostransitoriosqueno
deben durar ms de un ciclo. Este detalle de implementacin se ha recogido en el
propiografcet.

1.3.5 TemporizadorderetardoaladesconexinSA
Este es el nico temporizador de tipo TOFF programable en STEP7, tiene
memoriayesredisparable.Lafigura110resumesucomportamiento.


Figura110.TemporizadorderetardoaladesconexinSA.

PPabloSanSegundo UniversidadPolitcnicadeMadridUPM

IntroduccinalmodeladoGRAFCET 12
Alserderetardoaladesconexin,estetemporizadoractivasusalidalgicacon
elnivelaltodelasealdedisparo.Estandoconectadoytrasrecibirunflancodebajada
porlaentradadedisparoseponeenmarchaynosedesconecta(Q=0)hastaqueha
pasadoeltiempoestablecido.Alponerseenmarchaconelflancodebajadadelaseal
dedisparo,lamemoriatienequeverconelflancodesubidasiguienteyelredisparo
conunnuevoflacodebajada.

Ejercicio16.Programeelcontroldeunaluminariaparaqueseencienda3sdespus
de la activacin de un interruptor y se apague 5 segundos despus de la
desactivacindelinterruptor.

U "Interruptor"
L S5T#5s
SE T1

U "Interruptor"
L S5T#10s
SA T2

O T1
O T2
= "Luz"

Figura111.Activacinydesactivacintemporizadadeunaluz

La figura muestra un diagrama de escalera normalizado del automatismo


(izqda.)ylaimplementacinenAWL(dcha.).Eltemporizadorderetardoalaconexin
gestiona la activacin y el de retardo a la desconexin la desactivacin. Como el
accionamientoesdetipoenclavamiento,lasealdedisparosemantieneanivelalto
durante la cuenta atrs del temporizador TON luego no se necesita que tenga
memoria.

1.3.6 Accionestemporizadasenelgrafcet
LatraduccinaAWLdelasaccionesretardadasylimitadasdelaespecificacin
IEC611313semuestraenlafigura112.Enamboscasosseempleauntemporizador
sin memoria disparado por la etapa. En el caso de la accin retardada se emplea el
temporizador TON sin memoria (SE) y en el segundo caso el temporizador TP sin
memoria(SI).

PPabloSanSegundo UniversidadPolitcnicadeMadridUPM

IntroduccinalmodeladoGRAFCET 13
U "X2"
L S5T#0.5S
SE T1

U "X2"
U "c"
S "Nuevaetapa"
R "X2"

U T1
= "LuzON"
Accinretardada Accinretardada
U "X4"
L S5T#3S
SI T1

U "X4"
U "c"
S "Nuevaetapa"
R "X4"

U T1
= "LuzOn"
Accinlimitada Accinlimitada

Figura112.ImplementacindeaccioneslimitadasyretardadasenAWL

1.3.7 Consideracionesgeneralesdeuso
A la hora de incorporar elementos de temporizacin en la programacin es
importanteesimportantetenerencuentalassiguientesconsideracionesprcticas:
A) No escatimar en el uso de diferentes temporizadores: Como regla general se
recomiendausaruntemporizadorporcadaeventodetiempo.Lareutilizacin
detemporizadoresendiferentespuntosdelcdigohacenelprogramamenos
legible y mucho ms difcil de mantener, adems de aumentar
exponencialmenteelriesgodeerror.Estoesextensibletambinalosbloques
decontaje.
B) Usar, cuando se posible, temporizadores sin memoria: Son ms fciles de
manteneryaque,normalmente,eleventoquelosponeenmarchatambinlos
desactiva.Lostemporizadoresconmemoriarequierenunpocomsdecuidado
y se recuerda que el temporizador SS necesita un Reset explcito para su
reutilizacin,unavezqueQ=1.

PPabloSanSegundo UniversidadPolitcnicadeMadridUPM

IntroduccinalmodeladoGRAFCET 14
C) Emplearsolucionesestndarcuandoseaposible.Porejemplo,elretardoenla
desactivacin de una etapa es un temporizador TON sin memoria que se
disparaconlapropiaetapa(verseccin1.3.3).

1.4. CONTADORES
Un bloque funcin contador es un dispositivo dedicado a incrementar y
decrementar en una unidad un registro de la memoria de sistema. En AWL, este
registrosedireccionamediantelasintaxis:
Z<N> con 0 N
En el contexto de autmatas programables, el rango de los contadores est
acotado a valores enteros positivos. En el caso del los contadores en STEP7 solo
puedenllegara999,porrazonessimilaresalasvistasenelcasodetemporizadores:el
registrotiene16bitsyelvalordelcontadorocupalos3primerosbytesytieneformato
BCD.
EllenguajedecontactosdeSTEP7 ofreceelinterfazgeneralqueapareeenla
figura113paradeterminarelcomportamientodeuntemporizador.Comosiempreel
tringuloenlaentradasignificaqueseactivaporflanco,nopornivel.


Figura113.BloquecontadorgeneralenlenguajeKOPdeSTEP7

LasentradasZV,ZR,ZWylassalidassondetamaoWORD(16bits);elrestode
parmetros son booleanos. La seal de carga permite almacenar el nmero en la
entradaZW(conformatoBCD)comovalorinicial.FlancosdesubidaenZVyZRsuman
o restan una unidad al contador entre 0 y 999. Un flanco simultneo de ambos no
alteraelvalordelcontador,comotampocoloalteraordenesdesumasorestasenlos
lmitesdelrango.
Lasalidalgicadelcontador(Q)eselvalorlgicodelcontador(0Falsoymayor
que 0 Verdadero). Las salidas DUAL y DEZ son anlogas al bloque de temporizacin,
valordelcontadorencadainstanteenbinariooenformatoBCD.Laactivacindela
entrada Reset pone el contador a cero y funciona por nivel a diferencia del resto de
entradas.
Es importante tener en cuenta que la carga de un valor inicial habilita las
entradasSumayRestaparaquefuncionencomosealdemandoencuantosedetecte

PPabloSanSegundo UniversidadPolitcnicadeMadridUPM

IntroduccinalmodeladoGRAFCET 15
unnivelalto,independientementedesuvaloranterior.Elconceptodehabilitacinse
examinamsendetalleenlaseccin1.5.

ElcdigoenAWLquetraduceelbloqueKOPeselsiguiente:
//Configuracin del CONTADOR Z1 en AWL

U Seal de carga //Entrada de seal de carga


L C#25 //Valor inicial del contador a 25
S Z1 //Configura el valor inical del contador

U "Suma"
ZV Z1 //Configura la suma de una unidad

U "Resta"
ZR Z1 //Configura la resta de una unidad

U Reset
R Z1 //Configuira entrada de reset

U Z1
= A 124.0 //A124.0 Q

L Z1
T MW10 //Asigna la salida DUAL a MW10

LC Z1
T MW12 //Asigna la salida DEZ (BCD) a MW12

Lasintaxisesmuysimilaralcasodelosbloquesdetemporizacinynorequiere
excesiva explicacin. La vinculacin con las entradas lgicas se estable a travs del
valordelRLOenelmomentodelaejecucindelainstruccin.Laasignacindelvalor
delcontadorsehaceatravsdelasinstruccionesdecagaytransferenciayadescritas
(vercaptuloXXXparaunaexplicacinmsdetalladadeambosoperadores).
Para comprender bien la configuracin del boque contador es interesante
razonar acerca del resultado del siguiente trozo de un programa, en funcin de la
entradaE1.0.
SET //RLO1
ZV Z1
U E1.0
L C#4
S Z1 //DUAL4 y redispara las entradas "Suma" y "Resta"

Laprimeravezqueseejecutaelcdigoelvalordelcontadorsiempretomael
valorpordefecto0yZV Z1sumaunaunidadalcontador(RLO=1).Observequenolo
hace en los sucesivos ciclos porque solamente cuenta por flanco no por nivel. SI lo
hicierapornivel,sumariaunaunidadavelocidaddeciclo.EnelcicloenelqueE1.0=1
se carga el valor 4 en el contador y, como consecuencia, se habilitan las entradas
"Suma"y"Resta",conloqueelvalorfinaldelcontadorser4+1=5.

PPabloSanSegundo UniversidadPolitcnicadeMadridUPM

IntroduccinalmodeladoGRAFCET 16
Ejercicio17.Programaruntrende10pulsosconseparacinde10s

Solucin: Se aade un contador con valor inicial de 9 y se realiza una cuenta atrs,
detectandolemomentoenquesusalidalgicaesfalsa.Paracomprenderelcdigoes
importanterecordarquelasentadasdecarga,sumayrestafuncionanporflanco.
//TREN DE PULSOS cada 10s en la marca M 1.0

UN M1.0
L S5T#10S
SE T1

U T1
= M1.0

//CONTADOR DE 10 pulsos
SET
L C#9
S Z1 //Valor inicial9

U M1.0
ZR Z1 //Resta una unidad por cada pulso (flanco de subida)

U Z1

S "BitDeFin" //"BitDeFin"Q Z1) = 0. Se han contado 10 pulsos

//...

Ejercicio18.Indiquequehaydeincorrectoenlaimplementacinsiguiente

Lafigura114muestraunasituacinhabitualdondeunmismocontadoractualizasu
valorenfuncindelaactivacindediversasetapas.Laimplementacinpropuestano
es correcta porque en un mismo ciclo scan se presenta un nivel alto y bajo en la
entradasumacuandounadelasdosetapas2,4seactiva.Enconsecuencia,enlugar
de ver un nivel est viendo un flanco de subida en la entrada suma al evaluar la
instruccin ZV Z1 inmediatamente posterior a la instruccin de carga de la etapa
activaenelRLO.

PPabloSanSegundo UniversidadPolitcnicadeMadridUPM

IntroduccinalmodeladoGRAFCET 17

U "X2"
ZV Z1

//

U "X4"
ZV Z1

Figura114.Implementacinincorrectadelaconfiguracindeleventosumadeuncontador

Paraevitaresteproblemaesnecesarioagrupartodosloseventossumaenunanica
funcinlgicaqueseconectaalaentradadelcontador.Enconcreto:
U "X2"
O "X4" //RLOX2+X4
ZV Z1 //Suma una unidad cuando RLO=1 ((X2+X4) es verdadero)

Estaideadeagrupamientoserepiteenmuchosotroscontextos,comoporejemploen
laimplementacindelamismaaccincontinuacomoconsecuenciadelaactivacinde
diferentesetapas.

1.5. HABILITACINDETEMPORIZADORESYCONTADORES
EnensambladorSTEP7existeunoperadormuytilenlaprcticaqueborralas
memorias biestables asociadas a las entradas que funcionan por flanco. Estas
memorias equivalen a las marcas de flanco auxiliares que se emplean en la
caracterizacindelflanco.Msformalmente:
Sedenominahablitarunaentradaquefuncionaporflancoalborradodelamarcade
flanco que tiene asociada. En consecuencia si dicha entrada est activa por nivel
funcionarcomosealdemando
Laordendehabilitacinsiemprefuncionaporflanco,puestoqueesunaaccin
decontrolinternoynounaaccincontinua.Eloperadorqueseencargadehabilitaren
STEP7es:
FR<Identificadordebloquedetiempoodecontaje>
Elefectodelainstruccindependedelbloque:
FR<Temporizador>:FRborralamarcadeflancodelasealdedisparoconlo
queeltemporizadorseredisparasilasealestabaanivelalto.
FR <Contador>: FR borra las marcas de flanco de las entradas Suma y Resta,
conloqueelcontadorincrementarodecrementarsuvalorsialgunadeellas
estanivelaltoenelmomentodelaejecucindelainstruccin.

PPabloSanSegundo UniversidadPolitcnicadeMadridUPM

IntroduccinalmodeladoGRAFCET 18
EnlaprcticalainstruccinFRseempleaparamostrarelceroaltemporizador,esdecir
evitarqueunvalorespreodelamarcadeflancoenlaentradadedisparoimpidaque
eltemporizadorfuncionenormalmente,comoseverencaptulosposteriores.
U X2
ZV Z1
//
U a
FR Z1 //HabilitaZ1
//

Figura115.Ejemplodehabilitacindeuncontador

Como ejemplo, la figura 115 muestra un grafcet parcial que tiene una
implementacin sencilla en AWL con el uso del operador FR. El grafcet describe
contador que tiene que incrementar su valor cada vez que se activa la etapa 2 y
cuandoestandolaetapadosactiva,sevalidalacondicina.Aladerecha,elprograma
habilitaelcontadorconlapropiacondicin.




PPabloSanSegundo UniversidadPolitcnicadeMadridUPM

Vous aimerez peut-être aussi