Alarmes

O editor de alarme: identidade e endereço, a condição, o cartão Comportamento com prioridade, notificação, atrasos, mensagem e reconhecimento, o trilho Estado, a máquina de estados, a anunciação, e o Reconhecer e o Reconhecer todos.

Ver como Markdown

Um alarme vigia uma condição booleana e conduz uma máquina de estados de reconhecimento, para que uma condição que importava nunca possa ir e vir sem ser vista. Selecione um alarme sob a raiz Alarmes da coluna da Logic (ou crie um com Novo… > Novo alarme) para abrir o editor dele; ler exige Ver a lógica, editar exige Configurar a lógica, reconhecer exige Operar a lógica.

O cabeçalho mostra a marca de alarme (tocando enquanto o alarme está ativo), o nome, a frase "Uma condição que esta estação vigia: enquanto ela vale, o alarme se anuncia e espera ser reconhecido.", uma pílula com o estado atual (Sem alarme; Ativo, não reconhecido; Ativo, reconhecido; Normalizado, não reconhecido) e uma pílula Desabilitado enquanto o alarme está desligado. A coluna do formulário contém IDENTIDADE, CONDIÇÃO e COMPORTAMENTO; o trilho contém ESTADO.

Identidade

Campo O que é Valores / padrão Efeito
Nome O nome de exibição; o segmento higienizado dele é o endereço sob Alarms. Texto livre; um alarme novo é AlarmN. Confirma pela renomeação segura, como o nome de uma variável: uma prévia das referências que acompanham, Enter ou sair do campo para confirmar, "Alarme renomeado e N referências atualizadas." Renomear preserva o estado ao vivo e um reconhecimento pendente. Um nome que colide é recusado no lugar.
Linha do endereço Alarms.<folders>.<segment>, ecoada sob o nome. Somente leitura. Expressões e scripts leem o estado do alarme por ela (Alarms.HighLevel.IsActive).
Descrição (opcional) Texto livre. Vazia. Nenhum.

Condição

O cartão CONDIÇÃO é o editor de script com a dica "Uma única expressão JavaScript booleana sobre o espaço de endereços, por exemplo Connector.Simulated.Pump.Temp.ValueToReal() > Variables.SetpointHigh.ValueToReal(). Condições não podem referenciar outros alarmes." A condição segue toda regra de expressão: uma expressão somente leitura, endereços estáticos, a porteira da qualidade, o limite de 250 ms. Ela pode referenciar tags, variáveis dos dois tipos, pontos do Process, Assets e os diagnósticos, nunca Alarms.*, e precisa produzir um booleano ("A condição precisa avaliar para um booleano, mas produziu '…'."). Uma condição que não pode ser avaliada numa varredura (um ponto referenciado Ruim, ausente ou vazio) é incerteza: a máquina de estados mantém o último estado dela.

Comportamento

Campo O que é Valores / padrão Efeito
Prioridade A severidade. Crítica, Alta, Média (padrão), Baixa; cada opção é desenhada na cor da severidade dela. Mostrada no ponto da árvore, em todo resumo, no cartão da tarja de notificação, no diário e no indicador da barra de status; nas marcas compartilhadas, vence a pior prioridade pendente.
Notificação Como uma ativação se anuncia além do indicador sempre presente da barra de status. Fixa (padrão), Temporizada, Barra de status. A dica do campo: "Fixa = tarja até ser reconhecido ou voltar ao normal; Temporizada = tarja por alguns segundos; Barra de status = apenas o indicador da barra de status." Veja Anunciação.
Atraso de liga (ms) Quanto tempo a condição precisa continuar verdadeira antes de o alarme subir. Um inteiro não negativo; 0 sobe na hora. Tempo observado sustentado, na resolução da varredura de 100 ms.
Atraso de desliga (ms) Quanto tempo a condição precisa continuar falsa antes de o alarme normalizar. Um inteiro não negativo; 0 normaliza na hora. A mesma resolução.
Mensagem (mostrada enquanto ativo, opcional) Texto levado pela anunciação. Texto livre, vazio. O cartão e a notificação do sistema mostram "<Message> (Prioridade)"; sem ela, "Alarme de prioridade <Priority> está ativo."
Exige reconhecimento: um alarme normalizado fica retido até o operador reconhecer Se uma ativação exige uma resposta. Ligado por padrão. Desligado: o alarme sobe direto para Ativo, reconhecido e normaliza direto para Sem alarme; ele se anuncia, mas nunca fica retido e nunca espera.

Um atraso negativo ou não interpretável mantém o valor guardado e mostra "Os atrasos precisam ser inteiros não negativos (ms; a resolução é a varredura de 100 ms)." Um atraso é tempo observado sustentado: enquanto a condição não pode ser avaliada, os dois relógios de atraso recomeçam, então uma janela cega nunca é creditada para subir nem para normalizar.

Salvar uma mudança na condição, num atraso, no Exige reconhecimento ou no Habilitado devolve a máquina para Sem alarme (um estado velho de outra regra mentiria); a reposição é registrada no diário com a origem Configuração e fecha o cartão de tarja do alarme. Mudar o nome, a descrição, a prioridade, a mensagem ou a notificação, ou rearquivar o alarme em outra pasta, preserva o estado.

O trilho Estado

O ESTADO mostra o estado atual em palavras, "Prioridade: <priority>", Ativo desde (um traço enquanto a condição não está presente) e Última transição (um traço antes da primeira mudança de estado), e a nota "Toda transição aparece na página Eventos e no histórico persistente de Alarmes. O estado do alarme vive no espaço de endereços, por exemplo Alarms.X.IsActive numa expressão ou num script." O painel da raiz Alarmes lista todo alarme com "<estado> · <prioridade> · desde <quando>" na coluna Valor dele e um botão Reconhecer por linha.

