Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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