Está en la página 1de 31
Ejecución Especial
Ejecución
Especial
Automatización Industrial
Automatización Industrial
Índice TEMA – Ejecución Especial 1. – Ejecución de Programas 2. – Ejecución Cíclica de
Índice
TEMA – Ejecución Especial
1.
Ejecución de Programas
2.
Ejecución
Cíclica de Programas
2.1
– Tiempos de Ciclo
2.2
– Programación
del OB1
3.
Ejecución
en el Arranque
4.
Ejecución
por Interrupciones
5.
Ejecución
por Tiempo –
Alarmas
Cíclicas
6.
Ejecución
por Tiempo –
Alarmas Horarias
7.
Ejecución
por Tiempo –
Alarmas
de
Retardo
8.
Ejecución
por Error –
Alarmas de
Error
Ejecución de Programas – Módulos de Organización OB10 : Interrupción Horaria OB1 se ejecuta continuamente
Ejecución de Programas – Módulos de Organización
OB10 :
Interrupción
Horaria
OB1
se ejecuta
continuamente
OB82:
a menos que sea
Error
interrumpido por otro OB
Asíncrono
Módulos de Organización (OB´s) El sistema operativo llama a otros OBs Ejemplo de OB10: OB1
Módulos de Organización (OB´s)
El sistema operativo
llama a otros OBs
Ejemplo de OB10:
OB1
para utilizarlos:
Ejecuta este módulo
Programa Principal
cada minuto.
Empieza a las 9:00
Ejecución cíclica
hasta ser interrumpido
por un
OB con
una más
Ejemplo de OB20:
alta
prioridad.
Ejecuta este módulo
2.35” después de
Una vez interrumpido
por el sistema operativo
detectar un evento
el OB1 rompe
su
ciclo
Ejemplo de OB82:
y
ejecuta
el OB
Ejecuta este módulo
requerido.
si
hay un cortocircuito
en la entrada
analógica
PIW532
Almacenamiento de Datos de un OB Interrumpido Pila de Interrupción (Pila I) Contenido acumuladores ACCU1,ACCU2
Almacenamiento de Datos de un OB Interrumpido
Pila de Interrupción (Pila I)
Contenido acumuladores ACCU1,ACCU2
Contenido registros direcciones AR1, AR2
El sistema llama a
un
nuevo OB
Contenido registros módulos datos DB, DI
Puntero en la Pila L
Antes de ejecutar el
nuevo OB, se
salvan
Palabra Estado, Registro MCR, Puntero Pila B
los registros del
módulo interrumpido
Pila
de
Módulo (Pila B)
Registros DB y DI
Puntero de datos temporales (pila L)
Número de Módulo
Dirección
de
retorno
OB´s de Error y de Interrupción • Los OBs se encuadran dentro de dos categorías;
OB´s de Error y de Interrupción
Los OBs se encuadran dentro de dos categorías; sus respectivas funciones determinan
qué dispara el punto de ruptura del OB que se esté ejecutando.
OBs que
realizan tareas periódicas (Interrupción Horaria)
Se ejecuta en una
fecha u hora del día especificada
Se ejecuta tras una demora especificada después de un evento
Se ejecuta en un ciclo especificado
OBs que
reaccionan a
condiciones de
error (Interrupción Error)
Se ejecuta si
la
CPU
detecta
un
error de proceso o de hardware
Se ejecuta si
la
CPU
detecta
un
está relacionado con una
instrucción específica del
error que no
programa
Se ejecuta si
la
CPU
detecta
un
error que puede ser asociado
al
procesamiento
de una
instrucción específica del programa
Módulos de Organización de Alarmas Tipo de Alarma Ciclo libre OB´s Prioridad OB1 1 (OB1)
Módulos de Organización de Alarmas
Tipo de Alarma
Ciclo libre
OB´s
Prioridad
OB1
1
(OB1)
Alarmas horarias
2
Alarmas de retardo
3 a 6
Alarmas cíclicas
7 a 15
Alarmas de proceso
16 a 23
Errores asíncronos
26 ò 28
Arranque
OB 10 a OB 17
(OB 10)
OB 20 a OB 23
(OB 20)
OB 30 a OB 38
(OB 35)
OB 40 a OB 47
(OB 40)
OB 80 a OB 87
(OB 82)
OB 100 a OB 102
(OB 100)
OB 121 y OB 122
27
Errores síncronos
-
Comentarios
Bloque de organización para la
ejecución cíclica
Bloques de organización para la
alarma horaria (OB 10 a OB 17)
Bloques de organización para
alarma de retardo (OB 20 a OB 23)
Bloques de organización de alarma
cíclica (OB 30 a OB 38)
Bloques de organización de alarma
de proceso (OB 40 a OB 47)
Bloques de organización para el
tratamiento de errores
Bloques de organización de
arranque (OB 100/OB 101/OB 102)
Bloques de organización para el
tratamiento de errores
• Otros OB´s soportados por la CPU 315:
• OB 80,
OB 81, OB 85,
OB 87, OB 121 y OB122
Ejecución Cíclica de Programas • La ejecución más común es la ejecución cíclica • Existen
Ejecución Cíclica de Programas
La ejecución más común es la ejecución cíclica
Existen otros tipos de ejecuciones conducidas por eventos
En la mayoría de
los casos, la ejecución de un programa conducido por eventos es un
añadido a la ejecución cíclica
El programa principal es invocado desde el OB1:
se
ejecuta
con el nivel más bajo
de prioridad
puede ser interrumpido
por todos los
otros
tipos de procesamiento
del programa
Al finalizar la ejecución del
OB1
se
actualizan
las imágenes
del proceso
Si se presenta un
error
actualización
(programa que
se
en
ejecuta ante errores)
la
de las imágenes se llama al OB 85
Si no existe
el OB 85, la CPU pasa a STOP
Tiempo de Ciclo (I) • El tiempo de ejecución del programa del OB 1 es
Tiempo de Ciclo (I)
El tiempo de ejecución 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 configuración 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. Actualización de las imágenes
El
tiempo
de
procesamiento de interrupciones de alta
prioridad
Procesos de comunicación
del sistema operativo
Acceso
a la CPU desde
un
dispositivo de programación
SFC 43 RE_TRIGR: Arrancar de nuevo el tiempo de vigilancia de ciclo
Inicia de nuevo el tiempo
de vigilancia
de ciclo
No tiene parámetros
Tiempo de Ciclo (II) • El tiempo de ciclo es el tiempo que el S.O.
Tiempo de Ciclo (II)
• El tiempo de ciclo es el tiempo que el S.O. necesita para:
• ejecutar el programa cíclico
• partes del programa que interrumpen al cíclico (ejecución otros OBs)
• actividades del sistema (p.e. actualización de imágenes,
)
• El tiempo de ciclo se vigila
• El tiempo de ciclo no es igual para cada ciclo
Tiempo de Ciclo (III) – Marcas de Ciclo
Tiempo de Ciclo (III) – Marcas de Ciclo
Variables Locales del OB1 Variable Tipo de datos Descripción OB1_EV_CLASS BYTE OB1_SCAN_1 BYTE OB1_PRIORITY BYTE
Variables Locales del OB1
Variable
Tipo de datos
Descripción
OB1_EV_CLASS
BYTE
OB1_SCAN_1
BYTE
OB1_PRIORITY
BYTE
OB1_OB_NUMBR
BYTE
OB1_RESERVED_1
BYTE
OB1_RESERVED_2
BYTE
OB1_PREV_CYCLE
INT
OB1_MIN_CYCLE
INT
OB1_MAX_CYCLE
INT
OB1_DATE_TIME
DATE_TIME
Clase de evento e identificadores: B#16#11: activo
Información de arranque
B#16#01: Conclusión del rearranque completo(caliente)
B#16#02: Conclusión del rearranque
B#16#03: Conclusión del ciclo libre
B#16#04: Conclusión del arranque en frío
Prioridad: 1
Número de OB (01)
Reservado
Reservado
Tiempo de ejecución del ciclo anterior (ms)
Tiempo de ciclo mínimo (ms) desde el último arranque
Tiempo de ciclo máximo (ms) desde el último arranque
Fecha y hora en que se solicitó el OB
SFC´s Diagnóstico – SFC 6 RD_INFO: Leer información de arranque del OB actual Parámetro Declaración
SFC´s Diagnóstico – SFC 6 RD_INFO: Leer información de arranque del OB actual Parámetro Declaración
SFC´s Diagnóstico – SFC 6 RD_INFO: Leer información de arranque del OB actual Parámetro Declaración

