Está en la página 1de 6

ALARMAS 

HORARIAS 19/11/2017

ACTIVACIÓN DE ALARMAS HORARIAS
1.­ Por Hardware
NINGUNA ­ UNA VEZ ­ CADA MINUTO ­ CADA HORA ­ DIARIA ­ SEMANAL ­ MENSUAL ­ ÚLTIMO DE MES ­ ANUAL

OB10 a OB17:
Alarmas horarias
En las CPU 314C sólo tenemos una (OB10)

Más adelante se programa el OB10

OJO: EL OB10 SÓLO SE EJECUTA UNA VEZ

Código de test para el OB10
El valor de MW50 se incrementa cada vez que 
se activa el OB10

1
ALARMAS HORARIAS 19/11/2017

2.­ POR SOFTWARE

Funciones de sistema en Standard Library ­ System Function Blocks
­ SFC30: ACT_TINT (Activar una alarma horaria)
­ SFC28: SET_TINT (Ajustar una alarma horaria)

LLAMADA A LAS SFC PARA ALARMA HORARIA

El DT no puede introducirse directamente ­­> desde una variable temporal o desde un DB

2
ALARMAS HORARIAS 19/11/2017

Ejemplo 1: activar el OB10 una vez cada hora a partir del día 
20/11/2017 a las 12.45h
­ Se puede componer un DT, necesario para programar la alarma horaria, a partir de los DATE y 
TOD correspondientes. Para ello, usamos la función IEC FC3 (D_TOD_DT)

(NOTA: NO ES NECESARIO) Esta operación puede 
realizarse de una sola 
vez con la función de 
sistema SFC21 (FILL)

Las direcciones físicas de las variables locales empiezan por L (DT_alarma empieza en L32.0)

LLAMADA DE LAS FUNCIONES

Código para activar la alarma cada hora
(Ver ayuda de la función)

3
ALARMAS HORARIAS 19/11/2017

EJERCICIO: Poner a STOP el PLC una hora después del 
arranque.
a: Con una comparación de DT.
b: Mediante una alarma horaria.

­ LA SFC 46 (STP) PONE EL PLC A STOP DE MODO INCONDICIONAL. HAY QUE LLAMARLA 
CUANDO SE CUMPLA UNA HORA DEL ARRANQUE.

CREAMOS UN DB CON DOS VARIABLES DE TIPO DT
Una para la fecha y hora de arranque del OB100, otra para 
sumarle una hora.

Es necesario llevar el DT de arranque del OB100 al DB, ya que no sería accesible desde el 
OB1, al ser una variable local del OB100.

4
ALARMAS HORARIAS 19/11/2017

MOVEMOS EL DT DEL OB100 AL DB CON LA SFC 21 "FILL"

Con la SFC 21 FILL es posible inicializar un área de memoria (array de destino) 
con el contenido de otra área de memoria (array de origen). La SFC copia el 
contenido en el array de destino indicado hasta que el área de memoria está 
escrita por completo.

ANY: VALOR 
PUNTERO. LA 
VARIABLE APUNTA AL 
PRIMER BIT DE LA 
ZONA DE MEMORIA

Ejemplo: P#M0.0 BYTE 4                MB0 A MB3

LLAMADA A LA SFC21 (EN EL OB100)

PUNTERO A LA DIRECCIÓN INICIAL DE LA VARIABLE

PUNTERO A LA VARIABLE DEL DB

5
ALARMAS HORARIAS 19/11/2017

a: LLAMADAS A LAS FUNCIONES DE MANEJO DE DT

NOTA: ¡En KOP la llamada condicional de SFC46 sería más sencilla!

b: LLAMADA A LA SFC46 DESDE UNA ALARMA HORARIA

OJO: El PLC 314C sólo tiene un OB de alarma horaria, el OB10
1.­ Programar la SFC46 (STP) en el OB10.
2.­ Llamar a las SFC30 y SFC28 cuando se haya cumplido una hora desde el arranque, 
usando la variable DT generada en el DB3.  Es suficiente llamar al OB10 una sola vez.

EJERCICIO PROPUESTO

También podría gustarte