Allarmi
L'editor di allarme: identità e indirizzo, la condizione, la scheda Comportamento con priorità, notifica, ritardi, messaggio e tacitazione, la barra Stato, la macchina a stati, la segnalazione, e Tacita e Tacita tutti.
Un allarme sorveglia una condizione booleana e comanda una macchina a stati di tacitazione, così una condizione che contava non può mai andare e venire senza che nessuno la veda. Seleziona un allarme sotto la radice Allarmi della colonna di Logic (oppure creane uno con Nuovo… > Nuovo allarme) per aprirne l'editor; leggere richiede Visualizzare Logic, modificare Configurare Logic, tacitare Comandare Logic.
L'intestazione mostra il segno dell'allarme (che suona mentre l'allarme è attivo), il nome, la riga « Una condizione che questa stazione sorveglia: finché regge, l'allarme si segnala e aspetta di essere tacitato. », una pillola con lo stato attuale (Normale; Attivo, non tacitato; Attivo, tacitato; Rientrato, non tacitato) e una pillola Disabilitato mentre l'allarme è spento. La colonna del modulo contiene IDENTITÀ, CONDIZIONE e COMPORTAMENTO; la barra contiene STATO.
Identità
| Campo | Che cos'è | Valori e valore predefinito | Effetto |
|---|---|---|---|
| Nome | Il nome visualizzato; il suo segmento ripulito è l'indirizzo sotto Alarms. |
Testo libero; un allarme nuovo si chiama AlarmN. |
Si conferma con la ridenominazione sicura come il nome di una variabile: un'anteprima dei riferimenti che seguono, Invio o uscita dal campo per confermare, « Allarme rinominato e N riferimenti aggiornati. » Rinominare conserva lo stato in tempo reale e una tacitazione in attesa. Un nome in collisione viene rifiutato sul posto. |
| Riga dell'indirizzo | Alarms.<folders>.<segment>, riportata sotto il nome. |
Sola lettura. | Espressioni e script leggono da lì lo stato dell'allarme (Alarms.HighLevel.IsActive). |
| Descrizione (facoltativa) | Testo libero. | Vuota. | Nessuno. |
Condizione
La scheda CONDIZIONE è l'editor di script con il suggerimento « Una sola espressione JavaScript booleana sullo spazio degli indirizzi, per esempio Connector.Simulated.Pump.Temp.ValueToReal() > Variables.SetpointHigh.ValueToReal(). Le condizioni non possono referenziare altri allarmi. » La condizione segue ogni regola delle espressioni: una sola espressione di sola lettura, indirizzi statici, il controllo di qualità, il limite di 250 ms. Può referenziare tag, variabili di entrambe le nature, punti di Process, Assets e le diagnostiche, mai Alarms.*, e deve produrre un booleano (« La condizione deve valutare a un Bool, ma ha prodotto '…'. »). Una condizione che non si può valutare in un ciclo (un punto referenziato di cattiva qualità, mancante o vuoto) è incertezza: la macchina a stati mantiene il suo ultimo stato.
Comportamento
| Campo | Che cos'è | Valori e valore predefinito | Effetto |
|---|---|---|---|
| Priorità | La gravità. | Critica, Alta, Media (predefinita), Bassa; ogni opzione è disegnata nel colore della sua gravità. | Mostrata sul punto dell'albero, in ogni riepilogo, sul messaggio a comparsa, nel diario e sull'indicatore della barra di stato; sui segni condivisi vince la priorità peggiore in attesa. |
| Notifica | Come un'attivazione si segnala oltre all'indicatore sempre presente della barra di stato. | Persistente (predefinita), A tempo, Barra di stato. Il suggerimento del campo: « Persistente = messaggio a comparsa finché non viene tacitato o non torna normale; A tempo = messaggio a comparsa per pochi secondi; Barra di stato = solo l'indicatore della barra di stato. » | Vedi Segnalazione. |
| Ritardo di attivazione (ms) | Per quanto tempo la condizione deve restare vera prima che l'allarme scatti. | Un intero non negativo; 0 fa scattare subito. | Tempo osservato ininterrotto, alla risoluzione del ciclo di 100 ms. |
| Ritardo di rientro (ms) | Per quanto tempo la condizione deve restare falsa prima che l'allarme rientri. | Un intero non negativo; 0 fa rientrare subito. | La stessa risoluzione. |
| Messaggio (mostrato mentre è attivo, facoltativo) | Il testo che la segnalazione porta con sé. | Testo libero, vuoto. | Il messaggio a comparsa e la notifica di sistema leggono « <Message> (Priorità) »; senza messaggio, « Allarme di priorità <Priority> attivo. » |
| Richiede tacitazione: un allarme rientrato resta memorizzato finché l'operatore non lo tacita | Se un'attivazione pretende una risposta. | Attiva all'inizio. | Disattiva: l'allarme sale direttamente ad Attivo, tacitato e rientra direttamente a Normale; si segnala ma non resta mai memorizzato e non aspetta mai. |
Un ritardo negativo o non interpretabile mantiene il valore salvato e mostra « I ritardi devono essere interi non negativi (ms; la risoluzione è il ciclo di 100 ms). » Un ritardo è tempo osservato ininterrotto: mentre la condizione non si può valutare, entrambi gli orologi dei ritardi ripartono, così una finestra cieca non viene mai contata a favore dello scatto o del rientro.
Salvare una modifica alla condizione, a un ritardo, a Richiede tacitazione o ad Abilitato riporta la macchina a Normale (uno stato vecchio, riferito a un'altra regola, mentirebbe); l'azzeramento viene registrato con l'origine Configurazione e chiude il messaggio a comparsa dell'allarme. Cambiare il nome, la descrizione, la priorità, il messaggio o la notifica, oppure riarchiviare l'allarme in un'altra cartella, conserva lo stato.
La barra Stato
STATO mostra lo stato attuale a parole, « Priorità: <priority> », Attivo da (un trattino finché la condizione non è presente) e Ultima transizione (un trattino prima del primo cambio di stato), e la nota « Ogni transizione compare nella pagina Eventi e nello storico persistente degli allarmi. Lo stato di un allarme vive nello spazio degli indirizzi, per esempio Alarms.X.IsActive in un'espressione o in uno script. » Il pannello della radice Allarmi elenca ogni allarme con « <state> · <priority> · da <when> » nella sua colonna Valore e un pulsante Tacita per ogni riga.
La macchina a stati
| Stato | Significato |
|---|---|
| Normale | Condizione falsa, niente in attesa. |
| Attivo, non tacitato | Condizione vera, non ancora tacitato. |
| Attivo, tacitato | Condizione vera, tacitato (oppure l'allarme non richiede mai la tacitazione). |
| Rientrato, non tacitato | La condizione è tornata normale mentre non era tacitato: resta memorizzato finché l'operatore non lo tacita. |
Una condizione che resta vera per tutto il ritardo di attivazione fa salire l'allarme da Normale o da Rientrato, non tacitato ad Attivo, non tacitato (direttamente ad Attivo, tacitato quando Richiede tacitazione è disattiva). Una condizione che resta falsa per tutto il ritardo di rientro lo fa rientrare: a Normale quando è già tacitato, a Rientrato, non tacitato quando non lo è. Tacitare porta Attivo, non tacitato ad Attivo, tacitato e libera la memorizzazione riportandola a Normale. Il ciclo valuta prima le variabili e poi gli allarmi, ogni 100 ms, sulla coda della logica. Lo stato di un allarme vive in memoria: dopo un riavvio ogni macchina parte da Normale e il primo ciclo ricava di nuovo la realtà dalle condizioni vive, quindi una memorizzazione o una tacitazione in attesa non sopravvivono a un riavvio. Ogni transizione, qualunque sia la sua origine (il ciclo, una tacitazione, un azzeramento al salvataggio, la disabilitazione o l'eliminazione), viene registrata nel diario e nello storico durevole degli allarmi della pagina Eventi.
Segnalazione
La barra di stato della shell porta sempre il conteggio e la gravità peggiore in attesa (la finestra). Oltre a quello, decide la natura della Notifica:
| Notifica | Comportamento |
|---|---|
| Persistente | Un messaggio a comparsa allo scatto, intitolato con il nome dell'allarme e colorato dalla priorità (Critica come errore, Alta e Media come avvisi, Bassa come informazione), che porta Tacita mentre non è tacitato e Apri gli allarmi. Resta finché l'allarme non viene tacitato o non torna a Normale; la memorizzazione di Rientrato, non tacitato lo tiene sullo schermo, e un nuovo scatto lo sostituisce. |
| A tempo | Lo stesso messaggio, che si chiude da solo dopo 8 secondi. |
| Barra di stato | Nessuna scheda e nessuna notifica di sistema; solo l'indicatore della barra di stato. |
Chiudere un messaggio a mano non è una tacitazione. Mentre la finestra è nascosta nell'area di notifica o ridotta a icona, un'attivazione Persistente o A tempo solleva anche una notifica di sistema con lo stesso testo.
Tacitare
Tacitare è un comando di esercizio e avviene dovunque l'allarme ti incontri: il verbo Tacita sopra un allarme aperto, Tacita tutti sopra la radice Allarmi, il pulsante Tacita di ogni riga nel pannello della radice Allarmi, il Tacita del clic destro su una riga di allarme, il Tacita del messaggio a comparsa, la pagina Eventi, un Avviso allarmi su una dashboard, e l'agente (registrato come MCP). Ogni tacitazione viaggia sulla coda della logica, viene registrata con la sua origine e chiude il messaggio dell'allarme.
Ovunque compaia, la risposta è offerta solo dove ce n'è una da dare. Un allarme che è Normale o già tacitato tiene il suo verbo in posizione, grigio, dicendo « Questo allarme non è in attesa di una risposta. »; Tacita tutti su un registro senza nulla in attesa dice « Nessun allarme è in attesa di una risposta. ». E il registro delle azioni conferma solo ciò che è cambiato: premere una risposta che non cambia nulla riferisce la stessa frase, mai « Tacitato. », perché un diario di stazione che registra un atto dell'operatore che nessuno ha compiuto è peggio di un verbo per un attimo fuori portata.
| Comando | Che cosa fa | Grigio quando | Non disegnato quando |
|---|---|---|---|
| Tacita | Tacita l'allarme aperto; il registro delle azioni dice « Tacitato. » | « Questo allarme non è in attesa di una risposta. » quando è Normale o già tacitato; « Runtime fermo » mentre è in sola lettura. | Il ruolo non ha Comandare Logic. |
| Tacita tutti | Tacita ogni allarme che ha qualcosa in attesa, in un solo elemento della coda; il registro delle azioni dice « Tutti gli allarmi sono stati tacitati. » | « Nessun allarme è in attesa di una risposta. » quando non c'è nulla in attesa; « Runtime fermo » mentre è in sola lettura. | Il ruolo non ha Comandare Logic. |
| Abilita / Disabilita | Commuta Abilitato; disabilitare riporta la macchina a Normale e ferma la valutazione. | La stazione è bloccata o in sola lettura. | Il ruolo non ha Configurare Logic. |
| Copia | Duplica l'allarme nella radice Allarmi con un nome libero; la copia parte da Normale. | La stazione è bloccata o in sola lettura. | Il ruolo non ha Configurare Logic. |
| Elimina allarme | Chiede « Eliminare 'X'? Questo rimuove l'allarme. L'operazione non è reversibile. », azzera prima la macchina (così una segnalazione non sopravvive mai al suo allarme) e lo rimuove; i riferimenti a Alarms.X restano irrisolti. |
La stazione è bloccata o in sola lettura. | Il ruolo non ha Configurare Logic. |
Che cosa non fanno gli allarmi
Nessuna isteresi o banda morta oltre a quello che la condizione esprime, nessuna messa fuori servizio, nessun suono, nessuna tacitazione da uno script, nessuno stato conservato attraverso i riavvii, e nessuna valutazione mentre l'allarme è disabilitato o il runtime è fermo. Un allarme non è un'occorrenza di Process: quelle si configurano e si giudicano nella pagina Process.