SFC´s

Diagnóstico

SFC´s Diagnóstico – SFC 6 RD_INFO: Leer información de arranque del OB actual Parámetro Declaración Tipo
SFC´s Diagnóstico – SFC 6 RD_INFO: Leer información de arranque del OB actual Parámetro Declaración Tipo
SFC´s Diagnóstico – SFC 6 RD_INFO: Leer información de arranque del OB actual Parámetro Declaración Tipo
SFC´s Diagnóstico – SFC 6 RD_INFO: Leer información de arranque del OB actual Parámetro Declaración Tipo
SFC´s Diagnóstico – SFC 6 RD_INFO: Leer información de arranque del OB actual Parámetro Declaración Tipo

SFC 6 RD_INFO: Leer información de arranque del OB actual

Parámetro Declaración Tipo de datos Area de memoria Descripción RET_VAL OUTPUT INT TOP_SI OUTPUT STRUCT
Parámetro
Declaración Tipo de datos Area de memoria Descripción
RET_VAL
OUTPUT INT
TOP_SI
OUTPUT
STRUCT
E, A, M, D, L
D, L
START_UP_SI OUTPUT
STRUCT
D, L
Información de error
Información de arranque
del OB actual
Información de arranque del
último OB activado
SFC´s – Gestión del Reloj en Tiempo Real SFC 0 SET_CLK. Ajustar la hora Parámetro
SFC´s
Gestión del Reloj en Tiempo Real
SFC 0 SET_CLK. Ajustar la hora
Parámetro
Declaración
Tipo de datos
Area de memoria
Descripción
PDT
INPUT
DT
D, L,
RET_VAL
OUTPUT
INT
E, A, M, D, L
Entrada PDT para indican fecha
y hora que se desea ajustar
Parámetro con código de error.
SFC 1 READ_CLK. Leer la hora
Parámetro
Declaración Tipo de datos Area de memoria
Descripción
RET_VAL
OUTPUT
INT
CDT
OUTPUT
DT
E, A, M, D, L
D, L
Parámetro con código de error
En la salida CDT se emiten la
fecha y la hora actuales.
SFC 64 TIME_TCK: Leer el cronómetro del sistema
Parámetro
Declaración Tipo de datos
Area de memoria
Descripción
RET_VAL
OUTPUT
TIME
E, A, M, D, L
El parámetro tiene el cronometro
del sistema, comprendido entre
0 a 2elevado a 31–1 ms.
SFC´s – Gestión del Contador de Horas de Funcionamiento (I) SFC 2 SET_RTM: Ajustar contador
SFC´s
Gestión del Contador de Horas de Funcionamiento (I)
SFC 2 SET_RTM: Ajustar contador de horas de funcionamiento
Parámetro
Declaración
Tipo de datos
Area de memoria
Descripción
NR
INPUT
Byte
E, A, M, D, L,
Const.
PV
INPUT
INT
E, A, M, D, L,
Const.
RET_VAL
OUTPUT
INT
E, A, M, D, L
Número del contador de horas
de funcionamiento que se desea
ajustar. Valores posibles: 0a 7.
Contiene ajuste para el contador
de horas de funcionamiento.
Parámetro con código de error
SFC 3 CTRL_RTM: Arrancar y parar contador de horas de funcionamiento
Parámetro
Declaración
Tipo de datos
Area de memoria
Descripción
NR
INPUT
Byte
E, A, M, D, L,
Const.
S
INPUT
BOOL
E, A, M, D, L,
Const.
RET_VAL
OUTPUT
INT
E, A, M, D, L
Número del contador de horas
de funcionamiento que se desea
arrancar o parar. Valores (0 - 7)
Arranca o para el contador
Se para con ”0”, arranca con”1”
Parámetro con código de error
SFC´s – Gestión del Contador de Horas de Funcionamiento (II) • SFC 4 READ_RTM: Leer
SFC´s
Gestión del Contador de Horas de Funcionamiento (II)
• SFC 4 READ_RTM: Leer el contador de horas de funcionamiento
Parámetro
Declaración
Tipo de datos
Area de memoria
Descripción
NR
INPUT
Byte
E, A, M, D, L,
Const.
CQ
OUTPUT
BOOL
E, A, M, D, L
CV
OUTPUT
INT
RET_VA L
OUTPUT
INT
E, A, M, D, L
E, A, M, D, L
Número 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.
Parámetro con código de error
SFC´s – Varios SFC 25 COMPRESS: Comprimir la memoria de usuario Parámetro Declaración Tipo de
SFC´s
– Varios
SFC 25 COMPRESS: Comprimir la memoria de usuario
Parámetro
Declaración
Tipo de datos
Area de memoria
Descripción
RET_VAL
OUTPUT
INT
BUSY
OUTPUT
BOOL
E, A, M, D, L
E, A, M, D, L
DONE
OUTPUT
BOOL
E, A, M, D, L
Información de error
Información si está activada la
compresión con la SFC 25 (1si)
Informa. si proceso a finalizado
con con éxito (1 significa éxito)
SFC 46 STP. Poner la CPU en stop
• No tiene parámetros
SFC 47 WAIT:. Retarda el tratamiento del programa de usuario
Parámetro
Declaración
Tipo de datos
Area de memoria
Descripción
WT
INPUT
INT
E, A, M, D, L
El parámetro WT contiene el
tiempo de retardo en ms.
Ejecución en el Arranque • Previamente a que la CPU ejecute el programa principal se
Ejecución en el Arranque
• Previamente a que la CPU ejecute el programa principal se puede
ejecutar una rutina de arranque
• Mediante los módulos de ejecución en el arranque es posible fijar el
comportamiento del autómata antes de la primera ejecución del programa
• El módulo de organización asignado a cada tipo de arranque se ejecuta
una sola vez en cada arranque
• Mientras se ejecutan los módulos 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 Operación de las CPU´s (I) 1 STOP     RUN      
Modos de Operación de las CPU´s (I) 1 STOP     RUN      
Modos de Operación de las CPU´s (I) 1 STOP     RUN      

