Strutture per le Statistiche degli Allarmi

Questa sezione descrive l’architettura dei dati utilizzati per l’analisi avanzata degli allarmi, che include il calcolo di KPI come MTTR (Tempo Medio di Riparazione) e MTBF (Tempo Medio tra i Guasti), e la gestione di classifiche (“Top Alarms”) per identificare i problemi più critici.


Struttura ST_AlarmAnalytics

Questa è la struttura “mattoncino” che contiene tutte le analisi calcolate per un singolo allarme.

Nome Variabile Tipo Dati Descrizione
State BOOL Stato attuale dell’allarme (VERO = Attivo).
Count DINT Conteggio totale delle occorrenze (Frequenza) di questo allarme.
TotalActiveTime_ms LINT Tempo totale, in millisecondi, in cui questo allarme è rimasto attivo.
MTTR_sec LREAL Tempo Medio di Riparazione (Mean Time To Repair), in secondi. Indica il tempo medio necessario per risolvere l’allarme.
MTBF_h LREAL Tempo Medio tra i Guasti (Mean Time Between Failures), in ore. Indica il tempo medio di buon funzionamento tra un’occorrenza e l’altra di questo allarme.

Struttura ST_TopAlarmEntry

Questa struttura rappresenta una singola riga all’interno di una classifica di allarmi (“Top Alarms”). Viene usata per le due classifiche principali: quella per frequenza e quella per tempo di fermo.

Nome Variabile Tipo Dati Descrizione
AlarmId DINT L’ID numerico dell’allarme. Un valore di -1 indica uno slot vuoto nella classifica.
Value LREAL Il valore utilizzato per ordinare la classifica (può essere la frequenza o il tempo totale di attività in millisecondi).

Dati Allarmi nella Struttura ST_Egress

Infine, la struttura ST_Egress (dati in uscita verso lo SCADA) contiene gli array che rendono disponibili tutte queste informazioni.

Nome Variabile Tipo Dati Descrizione
AlarmAnalytics ARRAY[0..1399] OF ST_AlarmAnalytics Un array che contiene i dati analitici dettagliati per ogni singolo allarme.
TopAlarms_ByFrequency ARRAY[0..99] OF ST_TopAlarmEntry La classifica dei 100 allarmi più frequenti.
TopAlarms_ByDowntime ARRAY[0..99] OF ST_TopAlarmEntry La classifica dei 100 allarmi che hanno causato il maggior tempo di fermo.
Alarms_Packed ARRAY[0..80] OF WORD Un array compatto di word per una rappresentazione rapida e a basso livello dello stato di tutti gli allarmi.