You are on page 1of 31

Ejecucin Especial

Automatizacin Industrial

ndice
TEMA Ejecucin Especial 1. Ejecucin de Programas 2. Ejecucin Cclica de Programas 2.1 Tiempos de Ciclo 2.2 Programacin del OB1 3. Ejecucin en el Arranque 4. Ejecucin por Interrupciones 5. Ejecucin por Tiempo Alarmas Cclicas 6. Ejecucin por Tiempo Alarmas Horarias 7. Ejecucin por Tiempo Alarmas de Retardo 8. Ejecucin por Error Alarmas de Error

Ejecucin de Programas Mdulos de Organizacin

OB10 : Interrupcin Horaria OB1 se ejecuta continuamente OB82: Error Asncrono ... a menos que sea interrumpido por otro OB

Mdulos de Organizacin (OBs)


OB1
Programa Principal Ejecucin cclica hasta ser interrumpido por un OB con una ms alta prioridad. Una vez interrumpido por el sistema operativo el OB1 rompe su ciclo y ejecuta el OB requerido. El sistema operativo llama a otros OBs para utilizarlos: Ejemplo de OB10: Ejecuta este mdulo cada minuto. Empieza a las 9:00 Ejemplo de OB20: Ejecuta este mdulo 2.35 despus de detectar un evento Ejemplo de OB82: Ejecuta este mdulo si hay un cortocircuito en la entrada analgica PIW532

Almacenamiento de Datos de un OB Interrumpido


Pila de Interrupcin (Pila I) Contenido acumuladores ACCU1,ACCU2 El sistema llama a un nuevo OB Contenido registros direcciones AR1, AR2 Contenido registros mdulos datos DB, DI Puntero en la Pila L
Palabra Estado, Registro MCR, Puntero Pila B

Antes de ejecutar el nuevo OB, se salvan los registros del mdulo interrumpido

Pila de Mdulo (Pila B) Registros DB y DI Puntero de datos temporales (pila L) Nmero de Mdulo Direccin de retorno

OBs de Error y de Interrupcin


Los OBs se encuadran dentro de dos categoras; sus respectivas funciones determinan qu dispara el punto de ruptura del OB que se est ejecutando. OBs que realizan tareas peridicas (Interrupcin Horaria) Se ejecuta en una fecha u hora del da especificada Se ejecuta tras una demora especificada despus de un evento Se ejecuta en un ciclo especificado OBs que reaccionan a condiciones de error (Interrupcin Error) Se ejecuta si la CPU detecta un error de proceso o de hardware Se ejecuta si la CPU detecta un error que no est relacionado con una instruccin especfica del programa Se ejecuta si la CPU detecta un error que puede ser asociado al procesamiento de una instruccin especfica del programa

Mdulos de Organizacin de Alarmas


Tipo de Alarma Ciclo libre Alarmas horarias Alarmas de retardo Alarmas cclicas Alarmas de proceso Errores asncronos Arranque Errores sncronos OBs Prioridad Comentarios OB1 1 Bloque de organizacin para la (OB1) ejecucin cclica OB 10 a OB 17 2 Bloques de organizacin para la (OB 10) alarma horaria (OB 10 a OB 17) OB 20 a OB 23 3a6 Bloques de organizacin para (OB 20) alarma de retardo (OB 20 a OB 23) OB 30 a OB 38 7 a 15 Bloques de organizacin de alarma (OB 35) cclica (OB 30 a OB 38) OB 40 a OB 47 16 a 23 Bloques de organizacin de alarma (OB 40) de proceso (OB 40 a OB 47) OB 80 a OB 87 26 28 Bloques de organizacin para el (OB 82) tratamiento de errores OB 100 a OB 102 27 Bloques de organizacin de (OB 100) arranque (OB 100/OB 101/OB 102) OB 121 y OB 122 Bloques de organizacin para el tratamiento de errores

Otros OBs soportados por la CPU 315: OB 80, OB 81, OB 85, OB 87, OB 121 y OB122

Ejecucin Cclica de Programas


La ejecucin ms comn es la ejecucin cclica Existen otros tipos de ejecuciones conducidas por eventos En la mayora de los casos, la ejecucin de un programa conducido por eventos es un aadido a la ejecucin cclica El programa principal es invocado desde el OB1: se ejecuta con el nivel ms bajo de prioridad puede ser interrumpido por todos los otros tipos de procesamiento del programa Al finalizar la ejecucin del OB1 se actualizan las imgenes del proceso Si se presenta un error en la actualizacin de las imgenes se llama al OB 85 (programa que se ejecuta ante errores) Si no existe el OB 85, la CPU pasa a STOP

Tiempo de Ciclo (I)


El tiempo de ejecucin del programa del OB 1 es supervisado El valor por defecto es 150 mseg. Se puede ajustar desde 1 mseg a 6 segundos en la configuracin de la CPU Si el tiempo de procesamiento del programa principal es mayor que el tiempo fijado, llama al OB 80 (error de tiempo). Si el OB 80 no existe la CPU pasa a modo STOP. El tiempo de ciclo ajustado debe cubrir: El tiempo de procesamiento del OB1. Actualizacin de las imgenes El tiempo de procesamiento de interrupciones de alta prioridad Procesos de comunicacin del sistema operativo Acceso a la CPU desde un dispositivo de programacin