Modos de Operación de las CPU´s (I)

1

Modos de Operación de las CPU´s (I) 1 STOP     RUN        

STOP

STOP
    RUN
    RUN
   

RUN

RUN
 
   
 

3

     
     
  6  
 

6

6
 

4

HOLD

3         6   4 HOLD (1) Alimentación al equi po. La CPU

(1) Alimentación 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 posición 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 configuración de la CPU

puede llevar la CP U a STOP desde el modo HOLD El comportamiento en el arranque
puede llevar la CP U a STOP desde el modo HOLD El comportamiento en el arranque
puede llevar la CP U a STOP desde el modo HOLD El comportamiento en el arranque
Modos de Operación de las CPU´s (II) • Existen tres modos de arrancar el equipo
Modos de Operación de las CPU´s (II)
• Existen tres modos de arrancar el equipo
• arranque en frío (cold restart)
• arranque completo
• arranque en caliente (warm restart)
• En el arranque en frío o completo, el programa principal se ejecuta desde el
comienzo. En un arranque en caliente, continua el programa principal en el
punto de interrupción y finaliza el ciclo.
• Cada modo de arranque tiene asignado un módulo de organización
• arranque completo, OB 100
• arranque en frío, OB 102
• arranque en caliente, OB 101
• si no existen ninguno de estos módulos se pasa al programa principal
• En los modos STOP o HOLD los módulos de salida no están operativos
• Cuando la ejecución cíclica comienza, los módulos están liberados
• En el arranque en frío o completo, las imágenes 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
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 ejecución del programa
• cuando se ejecuta la SFC 46 (STOP)
• cuando se solicita desde el dispositivo de programación
• La CPU introduce la razón del STOP en el buffer de diagnóstico, que puede
ser consultado con el aparato de programación
• 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 programación
Variables Locales de los OB´s de Arranque Variable Tipo de datos Descripción OB100_EV_CLASS BYTE OB100_STRTUP
Variables Locales de los OB´s de Arranque
Variable
Tipo de datos
Descripción
OB100_EV_CLASS
BYTE
OB100_STRTUP
BYTE
Clase de evento e indicativos: B#16#13: activado
Solicitud de arranque:
B#16#81: Sol. manual de rearranque completo (en caliente)
B#16#82: Sol. automática de rearranque completo (en caliente)
B#16#83: Sol. manual de rearranque
B#16#84: Sol. automática de rearranque
B#16#85: Sol. manual de arranque en frío
B#16#86: Sol. automática de arranque en frío
OB100_PRIORITY
BYTE
OB100_OB_NUMBR
BYTE
OB100_RESERVED_1
BYTE
OB100_RESERVED_2
BYTE
OB100_STOP
WORD
OB100_STRT_INFO
DWORD
OB100_DATE_TIME
DATE_TIME
Prioridad: 27
Número de OB (100, 101 ó 102)
Reservado
Reservado
Número del evento que ha llevado la CPU a STOP
Informaciones complementarias sobre el arranque actual
(tabla)
Fecha y hora a las que se solicitó el OB
Arranque Completo Arranque RUN Borrar datos completo no remanentes Inhibir módulos Inicializar de salida
Arranque Completo
Arranque
RUN
Borrar datos
completo
no remanentes
Inhibir módulos
Inicializar
de salida
módulos
Transferir imagen
proceso de salidas
Borrar imagen del
proceso de entradas
Ejecutar
OB 100
Actualizar imagen
proceso de entradas
Borrar imagen del
proceso de salidas
Actualizar imagen
proceso de entradas
Programa principal
OB 1
Reset salidas
Liberar módulos
del proceso
de salida

SFC´s

   

Para Programar OB´s de Arranque

 

• Las Funciones de Sistema integradas (SFCs) permiten direccionar módulos y realizar comprobaciones previas a la ejecución cíclica del programa

 

• SFCs para direccionar módulos:

 
 

SFC 5

 

GADR_LGC

Determinar la dirección lógica de un canal Determinar el slot de una dirección lógica

SFC 49

LGC_GADR

SFC 50

RD_LGADR Determinar direcciones lógicas de un módulo

 

• SFCs para transferir a registros:

 
 

SFC 54

RD_DPARM

Leer parámetros definidos Escribir parámetros dinámicos Escribir parámetros predefinidos Parametizar módulo Escribir registros

 

SFC 55

 

WR_PARM

SFC 56

WR_DPARM

SFC 57

PARM_MOD

SFC 58

 

WR_REC

SFC

59

RD_REC Leer registro

