Protocolli del contatore
ZiggyMeter utilizza due famiglie di protocolli attraverso la porta ottica. Scegli quella usata dal tuo contatore in Meter → Configuration → Meter protocol; tutto il resto di questa pagina dipende da quella scelta.
| Protocollo | Formato dei dati | Contatori tipici |
|---|---|---|
| IEC 62056-21:2002 | Testo ASCII, una riga per valore | Contatori più vecchi e semplici, e la maggior parte dei contatori in modalità «readout» |
| DLMS/COSEM | Oggetti binari strutturati | Contatori intelligenti moderni, spesso protetti da password |
TIP
Se non sai quale protocollo usa il tuo contatore, parti da IEC 62056-21. La maggior parte dei contatori risponde alla richiesta di identificazione in questo protocollo anche quando supporta DLMS, e la stringa di identificazione ti dice con cosa hai a che fare.
IEC 62056-21
Modalità
La norma definisce cinque modalità. Sono tutte supportate.
| Modalità | Come funziona |
|---|---|
| A | Bidirezionale, 300 baud fissi, nessun cambio di velocità. |
| B | Come A, ma il contatore propone una velocità più alta. |
| C | Bidirezionale con velocità negoziata — la modalità più comune. |
| D | Unidirezionale. Il contatore invia una lettura di sua iniziativa; non c'è richiesta. |
| E | Modalità di handshake; il contatore può passare la sessione a un altro protocollo, di solito HDLC/DLMS. |
Il dispositivo negozia automaticamente. Devi cambiare le impostazioni solo per la modalità D o per limitare la velocità.
Velocità massima
Meter → Configuration → Transmission limita la velocità alla quale il dispositivo è disposto a comunicare: 300, 600, 1200, 2400, 4800, 9600 o 19200 baud.
Contatore e dispositivo negoziano la più bassa tra le velocità offerte da entrambi, quindi questa impostazione è un tetto, non un obiettivo. Abbassala se le letture risultano corrotte o troncate: un percorso ottico lungo o sporco può fallire a 9600 e funzionare in modo affidabile a 2400.
Contatori alimentati a batteria
Alcuni contatori spengono l'interfaccia ottica tra una sessione e l'altra per risparmiare energia e vanno prima risvegliati.
Spunta Il contatore è alimentato a batteria e il dispositivo invierà una sequenza di risveglio prima di ogni trasmissione. Costa un secondo o due per lettura ed è innocuo sui contatori alimentati da rete, ma lascialo disattivato se non serve.
Modalità D
I contatori in modalità D trasmettono spontaneamente a velocità fissa; non c'è alcuna richiesta da inviare. Attiva Usa modalità D e imposta la velocità usata dal contatore (di solito 2400).
WARNING
Attiva la modalità D solo per un contatore che la usa davvero. Con la modalità D attiva, il dispositivo ascolta invece di chiedere, e un normale contatore in modalità C semplicemente non dirà mai nulla.
Modalità E → DLMS/COSEM
Un contatore che annuncia la modalità E propone di proseguire la sessione in HDLC. Spunta Usa DLMS/COSEM quando il contatore segnala la modalità E e il dispositivo passa a DLMS/COSEM invece di ripiegare sulla modalità C.
È il modo abituale per raggiungere un contatore intelligente che si presenta con IEC 62056-21 ma tiene i dati utili dietro DLMS. Si applicano allora le impostazioni DLMS descritte sotto.
DLMS/COSEM
DLMS/COSEM è usato in modalità pull: il dispositivo apre un'associazione con il contatore, richiede un elenco di oggetti e poi la chiude.
Autenticazione
| Livello | Cosa richiede | Indirizzo client tipico |
|---|---|---|
| None | Nulla | 16 (client pubblico) |
| Low (LLS) | Una password fornita dal distributore | 32 |
| High (GMAC) | Una chiave di autenticazione (AK) | 32 o come indicato |
INFO
Chiedi al distributore. Password, chiavi e indirizzamento sono stabiliti da chi ha messo in servizio il contatore. Senza di essi di solito ottieni comunque gli oggetti pubblici — spesso solo nome e numero di serie del contatore — e nient'altro.
Cifratura
Spunta Cifra trasmissione per usare il livello applicativo cifrato del contatore. Servono due chiavi da 16 byte, ciascuna inserita come 32 caratteri esadecimali:
| Chiave | Scopo |
|---|---|
| Block cipher key (GUEK) | Cifra i dati |
| Authentication key (AK) | Autentica i dati; usata anche per l'autenticazione High/GMAC |
Le chiavi sono conservate nella configurazione cifrata del dispositivo. Interfaccia web e API non le restituiscono mai — una password memorizzata compare solo come «impostata». Lasciare vuoto un campo chiave al salvataggio mantiene il valore esistente.
Indirizzamento
| Campo | Significato | Valore comune |
|---|---|---|
| Client address | Il ruolo di client con cui si presenta il dispositivo | 16 = pubblico/senza autenticazione, 32 = LLS |
| Server logical address | Dispositivo logico all'interno del contatore | 1 (management logical device) |
| Server physical address | Indirizzo fisico del contatore | 0 |
Se il distributore fornisce valori diversi, usa i suoi.
Elenco degli oggetti OBIS da interrogare
A differenza di IEC 62056-21, dove il contatore invia quello che vuole, DLMS richiede di chiedere ogni oggetto per nome. Meter → Configuration → OBIS poll list contiene l'elenco delle richieste.
Ogni voce ha tre parti:
| Parte | Formato | Note |
|---|---|---|
| Codice OBIS | A.B.C.D.E.F, sei valori 0–255 | Di solito 1.0.C.D.E.255 |
| Classe | Classe di interfaccia COSEM | 1 = Data, 3 = Register (valore + unità), 8 = Clock |
| Attributo | Indice dell'attributo | Per la maggior parte delle classi il valore è il 2 |
Le impostazioni di fabbrica coprono i codici esposti dalla maggior parte dei contatori:
| OBIS | Classe | Significato |
|---|---|---|
1-0:1.8.0 | 3 | Energia attiva prelevata, totale |
1-0:1.8.1 / 1-0:1.8.2 | 3 | Energia attiva prelevata, tariffa 1 / tariffa 2 |
1-0:2.8.0 | 3 | Energia attiva immessa, totale |
1-0:1.7.0 / 1-0:2.7.0 | 3 | Potenza attiva istantanea, prelievo / immissione |
1-0:32.7.0, 1-0:52.7.0, 1-0:72.7.0 | 3 | Tensione istantanea, fasi L1 / L2 / L3 |
1-0:31.7.0, 1-0:51.7.0, 1-0:71.7.0 | 3 | Corrente istantanea, fasi L1 / L2 / L3 |
1-0:14.7.0 | 3 | Frequenza |
0-0:1.0.0 | 8 | Orologio |
0-0:42.0.0 | 1 | Nome del dispositivo logico |
0-0:96.1.0 | 1 | Numero di serie del dispositivo |
Rimuovi le voci che il tuo contatore rifiuta: la richiesta di un oggetto inesistente costa tempo a ogni lettura, e a batterie quel tempo è energia. Aggiungi voci per tutto ciò che il distributore documenta.
TIP
Leggi prima il contatore con le impostazioni predefinite e guarda cosa torna. Poi riduci l'elenco a ciò che ha effettivamente risposto.
Timeout di risposta
Il timeout di ricezione per richiesta è di 1000 ms per impostazione predefinita. I contatori su un collegamento ottico al limite, o lenti nel calcolare un registro, possono avere bisogno di più tempo. Il valore è regolabile tramite API (POST /api/v1/dlms/config).
Come scegliere
La console seriale stampa la stringa di identificazione e la modalità negoziata, e trasforma la domanda in una risposta di due minuti invece che in un tentativo alla cieca.
TIP
Se il tuo contatore supporta sia la modalità C sia la modalità E, valuta di restare sulla modalità C. La modalità C legge il contatore senza password e senza chiavi di autenticazione, quindi non c'è nulla da richiedere al distributore né da reinserire se il contatore viene sostituito. La modalità E passa la sessione a DLMS/COSEM, che di solito richiede credenziali prima di restituire qualcosa oltre al nome e al numero di serie del contatore.
Scegli la strada della modalità E quando i dati che ti servono sono disponibili solo tramite DLMS — e hai le credenziali per accedervi.