SFC 43 RE_TRIGR: Arrancar de nuevo el tiempo de vigilancia de ciclo


Inicia de nuevo el tiempo de vigilancia de ciclo No tiene parmetros

Tiempo de Ciclo (II)


El tiempo de ciclo es el tiempo que el S.O. necesita para: ejecutar el programa cclico partes del programa que interrumpen al cclico (ejecucin otros OBs) actividades del sistema (p.e. actualizacin de imgenes, ..) El tiempo de ciclo se vigila El tiempo de ciclo no es igual para cada ciclo

Tiempo de Ciclo (III) Marcas de Ciclo

Variables Locales del OB1


Variable
OB1_EV_CLASS OB1_SCAN_1

Tipo de datos Descripcin


BYTE BYTE Clase de evento e identificadores: B#16#11: activo Informacin de arranque B#16#01: Conclusin del rearranque completo(caliente) B#16#02: Conclusin del rearranque B#16#03: Conclusin del ciclo libre B#16#04: Conclusin del arranque en fro BYTE Prioridad: 1 BYTE Nmero de OB (01) BYTE Reservado BYTE Reservado INT Tiempo de ejecucin del ciclo anterior (ms) INT Tiempo de ciclo mnimo (ms) desde el ltimo arranque INT Tiempo de ciclo mximo (ms) desde el ltimo arranque DATE_TIME Fecha y hora en que se solicit el OB

OB1_PRIORITY OB1_OB_NUMBR OB1_RESERVED_1 OB1_RESERVED_2 OB1_PREV_CYCLE OB1_MIN_CYCLE OB1_MAX_CYCLE OB1_DATE_TIME

SFCs Diagnstico
SFC 6 RD_INFO: Leer informacin de arranque del OB actual
Parmetro RET_VAL TOP_SI Declaracin Tipo de datos Area de memoria Descripcin OUTPUT INT E, A, M, D, L Informacin de error OUTPUT STRUCT D, L Informacin de arranque del OB actual START_UP_SI OUTPUT STRUCT D, L Informacin de arranque del ltimo OB activado

SFCs Gestin del Reloj en Tiempo Real


SFC 0 SET_CLK. Ajustar la hora
Parmetro Declaracin Tipo de datos Area de memoria Descripcin PDT INPUT DT D, L, Entrada PDT para indican fecha y hora que se desea ajustar RET_VAL OUTPUT INT E, A, M, D, L Parmetro con cdigo de error.

SFC 1 READ_CLK. Leer la hora


Parmetro Declaracin Tipo de datos Area de memoria Descripcin RET_VAL OUTPUT INT E, A, M, D, L Parmetro con cdigo de error CDT OUTPUT DT D, L En la salida CDT se emiten la fecha y la hora actuales.

SFC 64 TIME_TCK: Leer el cronmetro del sistema


Parmetro Declaracin Tipo de datos Area de memoria Descripcin RET_VAL OUTPUT TIME E, A, M, D, L El parmetro tiene el cronometro del sistema, comprendido entre 0 a 2elevado a 311 ms.

SFCs Gestin del Contador de Horas de Funcionamiento (I)


SFC 2 SET_RTM: Ajustar contador de horas de funcionamiento
Parmetro Declaracin Tipo de datos Area de memoria Descripcin NR INPUT Byte E, A, M, D, L, Nmero del contador de horas Const. de funcionamiento que se desea ajustar. Valores posibles: 0a 7. PV INPUT INT E, A, M, D, L, Contiene ajuste para el contador Const. de horas de funcionamiento. RET_VAL OUTPUT INT E, A, M, D, L Parmetro con cdigo de error

SFC 3 CTRL_RTM: Arrancar y parar contador de horas de funcionamiento


Parmetro Declaracin Tipo de datos Area de memoria Descripcin NR INPUT Byte E, A, M, D, L, Nmero del contador de horas Const. de funcionamiento que se desea arrancar o parar. Valores (0 - 7) S INPUT BOOL E, A, M, D, L, Arranca o para el contador Const. Se para con 0, arranca con1 RET_VAL OUTPUT INT E, A, M, D, L Parmetro con cdigo de error

SFCs Gestin del Contador de Horas de Funcionamiento (II)


SFC 4 READ_RTM: Leer el contador de horas de funcionamiento
Parmetro Declaracin Tipo de datos Area de memoria NR INPUT Byte E, A, M, D, L, Const. CQ OUTPUT BOOL E, A, M, D, L CV OUTPUT RET_VA L OUTPUT INT INT E, A, M, D, L E, A, M, D, L Descripcin Nmero del contador de horas de funcionamiento. Valores: 0 a 7. Indica si contador est en marcha o parado. Un 0 indica parado. Un 1 indica en marcha. Emite el valor actual del contador. Parmetro con cdigo de error

