20__las_interrupciones_en_e

Post on 07-Apr-2018

213 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

  • 8/6/2019 20__LAS_INTERRUPCIONES_EN_E

    1/9

    Las Interrupciones en el S7-200Las Interrupciones en el S7Las Interrupciones en el S7--200200

    Carlos Canto Q.Facultad de Ciencias / UASLP

    Autmatas Programables

    Ejecucin de rutina rpida en respuesta a unainterrupcin

    Autmatas Programables

    Lectura delestado

    de las entradas

    Lectura delestado

    de las entradas

    Comprobaciones

    y chequeos

    Comprobaciones

    y chequeos

    Ejecucin delprogramadel usuario

    Ejecucin delprogramadel usuario

    Actualizacin delestado de las

    salidas

    Actualizacin del

    estado de lassalidas

    Conexin conunidad de

    programacin

    Conexin conunidad de

    programacin

    Lectura delestado de

    entradas rpidas

    Lectura delestado de

    entradas rpidas

    Ejecucin de larutina rpida

    Ejecucin de larutina rpida

    Actualizacin delestado de las

    salidas rpidas

    Actualizacin delestado de las

    salidas rpidas

    interrupcininterrupcin

    CICLO NORMALCICLO NORMAL

    CICLO RPIDOCICLO RPIDO

  • 8/6/2019 20__LAS_INTERRUPCIONES_EN_E

    2/9

    Reglas para utilizar interrupcionesReglas para utilizar interrupcionesReglas para utilizar interrupciones

    El procesamiento de interrupciones permite reaccionarEl procesamiento de interrupciones permite reaccionar

    rrpidamente ante determinados eventos internos opidamente ante determinados eventos internos oexternos.externos. Las rutinas de interrupciLas rutinas de interrupcin se deben estructurar den se deben estructurar de

    forma queforma que -- una vez ejecutadas determinadas tareasuna vez ejecutadas determinadas tareas --devuelvan el control al programa principal. Para ello esdevuelvan el control al programa principal. Para ello esconveniente crear rutinas de interrupciconveniente crear rutinas de interrupcin cortas conn cortas conindicaciones precisas, de manera que se puedan ejecutarindicaciones precisas, de manera que se puedan ejecutarrrpidamente sin interrumpir otros procesos durantepidamente sin interrumpir otros procesos duranteperperodos demasiado largos.odos demasiado largos.

    Si no se observan estas medidas, es posible que seSi no se observan estas medidas, es posible que seproduzcan estados imprevistos que pueden afectar a laproduzcan estados imprevistos que pueden afectar a lainstalaciinstalacin controlada por el programa principal.n controlada por el programa principal.

    Carlos Canto Q.Facultad de Ciencias / UASLP

    Autmatas Programables

    Autmatas Programables

    INTERRUPCIONES EN UN PLCINTERRUPCIONES EN UN PLC

    CONTADOR RAPIDO

    GENERADOR DEPULSOS

    CONTADOR RAPIDO

    GENERADOR DEPULSOS

    POR UNA ENTRADA

    POR PUERTO DECOMUNICACIN

    POR UNA ENTRADA

    POR PUERTO DECOMUNICACIN

    EXTERNASEXTERNAS INTERNASINTERNAS

    POR HARDWAREO ASNCRONAS

    POR HARDWAREO ASNCRONAS

    SNCRONASO CCLICAS

    SNCRONASO CCLICAS

  • 8/6/2019 20__LAS_INTERRUPCIONES_EN_E

    3/9

    Carlos Canto Q.Facultad de Ciencias / UASLP

    Autmatas Programables

    Interrupciones del puerto de comunicacin:Interrupciones del puerto de comunicaciInterrupciones del puerto de comunicacin:n:

    El programa puede controlar el puerto serie deEl programa puede controlar el puerto serie de

    comunicacicomunicacin del S7n del S7--200.200.

    La comunicacin a travs de este puerto sedenomina modo Freeport (comunicacin programable

    por el usuario).

    En modo Freeport, el programa define la velocidad

    de transferencia, los bits por carcter, la paridad y el

    protocolo.

    Las interrupciones de transmisin y recepcin

    permiten controlar la comunicacin mediante el

    programa.

    Interrupciones de E/SInterrupciones de E/SInterrupciones de E/S

    Las interrupciones de E/S abarcan: interrupciones al producirse flancos positivos y negativos.

    interrupciones de los contadores rpidos, as como Interrupciones de salidas de impulsos.

    El S7-200 puede generar una interrupcin en los flancospositivos y/o negativos de una entrada (bien sea I0.0, I0.1,I0.2, o bien I0.3).

    Los eventos Flanco positivo y Flanco negativo se puedencapturar para cada una de esas entradas. Estos eventostambin sirven para indicar una condicin que requieraatencin inmediata en cuanto se produzca el evento.

    Autmatas Programables

  • 8/6/2019 20__LAS_INTERRUPCIONES_EN_E

    4/9

    Interrupciones de E/SInterrupciones de E/SInterrupciones de E/S

    Las interrupciones de los contadores rLas interrupciones de los contadores rpidos permiten responderpidos permiten responderrrpidamente a condiciones tales como:pidamente a condiciones tales como:

    a) el valor actual ha alcanzado el valor predeterminado,a) el valor actual ha alcanzado el valor predeterminado,

    b) el sentido deb) el sentido de

    contajecontaje

    ha cambiado de forma inversa al sentido de giroha cambiado de forma inversa al sentido de giro

    deldel rbol de accionamiento yrbol de accionamiento yc) el contador se ha puesto ac) el contador se ha puesto a 0" externamente0" externamente..

    Todos estos eventos de los contadores rTodos estos eventos de los contadores rpidos permiten reaccionarpidos permiten reaccionarante eventos que no se puedan controlar durante el tiempo de cicante eventos que no se puedan controlar durante el tiempo de ciclolodel sistema de automatizacidel sistema de automatizacinn..

    Las interrupciones de salida de impulsos avisan inmediatamenteLas interrupciones de salida de impulsos avisan inmediatamentecucundo ha finalizado la salida del nndo ha finalizado la salida del nmero indicado de impulsos. Pormero indicado de impulsos. Porlo general, las salidas de impulsos se utilizan para controlar mlo general, las salidas de impulsos se utilizan para controlar motoresotorespaso a paso.paso a paso.

    Carlos Canto Q.Facultad de Ciencias / UASLP

    Autmatas Programables

    Autmatas Programables

    CLK

    RESET

    UP/DOWN

    RUN

    CPUCPUCONTADOR

    RPIDO

    CONTADORRPIDO

    GENERADORDE PULSOS

    ( PTOY

    PWM )

    GENERADORDE PULSOS

    ( PTOY

    PWM )

    Tren de pulsos

    PWM

    intint intint

    Interrupciones generadas por hardware interno

  • 8/6/2019 20__LAS_INTERRUPCIONES_EN_E

    5/9

    Interrupciones temporizadasInterrupciones temporizadasInterrupciones temporizadas Una vez habilitada, la interrupcin temporizada funciona de forma

    continua, ejecutando la rutina asociada cada vez que transcurre elintervalo de tiempo indicado. La interrupcin temporizada se inhibesaliendo del modo RUN o desasocindola de la rutinacorrespondiente.

    Si se ejecuta la operacin Inhibir todos los eventos de interrupcin,se siguen generando interrupciones temporizadas, pero se ponenen cola de espera (hasta que se habiliten nuevamente o hastallenarse la cola).

    Las interrupciones de los temporizadores T32 y T96 permitenreaccionar una vez transcurrido un determinado intervalo de tiempo.Estas interrupciones se soportan nicamente en T32 y T96, siendostos temporizadores como retardo a la conexin (TON) y a ladesconexin (TOF) con resolucin de 1 ms. Por lo dems, elcomportamiento de T32 y T96 es normal.

    Una vez habilitada la interrupcin, la rutina asociada se ejecutarcuando el valor actual del temporizador activo sea igual a su valorde preseleccin al actualizar el S7-200 el temporizador de 1 ms.Estas interrupciones se habilitan asociando las correspondientesrutinas de interrupcin a los eventos de temporizacin T32/T96.

    Carlos Canto Q.Facultad de Ciencias / UASLP

    Autmatas Programables

    Interrupciones temporizadasInterrupciones temporizadasInterrupciones temporizadas Las interrupciones temporizadas comprenden tambin las de los

    temporizadores T32/T96. Estas interrupciones se utilizan para indicartareas que deban ejecutarse cclicamente. El tiempo de ciclo se incrementaen intervalos de 1 ms, abarcando desde 1 ms hasta 255 ms.

    El tiempo de ciclo de la interrupcin temporizada 0 se debe escribir enSMB34, y el de la interrupcin temporizada 1, en SMB35.

    Cada vez que termina la temporizacin, el evento de interrupcintemporizado transfiere el control a la rutina de interrupcin correspondiente

    . Por lo general, las interrupciones temporizadas se utilizan para controlar elmuestreo de las entradas analgicas o para ejecutar un bucle PID enintervalos regulares.

    Asociando un evento de interrupcin temporizado a una rutina deinterrupcin, se habilita el evento e inmediatamente se empieza atemporizar. Durante ese proceso, el sistema captura el valor del tiempo deciclo, de forma que los cambios siguientes en SMB34 y SMB35 no lopueden alterar. Para poder modificar el tiempo de ciclo se deber cambiarel valor del mismo y reasociar luego la rutina de interrupcin al evento de lainterrupcin temporizada. Al reasociar la rutina de interrupcin, la funcinborra los tiempos acumulados de la asociacin anterior, con lo cual sevuelve a temporizar a partir del nuevo valor.

    Autmatas Programables

  • 8/6/2019 20__LAS_INTERRUPCIONES_EN_E

    6/9

    OPERACIONES DE INTERRUPCIN

    Carlos Canto Q.Facultad de Ciencias / UASLP

    Autmatas Programables

    La operacin Habilitar/Deshabilitar todos los

    eventos de interrupcin

    ((ENI) habilita la ejecuciENI) habilita la ejecucin de todos los eventosn de todos los eventos

    asociados.asociados. La operaciLa operacin Inhibir todos los eventos den Inhibir todos los eventos de

    interrupciinterrupcin (DISI) inhibe la ejecucin (DISI) inhibe la ejecucin de todosn de todoslos eventos asociados.los eventos asociados.

    Cuando la CPU pasa a modo RUN, lasCuando la CPU pasa a modo RUN, lasinterrupciones se inhiben.interrupciones se inhiben.

    En modo RUN es posible habilitar elEn modo RUN es posible habilitar elprocesamiento de las interrupciones con laprocesamiento de las interrupciones con laoperacioperacin Habilitar todos los eventos den Habilitar todos los eventos de

    interrupciinterrupcin.n. Ejecutando la operaciEjecutando la operacin Inhibir todos losn Inhibir todos loseventos de interrupcieventos de interrupcin se inhibe eln se inhibe elprocesamiento de las interrupciones. Noprocesamiento de las interrupciones. Noobstante, los eventos de interrupciobstante, los eventos de interrupcin activos sen activos sesiguen poniendo en la cola de espera.siguen poniendo en la cola de espera.

    Autmatas Programables

    ENI

    DISI

  • 8/6/2019 20__LAS_INTERRUPCIONES_EN_E

    7/9

    La operaciLa operacin Asociar interrupcin Asociar interrupcin (ATCH)n (ATCH)

    asocia el nasocia el nmero de una rutina de interrupcimero de una rutina de interrupcin (INT)n (INT)a un evento de interrupcia un evento de interrupcin (EVNT), habilitando asn (EVNT), habilitando assteste ltimo.ltimo.

    Antes de poder llamar a una rutina de interrupciAntes de poder llamar a una rutina de interrupcinnes preciso establecer un enlace entre el evento dees preciso establecer un enlace entre el evento deinterrupciinterrupcin y la parte del programa que se deseen y la parte del programa que se deseeejecutar cuando se presente el evento.ejecutar cuando se presente el evento.

    La operaciLa operacin Asociar interrupcin Asociar interrupcin sirve para asignarn sirve para asignarel evento de interrupciel evento de interrupcin (indicado por el nn (indicado por el nmero demero deevento) a una parte del programa (indicada por elevento) a una parte del programa (indicada por elnnmero de la rutina de interrupcimero de la rutina de interrupcin).n).

    TambiTambin es posible asociar varios eventos den es posible asociar varios eventos deinterrupciinterrupcin a unan a una nica rutina de interrupcinica rutina de interrupcin.n. Por el contrario, no se puede asociar un sPor el contrario, no se puede asociar un slo eventolo evento

    a distintas rutinas.a distintas rutinas.

    Carlos Canto Q.Facultad de Ciencias / UASLP

    Autmatas Programables

    ATCH

    EN

    INT

    EVENT

    DTCH

    EN

    EVENT

    Si se inhiben todos los eventos de interrupciSi se inhiben todos los eventos de interrupcin, cada vezn, cada vez

    que se presente la interrupcique se presente la interrupcin se pondrn se pondr en cola deen cola deespera hasta que las interrupciones se habiliten deespera hasta que las interrupciones se habiliten denuevo (utilizando para ello la operacinuevo (utilizando para ello la operacin Habilitar todosn Habilitar todoslos eventos de interrupcilos eventos de interrupcin), o bien hasta que sen), o bien hasta que sedesborde la cola de espera de interrupcionesdesborde la cola de espera de interrupciones..

    TambiTambin es posible inhibir ciertos eventos den es posible inhibir ciertos eventos deinterrupciinterrupcin, eliminando la asociacin, eliminando la asociacin entre el evento yn entre el evento y

    la correspondiente rutina mediante la operacila correspondiente rutina mediante la operacinnDesasociar interrupciDesasociar interrupcin (DTCH).n (DTCH).

    Esta operaciEsta operacin retorna la interrupcin retorna la interrupcin a un estadon a un estadoinactivo o ignorado.inactivo o ignorado.

    Autmatas Programables

    La operaciLa operacin Asociar interrupcin Asociar interrupcin (ATCH)n (ATCH)

  • 8/6/2019 20__LAS_INTERRUPCIONES_EN_E

    8/9

    Descripcin de los eventos de interrupcinDescripciDescripcin de los eventos de interrupcin de los eventos de interrupcinn

    Carlos Canto Q.Facultad de Ciencias / UASLP

    Autmatas Programables

    Autmatas Programables

    en el primer ciclo, definir que la rutina de interrupcin INT_0sea una interrupcin de flanco negativo en I0.0 y habilitar

    todas las interrupciones.

    Si se detecta un error de E/S, inhibir la interrupcin de flanconegativo en I0.0. (Este segmento es opcional)

    Si M5.0 est activada, inhibir todas las interrupciones.

    Rutina de interrupcin 0Rutina de interrupcin de flanco negativo en I0.0.Retorno condicionado debido a un error de E/S

    1er. Ejemplo de una rutina de interrupci1er. Ejemplo de una rutina de interrupcin :n :

    I0.0 disparo por flancoI0.0 disparo por flanco

  • 8/6/2019 20__LAS_INTERRUPCIONES_EN_E

    9/9

    Carlos Canto Q.Facultad de Ciencias / UASLP

    Autmatas Programables

    2 Ejemplo de una rutina de interrupcin:

    interrupcin temporizada de 100 ms

    22 Ejemplo de una rutina de interrupciEjemplo de una rutina de interrupcin:n:

    interrupciinterrupcin temporizada de 100n temporizada de 100 msms

    Programa principalEn el primer ciclo, llamar a la subrutina 0

    Subrutina 0Ajustar de 0 a 100 ms el intervalo de tiempo de la

    interrupcin temporizada

    Asociar la interrupcin temporizada 0 (evento 10) a INT_0.

    Habilitar todos los eventos de interrupcin

    Rutina de interrupcin 0Leer el valor de AIW4 cada 100 ms

    Autmatas Programables

top related