Fabricación inteligente

Gestión de alarmas en fabricación: avalanchas, prioridades y fundamentos de ISA-18.2

Demasiadas alarmas son tan peligrosas como muy pocas. Descubre por qué se producen las avalanchas de alarmas, cómo estructura ISA-18.2 la gestión de alarmas, cómo priorizar y cómo publicar eventos de alarma limpios por MQTT.

Ilustración de gestión de alarmas en fabricación con una consola de operador, alarmas priorizadas y eventos de alarma MQTT
Pruébalo en tu propio broker MQTTConsigue un broker MQTT privado y gestionado con el plan Free y empieza con ejemplos de código listos para usar.
Pruébalo gratis Ejemplos de código Sin tarjeta

La gestión de alarmas en fabricación es la disciplina que garantiza que cada alarma que ve un operador sea real, relevante y accionable. Esta guía explica por qué se producen las avalanchas de alarmas, qué exige el ciclo de vida de ISA-18.2, cómo definir prioridades y bandas muertas, y cómo publicar eventos de alarma por MQTT para que dashboards, notificaciones y herramientas de análisis vean la misma verdad.

Por qué importa la gestión de alarmas

Una alarma existe para avisar al operador de que algo requiere una respuesta en un tiempo limitado. Cuando esa promesa se rompe, las personas aprenden a ignorar las alarmas. Síntomas típicos en plantas sin gestión de alarmas:

  • Alarmas permanentes que siguen activas durante días porque nadie puede o quiere corregir la causa.
  • Alarmas intermitentes (chattering) que se activan y desactivan muchas veces por minuto alrededor de un límite.
  • Avalanchas de alarmas tras una perturbación, cuando una sola causa raíz dispara decenas de alarmas consecuentes y la importante desaparece de la pantalla.
  • Todo es prioridad alta, de modo que la prioridad no aporta información.
  • Alarmas sin respuesta definida, configuradas "por si acaso" durante la puesta en marcha.

El resultado es la fatiga de alarmas. Los operadores reconocen sin leer, y cuando llega una alarma realmente crítica compite con el ruido. Las investigaciones de varios incidentes industriales conocidos señalaron a operadores desbordados como factor contribuyente, y por eso la gestión de alarmas se convirtió en una disciplina formal.

Fundamentos de ISA-18.2

ANSI/ISA-18.2 (y su equivalente internacional IEC 62682) es la norma de referencia para la gestión de alarmas en la industria de procesos, y sus ideas se aplican igual de bien a la fabricación discreta. Su concepto central es un ciclo de vida de la gestión de alarmas:

Etapa Qué ocurre Resultado
Filosofía Definir qué es una alarma, prioridades, colores, tiempos de respuesta, KPI Documento de filosofía de alarmas
Identificación Encontrar alarmas candidatas a partir de estudios de riesgos y necesidades de calidad y mantenimiento Lista de candidatas
Racionalización Justificar cada alarma: causa, consecuencia, respuesta, tiempo de respuesta, prioridad Base de datos maestra de alarmas
Diseño detallado Definir límites, bandas muertas, retardos, lógica de supresión Alarmas configuradas
Implementación Desplegar, probar, formar a los operadores Sistema en producción
Operación Los operadores responden; el aplazamiento (shelving) y el fuera de servicio se gestionan por procedimiento Eventos de alarma
Mantenimiento Reparar instrumentos, probar alarmas Sistema mantenido
Supervisión y evaluación Medir tasas de alarmas, avalanchas, principales infractores Acciones de mejora
Gestión del cambio Controlar altas, bajas y cambios de límites Registro de auditoría
Auditoría Revisión periódica frente a la filosofía Informe de auditoría

El paso más valioso para la mayoría de las plantas es la racionalización. Para cada alarma, pregunta: ¿cuál es la causa, qué ocurre si nadie actúa, qué debe hacer exactamente el operador y de cuánto tiempo dispone? Una alarma sin una respuesta clara a la tercera pregunta no es una alarma: es un evento o una notificación y pertenece a un registro, no a la pantalla del operador.

ISA-18.2 también ofrece referencias de uso habitual para la carga de alarmas por operador y define una avalancha de alarmas como una ráfaga que supera lo que un operador puede gestionar, normalmente más de diez alarmas en diez minutos. Utiliza las cifras de la norma en tu filosofía en lugar de inventar las tuyas.

