Ciao Fuzero,
il tuo script funziona alla grande ma mi legge i valori 1_1 1_2 1_3 ecc... io avevo postato un immagine dove venivano raffigurate le letture 1_VS ecc.. (trifase) ma le ho ottenute digitando da terminale ./monitor con il meterN spento quando lo accendevo meterN mi andava a sostituire i valori aggiornandoli nel file /dev/shm/metern1.txt
Adesso ho capito dove sta il problema e sta nella scrittura del file metern1.txt, Fezero quale è il file che scrive metern1.txt? secondo me è li che bisogna intervenire cominciandogli che deve scrivere 1_VS ecc.. (trifase)
Non sono un programmatore ma correggimi se sbaglio raggionamento.
Grazie
FORSE MI SBAGLIO MA SECONDO ME IL FILE CHE SCRIVE metern1.txt E' QUESTO
ESEGUO ./monitor CON METERN SPENTO ECCO IL RISULTATO
QUANDO AVVIO METERN ECCO IL RISULTATO DEL FILE metern1.txt
Programma MONITOR per la lettura contatori EASTRON [GUIDA]
-
- Messaggi: 22
- Iscritto il: 11/06/2020, 15:02
Re: Programma MONITOR per la lettura contatori EASTRON [GUIDA]
...
Ultima modifica di fuzero il 30/06/2020, 21:58, modificato 1 volta in totale.
-
- Messaggi: 22
- Iscritto il: 11/06/2020, 15:02
Re: Programma MONITOR per la lettura contatori EASTRON [GUIDA]
fuzero ha scritto:Credo sia l'eseguibile monitor che crea il file , monitor.conf è solo un file di configurazione dove imposti i parametri dell'eseguibile monitor.
"which monitor" per vedere dove si trova, poi prova a leggerlo per capire se è un programma compilato o in che linguaggio è scritto.
lo trovato non è leggibile
-
- Messaggi: 22
- Iscritto il: 11/06/2020, 15:02
Re: Programma MONITOR per la lettura contatori EASTRON [GUIDA]
in rete ho trovato questi codici secondo me dovrei inserirli anche io ma non so dove
OpCodeSDML1Voltage = 0x0000
OpCodeSDML2Voltage = 0x0002
OpCodeSDML3Voltage = 0x0004
OpCodeSDML1Current = 0x0006
OpCodeSDML2Current = 0x0008
OpCodeSDML3Current = 0x000A
OpCodeSDML1Power = 0x000C
OpCodeSDML2Power = 0x000E
OpCodeSDML3Power = 0x0010
OpCodeSDML1Import = 0x015a
OpCodeSDML2Import = 0x015c
OpCodeSDML3Import = 0x015e
OpCodeSDMTotalImport = 0x0048
OpCodeSDML1Export = 0x0160
OpCodeSDML2Export = 0x0162
OpCodeSDML3Export = 0x0164
OpCodeSDMTotalExport = 0x004a
OpCodeSDML1Cosphi = 0x001e
OpCodeSDML2Cosphi = 0x0020
OpCodeSDML3Cosphi = 0x0022
Re: Programma MONITOR per la lettura contatori EASTRON [GUIDA]
Se leggete il primo post è chiaramente spiegato come utilizzare il software monitor e aggiungo che state facendo un gran casino nelle prove ed indicazioni che vedo negli ultimi post......
Per utilizzare monitor è necessario editare e configurare il file di configurazione monitor.conf come spiegato nel primo post.
Per utilizzare monitor è necessario editare e configurare il file di configurazione monitor.conf come spiegato nel primo post.
-
- Messaggi: 22
- Iscritto il: 11/06/2020, 15:02
Re: Programma MONITOR per la lettura contatori EASTRON [GUIDA]
Flane ha scritto:Se leggete il primo post è chiaramente spiegato come utilizzare il software monitor e aggiungo che state facendo un gran casino nelle prove ed indicazioni che vedo negli ultimi post......
Per utilizzare monitor è necessario editare e configurare il file di configurazione monitor.conf come spiegato nel primo post.
Ai ragione Flane, sto facendo un gran casino da due settimane lo letto il primo post è tanti altri ma non trovo ancora la soluzione quando in metern inserisco i valori 1_VR ecc per il trifase il programma non trova le lettere per questo ho pensato che mancassero i codici per sdm630
-
- Messaggi: 22
- Iscritto il: 11/06/2020, 15:02
Re: Programma MONITOR per la lettura contatori EASTRON [GUIDA]
Flane ha scritto:Se leggete il primo post è chiaramente spiegato come utilizzare il software monitor e aggiungo che state facendo un gran casino nelle prove ed indicazioni che vedo negli ultimi post......
Per utilizzare monitor è necessario editare e configurare il file di configurazione monitor.conf come spiegato nel primo post.
Ciao Flane
chiedo il vostro aiuto perchè in questi giorni ho fatto altri tentativi (inutili) non riuscendo ad ottenere i valori delle 3 fasi ma ottengo sempre il valore della VR, ho modificato altri file cercando di risolvere ho riletto il post 1 forse 100 volte ma non riesco.
Vi allego la mia configurazione e i file che ho modificato (ma posso rimettere il tutto come prima).
Spero in voi. Grazie
Configurazione
FILE CHE MI SONO PERMESSO DI MODIFICARE
Codice: Seleziona tutto
#!/bin/bash
ADDRESSES="$1"
BAUD_RATE="$2"
DEVICE="$3"
ADDR_ARR=$(echo $ADDRESSES | tr "," "\n")
while [ true ]; do
ID=0
POWER=""
ENERGY=""
CHECK=""
for ADDRESS in $ADDR_ARR
do
#((ID++))
ID=$ADDRESS
CMD="sdm120c -a ${ADDRESS} -b ${BAUD_RATE} -z 10 -i -p -v -c -f -g -P N -w 10 -j 10 -d 0 -q ${DEVICE}"
#echo $CMD
VALUE=`$CMD`
VR=$(echo ${VALUE} | awk '{print $1}')
VS=$(echo ${VALUE} | awk '{print $8}')
VT=$(echo ${VALUE} | awk '{print $9}')
CURRENT=$(echo ${VALUE} | awk '{print $2}')
POWER=$(echo ${VALUE} | awk '{print $3}')
FACTOR=$(echo ${VALUE} | awk '{print $4}')
FREQUENCY=$(echo ${VALUE} | awk '{print $5}')
ENERGY=$(echo ${VALUE} | awk '{print $6}')
CHECK=$(echo ${VALUE} | awk '{print $7}')
if [ "$CHECK" = "OK" ]; then
echo -e "$ID($POWER*W)\n$ID($ENERGY*Wh)\n${ID}_VR($VR*V)\n${ID}_VS($VS*V)\n${ID}_VT($VT*V)\n${ID}_2($CURRENT*A)\n${ID}_3($FREQUENCY*Hz)\n${ID}_4($FACTOR*F)" > /$
else
if [ -f /dev/shm/metern${ADDRESS}.txt ]; then
POWER="0.00"
ENERGY=`sed -n '2p' /dev/shm/metern${ADDRESS}.txt`
VR="0.00"
VS="0.00"
VT="0.00"
CURRENT="0.00"
FREQUENCY="0.00"
FACTOR="0.00"
VOLTAGES="0.00"
echo -e "$ID($POWER*W)\n$ENERGY\n${ID}_VR($VR*V)\n${ID}_VS($VS*V)\n${ID}_VT($VT*V)\n${ID}_2($CURRENT*A)\n${ID}_3($FREQUENCY*Hz)\n${ID}_4($FACTOR*F)" > /dev/shm/mete$
fi
fi
sleep 0.2
done
done
Codice: Seleziona tutto
#!/usr/bin/php
<?php
// This script will output a meterN compatible format for the main or live command
// You'll need to setup correct permission chmod +x
// then ln -s /var/www/comapps/reqsdm.php /usr/local/bin/reqsdm
// Request command with 'reqsdm tensione' or 'reqsdm corrente' or ......
if (isset($_SERVER['REMOTE_ADDR'])) {
die('Direct access not permitted');
}
if (!isset($argv[1])) {
die("Abording: no valid argument given.\n");
} elseif ($argv[1] == 'VR') {
$outstr = exec('cat /dev/shm/metern1.txt | egrep "^1_VR\(" | grep "*V)"');
} elseif ($argv[1] == 'VS') {
$outstr = exec('cat /dev/shm/metern1.txt | egrep "^1_VS\(" | grep "*V)"');
} elseif ($argv[1] == 'VT') {
$outstr = exec('cat /dev/shm/metern1.txt | egrep "^1_VT\(" | grep "*V)"');
} elseif ($argv[1] == 'corrente') {
$outstr = exec('cat /dev/shm/metern1.txt | egrep "^1_2\(" | grep "*A)"');
} elseif ($argv[1] == 'freq') {
$outstr = exec('cat /dev/shm/metern1.txt | egrep "^1_3\(" | grep "*Hz)"');
} elseif ($argv[1] == 'cospi') {
$outstr = exec('cat /dev/shm/metern1.txt | egrep "^1_4\(" | grep "*F)"');
} elseif ($argv[1] == 'boiler-status') {
$outstr = exec('cat /dev/shm/boiler7.txt | egrep "^7_2\(" | grep "*X)"');
//} elseif ($argv[1] == 'boiler-status') {
// $outstr = exec('echo "pwm_FLANE("`pgrep -c pwm_FLANE`"*X)"');
} elseif ($argv[1] == 'boiler-live') {
$outstr = exec('cat /dev/shm/boiler7.txt | egrep "^7\(" | grep "*W)"');
} elseif ($argv[1] == 'boiler-main') {
$outstr = exec('cat /dev/shm/boiler7.txt | egrep "^7\(" | grep "*Wh)"');
} elseif ($argv[1] == 'resistenza') {
$outstr = exec('cat /dev/shm/boiler7.txt | egrep "^7_1\(" | grep "*%)"');
} elseif ($argv[1] == 'bat_ten') {
$outstr = exec('cat /dev/shm/ups.txt | grep "*V)"');
} elseif ($argv[1] == 'bat_cap') {
$outstr = exec('cat /dev/shm/ups.txt | grep "*%)"');
} elseif ($argv[1] == 'cpu-temp') {
$outstr = exec('cat /sys/class/thermal/thermal_zone0/temp');
$outstr = $outstr/1000;
$outstr = "cpu($outstr*°C)";
} elseif ($argv[1] == 'load-status') {
$outstr = exec('cat /dev/shm/loadcheck.txt | egrep "^load\(" | grep "*X)"');
} elseif ($argv[1] == 'garage-temp') {
$url = 'http://192.168.3.147/json?tasknr=4';
TESTCOM
Codice: Seleziona tutto
Testing in progress (1)
Array
(
[0] => 228.58 0.00 1.00 49.99 0 71 OK
[1] => 228.55 0.00 1.00 49.99 0 71 OK
[2] => 228.55 0.00 1.00 49.99 0 71 OK
[3] => 228.57 0.00 1.00 49.99 0 71 OK
[4] => 228.57 0.00 1.00 49.99 0 71 OK
[5] => 228.57 0.00 1.00 49.99 0 71 OK
[6] => 228.57 0.00 1.00 49.99 0 71 OK
[7] => 228.48 0.00 1.00 49.99 0 71 OK
[8] => 228.48 0.00 1.00 49.99 0 71 OK
[9] => 228.48 0.00 1.00 49.99 0 71 OK
)
02/07/2020 18:44:16 : sdm120c -a1 -b9600 -z5 -j5 -w10 -PN -qpievfg -d0 /dev/ttyUSB0
Result : best 221.514 ms - worst 1421.2661 ms - 0 error(s)
root@Tesla:/var/www/comapps#
AVVIO MONITOR CON METERN SPENTO ./monitor ecco cosa scrive nel metern1.txt
Codice: Seleziona tutto
1_VR(228.87*V)
1_VS(228.72*V)
1_VT(228.82*V)
1_CR(0.00*A)
1_CS(0.00*A)
1_CT(0.00*A)
1_PR(0.00*W)
1_PS(0.00*W)
1_PT(0.00*W)
1_APR(0.00*VA)
1_APS(0.00*VA)
1_APT(0.00*VA)
1_RPR(0.00*VAR)
1_RPS(0.00*VAR)
1_RPT(0.00*VAR)
1_PFR(1.00*PF)
1_PFS(1.00*PF)
1_PFT(1.00*PF)
1_PAR(-121.26*°)
1_PAS(-93.35*°)
1_PAT(-81.38*°)
1_AVN(228.70*V)
1_ALC(0.00*A)
1_SLC(0.00*A)
1_TP(0.00*W)
1_TAP(0.00*VA)
1_TRP(0.00*VAE)
1_TPF(1.00*PF)
1_TPA(-98.66*°)
1_F(49.97*Hz)
1_IE(0*Wh)
1_EE(0*Wh)
1_RIE(0*VARh)
1_REE(0*VARh)
1_VRS(395.68*V)
1_VST(0.00*V)
1_VTR(396.34*V)
1_AVLL(264.05*V)
1_NC(0.00*V)
1_TE(71*Wh)
1_TRE(146*VARh)
dopo che avvio meterN e vado in metern1.txt ecco cosa trovo
Codice: Seleziona tutto
1(0.00*W)
1(0*Wh)
1_VR(231.28*V)
1_VS(*V)
1_VT(*V)
1_2(0.00*A)
1_3(50.01*Hz)
1_4(1.00*F)
quale è la motivazione? dove sbaglio?
Grazie
Re: Programma MONITOR per la lettura contatori EASTRON [GUIDA]
Io non uso monitor ed ho fatto al tempo della pubblicazione solo qualche test con un contatore monofase per cui mi è difficile poterti aiutare.
-
- Messaggi: 22
- Iscritto il: 11/06/2020, 15:02
Re: Programma MONITOR per la lettura contatori EASTRON [GUIDA]
Flane ha scritto:Io non uso monitor ed ho fatto al tempo della pubblicazione solo qualche test con un contatore monofase per cui mi è difficile poterti aiutare.
Esiste un'altro modo?
Grazie
Re: Programma MONITOR per la lettura contatori EASTRON [GUIDA]
Qui sul forum per i contatori trifase c'è solo monitor.
Ma con tutta la confusione che è stata fatta sopra io non ho capito se sei riuscito a configurare monitor e se hai una lettura completa dei dati del contatore trifase da monitor.
Ma con tutta la confusione che è stata fatta sopra io non ho capito se sei riuscito a configurare monitor e se hai una lettura completa dei dati del contatore trifase da monitor.
Chi c’è in linea
Visitano il forum: Nessuno e 5 ospiti