SFCs Varios
SFC 25 COMPRESS: Comprimir la memoria de usuario
Parmetro Declaracin Tipo de datos Area de memoria Descripcin RET_VAL OUTPUT INT E, A, M, D, L Informacin de error BUSY OUTPUT BOOL E, A, M, D, L Informacin si est activada la compresin con la SFC 25 (1si) DONE OUTPUT BOOL E, A, M, D, L Informa. si proceso a finalizado con con xito (1 significa xito)

SFC 46 STP. Poner la CPU en stop


No tiene parmetros

SFC 47 WAIT:. Retarda el tratamiento del programa de usuario


Parmetro Declaracin Tipo de datos Area de memoria Descripcin WT INPUT INT E, A, M, D, L El parmetro WT contiene el tiempo de retardo en ms.

Ejecucin en el Arranque
Previamente a que la CPU ejecute el programa principal se puede ejecutar una rutina de arranque Mediante los mdulos de ejecucin en el arranque es posible fijar el comportamiento del autmata antes de la primera ejecucin del programa El mdulo de organizacin asignado a cada tipo de arranque se ejecuta una sola vez en cada arranque Mientras se ejecutan los mdulos asignados al arranque no est activada la vigilancia de tiempo de ciclo La CPU tiene 4 posibles estados, STOP, STARTUP, HOLD y RUN El relacionado con la fase de arranque se denomina STARTUP

Modos de Operacin de las CPUs (I)


2 5 1

STARTUP
7

STOP
8 4

RUN
6

HOLD

(1) Alimentacin al equipo. La CPU pasa a modo STOP (2) Si la llave esta en RUN o RUN-P, la CPU pasa a modo STARTUP (3) Posteriormente a modo RUN (4)(5) Error no reconocido o cambio de posicin de la llave, paso a STOP (6)(7) En el modo HOLD el programa de usuario es testeado. Se puede conmutar a este modo desde STARTUP o RUN y retornar al modo original cuando el test es interrumpido (8) Se puede llevar la CPU a STOP desde el modo HOLD El comportamiento en el arranque se define en la configuracin de la CPU

Modos de Operacin de las CPUs (II)


Existen tres modos de arrancar el equipo arranque en fro (cold restart) arranque completo arranque en caliente (warm restart) En el arranque en fro o completo, el programa principal se ejecuta desde el comienzo. En un arranque en caliente, continua el programa principal en el punto de interrupcin y finaliza el ciclo. Cada modo de arranque tiene asignado un mdulo de organizacin arranque completo, OB 100 arranque en fro, OB 102 arranque en caliente, OB 101 si no existen ninguno de estos mdulos se pasa al programa principal En los modos STOP o HOLD los mdulos de salida no estn operativos Cuando la ejecucin cclica comienza, los mdulos estn liberados En el arranque en fro o completo, las imgenes del proceso son puestas a cero Desde el OB 100 y OB 102, se pueden consultar entradas y activar salidas accediendo a periferia.

Modo STOP
Las CPUs se ponen en STOP: cuando esta seleccionado este modo con la llave cuando se conmuta de RUN a STOP cuando se presenta un error no reconocible en la ejecucin del programa cuando se ejecuta la SFC 46 (STOP) cuando se solicita desde el dispositivo de programacin La CPU introduce la razn del STOP en el buffer de diagnstico, que puede ser consultado con el aparato de programacin En modo STOP el programa de usuario no es ejecutado En modo STOP se puede hacer un reset de la memoria de usuario: desde el selector de la CPU desde el aparato de programacin

Variables Locales de los OBs de Arranque


Variable OB100_EV_CLASS OB100_STRTUP Tipo de datos Descripcin BYTE Clase de evento e indicativos: B#16#13: activado BYTE Solicitud de arranque:
B#16#81: Sol. manual de rearranque completo (en caliente) B#16#82: Sol. automtica de rearranque completo (en caliente) B#16#83: Sol. manual de rearranque B#16#84: Sol. automtica de rearranque B#16#85: Sol. manual de arranque en fro B#16#86: Sol. automtica de arranque en fro

OB100_PRIORITY BYTE OB100_OB_NUMBR BYTE OB100_RESERVED_1 BYTE OB100_RESERVED_2 BYTE OB100_STOP WORD OB100_STRT_INFO DWORD

Prioridad: 27 Nmero de OB (100, 101 102) Reservado Reservado Nmero del evento que ha llevado la CPU a STOP Informaciones complementarias sobre el arranque actual (tabla) OB100_DATE_TIME DATE_TIME Fecha y hora a las que se solicit el OB

Arranque Completo
Arranque completo
Inhibir mdulos de salida Borrar datos no remanentes

RUN

Inicializar mdulos Ejecutar OB 100 Actualizar imagen proceso de entradas Liberar mdulos de salida

Transferir imagen proceso de salidas Actualizar imagen proceso de entradas Programa principal OB 1

Borrar imagen del proceso de entradas

Borrar imagen del proceso de salidas

Reset salidas del proceso

SFCs Para Programar OBs de Arranque