SFC 5 Parámetro Declaración Tipo de datos Area de memoria Descripción SUBNETID INPUT BYTE E,
SFC 5
Parámetro
Declaración Tipo de datos Area de memoria Descripción
SUBNETID INPUT
BYTE
E, A, M, D, L
Const.
Identificador del área:
RACK
INPUT
WORD
SLOT
INPUT
WORD
- 0, en caso que el slot esté en
bastidor central o de ampliación
Número del bástidor en el caso de
Identificador de área = 0
No de slot
SUBSLOT
INPUT
BYTE
SUBADDR
INPUT
WORD
RET_VAL OUTPUT
INT
IOID
OUTPUT
BYTE
E, A, M, D, L,
Const.
E, A, M, D, L,
Const.
E, A, M, D, L,
Const.
E, A, M, D, L,
Const.
E, A, M, D, L
E, A, M, D, L
Receptáculo de submódulo
(sin submódulo 0)
Offset en el espacio de direcciones
de datos útiles del módulo
Informaciones de error
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
Dirección lógica del canal
SFC 49 Parámetro Declaración Tipo de datos Area de memoria Descripción IOID INPUT BYTE E,
SFC 49
Parámetro
Declaración Tipo de datos Area de memoria Descripción
IOID
INPUT
BYTE
E, A, M, D, L,
Const.
Identificador del área:
B#16#54: Entrada de periferia (PI)
B#16#55: Salida de periferia (PQ)
LADDR
INPUT
WORD
Dirección lógica
RET_VAL
OUTPUT
INT
AREA
OUTPUT
BYTE
E, A, M, D, L,
Const.
E, A, M, D, L
E, A, M, D, L
RACK
OUTPUT
WORD
SLOT
OUTPUT
WORD
SUBADDR OUTPUT
WORD
E, A, M, D, L
E, A, M, D, L
E, A, M, D, L
Informaciones de error
Identificador del área: Indica
cómo interpretar el resto
de los parámetros de salida.
No. de bastidor
No. de slot
Offset en el espacio de dirección
de datos útiles del módulo
SFC 50 Parámetro Declaración Tipo de datos Area de memoria Descripción IOID INPUT BYTE E,
SFC 50
Parámetro
Declaración Tipo de datos Area de memoria Descripción
IOID
INPUT
BYTE
E, A, M, D, L,
Const.
Identificador del área:
B#16#54: Entrada de periferia (PI)
B#16#55: Salida de periferia (PQ)
LADDR
INPUT
WORD
Una dirección lógica
RET_VAL
OUTPUT
INT
PEADDR
OUTPUT
ANY
E, A, M, D, L,
Const.
E, A, M, D, L
E, A, M, D, L
PECOUNT
OUTPUT
INT
E, A, M, D, L
PAADDR
OUTPUT
ANY
E, A, M, D, L
PACOUNT
OUTPUT
INT
E, A, M, D, L
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
Ejecución por Interrupciones • El manejo de las interrupciones es siempre llevada por eventos •
Ejecución por Interrupciones
• El manejo de las interrupciones es siempre llevada por eventos
• Cuando se presenta un evento, el sistema operativo interrumpe la
ejecución del programa principal y llama a la rutina de atención
al evento particular
• Cuando finaliza la rutina de atención al evento, el sistema operativo
retorna al programa principal continuando en el punto en el que se
produjo la interrupción
• Existen varios tipos de ejecuciones conducidas por eventos
• En la mayoría de los casos, la ejecución de un programa conducido por
eventos es un añadido a la ejecución cíclica
• Las ejecuciones conducidas por eventos admiten una prioridad
• La ejecución se puede permitir o inhibir con las SFCs de gestión de
eventos de alarma:
• SFC 39 DIS_IRT
• SFC 41 DIS_AIRT
SFC 40 EN_AIRT
SFC 42 EN_IRT
Interrupciones del Hardware (I) • Las interrupciones de hardware permiten detectar inmediatamente en el programa
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 ejecución por interrupción
• En la CPU 315 soporta únicamente el OB 40 con prioridad 16 por defecto
• Las interrupciones se parametrizan en la configuración del hardware
• Se pueden parametrizar los módulos con capacidad de interrupción en fase de
ejecución con las SFCs para transferir registros:
• SFC 55 WR_PARM
Escribir parámetros dinámicos
• SFC 56 WR_DPARM
Escribir parámetros predefinidos
• SFC 57 PARM_MOD
Parametrizar módulo
• Por defecto las interrupciones de hardware no están permitidas
• se puede especificar si se tiene que producir la interrupción con el evento
• se permite modificar los parámetros dinámicamente (RUN) con SFCs
• Las interrupciones de hardware son reconocidas en el módulo cuando el módulo
de organización que contiene la rutina de atención a la interrupción ha finalizado
su ejecución
   

Interrupciones del Hardware (II)

     

• En la rutina de arranque los módulos no generan interrupciones hardware

 

• El manejo de las interrupciones comienza con la transición a RUN

 

