En la entrada de hoy vamos a tratar una cosa fundamental en nuestros proyectos: la gestión de alarmas en S7.
Antes o después, nuestra automatización va a tener algún tipo de problema, por ejemplo, de mal funcionamiento. Esto en principio no es un problema ya que por lo general vamos a tener una pantalla asociada donde vamos a poder mostrar en cada caso qué alarma es la que ha saltado y si fuera necesario su tratamiento o puntos a comprobar para poder resolverla.
Por otro lado, además de la indicación en la pantalla de la alarma, hay que llamar la atención del operario para indicarle que algo no va como debiera. Así, tendremos casi siempre:
- Una bonita baliza luminosa
- Una sirena que deje medio sordo a los que estén alrededor.
La primera no suele molestar mucho. A mi el rojo me gusta a pesar de no ser mi color favorito... pero que una sirena me esté taladrando el oido cuando ya me he enterado de que la alarma está activa y que además el problema no es resoluble a corto plazo, me hace estar un tanto inquieto.
Por tanto, lo que vamos a ver a continuación es:
- Activar la baliza roja de forma parpadeante cuando surja una nueva alarma.
- Que la alarma se quede fija una vez que la alarma haya sido reconocida.
- Cómo activar la sirena cuando surja una nueva alarma aunque haya sido reconocida previamente.
- Cómo parar la sirena cuando se reconoza la alarma.
- Cómo resetear todas las alarmas (si se puede porque las causas hayan desaparecido)
- Cómo lanzar de nuevo la sirena en caso de transcurrido un tiempo, las alarmas no han desaparecido (si fuera necesario)
Gestión de alarmas en S7
Como veis no es nada que sea extraño. La idea es que suene la sirena y la podamos apagar. Esto en sí mismo es fácilmente resoluble.
El problema puede surgir si salta una nueva alarma, que también queremos que la sirena suene de nuevo o para determinadas alarmas, aunque hayan sido acusadas, suenen de nuevo al de dos horas por ejemplo recordando que el problema no se ha solventado.
¿Cómo hacerlo?
Pues los ingredientes que vamos a usar son los siguientes:- Un FC donde realizar la gestión de las alarmas con sus variables de entrada y salida
- Un FC donde programar las alarmas
- Un DB donde almacenar el estado de las alarmas y su significado
- Unas pocas marcas y salidas
El FC
Vamos a usar un FC reutilizable para todos nuestros proyectos. O casi todos. Algo que podamos usar más adelante, en otra automatización. Esto nos va a obligar a que todos los datos que usemos haya sido introducidos como entrada y los generados los saquemos como salidas. Las tareas que vamos a realizar en este FC van a ser:- Comprobar cuántas alarmas activas hay
- Comprobar si hay más alarmas activas que en el ciclo anterior. Si las hay, activar una salida que indique que hay una nueva alarma.
- Comprobar si han sido acusadas las alarmas. Si lo han sido, tirar la señal de nueva alarma.
- Resetear las alarmas si tenemos una entrada que así lo indique.
- Dar intermitencia o no a una salida que indique si de las alarmas activas existentes hay nuevas o están todas acusadas.
- Tener una entrada que nos rearranque la bocina y la baliza si hemos programado que al de un tiemp0 del apagado de la bocina, la causa que generó la alarma no ha desaparecido.
El DB
El DB no va a ser mas que un listado de booleanas donde activaremos nuestras alarmas. ¿Por qué eliges un DB en vez de hacerlo con marcas? Pues por costumbre, lo primero. Y lo segundo, y más importante por practicidad.- Puedo ver en un sólo sitio dentro de S7 las alarmas de las que dispongo y cuáles estoy usando.
- Sé cuales uso porque comento qué hace cada alarma
- No corro riesgo de machacar una dirección.
- Puedo dejar espacios grandes sin usar sin miedo que en un futuro use una dirección intermedia para una cosa que no sea una alarma