Las Funciones de Sistema integradas (SFCs) permiten direccionar mdulos y realizar comprobaciones previas a la ejecucin cclica del programa

SFCs para direccionar mdulos: SFC 5 GADR_LGC SFC 49 LGC_GADR SFC 50 RD_LGADR

Determinar la direccin lgica de un canal Determinar el slot de una direccin lgica Determinar direcciones lgicas de un mdulo

SFCs para transferir a registros: SFC 54 RD_DPARM SFC 55 WR_PARM SFC 56 WR_DPARM SFC 57 PARM_MOD SFC 58 WR_REC SFC 59 RD_REC

Leer parmetros definidos Escribir parmetros dinmicos Escribir parmetros predefinidos Parametizar mdulo Escribir registros Leer registro

SFC 5
Parmetro Declaracin Tipo de datos Area de memoria Descripcin SUBNETID INPUT BYTE E, A, M, D, L Identificador del rea: Const. - 0, en caso que el slot est en bastidor central o de ampliacin RACK INPUT WORD E, A, M, D, L, Nmero del bstidor en el caso de Const. Identificador de rea = 0 SLOT INPUT WORD E, A, M, D, L, No de slot Const. SUBSLOT INPUT BYTE E, A, M, D, L, Receptculo de submdulo Const. (sin submdulo 0) SUBADDR INPUT WORD E, A, M, D, L, Offset en el espacio de direcciones Const. de datos tiles del mdulo RET_VAL OUTPUT INT E, A, M, D, L Informaciones de error IOID OUTPUT BYTE E, A, M, D, L Identificador del rea:
B#16#54: Entrada de periferia (PE) B#16#55: Salida de periferia (PA)

LADDR

OUTPUT

WORD

E, A, M, D, L

Direccin lgica del canal

SFC 49
Parmetro Declaracin Tipo de datos Area de memoria Descripcin IOID INPUT BYTE E, A, M, D, L, Identificador del rea: B#16#54: Entrada de periferia (PI) Const.
B#16#55: Salida de periferia (PQ)

LADDR RET_VAL AREA

INPUT

WORD

OUTPUT INT OUTPUT BYTE WORD WORD WORD

E, A, M, D, L, Const. E, A, M, D, L E, A, M, D, L E, A, M, D, L E, A, M, D, L E, A, M, D, L

Direccin lgica Informaciones de error Identificador del rea: Indica cmo interpretar el resto de los parmetros de salida. No. de bastidor No. de slot Offset en el espacio de direccin de datos tiles del mdulo

RACK OUTPUT SLOT OUTPUT SUBADDR OUTPUT

SFC 50
Parmetro Declaracin Tipo de datos Area de memoria Descripcin IOID INPUT BYTE E, A, M, D, L, Identificador del rea: B#16#54: Entrada de periferia (PI) Const.
B#16#55: Salida de periferia (PQ)

LADDR RET_VAL PEADDR

INPUT OUTPUT OUTPUT

WORD INT ANY INT ANY INT

E, A, M, D, L, Const. E, A, M, D, L E, A, M, D, L E, A, M, D, L E, A, M, D, L E, A, M, D, L

Una direccin lgica Informaciones de error Campo para direcciones PI, elementos de campo deben ser del tipo de datos WORD. Cantidad de direcciones PI devueltas Campo para las direcciones PA; los elementos de campo deben ser del tipo de datos WORD. Cantidad de direcciones PA devueltas

PECOUNT OUTPUT PAADDR OUTPUT

PACOUNT OUTPUT

Ejecucin por Interrupciones


El manejo de las interrupciones es siempre llevada por eventos Cuando se presenta un evento, el sistema operativo interrumpe la ejecucin del programa principal y llama a la rutina de atencin al evento particular Cuando finaliza la rutina de atencin al evento, el sistema operativo retorna al programa principal continuando en el punto en el que se produjo la interrupcin Existen varios tipos de ejecuciones conducidas por eventos En la mayora de los casos, la ejecucin de un programa conducido por eventos es un aadido a la ejecucin cclica Las ejecuciones conducidas por eventos admiten una prioridad La ejecucin se puede permitir o inhibir con las SFCs de gestin de eventos de alarma: SFC 39 DIS_IRT SFC 40 EN_AIRT SFC 41 DIS_AIRT SFC 42 EN_IRT

Interrupciones del Hardware (I)


Las interrupciones de hardware permiten detectar inmediatamente en el programa de usuario eventos ocurridos en el control del proceso STEP 7 ofrece los OB 40 a OB 47 para la ejecucin por interrupcin En la CPU 315 soporta nicamente el OB 40 con prioridad 16 por defecto Las interrupciones se parametrizan en la configuracin del hardware Se pueden parametrizar los mdulos con capacidad de interrupcin en fase de ejecucin con las SFCs para transferir registros: SFC 55 WR_PARM Escribir parmetros dinmicos SFC 56 WR_DPARM Escribir parmetros predefinidos SFC 57 PARM_MOD Parametrizar mdulo Por defecto las interrupciones de hardware no estn permitidas se puede especificar si se tiene que producir la interrupcin con el evento se permite modificar los parmetros dinmicamente (RUN) con SFCs Las interrupciones de hardware son reconocidas en el mdulo cuando el mdulo de organizacin que contiene la rutina de atencin a la interrupcin ha finalizado su ejecucin

