O gerenciamento de alarmes na manufatura é a disciplina que garante que todo alarme exibido ao operador seja real, relevante e acionável. Este guia explica por que as avalanches de alarmes acontecem, o que o ciclo de vida da ISA-18.2 pede que você faça, como definir prioridades e bandas mortas e como publicar eventos de alarme via MQTT para que dashboards, notificações e ferramentas de análise enxerguem a mesma verdade.
Por que o gerenciamento de alarmes importa
Um alarme existe para avisar o operador de que algo exige uma resposta dentro de um tempo limitado. Quando essa promessa é quebrada, as pessoas aprendem a ignorar alarmes. Sintomas típicos em plantas sem gerenciamento de alarmes:
- Alarmes permanentes que ficam ativos por dias porque ninguém pode ou quer corrigir a causa.
- Alarmes oscilantes (chattering) que ligam e desligam várias vezes por minuto em torno de um limite.
- Avalanches de alarmes após uma perturbação, em que uma única causa raiz dispara dezenas de alarmes consequentes e o alarme importante some da tela.
- Tudo é alta prioridade, então a prioridade não carrega nenhuma informação.
- Alarmes sem resposta definida, configurados "por via das dúvidas" durante o comissionamento.
O resultado é a fadiga de alarmes. Os operadores reconhecem sem ler e, quando chega um alarme realmente crítico, ele disputa atenção com o ruído. Investigações de vários incidentes industriais conhecidos apontaram operadores sobrecarregados como fator contribuinte, e é por isso que o gerenciamento de alarmes se tornou uma disciplina formal.
Fundamentos da ISA-18.2
A ANSI/ISA-18.2 (e sua equivalente internacional, a IEC 62682) é a norma de referência para gerenciamento de alarmes nas indústrias de processo, e suas ideias se aplicam igualmente bem à manufatura discreta. Seu conceito central é um ciclo de vida do gerenciamento de alarmes:
| Etapa | O que acontece | Resultado |
|---|---|---|
| Filosofia | Definir o que é um alarme, prioridades, cores, tempos de resposta, KPIs | Documento de filosofia de alarmes |
| Identificação | Encontrar alarmes candidatos a partir de estudos de risco e necessidades de qualidade e manutenção | Lista de candidatos |
| Racionalização | Justificar cada alarme: causa, consequência, resposta, tempo para responder, prioridade | Banco de dados mestre de alarmes |
| Projeto detalhado | Definir limites, bandas mortas, atrasos, lógica de supressão | Alarmes configurados |
| Implementação | Implantar, testar, treinar operadores | Sistema em operação |
| Operação | Operadores respondem; arquivamento temporário (shelving) e fora de serviço tratados por procedimento | Eventos de alarme |
| Manutenção | Reparar instrumentos, testar alarmes | Sistema mantido |
| Monitoramento e avaliação | Medir taxas de alarme, avalanches, maiores ofensores | Ações de melhoria |
| Gestão de mudanças | Controlar inclusões, exclusões e alterações de limites | Trilha de auditoria |
| Auditoria | Revisão periódica em relação à filosofia | Relatório de auditoria |
A etapa mais valiosa para a maioria das plantas é a racionalização. Para cada alarme, pergunte: qual é a causa, o que acontece se ninguém agir, o que exatamente o operador deve fazer e quanto tempo ele tem? Um alarme sem resposta clara para a terceira pergunta não é um alarme; é um evento ou uma notificação e pertence a um log, não à tela do operador.
A ISA-18.2 também traz referências muito usadas para a carga de alarmes por operador e define uma avalanche de alarmes como uma rajada de alarmes que excede o que um operador consegue tratar, tipicamente mais de dez alarmes em dez minutos. Use os números da norma na sua filosofia em vez de inventar os seus.
Gerenciamento de alarmes na manufatura que a equipe consegue sustentar: prioridades e projeto
Definindo prioridades
A prioridade deve vir de dois fatores: a gravidade da consequência e o tempo disponível para responder. Uma matriz simples funciona:
| Consequência | Resposta necessária em minutos | Resposta necessária em uma hora ou mais |
|---|---|---|
| Segurança, meio ambiente ou dano grave a equipamento | Alta | Média |
| Perda de produto ou retenção por qualidade | Média | Baixa |
| Pequena perda de eficiência | Baixa | Não é alarme (evento ou notificação) |
Mantenha pequena a fatia de alta prioridade. Se mais do que uma pequena minoria dos alarmes configurados for de alta prioridade, revise a racionalização.
Bandas mortas e atrasos
A maioria dos alarmes oscilantes é um problema de projeto, não de processo:
- Banda morta (histerese): um alarme que dispara acima de 80 °C só é normalizado abaixo de, por exemplo, 78 °C.
- Atraso de ativação (on-delay): a condição precisa ser verdadeira por um tempo definido antes de o alarme ser ativado, filtrando picos momentâneos.
- Atraso de normalização (off-delay): a condição precisa estar normalizada por um tempo definido antes de o alarme voltar ao normal, evitando novos disparos rápidos.
Supressão e shelving
Durante uma parada programada, alarmes de baixa vazão em uma bomba parada são esperados e inúteis. A supressão baseada em estado oculta alarmes que não fazem sentido no estado atual da máquina. O shelving permite que o operador retire temporariamente um alarme incômodo, seguindo um procedimento controlado com limite de tempo automático, para que ele não seja esquecido.
Publicando eventos de alarme via MQTT
Os alarmes geralmente se originam em CLPs, SDCDs ou SCADA. Publicá-los via MQTT permite que outros consumidores (painéis andon, notificações móveis, sistemas de manutenção, análises) usem os mesmos eventos sem integrações separadas. Dois tipos de topic funcionam bem 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
O topic retido por alarme entrega a qualquer client a lista atual de alarmes ativos bastando assinar .../alarm/#. O fluxo de eventos alimenta um banco de dados para KPIs de alarme como alarmes por hora, os dez maiores ofensores e períodos de avalanche.
O exemplo em Python abaixo implementa um alarme com banda morta e atraso de ativação sobre uma leitura de temperatura e publica nos dois topics. Ele usa paho-mqtt 2.x e o servidor MQTT público para testes; use-o apenas para testes e protótipos, não para dados de produção.
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()
Envie leituras acima de 80 por mais de cinco segundos e o alarme é ativado; ele só é normalizado abaixo de 78. O reconhecimento pode ser adicionado da mesma forma: a IHM publica um evento de reconhecimento (ack) e o serviço de alarmes atualiza o estado retido para ACTIVE_ACKED.
Checklist de gerenciamento de alarmes
- Escreva uma filosofia de alarmes de uma página antes de configurar qualquer coisa nova.
- Exporte a lista atual de alarmes e ordene-os por frequência; os dez primeiros geralmente geram a maior parte da carga.
- Racionalize esses primeiro: causa, consequência, resposta, tempo, prioridade.
- Adicione bandas mortas e atrasos a todo alarme oscilante.
- Rebaixe alarmes sem ação do operador para eventos ou notificações.
- Implemente supressão baseada em estado para máquinas paradas ou em setup.
- Meça semanalmente a taxa de alarmes por operador e os períodos de avalanche.
- Controle as alterações de limites e prioridades por meio da gestão de mudanças.
Onde a ConnectMQ se encaixa
A ConnectMQ é um broker MQTT gerenciado que transporta eventos de alarme entre controladores, dashboards e serviços de notificação, com MQTT 5, retained messages, TLS e WebSocket seguro para telas andon no navegador. O portal também inclui regras de alerta por limite e um log de alertas, úteis para notificações simples de monitoramento, por exemplo uma câmara fria ou a temperatura de um rolamento ultrapassando um limite fixo. Eles complementam, mas não substituem, os alarmes de processo racionalizados e os sistemas de segurança no seu CLP ou SCADA, que continuam sendo o lugar dos alarmes que exigem ação do operador.
Para tornar os alarmes visíveis na linha, combine-os com um sistema andon digital e com o monitoramento de status de máquinas. O guia de manufatura inteligente mostra como os dados de alarme se encaixam na arquitetura completa de dados da planta.
Encaminhe seus eventos de alarme pela ConnectMQ
Crie um broker Serverless gratuito em app.connectmq.com sem cartão de crédito, publique seus primeiros topics de alarme e acompanhe a lista de alarmes ativos se atualizando ao vivo no explorador de topics.
Perguntas frequentes
O que é uma avalanche de alarmes?
Uma avalanche de alarmes (alarm flood) é um período em que os alarmes chegam mais rápido do que o operador consegue responder, muitas vezes depois que uma única perturbação dispara vários alarmes consequentes. A ISA-18.2 costuma usar mais de dez alarmes em dez minutos por operador como limite.
O que é racionalização de alarmes?
É a revisão sistemática de cada alarme para documentar sua causa, consequência, ação exigida do operador, tempo de resposta permitido e prioridade. Alarmes que não passam nessa revisão são removidos ou transformados em eventos.
A ISA-18.2 serve apenas para a indústria de processo?
Ela foi escrita para as indústrias de processo, mas seu ciclo de vida, a racionalização e o monitoramento de desempenho também se aplicam a linhas de manufatura discreta.
O MQTT pode ser usado para alarmes de segurança?
Funções de segurança pertencem a sistemas de segurança certificados e CLPs. O MQTT é muito adequado para distribuir informações de alarme para dashboards, notificações e análises, não para executar ações de segurança.