Una gestión de alarmas en fabricación que los equipos puedan sostener: prioridades y diseño

Definir prioridades

La prioridad debe surgir de dos factores: la gravedad de la consecuencia y el tiempo disponible para responder. Una matriz sencilla funciona:

Consecuencia Respuesta necesaria en minutos Respuesta necesaria en una hora o más
Seguridad, medio ambiente o daño grave a equipos Alta Media
Pérdida de producto o retención por calidad Media Baja
Pérdida menor de eficiencia Baja No es una alarma (evento o notificación)

Mantén reducida la proporción de prioridad alta. Si más que una pequeña minoría de las alarmas configuradas son de prioridad alta, revisa la racionalización.

Bandas muertas y retardos

La mayoría de las alarmas intermitentes son un problema de diseño, no de proceso:

  • Banda muerta (histéresis): una alarma que se activa por encima de 80 °C solo se despeja por debajo de, por ejemplo, 78 °C.
  • Retardo a la activación: la condición debe cumplirse durante un tiempo determinado antes de que la alarma se active, lo que filtra picos momentáneos.
  • Retardo a la desactivación: la condición debe desaparecer durante un tiempo determinado antes de que la alarma vuelva a normal, lo que evita reactivaciones rápidas.

Supresión y aplazamiento

Durante una parada planificada, las alarmas de caudal bajo de una bomba detenida son esperables e inútiles. La supresión basada en estado oculta las alarmas que no tienen sentido en el estado actual de la máquina. El aplazamiento (shelving) permite a un operador retirar temporalmente una alarma molesta mediante un procedimiento controlado con un límite de tiempo automático, para que no quede olvidada.

Publicar eventos de alarma por MQTT

Las alarmas suelen originarse en PLC, DCS o SCADA. Publicarlas por MQTT permite que otros consumidores (tableros andon, notificaciones móviles, sistemas de mantenimiento, análisis) usen los mismos eventos sin integraciones separadas. Dos tipos de topic funcionan bien juntos:

acme/plant1/press/line3/press2/alarm/HYD_TEMP_HI   retained: current state of this alarm
acme/plant1/press/line3/alarm-events               not retained: every transition, for history

El topic retenido por alarma ofrece a cualquier cliente la lista de alarmas activas con solo suscribirse a .../alarm/#. El flujo de eventos alimenta una base de datos para KPI de alarmas como alarmas por hora, las diez más frecuentes y periodos de avalancha.

El ejemplo de Python siguiente implementa una alarma con banda muerta y retardo a la activación sobre una lectura de temperatura, y publica ambos topics. Utiliza paho-mqtt 2.x y el servidor MQTT público gratuito para pruebas; no lo uses para datos de producción.

import json
import time
import uuid

import paho.mqtt.client as mqtt

BASE = "connectmq/demo/alm-2e7b/press2"
ALARM_ID = "HYD_TEMP_HI"
HIGH, CLEAR, ON_DELAY_S, PRIORITY = 80.0, 78.0, 5.0, "HIGH"

active = False
pending_since = None

def publish_alarm(client, state, value):
    event = {"alarm": ALARM_ID, "state": state, "priority": PRIORITY,
             "value": value, "limit": HIGH, "ts": time.time()}
    client.publish(f"{BASE}/alarm/{ALARM_ID}", json.dumps(event), qos=1, retain=True)
    client.publish(f"{BASE}/alarm-events", json.dumps(event), qos=1)
    print(event)

def on_connect(client, userdata, flags, reason_code, properties):
    client.subscribe(f"{BASE}/hydraulic/temp", qos=1)

def on_message(client, userdata, msg):
    global active, pending_since
    value = json.loads(msg.payload)["tempC"]
    now = time.time()
    if not active:
        if value > HIGH:
            pending_since = pending_since or now
            if now - pending_since >= ON_DELAY_S:
                active = True
                publish_alarm(client, "ACTIVE", value)
        else:
            pending_since = None
    elif value < CLEAR:
        active, pending_since = False, None
        publish_alarm(client, "CLEARED", value)