Interrupciones del Hardware (II)


En la rutina de arranque los mdulos no generan interrupciones hardware El manejo de las interrupciones comienza con la transicin a RUN Si una interrupcin hardware es generada pero no hay OB de atencin a la misma, el S.O. llama al OB 85 (ejecucin por error). Si el OB 85 no ha sido programado la CPU se va a stop Las llamadas a los OBs pueden ser bloqueadas o habilitadas con las SFCs: SFC 39 DIS_IRT Bloquear tratamiento de nuevos eventos de alarma SFC 40 EN_IRT Habilitar tratamiento de nuevos eventos de alarma Pueden ser retrasadas y habilitadas con los SFCs: SFC 41 DIS_AIRT Retardar el tratamiento de eventos de alarmas SFC 42 EN_AIRT Habilitar el tratamiento de eventos de alarmas

Configuracin Hardware de Alarmas del Proceso

Variables Locales de OBs de Alarma del Proceso


Variable OB40_EV_CLASS OB40_STRT_INF Tipo de datos Descripcin BYTE Clase de evento e identificadores: BYTE
B#16#11: Alarma est activada B#16#41: Alarma a travs de lnea de interrupcin 1 B#16#42: Alarma a travs de lnea de interrupcin 2 (S7400) B#16#43: Alarma a travs de lnea de interrupcin 3 (S7400) B#16#44: Alarma a travs de lnea de interrupcin 4 (S7400)

OB40_PRIORITY OB40_OB_NUMBR OB40_RESERVED_1 OB40_IO_FLAG

Prioridad parametrizada; valor prefijado: de 16 a 23 Nmero de OB (40 hasta 47) Reservado Mdulo de entradas: B#16#54 Mdulo de salidas: B#16#55 OB40_MDL_ADDR WORD Direccin bsica lgica del mdulo que ha activado la alarma OB40_POINT_ADDR DWORD En mdulos digitales: Mapa de bits con los estados de las entradas en el mdulo En mdulos analgicos, CPs o IMs: Estado de alarma del mdulo OB40_DATE_TIME DATE_TIME Fecha y hora a las que se solicit el OB

BYTE BYTE BYTE BYTE

SFCs Relacionados con Interrupciones (I)


SFC 39 DIS_IRT: Bloquea tratamiento de alarma
Parmetro Declaracin Tipo de datos Area de memoria MODE INPUT BYTE E, A, M, D, L, Const. OB_NR INPUT INT E, A, M, D, L, Const. RET_VAL OUTPUT INT E, A, M, D, L Descripcin Define los eventos de alarma y de error asncrono que se bloquean N del OB Si ocurre un error al procesar la funcin, el valor de retorno contiene el cdigo. Descripcin Define los eventos de alarma y error asncrono que se habilitan N del DB Si ocurre un error al procesar la funcin, el valor de retorno contiene el cdigo.

SFC 40 EN_IRT: Habilita el tratamiento de alarma


Parmetro Declaracin Tipo de datos Area de memoria MODE INPUT BYTE E, A, M, D, L, Const. OB_NR INPUT INT E, A, M, D, L, Const. RET_VAL OUTPUT INT E, A, M, D, L

SFCs Relacionados con Interrupciones (II)


SFC 41 DIS_AIRT: Retarda el tratamiento de alarma
Parmetro Declaracin Tipo de datos Area de memoria Descripcin RET_VAL OUTPUT INT E, A, M, D, L Cantidad de retardos (= cantidad de
llamadas de la SFC 41)

SFC 42 EN_AIRT: Habilita el tratamiento de eventos de alarmas


Parmetro Declaracin Tipo de datos Area de memoria Descripcin RET_VAL OUTPUT INT E, A, M, D, L Cantidad de retardos programados tras la
ejecucin de SFC 42 o cdigo de error

Interrupciones de Proceso (I)


Mdulo de Entradas Analgicas

Si el valor del transmisor de nivel PIW 288 es mayor que el lmite superior (8 voltios) o menor que el lmite inferior (2 voltios) habilitados para esta entrada analgica, llama al OB40.

+27648 = 10V. + 8 V. Lmite superior para la interrupcin


0

+ 2 V.

Lmite inferior para la interrupcin

Interrupciones de Proceso (II)


Tarjeta de Entradas Analgicas

+27648

Si el valor de la PIW 288 es mayor que el lmite superior para este canal analgico, llama al OB40. Visualiza un mensaje de error.

+20000 Lmite superior para la interrupcin 0

AW0

SFCs Relacionados con Interrupciones (III)


SFC 55

SFCs Relacionados con Interrupciones (IV)


SFC 56

SFCs Relacionados con Interrupciones (V)


