Protocolli e dati

Timestamp e descrittori di qualità in IEC 60870

Tempo e qualità in IEC 101/104: CP56Time2a, bit di validità e ora legale, e i flag overflow, blocked, substituted, not topical e invalid.

Un valore IEC 60870-5-101 o 104 può portare con sé due tipi di contesto: una marca temporale, che indica quando la stazione remota lo ha registrato, e un descrittore di qualità, che indica se il valore è utilizzabile. In un gateway o in uno storico è facile perdere entrambi. Servono invece per ordinare correttamente gli eventi ed escludere i valori non validi dai report.

Questa guida fa parte della serie IEC 60870 e IEC 61850.

CP56Time2a

I tipi con marca temporale, come M_ME_TF_1 (tipo 36), includono un campo temporale di 7 byte chiamato CP56Time2a:

ByteContenuto
1 e 2Millisecondi trascorsi nel minuto, da 0 a 59.999
3Minuti (da 0 a 59) e bit IV: ora non valida
4Ore (da 0 a 23) e bit SU: ora legale
5Giorno del mese (da 1 a 31) e giorno della settimana (da 1 a 7, oppure 0 se non usato)
6Mese (da 1 a 12)
7Anno nel secolo (da 0 a 99)

La libreria MZ Automation implementa anche CP24Time2a, più breve (minuti, secondi e millisecondi), usato da alcuni tipi IEC 101, e CP16Time2a per le durate.

Tre aspetti richiedono attenzione:

  • Bit IV. Quando è impostato, l'orologio della stazione remota non era sincronizzato. Il valore della misura può essere corretto, ma la sua ora non è affidabile.
  • Fuso orario. CP56Time2a non ha un campo per il fuso. Occorre concordare se ogni stazione remota usa UTC o l'ora locale e che significato attribuisce al bit SU.
  • Anno a due cifre. Il secolo è implicito. Dopo la decodifica, memorizza la data completa.

Marca temporale e ora di arrivo

La marca temporale indica quando la stazione remota ha registrato il valore. Il centro di controllo lo riceve più tardi, talvolta molto più tardi dopo una perdita di connessione. Conserva entrambe le ore:

OraSorgenteUso
Marca temporaleOrologio della stazione remotaOrdinamento degli eventi; energia per intervallo
Ora di arrivoOrologio del ricevitoreStato del collegamento; ritardo dei dati

I tipi senza marca temporale, come M_ME_NC_1 (tipo 13), hanno solo l'ora di arrivo. Non presentarla come ora della misura. La guida ai timestamp della telemetria spiega la stessa regola per qualsiasi protocollo.

Sincronizza gli orologi delle stazioni remote tramite il comando di sincronizzazione (C_CS_NA_1, tipo 103) o una sorgente oraria di rete. Registra il metodo usato da ogni stazione e genera un allarme quando compare il bit IV.

Il descrittore di qualità

Misure e punti di stato includono un descrittore di qualità. La libreria MZ Automation e il riferimento sui tipi di Beckhoff definiscono questi flag:

FlagBitSignificato
OV, overflow0x01 (valori misurati)Il valore è fuori intervallo
BL, blocked0x10Il valore è bloccato per la trasmissione e mostra lo stato al momento del blocco
SB, substituted0x20Il valore è stato fornito da un operatore o da una funzione automatica, non dalla sorgente normale
NT, not topical0x40Il valore non è stato aggiornato all'ultima occasione; potrebbe essere obsoleto
IV, invalid0x80Il valore non è utilizzabile: la sorgente ha rilevato un guasto

Qualità pari a 0 significa che nessun flag è impostato. I flag sono indipendenti: un valore può essere contemporaneamente sostituito e non aggiornato.

Verificare ora e qualità durante la messa in servizio

Esegui le prove insieme al responsabile della stazione remota, usando un simulatore se possibile:

  1. Verifica che siano memorizzate sia la marca temporale sia l'ora di arrivo e che, in condizioni normali, la differenza sia piccola.
  2. Interrompi la sincronizzazione dell'orologio e controlla che il bit IV compaia al ricevitore.
  3. Blocca o sostituisci un valore sulla stazione remota e controlla che arrivi BL o SB.
  4. Scollega una sorgente a monte della stazione remota e verifica che arrivi IV o NT, invece di un valore mantenuto costante.
  5. Ripristina il sistema e verifica che i flag vengano azzerati.

La guida ai dati obsoleti spiega come trattare ciascuno stato nei report e nei calcoli.

Telecontrollo e sistemi EpiSensor

Edge non implementa IEC 60870-5. Applica però gli stessi principi ai dati che raccoglie: ogni misura conserva l'ora di rilevamento e un dispositivo che smette di comunicare viene mostrato come obsoleto, non come se il valore fosse ancora corrente. La guida a IEC 101 e 104 spiega dove si incontrano un collegamento di telecontrollo e un sistema EpiSensor.

Domande frequenti

Che cos’è CP56Time2a?

È il campo temporale binario di 7 byte di IEC 60870-5: due byte per i millisecondi trascorsi nel minuto, poi minuti, ore, giorno del mese e della settimana, mese e anno a due cifre. Include un bit di invalidità, impostato quando l’orologio della stazione remota non è sincronizzato, e un bit per l’ora legale.

Cosa significa NT (not topical) in IEC 104?

Il valore non è stato aggiornato correttamente all’ultima occasione e potrebbe essere obsoleto. Non è necessariamente sbagliato, ma non è una misura corrente.

Qual è la differenza tra invalid e not topical?

Invalid (IV) indica che il valore non può essere usato perché la sorgente ha rilevato un guasto. Not topical (NT) indica che il valore può essere valido ma non è stato aggiornato di recente. In entrambi i casi non va trattato come una nuova misura.