• Si una interrupción hardware es generada pero no hay OB de atención a la misma, el S.O. llama al OB 85 (ejecución 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

Configuración Hardware de Alarmas del Proceso
Configuración Hardware de Alarmas del Proceso
     

Variables Locales de OB´s de Alarma del Proceso

       

Variable

 

Tipo de datos

Descripción

OB40_EV_CLASS

BYTE

Clase de evento e identificadores:

OB40_STRT_INF

BYTE

B#16#11: Alarma está activada B#16#41: Alarma a través de línea de interrupción 1 B#16#42: Alarma a través de línea de interrupción 2 (S7–400) B#16#43: Alarma a través de línea de interrupción 3 (S7–400) B#16#44: Alarma a través de línea de interrupción 4 (S7–400)

OB40_PRIORITY

BYTE

Prioridad parametrizada; valor prefijado: de 16 a 23 Número de OB (40 hasta 47) Reservado Módulo de entradas: B#16#54 Módulo de salidas: B#16#55 Dirección básica lógica del módulo que ha activado la alarma En módulos digitales: Mapa de bits con los estados de las entradas en el módulo En módulos analógicos, CPs o IMs: Estado de alarma del módulo Fecha y hora a las que se solicitó el OB

OB40_OB_NUMBR

BYTE

OB40_RESERVED_1

BYTE

OB40_IO_FLAG

BYTE

OB40_MDL_ADDR

WORD

OB40_POINT_ADDR

DWORD

OB40_DATE_TIME

DATE_TIME

SFC´s Relacionados con Interrupciones (I) SFC 39 DIS_IRT: Bloquea tratamiento de alarma Parámetro Declaración Tipo
SFC´s
Relacionados con Interrupciones (I)
SFC 39 DIS_IRT: Bloquea tratamiento de alarma
Parámetro Declaración Tipo de datos Area de memoria
MODE INPUT
BYTE
OB_NR
INPUT
INT
Descripción
Define los eventos de alarma y de
error asíncrono que se bloquean
Nº del OB
RET_VAL
OUTPUT
INT
E, A, M, D, L,
Const.
E, A, M, D, L,
Const.
E, A, M, D, L
Si ocurre un error al procesar
la función, el valor de retorno
contiene el código.
SFC 40 EN_IRT: Habilita el tratamiento de alarma
Parámetro Declaración Tipo de datos Area de memoria
MODE INPUT
BYTE
OB_NR
INPUT
INT
Descripción
Define los eventos de alarma y
error asíncrono que se habilitan
Nº del DB
RET_VAL
OUTPUT
INT
E, A, M, D, L,
Const.
E, A, M, D, L,
Const.
E, A, M, D, L
Si ocurre un error al procesar la
función, el valor de retorno
contiene el código.
SFC´s Relacionados con Interrupciones (II) SFC 41 DIS_AIRT: Retarda el tratamiento de alarma Parámetro Declaración
SFC´s
Relacionados con Interrupciones (II)
SFC 41 DIS_AIRT: Retarda el tratamiento de alarma
Parámetro Declaración Tipo de datos Area de memoria Descripción
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
Parámetro Declaración Tipo de datos Area de memoria Descripción
RET_VAL OUTPUT INT
E, A, M, D, L
Cantidad de retardos programados tras la
ejecución de SFC 42 o código de error
Interrupciones de Proceso (I) Módulo de Entradas Analógicas Si el valor del transmisor de nivel
Interrupciones de Proceso (I)
Módulo de Entradas Analógicas
Si el valor del transmisor de nivel PIW 288
es mayor que el límite superior (8 voltios)
o menor que el límite inferior (2 voltios)
habilitados para esta entrada analógica, llama
al OB40.
+27648 = 10V.
+ 8 V.
Límite superior para la interrupción
+ 2 V.
Límite inferior para la interrupción
0
Interrupciones de Proceso (II) 0 +27648 Tarjeta de Entradas Analógicas +20000 Límite superior para la
Interrupciones de Proceso (II) 0 +27648 Tarjeta de Entradas Analógicas +20000 Límite superior para la
Interrupciones de Proceso (II) 0 +27648 Tarjeta de Entradas Analógicas +20000 Límite superior para la

Interrupciones de Proceso (II)

0

+27648

Interrupciones de Proceso (II) 0 +27648 Tarjeta de Entradas Analógicas +20000 Límite superior para la interrupción
Interrupciones de Proceso (II) 0 +27648 Tarjeta de Entradas Analógicas +20000 Límite superior para la interrupción
Interrupciones de Proceso (II) 0 +27648 Tarjeta de Entradas Analógicas +20000 Límite superior para la interrupción
Interrupciones de Proceso (II) 0 +27648 Tarjeta de Entradas Analógicas +20000 Límite superior para la interrupción
Tarjeta de Entradas Analógicas +20000 Límite superior para la interrupción AW0
Tarjeta de Entradas Analógicas
+20000
Límite superior
para la interrupción
AW0

Si el valor de la PIW 288 es mayor que el límite superior para este canal analógico, llama al OB40. Visualiza un mensaje de error.

la PIW 288 es mayor que el límite superi or para este canal analógico, llama al
la PIW 288 es mayor que el límite superi or para este canal analógico, llama al
la PIW 288 es mayor que el límite superi or para este canal analógico, llama al
la PIW 288 es mayor que el límite superi or para este canal analógico, llama al
la PIW 288 es mayor que el límite superi or para este canal analógico, llama al
la PIW 288 es mayor que el límite superi or para este canal analógico, llama al
la PIW 288 es mayor que el límite superi or para este canal analógico, llama al
la PIW 288 es mayor que el límite superi or para este canal analógico, llama al
la PIW 288 es mayor que el límite superi or para este canal analógico, llama al
la PIW 288 es mayor que el límite superi or para este canal analógico, llama al
la PIW 288 es mayor que el límite superi or para este canal analógico, llama al
la PIW 288 es mayor que el límite superi or para este canal analógico, llama al
la PIW 288 es mayor que el límite superi or para este canal analógico, llama al
la PIW 288 es mayor que el límite superi or para este canal analógico, llama al
la PIW 288 es mayor que el límite superi or para este canal analógico, llama al

SFC´s

   

Relacionados con Interrupciones (III)

SFC 55

SFC´s

   

Relacionados con Interrupciones (IV)

SFC 56

SFC´s Relacionados con Interrupciones (V) SFC 57 PARM_MOD: Parametrizar módulo Parámetro Declaración Tipo de datos
SFC´s
Relacionados con Interrupciones (V)
SFC 57 PARM_MOD: Parametrizar módulo
Parámetro Declaración Tipo de datos
Area de memoria
E, A, M, D, L,
Const.
E, A, M, D, L,
Const.
Descripción
REQ INPUT
BOOL
REQ=1: Petición de escritura
IOID
INPUT
BYTE
Identificador del área:
LADDR
INPUT
WORD
E, A , M, D, L,
Const.
RET_VAL OUTPUT
INT
E, A, M, D, L
BUSY
OUTPUT
BOOL
E, A, M, D, L
B#16#54 = Entrada de periferia (PI)
B#16#55 = Salida de periferia (PQ)
Dirección base lógica del módulo. En
un módulo mixto es necesario indicar
la menor de las dos direcciones.
Si ocurre un error al procesar la función,
el valor de retorno contiene un código
de error.
BUSY = 1: La operación de escritura
no ha finalizado aún.
Ejecución por Tiempo – Alarmas Cíclicas • Una alarma cíclica es una interrupción que es
Ejecución por Tiempo – Alarmas Cíclicas
• Una alarma cíclica es una interrupción que es generada en intervalos
periódicos de tiempo.
• La alarma permite ejecutar un programa concreto periódicamente,
independientemente del tiempo de ejecución del programa cíclico
• En STEP 7 se dedican a esta función 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
transición START UP a RUN
• La ejecución se puede permitir o inhibir con las SFCs:
• SFC 39 DIS_IRT
• SFC 41 DIS_AIRT
SFC 40 EN_AIRT
SFC 42 EN_IRT
Interrupciones Cíclicas • El OB de interrupciones cíclicas (OB35) permite interrumpir el programa a intervalos
Interrupciones Cíclicas
El OB de interrupciones cíclicas (OB35) permite interrumpir el
programa a intervalos de tiempo fijos.
Una vez activado, el OB35 se ejecutará según un intervalo de tiempo
fijado al “Configurar el HW”.
OB35
OB35
OB1
interrumpe
el OB1 y se
se ejecuta
ejecuta el OB35 cada 250ms
continuamente
OB35
OB35
Configuración de Interrupciones Cíclicas
     

Variables Locales de OB de Alarma Cíclica

         
 
 

Variable

 

Tipo de datos

Descripción

 

OB35_EV_CLASS

BYTE

Clase de evento e identificadores:

 

OB35_STRT_INF

BYTE

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

BYTE

Prioridad parametrizada; valor prefijado:

OB35_OB_NUMBR

BYTE

de 7 (OB 30) a 15 (OB 38) Número 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.

OB35_RESERVED_1

BYTE

OB35_RESERVED_2

BYTE

OB35_PHASE_OFFSET

WORD

OB35_RESERVED_3

INT

OB35_EXC_FREQ

INT

OB35_DATE_TIME

DATE_TIME

Ejecución por Tiempo – Alarmas Horarias • Una alarma horaria es una interrupción que permite
Ejecución por Tiempo – Alarmas Horarias
• Una alarma horaria es una interrupción que permite ejecutar un programa
en un tiempo concreto, una sola vez o periódicamente.
• 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 configuración del hardware
• en fase de ejecución usando SFCs
• Se puede arrancar una interrupción horaria:
• una sola vez: el OB es llamado una sola vez en el momento especificado
• periódicamente: depende de la configuración (cada minuto, hora, día,
Interrupciones Horarias (I) • El OB Horario (OB10 en el S7-315) permite interrumpir el OB
Interrupciones Horarias (I)
El OB Horario (OB10 en el S7-315) permite interrumpir el OB cíclico y ejecutar un
código 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 día: Se ejecuta 1 vez al día, 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 año: Se ejecuta 1 vez al año, empezando desde el momento especificado
Interrupciones Horarias (II)
• En el arranque en frío o en el arranque completo, el sistema operativo
borra todas las activaciones realizadas mediante SFCs.
• Las realizadas en la configuración del hardware son mantenidas
• Se puede consultar el estado de la alarma horaria con la SFC 31 y
posteriormente, activar o desactivar la interrupción
• Las interrupciones horarias son atendidas sólo en modo RUN
• Si el OB de una interrupción horaria es llamado pero no está programado:
• el S.O. primero llama la OB 85 (programa de ejecución por error)
• si OB 85 no está programado, la CPU se va a STOP
• La ejecución 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
     

Configuración de Interrupciones Horarias

     
 
   
 
   
     

Variables Locales de OB de Alarma Horaria

     

Variable

 

Tipo de datos

Descripción

Variable   Tipo de datos Descripción  
 

OB10_EV_CLASS

BYTE

Clase de evento e identificadores:

OB10_STRT_INFO

BYTE

B#16#11: Alarma activada 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) Prioridad parametrizada; valor por defecto: 2 Número de OB (10 hasta 17) Reservado

OB10_PRIORITY

BYTE

OB10_OB_NUMBR

BYTE

OB10_RESERVED_1

BYTE

OB10_RESERVED_2

BYTE

Reservado El OB se ejecuta en el intervalo indicado:

 

OB10_PERIOD_EXE

WORD

W#16#0000: Una vez W#16#0201: Cada minuto W#16#0401: Cada hora W#16#1001: Cada día W#16#1201: Cada semana W#16#1401: Cada mes

OB10_RESERVED_3

INT

W#16#1801: Cada año Reservado Reservado Fecha y hora a las que se solicitó el OB

 

OB10_RESERVED_4

INT

OB10_DATE_TIME

DATE_TIME

SFC´s para Programar OB´s de Alarmas Horarias (I) • Funciones del Sistema integradas (SFCs) se
SFC´s para Programar OB´s de Alarmas Horarias (I) • Funciones del Sistema integradas (SFCs) se
SFC´s para Programar OB´s de Alarmas Horarias (I) • Funciones del Sistema integradas (SFCs) se
SFC´s para Programar OB´s de Alarmas Horarias (I) • Funciones del Sistema integradas (SFCs) se
SFC´s para Programar OB´s de Alarmas Horarias (I) • Funciones del Sistema integradas (SFCs) se
SFC´s para Programar OB´s de Alarmas Horarias (I) • Funciones del Sistema integradas (SFCs) se

SFC´s para Programar OB´s de Alarmas Horarias

(I)

• Funciones del Sistema integradas (SFCs) se pueden utilizar para controlar y supervisar las interrupciones
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
Parámetro Declaración Tipo de datos
Area de memoria
Descripción
OB_NR
INPUT
INT
Número del OB que se activa en el
instante SDT(fecha y hora de arranque)
SDT
INPUT
DT
Fecha y hora de arranque
PERIOD
INPUT
WORD
E, A, M, D, L,
Const.
D, L
E, A, M, D, L,
Const.
Periodicidad desde el instante SDT:
RET_VAL
OUTPUT
INT
E, A, M, D, L
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
Parámetro de código de error.
SFC´s para Programar OB´s de Alarmas Horarias (II) SFC 29 CAN_TINT: Anular alarma horaria activada
SFC´s para Programar OB´s de Alarmas Horarias (II) SFC 29 CAN_TINT: Anular alarma horaria activada
SFC´s para Programar OB´s de Alarmas Horarias (II) SFC 29 CAN_TINT: Anular alarma horaria activada
SFC´s para Programar OB´s de Alarmas Horarias (II) SFC 29 CAN_TINT: Anular alarma horaria activada
SFC´s para Programar OB´s de Alarmas Horarias (II) SFC 29 CAN_TINT: Anular alarma horaria activada
SFC´s para Programar OB´s de Alarmas Horarias (II) SFC 29 CAN_TINT: Anular alarma horaria activada

SFC´s para Programar OB´s de Alarmas Horarias

(II)

SFC 29 CAN_TINT: Anular alarma horaria activada Parámetro Declaración Tipo de datos Area de memoria
SFC 29 CAN_TINT: Anular alarma horaria activada
Parámetro
Declaración Tipo de datos
Area de memoria
Descripción
OB_NR
INPUT
INT
E, A, M, D, L,
Const
RET_VAL
OUTPUT
INT
E, A, M, D, L
Número del OB cuya fecha
y hora de arranque se han de
borrar (OB10 a OB17).
Parámetro de código de error
SFC 30 ACT_TINT: Activar un OB de alarma horaria
Parámetro
Declaración Tipo de datos Area de memoria
Descripción
OB_NR
INPUT
INT
E, A, M, D, L,
Const.
RET_VAL OUTPUT
INT
E, A, M, D, L
Número del OB que se desea
activar (habilitar)
(OB10 a OB17)
Parámetro de código de error.
SFC´s para Programar OB´s de Alarmas Horarias (III) SFC 31 QRY_TINT: Consultar alarma horaria Parámetro
SFC´s para Programar OB´s de Alarmas Horarias (III) SFC 31 QRY_TINT: Consultar alarma horaria Parámetro
SFC´s para Programar OB´s de Alarmas Horarias (III) SFC 31 QRY_TINT: Consultar alarma horaria Parámetro
SFC´s para Programar OB´s de Alarmas Horarias (III) SFC 31 QRY_TINT: Consultar alarma horaria Parámetro
SFC´s para Programar OB´s de Alarmas Horarias (III) SFC 31 QRY_TINT: Consultar alarma horaria Parámetro
SFC´s para Programar OB´s de Alarmas Horarias (III) SFC 31 QRY_TINT: Consultar alarma horaria Parámetro

SFC´s para Programar OB´s de Alarmas Horarias

(III)

SFC 31 QRY_TINT: Consultar alarma horaria Parámetro Declaración Tipo de datos Area de memoria OB_NR
SFC 31 QRY_TINT: Consultar alarma horaria
Parámetro
Declaración Tipo de datos
Area de memoria
OB_NR
INPUT
INT
E, A, M, D, L,
Cons.
RET_VAL
OUTPUT
INT
STATUS
OUTPUT
WORD
E, A, M, D, L
E, A, M, D, L
Descripción
Número del OB cuyo estado
se ha de consultar
(OB10 a OB17).
Parámetro de código de error.
Estado de la alarma horaria
Programación de una Alarma Horaria Tarjeta de Entradas Analógicas La CPU tiene una llamada a
Programación de una Alarma Horaria
Tarjeta de Entradas Analógicas
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 específica.
PIW288
+14000 = Temperatura Superior
+13000 = Temperatura Inferior
Q5.7
Calentador
Ejecución por Tiempo – Alarmas de Retardo • Una alarma de retardo es una interrupción
Ejecución por Tiempo – Alarmas de Retardo
• Una alarma de retardo es una interrupción que permite ejecutar un programa
después 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
RETARDO
Configuración de Interrupciones de Retardo RETARDO
Configuración de Interrupciones de Retardo
RETARDO
Variables Locales de OB de Alarma de Retardo Variable Tipo de datos Declaración Descripción OB20_EV_CLASS
Variables Locales de OB de Alarma de Retardo Variable Tipo de datos Declaración Descripción OB20_EV_CLASS
Variables Locales de OB de Alarma de Retardo Variable Tipo de datos Declaración Descripción OB20_EV_CLASS
Variables Locales de OB de Alarma de Retardo Variable Tipo de datos Declaración Descripción OB20_EV_CLASS
Variables Locales de OB de Alarma de Retardo Variable Tipo de datos Declaración Descripción OB20_EV_CLASS

Variables Locales de OB de Alarma de Retardo

Variables Locales de OB de Alarma de Retardo Variable Tipo de datos Declaración Descripción OB20_EV_CLASS BYTE
Variables Locales de OB de Alarma de Retardo Variable Tipo de datos Declaración Descripción OB20_EV_CLASS BYTE
Variable Tipo de datos Declaración Descripción OB20_EV_CLASS BYTE TEMP Clase de evento e identificadores:
Variable
Tipo de datos
Declaración
Descripción
OB20_EV_CLASS
BYTE
TEMP
Clase de evento e identificadores:
OB20_STRT_INF
BYTE
TEMP
OB20_PRIORITY
BYTE
TEMP
OB20_OB_NUMBR
BYTE
TEMP
OB20_RESERVED_1
BYTE
TEMP
OB20_RESERVED_2
BYTE
TEMP
OB20_SIGN
WORD
TEMP
OB20_DTIME
TIME
TEMP
OB20_DATE_TIME
DATE_TIME
TEMP
B#16#11: Alarma está activada
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
Prioridad; valor prefijado: de 3 (OB20)
Número de OB (20 hasta 23)
Reservado
Reservado
Identificador de usuario: parámetro de
entrada SIGN de la llamada de SFC 32
”SRT_DINT”
Tiempo de retardo transcurrido en ms
Fecha y hora a las que se solicitó el OB
RETARDO
SFC´s para Programar OB´s de Alarmas Horarias de Retardo (I) • Funciones del sistema integradas
SFC´s
para Programar OB´s 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.
SFC 32 SRT_DINT: Arrancar alarma de retardo
Parámetro Declaración Tipo de datos Area de memoria Descripción
OB_NR INPUT INT
E, A, M, D, L,
Const.
DTIME
INPUT
TIME
SIGN
INPUT
WORD
E, A, M, D, L,
Const.
E, A, M, D, L,
Const.
Número del OB que se arrancará
al transcurrir el tiempo de retardo
(OB 20 a OB 23).
Valor del retardo (1 a 60000 ms)
RET_VAL OUTPUT
INT
E, A, M, D, L
Identificador que, al llamar el OB
de alarma de retardo, aparece en
la información de eventos de
arranque del OB.
Parámetro de código de error
RETARDO
SFC´s para Programar OB´s de Alarmas Horarias de Retardo (II) SFC 33 CAN_DINT: Anular alarma
SFC´s para Programar OB´s de Alarmas Horarias de Retardo (II) SFC 33 CAN_DINT: Anular alarma
SFC´s para Programar OB´s de Alarmas Horarias de Retardo (II) SFC 33 CAN_DINT: Anular alarma
SFC´s para Programar OB´s de Alarmas Horarias de Retardo (II) SFC 33 CAN_DINT: Anular alarma
SFC´s para Programar OB´s de Alarmas Horarias de Retardo (II) SFC 33 CAN_DINT: Anular alarma
SFC´s para Programar OB´s de Alarmas Horarias de Retardo (II) SFC 33 CAN_DINT: Anular alarma

SFC´s para Programar OB´s de Alarmas Horarias de Retardo (II)

para Programar OB´s de Alarmas Horarias de Retardo (II) SFC 33 CAN_DINT: Anular alarma de retardo
SFC 33 CAN_DINT: Anular alarma de retardo Parámetro Declaración Tipo de datos Area de memoria
SFC 33 CAN_DINT: Anular alarma de retardo
Parámetro Declaración Tipo de datos Area de memoria
Descripción
OB_NR
INPUT
INT
RET_VAL
OUTPUT
INT
E, A, M, D, L,
Const.
E, A, M, D, L
Número del OB que se ha de
anular (OB20 a OB23).
Parámetro de código de error
SFC 34 QRY_DINT: Consultar estado de alarma de retardo
Parámetro Declaración Tipo de datos Area de memoria
Descripción
OB_NR
INPUT
INT
RET_VAL
OUTPUT
INT
STATUS
OUTPUT
WORD
E, A, M, D, L,
Const.
E, A, M, D, L
E, A, M, D, L
Número del OB, cuyo STATUS
se ha de consultar (OB 20 a 23)
Parámetro de código de error.
Estado de la alarma de retardo
RETARDO

RETARDO

RETARDO Interrupciones de Retardo • – – – – OB_NR Número del OB que arrancará después
RETARDO Interrupciones de Retardo • – – – – OB_NR Número del OB que arrancará después
RETARDO Interrupciones de Retardo • – – – – OB_NR Número del OB que arrancará después

Interrupciones de Retardo

RETARDO Interrupciones de Retardo • – – – – OB_NR Número del OB que arrancará después
OB_NR Número del OB que arrancará después de retardo DTIME Duración de la demora (desde
OB_NR
Número del OB que arrancará después de retardo
DTIME
Duración de la demora (desde 1 hasta 60000 ms)
SIGN
Identificador que se pone en la información de
arranque del OB cuando se llama al OB de retardo
RET_VAL
Contiene el código de error si se produce un error
mientras el OB se procesa
SFC32
M0.1
M2.0
EN
ENO
(SRT_DINT)
20
OB_NR
RET_VAL
MW10
T#500ms
DTIME
W#16#01
SIGN
20 OB_NR RET_VAL MW10 T#500ms DTIME W#16#01 SIGN El OB20 se arranca mediante una llamada al
20 OB_NR RET_VAL MW10 T#500ms DTIME W#16#01 SIGN El OB20 se arranca mediante una llamada al
20 OB_NR RET_VAL MW10 T#500ms DTIME W#16#01 SIGN El OB20 se arranca mediante una llamada al
20 OB_NR RET_VAL MW10 T#500ms DTIME W#16#01 SIGN El OB20 se arranca mediante una llamada al

El OB20 se arranca mediante una llamada al SFC32 (SRT_DINT). Se define la demora en los parámetros que le pasa al SFC de la siguiente forma:

Interrupciones por Error del Hardware Módulo de Entradas Analógicas X +27648 Si el módulo analógico
Interrupciones por Error del Hardware
Módulo de Entradas Analógicas
X
+27648
Si el módulo analógico ha sido configurado
para habilitar la rotura de hilo como
interrupción hardware, se utilizar cualquier
problema de hardware en el transmisor
para llamar a un OB de detección de errores
(por ejemplo, el OB82)
0
Interrupciones por Error en el Programa/Sistema • Errores en Tiempo de Ejecución Errores Asíncronos Errores
Interrupciones por Error en el Programa/Sistema • Errores en Tiempo de Ejecución Errores Asíncronos Errores
Interrupciones por Error en el Programa/Sistema • Errores en Tiempo de Ejecución Errores Asíncronos Errores
Interrupciones por Error en el Programa/Sistema • Errores en Tiempo de Ejecución Errores Asíncronos Errores
Interrupciones por Error en el Programa/Sistema • Errores en Tiempo de Ejecución Errores Asíncronos Errores
Interrupciones por Error en el Programa/Sistema • Errores en Tiempo de Ejecución Errores Asíncronos Errores

Interrupciones por Error en el Programa/Sistema

Errores en Tiempo de Ejecución

Errores Asíncronos

Errores Síncronos

Tiempo de Ejecución Errores Asíncronos Errores Síncronos OB de Error OB de Error OB80 Error de

OB de Error

OB de Error

OB80

Error de Tiempo (por ejemplo,

OB121

OB85

tiempo de ciclo excedido) Error de Secuencia de Programa

OB122

OB87

(por ejemplo, OB no cargado) Fallo de Comunicaciones (por ejemplo, Datos Globales)

El STEP7 proporciona otros OBs utilizados para interrumpir el programa además de las interrupciones por errores en el hardware. Los errores que llaman a esos OBs se consideran errores en tiempo de ejecución; se detectan mediante los diagnósticos internos del PLC.

Error de Programación (por ejemplo, DB no cargado) Error de Acceso (por ejemplo, intento de
Error de Programación (por ejemplo, DB no cargado) Error de Acceso (por ejemplo, intento de
Error de Programación (por ejemplo, DB no cargado) Error de Acceso (por ejemplo, intento de
Error de Programación (por ejemplo, DB no cargado) Error de Acceso (por ejemplo, intento de
Error de Programación (por ejemplo, DB no cargado) Error de Acceso (por ejemplo, intento de
Error de Programación (por ejemplo, DB no cargado) Error de Acceso (por ejemplo, intento de
Error de Programación (por ejemplo, DB no cargado) Error de Acceso (por ejemplo, intento de
Error de Programación (por ejemplo, DB no cargado) Error de Acceso (por ejemplo, intento de
Error de Programación (por ejemplo, DB no cargado) Error de Acceso (por ejemplo, intento de
Error de Programación (por ejemplo, DB no cargado) Error de Acceso (por ejemplo, intento de
Error de Programación (por ejemplo, DB no cargado) Error de Acceso (por ejemplo, intento de
Error de Programación (por ejemplo, DB no cargado) Error de Acceso (por ejemplo, intento de
Error de Programación (por ejemplo, DB no cargado) Error de Acceso (por ejemplo, intento de
Error de Programación (por ejemplo, DB no cargado) Error de Acceso (por ejemplo, intento de
Error de Programación (por ejemplo, DB no cargado) Error de Acceso (por ejemplo, intento de
Error de Programación (por ejemplo, DB no cargado) Error de Acceso (por ejemplo, intento de
Error de Programación (por ejemplo, DB no cargado) Error de Acceso (por ejemplo, intento de
Error de Programación (por ejemplo, DB no cargado) Error de Acceso (por ejemplo, intento de
Error de Programación (por ejemplo, DB no cargado) Error de Acceso (por ejemplo, intento de
Error de Programación (por ejemplo, DB no cargado) Error de Acceso (por ejemplo, intento de
Error de Programación (por ejemplo, DB no cargado) Error de Acceso (por ejemplo, intento de
Error de Programación (por ejemplo, DB no cargado) Error de Acceso (por ejemplo, intento de
Error de Programación (por ejemplo, DB no cargado) Error de Acceso (por ejemplo, intento de

Error de Programación (por ejemplo, DB no cargado) Error de Acceso (por ejemplo, intento de acceder a un módulo periférico no presente)

(por ejemplo, DB no cargado) Error de Acceso (por ejemplo, intento de acceder a un módulo

SFC´s

   

para Programar OB´s de Error

     
 

• Las Funciones de Sistema integradas (SFCs) se pueden utilizar para controlar y monitorizar las interrupciones asociadas a errores síncronos y asíncronos. Estas SFCs proporcionan los parámetros formales listados debajo los cuales pueden ser programados con valores actuales mediante la instrucción de llamada a SFC.

• SFCs para manejo de Errores Síncronos

 
 

– SFC36

MSK_FLT

Enmascarar errores de sincronización

– SFC37

DMSK_FLT

Desenmascarar errores de sincronización

– SFC38

READ_ERR

Leer el registro de estado de eventos

 

• SFCs para manejo Errores Síncronos y Asíncronos

 
 

– SFC39

DIS_IRT

Inhabilitar Interrupción

– SFC40

EN_IRT

Habilitar Interrupción

– SFC41

DIS_AIRT

Inhabilitar Interrupciones de Alarma

– SFC42

EN_AIRT

Habilitar Interrupciones de Alarma