SFC 57 PARM_MOD: Parametrizar mdulo
Parmetro Declaracin Tipo de datos Area de memoria Descripcin REQ=1: Peticin de escritura REQ INPUT BOOL E, A, M, D, L, Const. IOID INPUT BYTE E, A, M, D, L, Identificador del rea: Const. B#16#54 = Entrada de periferia (PI)
B#16#55 = Salida de periferia (PQ)

LADDR

INPUT

WORD INT BOOL

E, A , M, D, L, Const. E, A, M, D, L E, A, M, D, L

Direccin base lgica del mdulo. En un mdulo mixto es necesario indicar la menor de las dos direcciones. Si ocurre un error al procesar la funcin, el valor de retorno contiene un cdigo de error.

RET_VAL OUTPUT BUSY OUTPUT

BUSY = 1: La operacin de escritura no ha finalizado an.

Ejecucin por Tiempo Alarmas Cclicas

Una alarma cclica es una interrupcin que es generada en intervalos peridicos de tiempo. La alarma permite ejecutar un programa concreto peridicamente, independientemente del tiempo de ejecucin del programa cclico En STEP 7 se dedican a esta funcin desde el OB 30 al OB 38 La CPU 315 dispone nicamente del OB 35 que tiene la prioridad 12 Se puede fijar el intervalo de tiempo en el rango de 1 mseg a 1 minuto El comienzo del tiempo para el intervalo de tiempo es el instante de la transicin START UP a RUN La ejecucin se puede permitir o inhibir con las SFCs: SFC 39 DIS_IRT SFC 40 EN_AIRT SFC 41 DIS_AIRT SFC 42 EN_IRT

Interrupciones Cclicas
El OB de interrupciones cclicas (OB35) permite interrumpir el programa a intervalos de tiempo fijos. Una vez activado, el OB35 se ejecutar segn un intervalo de tiempo fijado al Configurar el HW.

OB35
OB1 se ejecuta continuamente

OB35
...interrumpe el OB1 y se ejecuta el OB35 cada 250ms

OB35

OB35

Configuracin de Interrupciones Cclicas

Variables Locales de OB de Alarma Cclica


Variable OB35_EV_CLASS OB35_STRT_INF Tipo de datos BYTE BYTE Descripcin Clase de evento e identificadores:
B#16#11: Alarma est activada (B#16#31: Solicitud de arranque para OB 30)

:
B#16#36: Solicitud de arranque para OB 35

