Purtroppo nessuno si è fatto vivo che ha rimesso a disposizione il protocollo
Partendo dal protocollo per sdm120c di 123Solar (i file si trovano nella cartella /var/www/123solar/scripts/protocols) si deve creare un nuovo protocollo per sdm630 che sfrutta il software monitor invece che sdm120c.
Non è difficile ..... ma è da fare e da testare.
EASTRON SDM630 modbus - contatore trifase
Re: EASTRON SDM630 modbus - contatore trifase
Ciao,
ho provato a metter mano al file da te indicato
nello specifico ho modificato le due seguenti variabili poiché:
- monitor è eseguibile ed è situato nella mia home
- il file output di monitor si chiama metern2.txt e anche lui si trova nella home
- ho eliminato le variabili da $CMD_POOLING poichè il programma monitor fa riferimento ad un suo file config (correttamente funzionante)
Nelle impostazioni di 123Solar come protocollo seleziono quindi sdm120c ma nel momento di "test comunicazione" mi restituisce ancora errore.
Nell'allegato ci sono le mie impostazioni
ho provato a metter mano al file da te indicato
Codice: Seleziona tutto
<?php
/**
* /srv/http/123solar/scripts/protocols/sdm120c.php
*
* @package default
*/
if (!defined('checkaccess')) {
die('Direct access not permitted');
}
// sdm120c is a command line program for reading the parameters out of EASTRON SDM120C ModBus Smart meter.
// http://github.com/gianfrdp/SDM120C
// Ask sdm120c:
// - Voltage (-v)
// - Power (-p)
// - Current (-c)
// - Frequency (-f)
// - Imported energy (-i)
$CMD_RETURN = '';
//$CMD_POOLING = "sdm120c -a ${'ADR'.$invt_num} ${'COMOPTION'.$invt_num} -vpcfi -q ${'PORT'.$invt_num}";
$CMD_POOLING = "/home/pi/./monitor";
if ($DEBUG) {
$CMD_RETURN = exec("$CMD_POOLING 2>&1");
} else {
$CMD_RETURN = exec($CMD_POOLING);
}
$dataarray = array();
//$dataarray = preg_split('/[[:space:]]+/', $CMD_RETURN);
$dataarray = preg_split('/[[:space:]]+/', /home/pi/metern2.txt);
if (isset($dataarray[5])) {
$G1V = (float) $dataarray[0];
$G1A = (float) $dataarray[1];
$G1P = (float) $dataarray[2];
$FRQ = (float) $dataarray[3];
$EFF = (float) 0.0;
$INVT = null;
$BOOT = null;
$KWHT = (float) $dataarray[4];
$KWHT = $KWHT / 1000;
$RET = 'OK';
} else {
$RET = 'NOK';
}
?>
nello specifico ho modificato le due seguenti variabili poiché:
- monitor è eseguibile ed è situato nella mia home
- il file output di monitor si chiama metern2.txt e anche lui si trova nella home
- ho eliminato le variabili da $CMD_POOLING poichè il programma monitor fa riferimento ad un suo file config (correttamente funzionante)
Codice: Seleziona tutto
$CMD_POOLING = "/home/pi/./monitor";
$dataarray = preg_split('/[[:space:]]+/', /home/pi/metern2.txt);
Nelle impostazioni di 123Solar come protocollo seleziono quindi sdm120c ma nel momento di "test comunicazione" mi restituisce ancora errore.
Codice: Seleziona tutto
sdm120c -a 1 -vpcfi -q /dev/ttyUSB0 return :
error : /
Nell'allegato ci sono le mie impostazioni
Re: EASTRON SDM630 modbus - contatore trifase
buongiorno, sei riuscito a dare un occhiata? Hai qualche soluzione da darmi? Grazie e buona giornata
Re: EASTRON SDM630 modbus - contatore trifase
Mi spiace ma in questo periodo sono carico .... proprio non riesco
Re: EASTRON SDM630 modbus - contatore trifase
Ho notato che è uscito anche il modello sdm72dm(sempre trifase e modbus) che costa meno.
È possibile leggere i consumi delle singoli fasi con il solito protocollo?
Grazie
È possibile leggere i consumi delle singoli fasi con il solito protocollo?
Grazie
Chi c’è in linea
Visitano il forum: Nessuno e 1 ospite