Un centro di controllo invia un comando doppio per aprire l'interruttore CB-1. L'RTU risponde con una conferma positiva di attivazione. Il sistema di controllo segna l'interruttore come aperto. Lo stato a doppio punto indica ancora chiuso, perché l'interblocco dell'interruttore ha impedito l'apertura dopo che l'RTU aveva accettato il comando. La conferma era corretta. Era sbagliata l'interpretazione del sistema di controllo.
In IEC 60870-5-101 e 104, l'acknowledgement, la conferma, la terminazione e lo stato dell'apparecchiatura sono messaggi separati. Questa guida segue un comando attraverso tutti questi passaggi e indica che cosa prova ciascuno.
Questa guida fa parte della serie IEC 60870 e IEC 61850.
Le fasi di un comando
| Fase | Messaggio | Che cosa prova |
|---|---|---|
| Attivazione | ASDU di comando, causa 6 | Solo che il registro del centro di controllo ha annotato l'invio |
| Acknowledgement di trasporto (solo IEC 104) | Frame S o I il cui numero di sequenza di ricezione copre il comando | Il livello di trasporto della stazione remota ha ricevuto il frame. Non dice nulla sull'applicazione. |
| Conferma positiva di attivazione | Causa 7, bit P/N a zero | L'applicazione della stazione remota ha accettato il comando |
| Conferma negativa di attivazione | Causa 7, bit P/N impostato | La stazione remota ha rifiutato il comando. Non viene trasmesso alcun motivo. |
| Rifiuto dell'indirizzo o del tipo | Causa 44, 45, 46 o 47, bit P/N impostato | Il tipo, la causa, l'indirizzo comune o l'indirizzo dell'oggetto è sconosciuto alla stazione remota |
| Terminazione dell'attivazione | Causa 10 | La stazione remota ha terminato l'esecuzione del comando, se è configurata per inviarla |
| Informazione di ritorno | Punto di stato, causa 11 o 3 | La stazione remota ha misurato un cambiamento dello stato dell'apparecchiatura |
La stazione remota ripete l'ASDU di comando nelle risposte. Tipo, indirizzo comune, indirizzo dell'oggetto e valore del comando restano uguali; cambiano solo la causa e il bit P/N. Il destinatario correla le risposte ai comandi usando questi campi.
Esecuzione diretta e selezione prima dell'esecuzione
I comandi singoli (tipo 45), i comandi doppi (tipo 46) e i valori di riferimento (tipi 48, 49 e 50: normalizzato, scalato e a virgola mobile corta) possono essere inviati in due modi. La modalità è stabilita dal bit S/E, bit 8 dell'ottetto del qualificatore di comando (SCO, DCO o QOS). Il valore 1 indica selezione; 0 indica esecuzione.
Nell'esecuzione diretta si invia un solo messaggio con il bit S/E a zero. La stazione remota verifica il comando e agisce subito.
Nella selezione prima dell'esecuzione (SBO), il primo messaggio ha il bit S/E impostato. La stazione remota verifica il comando, riserva il punto e conferma con causa 7. Il secondo messaggio è lo stesso comando con il bit S/E a zero. La stazione remota esegue solo se l'esecuzione corrisponde all'indirizzo dell'oggetto e al valore selezionati. Una mancata corrispondenza produce una conferma negativa.
SBO verifica che il comando di esecuzione corrisponda all'oggetto e al valore selezionati e arrivi prima della scadenza della selezione. Questo scambio da solo non garantisce protezione da un'azione indirizzata male o provocata da dati corrotti. L'autorità di controllo sul sito, gli interblocchi e il riscontro dell'apparecchiatura sono verifiche separate da progettare e validare per l'impianto. La stazione remota può verificare gli interblocchi e il selettore locale/remoto durante la selezione, ma queste verifiche dipendono dall'implementazione e dalla configurazione.
Il timeout di selezione è un'impostazione della stazione remota e i valori predefiniti variano molto. Il server IEC 104 di PcVue usa 5 s. Il relè ABB RER620 usa 30 s, con intervallo da 1 a 65 s. Se l'esecuzione arriva dopo il timeout, la selezione è scaduta e la stazione remota la rifiuta.
Per annullare una selezione in attesa, il centro di controllo invia lo stesso comando con causa 8 (disattivazione). La stazione remota risponde con causa 9 (conferma di disattivazione). Non tutte le stazioni remote supportano la disattivazione dei comandi: controlla l'elenco di interoperabilità. Alcune rifiutano anche una seconda selezione su un punto già selezionato.
Controlla la specifica di telecontrollo e l'elenco di interoperabilità del gestore di rete per la modalità richiesta. SBO è comune per i comandi a interruttori e sezionatori. Registra la modalità di ogni punto di comando nell'elenco punti.
Qualificatori di comando
I comandi singoli e doppi portano un qualificatore di comando (QU) nei bit da 3 a 7 dello stesso ottetto:
| QU | Significato |
|---|---|
| 0 | Nessuna definizione aggiuntiva. La configurazione della stazione remota determina l'uscita. |
| 1 | Impulso breve |
| 2 | Impulso lungo |
| 3 | Uscita persistente |
Le durate degli impulsi brevi e lunghi sono parametri di sistema nella stazione remota. Non sono inviate nel messaggio. QU 0 è comune, quindi il comportamento dell'uscita spesso non è visibile al centro di controllo. Registra l'uscita effettiva di ogni punto nell'elenco punti.
Un comando doppio usa uno stato di comando doppio (DCS) di 2 bit: 1 significa spento e 2 acceso. I valori 0 e 3 non sono ammessi e le stazioni remote li rifiutano. Un errore di un solo bit nel DCS produce quindi un comando rifiutato, non il comando opposto. Un comando singolo non ha questa protezione, perché il suo unico bit cambia tra spento e acceso. Il cablaggio di un comando doppio ai relè nella stazione remota (per esempio bobine separate per apertura e chiusura) è un dettaglio implementativo, non parte del protocollo.
Esempio di sequenza di selezione prima dell'esecuzione
Il centro di controllo chiude un interruttore con un comando doppio su IEC 104. Indirizzo comune 12, indirizzo dell'oggetto 2001 (esadecimale D1 07 00, byte meno significativo per primo), QU 1 per un impulso breve. Lo stato dell'interruttore è l'oggetto a doppio punto con indirizzo 1001, tipo 31 con marca temporale CP56Time2a. In questo esempio l'RTU ha un timeout di selezione di 30 s e un impulso breve di 500 ms.
| Tempo (s) | Direzione | Tipo | Ottetto causa | Qualificatore o valore | Significato |
|---|---|---|---|---|---|
| 0.000 | Verso RTU | 46 | 06 | DCO 86 | Selezione, chiusura (DCS 2), impulso breve (QU 1), S/E 1 |
| 0.045 | Da RTU | 46 | 07 | DCO 86 | Conferma positiva della selezione |
| 0.060 | Verso RTU | 46 | 06 | DCO 06 | Esecuzione: stesso comando, S/E 0 |
| 0.105 | Da RTU | 46 | 07 | DCO 06 | Conferma positiva dell'esecuzione |
| 0.290 | Da RTU | 31 | 0B | DIQ 02, marca temporale 10:15:02.237 | Interruttore chiuso (DPI 2), causa 11 |
| 0.610 | Da RTU | 46 | 0A | DCO 06 | Terminazione dell'attivazione: impulso concluso |
L'ottetto causa contiene anche il bit P/N (esadecimale 40) e il bit di prova (esadecimale 80). Un'esecuzione rifiutata ritorna quindi con ottetto causa 47, non 07. Un comando a un indirizzo dell'oggetto sconosciuto all'RTU ritorna come 6F (causa 47 con P/N impostato).
Osserva l'ordine. Su questa RTU il cambiamento di stato arriva prima della terminazione, perché l'interruttore si è chiuso durante l'impulso. Su un'altra RTU, o con un'uscita persistente, la terminazione può arrivare prima. La logica di correlazione deve accettare entrambi gli ordini.
Rifiuti e timeout
Una conferma negativa è una risposta definitiva: la stazione remota ha rifiutato il comando e non ha fatto nulla. Il protocollo non ne indica il motivo. Il manuale ABB RER620 elenca fra i motivi il verso di controllo errato, un DCS di 0 o 3, un punto configurato solo per lo stato, un interblocco dell'interruttore o la modalità remota non abilitata. Il protocollo non ha un codice per questi motivi: ciascuno arriva come causa 7 negativa. Il motivo compare solo nel registro eventi della stazione remota.
Le cause da 44 a 47 sono diverse. Indicano che la stazione remota non ha riconosciuto tipo, causa, indirizzo comune o indirizzo dell'oggetto. I fornitori le applicano in modo diverso. Per esempio, RER620 risponde con causa 47 a un comando singolo inviato a un punto doppio, anche se l'indirizzo dell'oggetto esiste.
Un timeout lascia l'esito sconosciuto. La stazione remota potrebbe avere eseguito il comando e la risposta potrebbe essere andata persa. Prima di ritentare, leggi il punto di stato e le misure correlate. Non ripetere automaticamente un comando.
Le implementazioni master distinguono questi casi. Il driver IEC 60870-5-10x di Beckhoff segnala separatamente una conferma negativa (IEC870_COMMERR_NEGACTCON), un indirizzo dell'oggetto sconosciuto (IEC870_COMMERR_UNKNOWNOBJADDR), un timeout di selezione/esecuzione (IEC870_COMMERR_SELEXECTIMEOUT) e la mancata terminazione (IEC870_COMMERR_ACTTERMTIMEOUT). Anche un sistema di controllo dovrebbe registrarli separatamente.
In IEC 104, gli acknowledgement di connessione e i timeout dei comandi applicativi sono distinti. Se l'RTU non conferma un frame I entro t1 (15 s per impostazione predefinita), il mittente chiude la connessione. Un frame I dall'RTU, come la conferma di attivazione, contiene l'acknowledgement nel numero di sequenza di ricezione. Se l'RTU non ha un frame I da inviare, invia un frame S dopo w frame ricevuti (8 per impostazione predefinita) o dopo t2 (10 s per impostazione predefinita). Un acknowledgement con frame S non conferma né l'accettazione del comando (ACTCON) né il suo completamento (ACTTERM). Imposta questi timeout applicativi in base alle risposte documentate della stazione remota e ai tempi di funzionamento dell'impianto, non al solo t1. Con select-before-operate, il comando di esecuzione deve raggiungere l'RTU prima della scadenza della selezione. Dopo una riconnessione, invia un'interrogazione generale e leggi lo stato prima di decidere che cosa abbia fatto l'ultimo comando. La guida IEC 101 e 104 spiega k, w e i timer.
Comandi con marca temporale
IEC 104 aggiunge i tipi di comando da 58 a 64, che portano una marca temporale CP56Time2a. Per esempio, il tipo 58 è un comando singolo e il tipo 59 un comando doppio con marca temporale. Una stazione remota che li supporta confronta la marca con il proprio orologio e può rifiutare un comando più vecchio di un'età massima configurata. Un orologio fuori sincronia o una connessione lenta fanno quindi fallire i comandi. Concorda l'età massima, la sorgente temporale e la risposta della stazione remota a un comando vecchio, poi provali.
Verificare lo stato effettivo
Lo stato dell'apparecchiatura ritorna su un punto di monitoraggio separato: uno stato a doppio punto per un interruttore (tipo 31 con marca temporale), oppure una misura per un valore di riferimento. Causa 11 significa «informazione di ritorno causata da un comando remoto» e causa 12 indica un cambiamento causato da un comando locale. Usa la marca temporale della stazione remota, non l'ora di ricezione, per ordinare comando e cambiamento. La guida su timestamp e qualità spiega CP56Time2a.
Il punto di stato prova solo ciò che segnalano gli ingressi di contatto della stazione remota. Per un valore di riferimento o un interruttore di carico, controlla anche una misura del processo: la corrente scende, la potenza cambia, la risposta in frequenza segue il valore di riferimento. La guida alla verifica dei comandi BESS applica questa verifica ai valori di riferimento delle batterie.
Mettere in servizio il controllo in sicurezza
- Per ogni punto di comando, concorda con il proprietario dell'apparecchiatura: tipo, modalità (diretta o SBO), valore QU e durata reale dell'impulso, eventuale invio di ACTTERM, timeout di selezione, punto di feedback e cause che questo usa.
- Registra questi valori nell'elenco di interoperabilità e nell'elenco punti. L'elenco ABB REC 523, per esempio, ha voci separate per comandi diretti e di selezione/esecuzione, per «ACTTERM usato» e per ogni valore QU.
- Prova prima con un simulatore. Includi conferma negativa, indirizzo dell'oggetto sconosciuto, selezione scaduta, disattivazione e perdita di connessione tra selezione ed esecuzione.
- In sito, prova un comando alla volta, con il proprietario presente e l'impianto in stato sicuro.
- Registra ogni frame con ora, ottetto causa, bit P/N, indirizzo dell'oggetto, valore e risultato fisico.
- Riavvia a turno i due estremi e verifica che nessuna selezione o comando sopravviva inaspettatamente al riavvio.
La guida al controllo locale elenca i casi di guasto da pianificare per ogni controllo automatico.
Telecontrollo e sistemi EpiSensor
Edge non implementa IEC 60870-5. Quando un gestore di rete comanda un sito tramite un'RTU di telecontrollo, l'RTU esegue i comandi e ne segnala lo stato.
Un contatore EpiSensor sullo stesso circuito fornisce una misura indipendente per l'ultima fase: corrente e potenza dopo il comando, registrate da Edge. Non dipende dai contatti dell'RTU né dalle sue marche temporali.
Un controller di demand response ZDR agisce localmente sulla frequenza di rete, tramite il proprio relè o un valore di riferimento Modbus. Le sue azioni non compaiono nel registro dei comandi dell'RTU. Se RTU e ZDR possono entrambi commutare lo stesso carico, assegna loro uscite separate e concorda quale ha priorità.
Domande frequenti
Che cos’è la selezione prima dell’esecuzione in IEC 104?
È un comando in due fasi. Il centro di controllo invia il comando con il bit selezione/esecuzione (S/E) impostato nel bit 8 del qualificatore. La stazione remota lo verifica e conferma con causa 7. Il centro invia poi lo stesso comando con S/E a zero. La stazione remota lo esegue solo se punto e valore corrispondono alla selezione e il timeout non è scaduto. Una disattivazione (causa 8) annulla una selezione in attesa.
Che cosa significa conferma di attivazione in IEC 60870-5?
La causa di trasmissione 7 è la risposta della stazione remota a un comando. Con il bit P/N a zero, l’ha accettato; con P/N impostato, l’ha rifiutato. Non indica se l’apparecchiatura si sia mossa e un rifiuto non porta un codice che ne spieghi il motivo.
Che cos’è la terminazione dell’attivazione?
Con causa di trasmissione 10, la stazione remota segnala di aver terminato l’esecuzione del comando. L’uso è facoltativo e configurato per ogni punto nell’elenco di interoperabilità.
Perché lo stato dell’interruttore arriva con causa 3 anziché 11?
La causa 11 indica un cambiamento provocato da un comando remoto, ma non tutte le stazioni remote collegano il cambiamento al comando. Molte lo segnalano come normale cambiamento spontaneo con causa 3. Correla il punto in una finestra temporale e accetta entrambe le cause.