A máquina de estados

Estado Significado
Sem alarme Condição falsa, nada pendente.
Ativo, não reconhecido Condição verdadeira, ainda sem reconhecimento.
Ativo, reconhecido Condição verdadeira, reconhecida (ou o alarme nunca exige reconhecimento).
Normalizado, não reconhecido A condição voltou ao normal enquanto ninguém tinha reconhecido: fica retido até o operador reconhecer.

Uma condição que continua verdadeira ao longo do atraso de liga sobe o alarme de Sem alarme ou de Normalizado, não reconhecido para Ativo, não reconhecido (direto para Ativo, reconhecido quando o Exige reconhecimento está desligado). Uma condição que continua falsa ao longo do atraso de desliga o normaliza: para Sem alarme quando já estava reconhecido, e para Normalizado, não reconhecido quando não estava. Reconhecer leva de Ativo, não reconhecido para Ativo, reconhecido e solta a retenção de volta para Sem alarme. A varredura avalia primeiro as variáveis e depois os alarmes, a cada 100 ms, na fila da lógica. O estado do alarme vive em memória: depois de um reinício, toda máquina começa em Sem alarme e a primeira varredura re-deriva a realidade a partir das condições ao vivo, então uma retenção ou um reconhecimento pendente não sobrevive a um reinício. Toda transição, seja qual for a origem dela (a varredura, um reconhecimento, uma reposição ao salvar, desabilitar ou excluir), é registrada no diário e gravada no histórico durável de alarmes da página Eventos.

Anunciação

A barra de status do shell sempre leva a contagem e a pior severidade pendente (a janela). Além dela, o tipo de Notificação decide:

Notificação Comportamento
Fixa Um cartão de tarja ao subir, com o nome do alarme no título e a cor da prioridade (Crítica como erro, Alta e Média como avisos, Baixa como informação), levando Reconhecer enquanto não estiver reconhecido e Abrir alarmes. Ele fica até o alarme ser reconhecido ou voltar a Sem alarme; a retenção de Normalizado, não reconhecido o mantém na tela, e uma nova subida o substitui.
Temporizada O mesmo cartão, dispensado sozinho depois de 8 segundos.
Barra de status Nenhum cartão e nenhuma notificação do sistema; apenas o indicador da barra de status.

Dispensar um cartão à mão não é um reconhecimento. Enquanto a janela está escondida na área de notificação ou minimizada, uma ativação Fixa ou Temporizada também levanta uma notificação do sistema com o mesmo texto.

Reconhecer

Reconhecer é um comando de operação e acontece onde quer que o alarme te encontre: o verbo Reconhecer sobre um alarme aberto, o Reconhecer todos sobre a raiz Alarmes, o botão Reconhecer de cada linha do painel da raiz Alarmes, o Reconhecer do menu de contexto de uma linha de alarme, o Reconhecer do cartão de tarja, a página Eventos, um Aviso de alarme num dashboard, e o agente (registrado como MCP). Todo reconhecimento pega a fila da lógica, é registrado no diário com a origem dele e fecha o cartão do alarme.

Onde quer que apareça, a resposta só é oferecida onde há uma a dar. Um alarme que está em Sem alarme ou já reconhecido mantém o verbo no lugar, esmaecido, dizendo "Este alarme não aguarda resposta."; o Reconhecer todos sobre um registro sem nada pendente diz "Nenhum alarme aguarda resposta.". E o feed confirma só o que se moveu: pressionar uma resposta que não muda nada relata a mesma frase, nunca "Reconhecido.", porque um log de estação que registra um ato de operador que ninguém fez é pior do que um verbo brevemente fora de alcance.

Comando O que faz Esmaecido quando Não aparece quando
Reconhecer Reconhece o alarme aberto; o feed diz "Reconhecido." "Este alarme não aguarda resposta." quando ele está em Sem alarme ou já reconhecido; "Runtime parado" enquanto está em somente leitura. O papel não tem Operar a lógica.
Reconhecer todos Reconhece todo alarme com algo pendente, num item de fila só; o feed diz "Todos os alarmes reconhecidos." "Nenhum alarme aguarda resposta." quando nada está pendente; "Runtime parado" enquanto está em somente leitura. O papel não tem Operar a lógica.
Habilitar / Desabilitar Vira o Habilitado; desabilitar devolve a máquina para Sem alarme e para a avaliação. A estação está travada ou em somente leitura. O papel não tem Configurar a lógica.
Copiar Duplica o alarme na raiz Alarmes, com um nome livre; a cópia começa em Sem alarme. A estação está travada ou em somente leitura. O papel não tem Configurar a lógica.
Excluir alarme Pergunta "Excluir 'X'? Isso remove o alarme. Isso não pode ser desfeito.", repõe a máquina primeiro (para que uma anunciação nunca sobreviva ao alarme dela) e o remove; as referências a Alarms.X ficam sem resolução. A estação está travada ou em somente leitura. O papel não tem Configurar a lógica.

O que os alarmes não fazem

Nenhuma histerese ou banda morta além do que a condição expressa, nenhuma inibição temporária, nenhum som, nenhum reconhecimento por script, nenhum estado persistido entre reinícios, e nenhuma avaliação enquanto o alarme está desabilitado ou o runtime parado. Um alarme não é uma ocorrência do Process: essas são configuradas e julgadas na página Process.