Una regola di risposta alla domanda avvia il pre-raffreddamento di un refrigeratore alle 16:00 e lo interrompe alle 16:30. Il Gateway si riavvia alle 16:10. Se il comando di arresto esisteva soltanto in memoria, il refrigeratore continua a funzionare finché qualcuno non se ne accorge. Portare il controllo su un Gateway locale elimina Internet da questa catena, ma restano i sensori, la rete del sito, l'apparecchiatura e i riavvii del Gateway. Una matrice dei guasti elenca ciascuna anomalia e la risposta attesa: ogni riga diventa una prova.
Tracciare la catena di autorità
Disegna il percorso dalla richiesta all'apparecchiatura. Una catena tipica comprende la piattaforma dell'aggregatore, l'automazione del Gateway, il BMS, il controllore dell'apparecchiatura e un commutatore manuale locale. Per ogni livello, indica se può chiedere una modifica, se può bloccarla e come si comporta quando perde il contatto con il livello superiore.
Assegna un solo responsabile alla volta a ogni punto scrivibile. Se una richiesta di risposta alla domanda, un programma BMS e un operatore possono tutti scrivere lo stesso setpoint, documenta l'ordine di precedenza. Un ordine frequente è: il commutatore manuale locale prevale su tutto, un limite operativo del BMS prevale sulla richiesta di risposta alla domanda e questa prevale sul programma ordinario. BACnet applica un ordine simile mediante l'array di 16 priorità degli oggetti comandabili. Modbus non ha un equivalente: prevale l'ultima scrittura e nessuno dei due sistemi ne è consapevole. Consulta il confronto tra BACnet e Modbus e la guida all'array delle priorità.
Colloca ogni funzione al livello che continua a funzionare quando i livelli superiori si guastano. Il programma di un evento di risposta alla domanda può risiedere nel Gateway. Un limite di domanda massima o di temperatura minima di mandata deve risiedere nel BMS o nell'azionamento, così rimane attivo a Gateway spento. La protezione deve stare nel relè, nelle impostazioni di blocco dell'azionamento o in un controllore di sicurezza.
Decidi poi cosa fa l'apparecchiatura quando il Gateway rimane spento. Con un'uscita a relè, cabla il carico al contatto la cui posizione a bobina diseccitata dà lo stato desiderato. Con una scrittura Modbus o BACnet, serve un temporizzatore di perdita della comunicazione nell'apparecchiatura. Gli azionamenti della famiglia ABB ACS580, per esempio, possono non intervenire, andare in blocco, mantenere l'ultima velocità oppure funzionare a una velocità sicura preimpostata quando i messaggi del bus di campo si interrompono oltre un tempo configurato. Imposta quel tempo oltre il più lungo intervallo normale fra le scritture del Gateway, altrimenti l'azionamento va in blocco durante il servizio normale. Sull'interfaccia Modbus integrata nell'azionamento, verifica anche quali messaggi azzerano il temporizzatore. Se basta qualsiasi messaggio, un Gateway che continua il polling mentre la regola di controllo è ferma mantiene soddisfatto il temporizzatore. Se l'apparecchiatura non dispone di un temporizzatore, il Gateway può incrementare a ogni ciclo un registro heartbeat e il BMS può subentrare quando il valore smette di cambiare.
La matrice dei guasti
Prima della prova, scrivi la risposta attesa per ogni riga. La risposta giusta dipende dal carico. Supponi che la regola del Gateway abbassi il setpoint della temperatura dell'acqua in uscita da un refrigeratore. Se la regola mantiene quel setpoint quando la temperatura di mandata è obsoleta, la protezione antigelo del refrigeratore è l'unico limite rimasto. Mantenere l'ultimo stato di un circuito di illuminazione normalmente comporta solo un costo energetico, salvo che il circuito illumini uno spazio occupato che non deve rimanere al buio.
Le colonne «responsabile» e «limite di tempo» qui sotto sono valori di esempio per il sito con refrigeratore, misure ogni 60 s e valutazione della regola ogni 60 s. Sostituiscili con i valori del tuo sito.
| Condizione | Rilevata da | Risposta | Responsabile | Limite di tempo | Ritorno alla normalità |
|---|---|---|---|---|---|
| Collegamento alla piattaforma perso | Nessuno scambio riuscito per 3 intervalli heartbeat (180 s con intervallo di 60 s) | Le regole locali proseguono. Gli eventi già avviati arrivano alla conclusione salvata. Nessun nuovo avvio remoto. | Tecnico del sito | Valutazione successiva | 3 scambi riusciti consecutivi |
| Una misura usata dalla regola diventa obsoleta | Età del punto oltre 3 intervalli di invio, oppure flag di qualità non valida | Bloccare i nuovi avvii che dipendono dalla misura. Eseguire comunque i comandi di fine evento già dovuti. | Tecnico del sito | Valutazione successiva | 2 letture nuove consecutive |
| Timeout di un comando | Nessuna risposta entro il timeout del protocollo | Considerare lo stato sconosciuto. Leggere lo stato prima di riprovare. Reinviare solo lo stesso valore assoluto. | Tecnico dei controlli | Lettura di verifica entro 1 ciclo di polling | La lettura conferma lo stato richiesto |
| Il Gateway si riavvia durante un ciclo | Stato del ciclo salvato all'avvio | Eseguire i comandi di fine evento dovuti. Sospendere per verifica quelli oltre la finestra di recupero. | Tecnico del sito | Comando di fine evento entro 5 min dalla scadenza | Stato finale confermato dal feedback del dispositivo |
| Il Gateway rimane spento | Temporizzatore di perdita della comunicazione nell'apparecchiatura o controllo heartbeat del BMS | L'apparecchiatura assume lo stato di guasto scelto | Fornitore dell'apparecchiatura | Tempo di perdita della comunicazione | Il Gateway riprende a scrivere ed eventuali blocchi dell'azionamento vengono ripristinati |
| Un interblocco dell'apparecchiatura rifiuta un'azione | Modalità, limite o stato del temporizzatore nell'apparecchiatura | Mostrare il blocco e la sua origine. Non continuare a riprovare. | Fornitore dell'apparecchiatura | Valutazione successiva | Interblocco rientrato, dal ciclo successivo |
| Un secondo sistema scrive lo stesso punto | La lettura di verifica differisce dall'ultimo valore scritto | Interrompere le scritture e segnalare il conflitto. | Tecnico dei controlli | Polling successivo | Un unico responsabile concordato per il punto |
| La configurazione cambia durante un ciclo | Versione della configurazione | La stessa versione che ha avviato il ciclo lo conclude | Chi modifica la regola | Senza limite temporale | Ciclo concluso |
| Sincronizzazione temporale persa o salto dell'orologio | Stato della sincronizzazione e ampiezza del salto | Sospendere gli avvii basati sull'ora finché lo scarto supera metà dell'intervallo di valutazione (qui 30 s) | Tecnico del sito | Valutazione successiva | Sincronizzazione ripristinata |
| Cambio dell'ora legale | Programmazione con fuso orario, non stato dell'orologio | Una regola scritta per l'ora saltata e quella ripetuta | Chi scrive il programma | Senza limite temporale | Giorno ordinario successivo |
Una riga che dice soltanto «generare un allarme» è incompleta quando l'azione deve anche fermarsi o essere trasferita a un altro sistema.
Ecco un esempio della riga sui dati obsoleti per il refrigeratore. La temperatura di mandata arriva ogni 60 s. Dopo 180 s senza rapporto, il punto diventa obsoleto. Entro la valutazione successiva, quindi entro 60 s, la regola rifiuta nuovi eventi di risposta alla domanda su quel refrigeratore. Il comando di fine evento delle 16:30 viene comunque eseguito. Il funzionamento normale riprende dopo 2 letture nuove consecutive. La guida ai dati obsoleti distingue gli stati che la regola deve trattare separatamente.
La riga sul conflitto tra sistemi che scrivono è più insidiosa: nulla sembra guasto. Alle 16:00 il Gateway scrive 6 °C nel registro Modbus del setpoint dell'acqua in uscita dal refrigeratore. Alle 16:15 il programma BMS riscrive il normale valore di 7 °C. Il polling successivo del Gateway, alle 16:16, legge 7,0 °C. Se il Gateway riscrive 6 °C, i due sistemi si alternano ogni 15 minuti e il registro mostra solo scritture riuscite. La risposta della matrice è interrompere le scritture, segnalare il punto e i due valori e lasciare che il sito concordi un responsabile. In genere il BMS sospende la scrittura del programma quando è attivo il flag dell'evento di risposta alla domanda.
La riga sugli interblocchi individua spesso tempi minimi di funzionamento e di arresto. Copeland raccomanda almeno 3 minuti dall'avvio all'arresto per i propri compressori scroll, affinché l'olio ritorni nel carter. Un controllore che impone questo minimo rinvierà un arresto richiesto per la risposta alla domanda 2 minuti dopo l'avvio da parte del BMS. Molti controllori di refrigeratori impongono anche un ritardo anti-riavvio. Leggi entrambi i valori nell'elenco dei parametri del controllore e riportali nella matrice, così la regola si aspetta il rifiuto e non lo segnala come guasto.
La riga sul cambio dell'ora legale non è un guasto dell'orologio. In Irlanda e nel Regno Unito, nell'ultima domenica di marzo l'ora locale salta dalle 01:00 alle 02:00; nell'ultima domenica di ottobre ripete l'intervallo dalle 01:00 alle 02:00. Una regola quotidiana alle 01:30 locali non ha un avvio in marzo e ha due possibili avvii in ottobre. Memorizza i programmi in UTC oppure definisci il comportamento in entrambi i casi.
Progettare i comandi
Invia valori assoluti: «imposta 21 °C» e «spento», non «aumenta di 2 °C» o «commuta». Ripetere un comando assoluto non cambia ulteriormente il risultato. Un comando arrivato in ritardo, invece, può essere pericoloso per il processo: un «acceso» ricevuto dopo la fine della finestra dell'evento accende comunque il carico. Assegna a ciascun comando una scadenza coerente con il suo scopo. Un avvio di risposta alla domanda è valido fino alla chiusura della finestra dell'evento. Un comando di fine evento ancora dovuto rimane valido per una breve finestra di recupero dopo la sua scadenza. Oltre tale finestra, una persona deve verificare l'apparecchiatura prima di inviare altri comandi. Il comando di fine evento viene salvato prima di inviare quello di avvio, così sopravvive a un riavvio e a una modifica della regola.
Un timeout lascia lo stato sconosciuto: il comando potrebbe essere stato eseguito anche se la risposta è andata persa. Una risposta normale a una scrittura Modbus (codice funzione 05, 06, 15 o 16) prova che il dispositivo ha accettato il frame, non che l'apparecchiatura si sia mossa. Leggi lo stato di ritorno, come illustra la guida alla verifica dei comandi BESS. Il cluster Zigbee On/Off dispone di Toggle oltre a On e Off. Usa On e Off e considera concluso il comando solo quando un nuovo rapporto dell'attributo OnOff mostra lo stato richiesto. I protocolli di telecontrollo distinguono esplicitamente le fasi, come spiega la guida ai comandi IEC 60870.
Provare un ciclo completo
Prima di operare su apparecchiature in servizio, prova in un simulatore o su un carico non critico. Usa una regola che accende un carico al minuto 0 e lo spegne al minuto 10. Per ogni passaggio registra ora e valore dei comandi, feedback e stato osservato dell'apparecchiatura. Segna superato o fallito rispetto al limite della relativa riga della matrice.
- Esegui il ciclo normale. Superato: un comando di avvio e uno di fine, entrambi confermati dal feedback.
- Riavvia il Gateway al minuto 4. Superato: il comando di fine evento arriva al minuto 10 alla stessa apparecchiatura e l'avvio non viene ripetuto.
- Spegni il Gateway al minuto 8 e riaccendilo al minuto 11. Superato: il comando di fine evento dovuto viene eseguito appena il Gateway torna disponibile. Un secondo «spento» dopo un arresto anomalo è accettabile; un secondo avvio è un fallimento.
- Lascia il Gateway spento dal minuto 8 al minuto 20. Superato: il comando di fine evento non viene ripetuto al minuto 20. La regola resta sospesa e l'operatore deve controllare l'apparecchiatura, come richiede la riga sul riavvio. Se il carico ha un temporizzatore di perdita della comunicazione inferiore a 12 minuti, la registrazione mostra anche il raggiungimento del suo stato di guasto.
- Sopprimi il feedback di fine evento. Superato: l'operatore vede un esito non confermato e il successivo avvio è bloccato finché qualcuno non verifica lo stato dell'apparecchiatura.
- Modifica o elimina la regola al minuto 5. Superato: il ciclo già avviato finisce al minuto 10 come previsto.
- Ferma la misura in ingresso al minuto 2. Superato: i nuovi avvii vengono bloccati entro il limite di obsolescenza più una valutazione.
- Nel simulatore, imposta il fuso orario del sito ed esegui una regola quotidiana attraverso entrambi i cambi dell'ora legale. Superato: il comportamento segue la regola scritta per l'ora saltata e per quella ripetuta.
Conserva le registrazioni: dimostrano che ogni riga è stata provata e forniscono il riferimento per ripetere la prova dopo un aggiornamento firmware o una modifica della configurazione.
Controllo locale in Edge
Edge esegue l'automazione sul Gateway, attivata da dati, stato dei dispositivi, qualità dei dati o programmi orari. La valutazione delle regole ignora i dati più vecchi di un limite configurabile, pari a 5 minuti per impostazione predefinita. Impostalo sul limite di obsolescenza della tua matrice.
Le regole che avviano un'azione e la terminano dopo un tempo stabilito salvano i comandi di fine evento esatti prima di inviare l'avvio. Se il salvataggio fallisce, l'avvio non viene inviato. Modificare o eliminare la regola non annulla un comando di fine evento già dovuto. Dopo un riavvio, Edge recupera tali comandi fino a cinque minuti dopo la scadenza. Oltre tale finestra non li ripete: blocca l'automazione e chiede di controllare l'apparecchiatura. Riattivare l'automazione non elimina il blocco. Le azioni di fine devono impostare uno stato esplicito, perciò Edge rifiuta un toggle o un valore segnaposto come azione di fine. Disattivare l'automazione ferma solo le nuove azioni: i comandi di fine già dovuti continuano a essere eseguiti. Non è un arresto di emergenza.
Per i controlli Zigbee, Edge considera concluso un comando solo quando un nuovo rapporto del dispositivo mostra il valore richiesto. Per impostazione predefinita attende 5 s per il rapporto e riprova, fino a tre tentativi; poi genera un allarme critico. Un'azione di fine non confermata blocca il successivo avvio della stessa regola finché un nuovo rapporto non mostra lo stato finale. Quel rapporto dimostra lo stato logico del dispositivo. Usa una misura di potenza per dimostrare che il carico si è effettivamente arrestato. Edge non arbitra fra due regole che scrivono lo stesso attuatore: assegna una sola regola a ciascun attuatore.
Le regole quotidiane di accensione e spegnimento usano il fuso orario configurato sul Gateway. Se il cambio dell'ora legale elimina l'ora di fine, Edge non invia l'avvio. L'ora ripetuta in ottobre non avvia una seconda volta un ciclo quotidiano. I semplici trigger orari si comportano diversamente: un'ora saltata in marzo non viene eseguita, mentre un'ora ripetuta in ottobre viene eseguita due volte, a meno che la regola limiti la frequenza di esecuzione.
Nella prova precedente, il passaggio 3 rientra nella finestra di recupero di cinque minuti di Edge. Il passaggio 4 ne è fuori: il criterio di superamento è il recupero bloccato e la richiesta di verifica dell'apparecchiatura.
Domande frequenti
Che cos’è una matrice dei guasti per il controllo?
È una tabella con una riga per ogni possibile guasto: collegamento, misura, comando, riavvio o orologio. Ogni riga dice come si rileva il guasto, che cosa fa il controllo, chi è responsabile della risposta, entro quanto tempo deve avvenire e quali condizioni servono per riprendere il funzionamento normale. Ogni riga è anche una prova di messa in servizio.
Quanto può essere vecchia una misura prima che una regola smetta di usarla?
Collega il limite all’intervallo di invio. Tre rapporti mancati sono un punto di partenza ragionevole: 180 s per un punto che invia ogni 60 s. Un limite più breve aumenta i falsi allarmi per un singolo messaggio perso; uno molto più lungo lascia che la regola agisca su un valore che non descrive più l’apparecchiatura.
Perché inviare valori assoluti anziché variazioni?
Un comando può arrivare due volte, per esempio dopo un nuovo tentativo. «Imposta il setpoint a 21 °C» inviato due volte lo lascia a 21 °C. «Aumenta di 2 °C» inviato due volte lo aumenta di 4 °C. Lo stesso vale per «spento» rispetto a «commuta».