:
(B#16#39: Solicitud de arranque para OB 38)

OB35_PRIORITY OB35_OB_NUMBR OB35_RESERVED_1 OB35_RESERVED_2 OB35_PHASE_OFFSET OB35_RESERVED_3 OB35_EXC_FREQ OB35_DATE_TIME

BYTE BYTE BYTE BYTE WORD INT INT DATE_TIME

Prioridad parametrizada; valor prefijado: de 7 (OB 30) a 15 (OB 38) Nmero de OB (30 hasta 38) Reservado Reservado Desfase en ms Reservado Cadencia temporal en ms Fecha y hora a las que se solicit el OB.

Ejecucin por Tiempo Alarmas Horarias


Una alarma horaria es una interrupcin que permite ejecutar un programa en un tiempo concreto, una sola vez o peridicamente. En STEP 7 se dedican a interrupciones horarias del OB 10 al OB 17 La CPU 315 dispone nicamente del OB 10 que tiene la prioridad 2 Las interrupciones horarias se pueden parametrizan: en la configuracin del hardware en fase de ejecucin usando SFCs Se puede arrancar una interrupcin horaria: una sola vez: el OB es llamado una sola vez en el momento especificado peridicamente: depende de la configuracin (cada minuto, hora, da,...

Interrupciones Horarias (I)


El OB Horario (OB10 en el S7-315) permite interrumpir el OB cclico y ejecutar un cdigo en una fecha especificada o a intervalos especificados. Se puede programar este OB para que se ejecute en los siguientes intervalos: Una vez: se ejecuta una vez, en el momento especificado. Cada minuto: Se ejecuta en intervalos de 1 minuto, empezando desde el momento especificado Cada hora: Se ejecuta en intervalos de 1 hora, empezando desde el momento especificado Cada da: Se ejecuta 1 vez al da, desde el momento especificado Cada semana: Se ejecuta 1 vez por semana, empezando desde el momento especificado Cada mes: Se ejecuta 1 vez al mes, empezando desde el momento especificado Cada ao: Se ejecuta 1 vez al ao, empezando desde el momento especificado

Interrupciones Horarias (II)


En el arranque en fro o en el arranque completo, el sistema operativo borra todas las activaciones realizadas mediante SFCs. Las realizadas en la configuracin del hardware son mantenidas Se puede consultar el estado de la alarma horaria con la SFC 31 y posteriormente, activar o desactivar la interrupcin Las interrupciones horarias son atendidas slo en modo RUN Si el OB de una interrupcin horaria es llamado pero no est programado: el S.O. primero llama la OB 85 (programa de ejecucin por error) si OB 85 no est programado, la CPU se va a STOP La ejecucin se puede anular, activar, ajustar y consultar con las SFCs: SFC 28 SET_TINT SFC 29 CAN_TINT SFC 30 ACT_TINT SFC 31 QRY_TINT

Configuracin de Interrupciones Horarias

Variables Locales de OB de Alarma Horaria


Variable OB10_EV_CLASS OB10_STRT_INFO Tipo de datos Descripcin BYTE Clase de evento e identificadores: B#16#11: Alarma activada BYTE B#16#11: Solicitud de arranque para OB 10 (B#16#12: Solicitud de arranque para OB 11) : (B#16#18: Solicitud de arranque para OB 17) BYTE Prioridad parametrizada; valor por defecto: 2 BYTE Nmero de OB (10 hasta 17) BYTE Reservado BYTE Reservado WORD El OB se ejecuta en el intervalo indicado: W#16#0000: Una vez W#16#0201: Cada minuto W#16#0401: Cada hora W#16#1001: Cada da W#16#1201: Cada semana W#16#1401: Cada mes W#16#1801: Cada ao INT Reservado INT Reservado DATE_TIME Fecha y hora a las que se solicit el OB

OB10_PRIORITY OB10_OB_NUMBR OB10_RESERVED_1 OB10_RESERVED_2 OB10_PERIOD_EXE

OB10_RESERVED_3 OB10_RESERVED_4 OB10_DATE_TIME

SFCs para Programar OBs de Alarmas Horarias (I)


Funciones del Sistema integradas (SFCs) se pueden utilizar para controlar y supervisar las interrupciones asociadas a alarmas horarias. Las SFCs relacionadas con alarmas horarias son las siguientes.

SFC 28 SET_TINT: Ajustar hora de arranque de la alarma horaria


Parmetro Declaracin Tipo de datos Area de memoria Descripcin OB_NR INPUT INT E, A, M, D, L, Nmero del OB que se activa en el Const. instante SDT(fecha y hora de arranque) SDT INPUT DT D, L Fecha y hora de arranque PERIOD INPUT WORD E, A, M, D, L, Periodicidad desde el instante SDT: Const. W#16#0000 = una vez W#16#0201 = cada minuto W#16#0401 = cada hora W#16#1001 = diaria W#16#1201 = semanal W#16#1401 = mensual W#16#1801 = anual W#16#2001 = al final del mes RET_VAL OUTPUT INT E, A, M, D, L Parmetro de cdigo de error.

SFCs para Programar OBs de Alarmas Horarias (II)


SFC 29 CAN_TINT: Anular alarma horaria activada
Parmetro Declaracin Tipo de datos Area de memoria Descripcin OB_NR INPUT INT E, A, M, D, L, Nmero del OB cuya fecha Const y hora de arranque se han de borrar (OB10 a OB17). RET_VAL OUTPUT INT E, A, M, D, L Parmetro de cdigo de error

SFC 30 ACT_TINT: Activar un OB de alarma horaria


Parmetro Declaracin Tipo de datos Area de memoria Descripcin OB_NR INPUT INT E, A, M, D, L, Nmero del OB que se desea Const. activar (habilitar) (OB10 a OB17) RET_VAL OUTPUT INT E, A, M, D, L Parmetro de cdigo de error.

SFCs para Programar OBs de Alarmas Horarias (III)


SFC 31 QRY_TINT: Consultar alarma horaria
Parmetro Declaracin Tipo de datos Area de memoria Descripcin OB_NR INPUT INT E, A, M, D, L, Nmero del OB cuyo estado Cons. se ha de consultar (OB10 a OB17). RET_VAL OUTPUT INT E, A, M, D, L Parmetro de cdigo de error. STATUS OUTPUT WORD E, A, M, D, L Estado de la alarma horaria

Programacin de una Alarma Horaria

Tarjeta de Entradas Analgicas

La CPU tiene una llamada a un OB que verifica y controla la temperatura para este tanque una vez cada minuto, comenzando a una fecha y hora especfica.

PIW288 +14000 = Temperatura Superior +13000 = Temperatura Inferior Q5.7 Calentador

Ejecucin por Tiempo Alarmas de Retardo


AR R ET DO

Una alarma de retardo es una interrupcin que permite ejecutar un programa despus de una espera determinada independientemente de los temporizadores En STEP 7 se dedican a interrupciones de retardo del OB 20 al OB 23 La CPU 315 dispone nicamente del OB 20 que tiene la prioridad 3

Configuracin de Interrupciones de Retardo


AR R ET DO

Variables Locales de OB de Alarma de Retardo


DO Tipo de datos Declaracin Descripcin AR R ET BYTE TEMP Clase de evento e identificadores: B#16#11: Alarma est activada OB20_STRT_INF BYTE TEMP B#16#21: Solicitud arranque OB 20 B#16#22: Solicitud arranque OB 21 B#16#23: Solicitud arranque OB 22 B#16#24: Solicitud arranque OB 23 OB20_PRIORITY BYTE TEMP Prioridad; valor prefijado: de 3 (OB20) OB20_OB_NUMBR BYTE TEMP Nmero de OB (20 hasta 23) OB20_RESERVED_1 BYTE TEMP Reservado OB20_RESERVED_2 BYTE TEMP Reservado OB20_SIGN WORD TEMP Identificador de usuario: parmetro de entrada SIGN de la llamada de SFC 32 SRT_DINT OB20_DTIME TIME TEMP Tiempo de retardo transcurrido en ms OB20_DATE_TIME DATE_TIME TEMP Fecha y hora a las que se solicit el OB

Variable OB20_EV_CLASS

SFCs para Programar OBs de Alarmas Horarias de Retardo (I)


Funciones del sistema integradas (SFCs) se pueden utilizar para arrancar y supervisar las interrupciones asociadas a alarmas de retardo. Las SFCs relacionadas con alarmas de retardo son las siguientes.

AR R ET

DO

SFC 32 SRT_DINT: Arrancar alarma de retardo


Parmetro Declaracin Tipo de datos Area de memoria Descripcin OB_NR INPUT INT E, A, M, D, L, Nmero del OB que se arrancar Const. al transcurrir el tiempo de retardo (OB 20 a OB 23). DTIME INPUT TIME E, A, M, D, L, Valor del retardo (1 a 60000 ms) Const. SIGN INPUT WORD E, A, M, D, L, Identificador que, al llamar el OB Const. de alarma de retardo, aparece en la informacin de eventos de arranque del OB. RET_VAL OUTPUT INT E, A, M, D, L Parmetro de cdigo de error

SFCs para Programar OBs de Alarmas Horarias de Retardo (II)

SFC 33 CAN_DINT: Anular alarma de retardo


Parmetro Declaracin Tipo de datos Area de memoria OB_NR INPUT INT E, A, M, D, L, Const. RET_VAL OUTPUT INT E, A, M, D, L

AR R ET

DO

Descripcin Nmero del OB que se ha de anular (OB20 a OB23). Parmetro de cdigo de error

SFC 34 QRY_DINT: Consultar estado de alarma de retardo


Parmetro Declaracin Tipo de datos Area de memoria OB_NR INPUT INT E, A, M, D, L, Const. RET_VAL OUTPUT INT E, A, M, D, L STATUS OUTPUT WORD E, A, M, D, L Descripcin Nmero del OB, cuyo STATUS se ha de consultar (OB 20 a 23) Parmetro de cdigo de error. Estado de la alarma de retardo

Interrupciones de Retardo
AR R ET DO

El OB20 se arranca mediante una llamada al SFC32 (SRT_DINT). Se define la demora en los parmetros que le pasa al SFC de la siguiente forma: OB_NR Nmero del OB que arrancar despus de retardo DTIME Duracin de la demora (desde 1 hasta 60000 ms) SIGN Identificador que se pone en la informacin de arranque del OB cuando se llama al OB de retardo RET_VAL Contiene el cdigo de error si se produce un error mientras el OB se procesa
SFC32 (SRT_DINT)

M0.1 20 T#500ms W#16#01

EN OB_NR DTIME SIGN

ENO RET_VAL

M2.0 MW10

Interrupciones por Error del Hardware


Mdulo de Entradas Analgicas

X
+27648

Si el mdulo analgico ha sido configurado para habilitar la rotura de hilo como interrupcin hardware, se utilizar cualquier problema de hardware en el transmisor para llamar a un OB de deteccin de errores (por ejemplo, el OB82)

Interrupciones por Error en el Programa/Sistema


El STEP7 proporciona otros OBs utilizados para interrumpir el programa adems de las interrupciones por errores en el hardware. Los errores que llaman a esos OBs se consideran errores en tiempo de ejecucin; se detectan mediante los diagnsticos internos del PLC.

Errores en Tiempo de Ejecucin Errores Asncronos Errores Sncronos OB de Error


OB80 Error de Tiempo (por ejemplo, tiempo de ciclo excedido) OB85 Error de Secuencia de Programa (por ejemplo, OB no cargado) OB87 Fallo de Comunicaciones (por ejemplo, Datos Globales)

OB de Error
OB121 Error de Programacin (por ejemplo, DB no cargado) OB122 Error de Acceso (por ejemplo, intento de acceder a un mdulo perifrico no presente)

SFCs para Programar OBs de Error


Las Funciones de Sistema integradas (SFCs) se pueden utilizar para controlar y monitorizar las interrupciones asociadas a errores sncronos y asncronos. Estas SFCs proporcionan los parmetros formales listados debajo los cuales pueden ser programados con valores actuales mediante la instruccin de llamada a SFC. SFCs para manejo de Errores Sncronos SFC36 MSK_FLT Enmascarar errores de sincronizacin SFC37 DMSK_FLT Desenmascarar errores de sincronizacin SFC38 READ_ERR Leer el registro de estado de eventos SFCs para manejo Errores Sncronos y Asncronos SFC39 DIS_IRT Inhabilitar Interrupcin SFC40 EN_IRT Habilitar Interrupcin SFC41 DIS_AIRT Inhabilitar Interrupciones de Alarma SFC42 EN_AIRT Habilitar Interrupciones de Alarma

You might also like