Nella libreria di funzioni SlimLine esiste il blocco funzione IEC62056_21Rd che gestisce il protocollo IEC62056-21 (Vedi post).
Ho realizzato un esempio di programma che acquisisce 16 registri dal contatore (Identificati con i relativi codici OBIS) e valorizza 16 variabili di tipo REAL nella memoria del sistema. Tramite il protocollo modbus (RTU o OverIP) nativo in SlimLine sarà possibile accedere a questi valori dal sistema SCADA.
Il cuore del programma è il blocco funzione IEC62056_21Rd, attorno al quale ho realizzato due blocchi funzioni di supporto (Di cui è disponibile il sorgente).
MRegisters: Provvede a valorizzare la stringa di identificazione registro da leggere con il relativo codice OBIS.
MValues: Provvede a covertire il dato di lettura del registro dal contatore nella variabile REAL per il supervisore.
Un sequenziatore di letture gestisce la scansione dei vari registri, semplicemente duplicando il file di gestione contatore ed aumentando il valore massimo del sequenziatore è possibile aggiungere altri contatori in lettura. Allego un programma che esegue la lettura da due contatori (Download programma).