====== Guida all'uso dello script sdm120c ====== Cerchiamo di capire come funziona questo script creato da [[https://github.com/gianfrdp|Gianfranco di Prinzio]], indispensabile per la lettura dei contatori modbus della Eastron. In particolare il software funziona con i seguenti modelli: |EASTRON SDM120C| |EASTRON SDM120modbus| |EASTRON SDM220modbus| |EASTRON SDM230modbus| |EASTRON SDM120CTmodbus| |EASTRON SDM630modbus (contatore trifase - legge solo i valori relativi alla prima fase)| L'[[https://github.com/gianfrdp/SDM120C|attuale versione]] dello script è la 1.3.5.3 Digitando da terminale semplicemente // sdm120c // senza nessuna opzione, il software ci restituisce alcune righe di spiegazione delle varie opzioni disponibili: sdm120c 1.3.5.3: ModBus RTU client to read EASTRON SDM120C smart mini power meter registers Copyright (C) 2015 Gianfranco Di Prinzio Complied with libmodbus 3.0.6 Usage: sdm120c [-a address] [-d] [-x] [-p] [-v] [-c] [-e] [-i] [-t] [-f] [-g] [-T] [[-m]|[-q]] [-b baud_rate] [-P parity] [-S bit] [-z num_retries] [-j seconds] [-w seconds] [-1 | -2] device sdm120c [-a address] [-d] [-x] [-b baud_rate] [-P parity] [-S bit] [-1 | -2] [-z num_retries] [-j seconds] [-w seconds] -s new_address device sdm120c [-a address] [-d] [-x] [-b baud_rate] [-P parity] [-S bit] [-1 | -2] [-z num_retries] [-j seconds] [-w seconds] -r baud_rate device sdm120c [-a address] [-d] [-x] [-b baud_rate] [-P parity] [-S bit] [-1 | -2] [-z num_retries] [-j seconds] [-w seconds] -R new_time device Required: device Serial device (i.e. /dev/ttyUSB0) Connection parameters: -a address Meter number (1-247). Default: 1 -b baud_rate Use baud_rate serial port speed (1200, 2400, 4800, 9600) Default: 2400 -P parity Use parity (E, N, O) -S bit Use stop bits (1, 2). Default: 1 -1 Model: SDM120C (default) -2 Model: SDM220 Reading parameters (no parameter = retrieves all values): -p Get power (W) -v Get voltage (V) -c Get current (A) -l Get apparent power (VA) -n Get reactive power (VAR) -f Get frequency (Hz) -o Get phase angle (Degree) -g Get power factor -i Get imported energy (Wh) -e Get exported energy (Wh) -t Get total energy (Wh) -A Get imported reactive energy (VARh) -B Get exported reactive energy (VARh) -C Get total reactive energy (VARh) -T Get Time for rotating display values (0=no rotation) -m Output values in IEC 62056 format ID(VALUE*UNIT) -q Output values in compact mode Writing new settings parameters: -s new_address Set new meter number (1-247) -r baud_rate Set baud_rate meter speed (1200, 2400, 4800, 9600) -N parity Set parity and stop bits (0-3) 0: N1, 1: E1, 2: O1, 3:N2 -R new_time Set rotation time for displaying values (0=no rotation) SDM120: (0-30s) SDM120: (m-m-s-m) Demand interval, Slide time, Scroll time, Backlight time -M new_mmode Set total energy measurement mode (1-3) 1: Total=Import, 2: Total=Import+Export, 3: Total=Import-Export Fine tuning & debug parameters: -z num_retries Try to read max num_retries times on bus before exiting with error. Default: 1 (no retry) -j 1/10 secs Response timeout. Default: 2=0.2s -D 1/1000 secs Delay before sending commands. Default: 0ms -w seconds Time to wait to lock serial port (1-30s). Default: 0s -W 1/1000 secs Time to wait for 485 line to settle. Default: 0ms -y 1/1000 secs Set timeout between every bytes (1-500). Default: disabled -d debug_level Debug (0=disable, 1=debug, 2=errors to syslog, 3=both) Default: Fatal errors to syslog + fatal errors to stderr -x Trace (libmodbus debug on) Come visibile il software permette la lettura di tutte le grandezze misurate dal contatore ed anche la possibilità di impostare i diversi parametri del contatore stesso, come l’indirizzo, la velocità. Di default, se non specificato diversamente nella riga di comando, il software assumerà: ·indirizzo a: 1 ·velocità b: 2400 baud ·Stop bits S: 1 ·Numero di tentativi z: 1 ·Tempo di risposta j: 2 (0,2s) ===== Opzione -w ===== Questo parametro, pur essendo fra gli ultimi arrivati, è molto importante e merita di essere chiarito. E’ infatti indispensabile utilizzarlo nel caso in cui si utilizzano più contatori sullo stesso bus e letti da diversi software (come nel caso in cui si utilizzi un contatore per la produzione con 123solar ed uno per i consumi con MeterN). In tale caso infatti, potrebbero verificarsi delle collisioni fra le due richieste di lettura sullo stesso bus, e questo provocherebbe il blocco delle letture stesse. L’utilizzo del parametro –w evita questo problema, mettendo in coda la seconda richiesta fino a che la prima non è stata completata e per il tempo in secondi indicato. In tale caso vi suggerisco quindi l’utilizzo di “– w 10” ===== Esempi ===== Vediamo di seguito alcuni esempi di utilizzo del software, che si spiegano meglio di molte parole. ==== Versione software ==== Per __ verificare la versione del software __ , da terminale digitare semplicemente il comando sdm120c e fra le prime righe di informazioni visualizzate comparirà anche la versione del software. ==== Cambio indirizzo contatore ==== Per __ cambiare l’indirizzo del dispositivo __ da 1 a 2, premere il pulsante frontale sul contatore per 3 secondi, fino a che compare la scritta - SET – sul display, quindi da terminale digitare (ipotizzando la parità del contatore = None): sdm120c -a 1 -b 2400 -s 2 –P N -z3 -j10 -w10 /dev/ttyUSB0 New address 2 You have to restart the meter for apply changes Riavviare il contatore staccando e riattaccando la fase in ingresso. E' possibile modificare i vari parametri del contatore anche mediante il software **Modscan32** come indicato in questa specifica [[modscan32|GUIDA]] ==== Modifica velocità bus ==== Per __ cambiare la velocità di trasmissione __ da 2400 a 9600 del contatore (dopo il parametro -a va messo l’indirizzo del vostro contatore) : sdm120c -a 2 -b 2400 -r 9600 –P N -z3 -j10 -w10 /dev/ttyUSB0 New baud_rate 2 You have to restart the meter for apply changes Riavviare il contatore staccando e riattaccando la fase in ingresso. E' possibile modificare i vari parametri del contatore anche mediante il software **Modscan32** come indicato in questa specifica [[modscan32|GUIDA]] ==== Lettura potenza istantanea ==== Quindi, per __ leggere la sola potenza istantanea __ del contatore con indirizzo 2 e velocità 9600 e parità none (N) sdm120c -a2 -b9600 -PN -z3 -j10 -w10 -p /dev/ttyUSB0 **NOTA: ** Una volta modificato l’indirizzo o la velocità del contatore sarà sempre necessario specificare il relativo valore fra le opzioni, in quanto se omessi, il software assume i valori previsti di default e non vi verrà restituita nessuna lettura. \\