LIBRERIA OPEN SOURCE LibUNICosem PER UNI TS 11291

Per astrarre lo scambio di dati dalle problematiche di comunicazione

MeterLinq mette a disposizione degli sviluppatoria la libreria DLMS/COSEM

Lo scopo di utilizzo di questa libreria è specifico per applicazioni di smart metering del gas, sia dal lato server (il contatore) che client (il SAC). I test e gli esempi sono progettati esclusivamente per questo tipo di applicazioni.

La implementazione MeterLinq della libreria DLMS/COSEM secondo le specifiche UNI/TS 11291 mette a disposizione degli sviluppatori di componenti dell’infrastruttura di comunicazione, una serie di funzioni (API) che permettano di astrarre lo scambio di dati dalle problematiche di comunicazione. In pratica, la libreria libUNICosem implementa serializzazione e deserializzazione delle strutture dati complesse.

LibUNICosem è in effetti un insieme strutturato di elementi stratificati:

  • La serializzazione e deserializzazione è ottenuta per mezzo di strutture dati ricavate compilando direttamente la grammatica ASN.1 in [2]
  • Le strutture dati vengono valorizzate e gestite mediante una serie di funzioni ad alto livello il cui scopo è quello di astrarre il canale di comunicazione
  • Le APDU, ovvero gli elementi applicativi del protocollo. A questo livello vengono definite le funzionalità relative ai compact frames e alla loro gestione
  • Le macchine a stati utilizzate per definire il comportamento del server e del client nelle fasi di autenticazione e completamento delle richieste

La libreria libUNICosem è scritta utilizzando il linguaggio ANSI C standard per farvorirne la portabilità tra architetture diverse e per poter essere inclusa anche in progetti embedded. La libreria non ha praticamente alcuna dipendenza dall’esterno tranne che per quanto concerne la funzionalità di cifratura AES128, facilmente disponibile su praticamente qualsiasi piattaforma di sviluppo.

Inizialmente la libreria è dotata di toolchain per la compilazione su architetture a microprocessore x86 a 32bit e 64bit, e per microcontrollori basati su architettura ARM.

Richiedi la libreria LIBUNICOSEM

Richiedi la libreria LIBUNICOSEM

LibUNICosem è rilasciata secondo la licenza open source EUPL, per favorirne l’integrazione anche in prodotti commerciali.

Compila il form di richiesta sottostante indicando nel messaggio gli interessi applicativi. Ti invieremo il link per il download

La normativa UNI TS 11291 sul gas smart metering

La normativa relativa al gas smart metering prevede per i gruppi di misura destinati al mass-market (< G10) l’impiego di un protocollo applicativo derivato dallo standard DLMS/COSEM.

La versione definita dall’UNI presenta una serie di ottimizzazioni legate alla architettura complessiva del sistema e alla topologia di rete di punto-multipunto tra gruppi di misura (contatori) e concentratori/gateways[1] rispetto alla versione originale [3,4], ideata per il metering con infrastrutture filari e con pochi limiti operativi.

Riguardo al contatore, tutte le attività di trasmissione e ricezione devono essere alimentate da una batteria, in alcuni casi sostituibile, che deve garantire una durata in operatività del gruppo di misura di diversi anni.

Quindi sia la progettazione dell’hardware che del software (firmware) del contatore è fortemente orientata al risparmio energetico.

Rispetto alla specifica ASN.1 descritta nel Green Book del DLMS/COSEM [2] la documentazione UNI/TS 11291-11-2 introduce un ulteriore campo all’interno del campo CHOICE “Data”, chiamato “compact-date-time” con lo scopo di ridurre il più possibile i tempi di trasmissione da parte del contatore, e di conseguenza l’uso della batteria.
Nel Green Book [3] viene descritta la codifica del protocollo DLMS/COSEM: essa utilizza sia la codifica standard BER, sia una versione modificata della codifica XDR, detta A-XDR, e descritta nella specifica IEC 61334-4[6]. Anche questa codifica risulta più efficiente dal punto di vista energetico della standard BER.

Oltre a queste ottimizzazioni “strutturali”, la UNI/TS 11291-11-2 introduce anche l’ottimizzazione del payload (carico utile) dei dati nelle trame scambiate con gli altri elementi dell’infrastruttura di comunicazione. Queste trame compatte (compact frames) utilizzano un modello dati esterno al payload per evitare la ripetizione dei tag del pacchetto di dati, che viene quindi inviato senza questi elementi descrittivi. Il ricevente utilizza un “dizionario” dei modelli per ricostruire la struttura originale a partire dal formato compatto.

Riguardo al contatore, tutte le attività di trasmissione e ricezione devono essere alimentate da una batteria, in alcuni casi sostituibile, che deve garantire una durata in operatività del gruppo di misura di diversi anni.

Quindi sia la progettazione dell’hardware che del software (firmware) del contatore è fortemente orientata al risparmio energetico.

Rispetto alla specifica ASN.1 descritta nel Green Book del DLMS/COSEM [2] la documentazione UNI/TS 11291-11-2 introduce un ulteriore campo all’interno del campo CHOICE “Data”, chiamato “compact-date-time” con lo scopo di ridurre il più possibile i tempi di trasmissione da parte del contatore, e di conseguenza l’uso della batteria.
Nel Green Book [3] viene descritta la codifica del protocollo DLMS/COSEM: essa utilizza sia la codifica standard BER, sia una versione modificata della codifica XDR, detta A-XDR, e descritta nella specifica IEC 61334-4[6]. Anche questa codifica risulta più efficiente dal punto di vista energetico della standard BER.

Oltre a queste ottimizzazioni “strutturali”, la UNI/TS 11291-11-2 introduce anche l’ottimizzazione del payload (carico utile) dei dati nelle trame scambiate con gli altri elementi dell’infrastruttura di comunicazione. Queste trame compatte (compact frames) utilizzano un modello dati esterno al payload per evitare la ripetizione dei tag del pacchetto di dati, che viene quindi inviato senza questi elementi descrittivi. Il ricevente utilizza un “dizionario” dei modelli per ricostruire la struttura originale a partire dal formato compatto.

RIFERIMENTI

[1] UNI/TS 11291-11-1 – Gas Measurement systems: Hourly based gas metering system – General

[2] UNI/TS 11291-11-2 – Gas Measurement systems: Hourly based gas metering system – Data Model
[3] DLMS UA 1000-2 Ed. 7.0:2009 – DLMS/COSEM Architecture and Protocols, the “Green
Book”
[4] DLMS UA 1000-1 Ed. 9.0:2009 – COSEM Interface Classes and the OBIS Identification
System, “Blue Book”
[5] IEC 61334-4 COSEM DLMS PDUs
[6] IEC 61334-6 Ed.1.0:1996 – A-XDR encoding rule