client = mqtt.Client(mqtt.CallbackAPIVersion.VERSION2,
                     client_id=f"alarm-{uuid.uuid4().hex[:8]}")
client.on_connect = on_connect
client.on_message = on_message
client.connect("broker.connectmq.com", 1883, keepalive=30)
client.loop_forever()

Envía lecturas superiores a 80 durante más de cinco segundos y la alarma se activa; solo se despeja por debajo de 78. El reconocimiento puede añadirse del mismo modo: el HMI publica un evento de reconocimiento y el servicio de alarmas actualiza el estado retenido a ACTIVE_ACKED.

Checklist de gestión de alarmas

  1. Redacta una filosofía de alarmas de una página antes de configurar nada nuevo.
  2. Exporta la lista actual de alarmas y ordénalas por frecuencia; las diez primeras suelen generar la mayor parte de la carga.
  3. Racionaliza esas primero: causa, consecuencia, respuesta, tiempo, prioridad.
  4. Añade bandas muertas y retardos a cada alarma intermitente.
  5. Degrada a eventos o notificaciones las alarmas sin acción del operador.
  6. Implementa supresión basada en estado para máquinas detenidas o en cambio de formato.
  7. Mide semanalmente la tasa de alarmas por operador y los periodos de avalancha.
  8. Controla los cambios de límites y prioridades mediante la gestión del cambio.

Dónde encaja ConnectMQ

ConnectMQ es un broker MQTT gestionado que transporta eventos de alarma entre controladores, dashboards y servicios de notificación, con MQTT 5, retained messages, TLS y WebSocket seguro para pantallas andon en el navegador. El portal también incluye reglas de alerta por umbral y un registro de alertas, útiles para notificaciones de supervisión sencillas, por ejemplo una cámara frigorífica o la temperatura de un rodamiento que supera un límite fijo. Complementan, pero no sustituyen, a las alarmas de proceso racionalizadas y a los sistemas de seguridad de tu PLC o SCADA, que siguen siendo el lugar para las alarmas que requieren una acción del operador.

Para hacer visibles las alarmas en la línea, combínalas con un sistema andon digital y con la monitorización del estado de las máquinas. La guía de fabricación inteligente muestra cómo encajan los datos de alarmas en la arquitectura de datos completa de la planta, y los mismos topics pueden mostrar las alarmas activas sobre un gemelo digital 3D de la línea.

Envía tus eventos de alarma a través de ConnectMQ

Crea un broker Serverless gratuito en app.connectmq.com sin tarjeta de crédito, publica tus primeros topics de alarma y observa cómo la lista de alarmas activas se actualiza en directo en el explorador de topics.

Preguntas frecuentes

¿Qué es una avalancha de alarmas?

Una avalancha de alarmas es un periodo en el que las alarmas llegan más rápido de lo que un operador puede responder, a menudo después de que una sola perturbación dispare muchas alarmas consecuentes. ISA-18.2 suele usar como umbral más de diez alarmas en diez minutos por operador.

¿Qué es la racionalización de alarmas?

Es la revisión sistemática de cada alarma para documentar su causa, consecuencia, acción requerida del operador, tiempo de respuesta permitido y prioridad. Las alarmas que no superan esta revisión se eliminan o se convierten en eventos.

¿ISA-18.2 es solo para la industria de procesos?

Se redactó para la industria de procesos, pero su ciclo de vida, la racionalización y la supervisión del desempeño se aplican también a las líneas de fabricación discreta.

¿Se puede usar MQTT para alarmas de seguridad?

Las funciones de seguridad pertenecen a sistemas de seguridad y PLC certificados. MQTT es muy adecuado para distribuir información de alarmas a dashboards, notificaciones y análisis, no para ejecutar acciones de seguridad.

Artículos relacionados

OEE vs TEEP vs OOE: ¿qué indicador deberías usar?

OEE, OOE y TEEP comparten los mismos factores de rendimiento y calidad, pero se miden frente a bases de tiempo distintas. Esta comparativa resuelve un único ejemplo y enumera las señales MQTT que necesita cada indicador.

8 min de lectura

Todos los artículos →

Tu broker MQTT privado, a unos pocos clics

Crea una cuenta, obtén las credenciales de tu broker y conecta tu primer dispositivo, sin servidores que instalar, parchear ni escalar.