Vai al contenuto
PLC Forum


Energy meter comunicazione ModBus errore random valore energia [kWh]


Messaggi consigliati

Inserito:

Buongiorno, stò monitorando dei consumi energetici, tramite dei misuratori di tipo ABB DMTME-I-485, con Home Assistant, i dati li converto già da ModBus RTU a ModBus TCP/IP tramite un Gateway MOXA, leggo tutto e leggo correttamente, ma ogni tanto, così a caso, il valore di energia attiva [kWh] al posto di incrementare si abbassa in modo rempentivo per poi rimettersi nuovamente in linea di progressione, come potete vedere dal grafico allegato sotto. Non riesco a capire il problema, pensavo fosse il cavo di collegamento RS485, così ho messo un nuovo cavo schermato, ho poi accorciato il cavo, mettendo lo strumento vicino al gateway, la cosa strana è che solo questo valore salta, il resto degli altri valori come: Tensione L1, L2, L3, corrente, potenza, CosFi sono sempre attendibili e corretti. A volte l'errore dura poche ore, a volte dura tantissimo, anche una giornata intera.

Nemmeno posso pensare ad una anomalia dello strumento perchè ho connesso 13 strumenti della stessa marca e tutti hanno lo stesso "problema".

Una cosa che ho notato, e che ne ero certo, è che ho collegato anche un Siemens Sentron PAC ad un gateway MOXA, stesso procedimento degli altri, ma questo errore non si presenta con il Siemens.

Se qualcuno ha qualche idea (a parte cambiare gli strumenti) lo ringrazio anticipatamente.

 

saluti

Giuseppe.

image.png.139e39f708390e94d1bad4980e7bfa30.png   image.png.233e92a7023fe0e56a6377e20a828938.png


Inserita:

Difficile sia un problema di comunicazione o convertitore perché avresti un errore sul master.

Se il registro non è di tipo float, solitamente i totalizzatori come l'energia sono "spalmati" su due registri consecutivi.

Verifica che sia corretta il tipo dato signed - unsigned (eventualmente anche ordine MSW/LSW, ma te ne dovresti accorgere dal valore)

ciao

Inserita: (modificato)

Ci sono 9 diversi registri per l'energia attiva, a seconda che si legga il totale trifase, o i registri monofase, i registri diretti, o i registri importati dall'ingresso impulsivo.

Di quale stiamo parlando?

Modificato: da NoNickName
Inserita:

Si, infatti leggo i due registri in HEX e poi li converto in decimali e li sommo per una lettura più umana, però in effetti mi hai fatto venire in mente una possibile causa, potrebbe essere che uno dei due registri non venga letto, qualche volta, e quindi ecco perchè il valore è sbagliato. Farò ulteriori prove per capire se leggo tutti e due i registri.

Ciao.

Inserita:
  Il 08/11/2023 alle 13:25 , NoNickName ha scritto:

Ci sono 9 diversi registri per l'energia attiva, a seconda che si legga il totale trifase, o i registri monofase, i registri diretti, o i registri importati dall'ingresso impulsivo.

Di quale stiamo parlando?

Expand  

Io leggo il registro 3-Phase Sys. Active Power, indirizzo 102E, Word 2, Format Signed Long

Inserita: (modificato)
  Il 08/11/2023 alle 13:32 , Giuseppe-IT9 ha scritto:

Io leggo il registro 3-Phase Sys. Active Power, indirizzo 102E, Word 2, Format Signed Long

Expand  

 

Quella è potenza, non energia. E' ovvio che la potenza ogni tanto vada a zero.

Tu devi leggere il 103E.

Modificato: da NoNickName
Inserita:
  Il 08/11/2023 alle 14:18 , NoNickName ha scritto:

 

Quella è potenza, non energia. E' ovvio che la potenza ogni tanto vada a zero.

Tu devi leggere il 103E.

Expand  

Chiedo venia c'è stato un errore di vista, ho copiato e incollato così com'era sul programma il commento sbagliato.

Confermo che leggo il 103E ovviamente, anche perchè mi sono assicurato che il valore letto dal pc sia uguale al valore letto sullo strumento e la lettura è precisa.

Adesso sto monitorando le singole word che compongono il valore di energia, al momento ho riscontrato questo:

su una lettura di 2 ore

word 0 leggo costantemente sempre lo stesso valore

word 1 leggo un valor che incrementa con il passare del tempo

Inserita: (modificato)
  Il 08/11/2023 alle 14:59 , Giuseppe-IT9 ha scritto:

su una lettura di 2 ore

word 0 leggo costantemente sempre lo stesso valore

word 1 leggo un valor che incrementa con il passare del tempo

Expand  

 

Beh, è corretto. E' una long a 32 bit, mi aspetto che la word alta non cambi così frequentemente come la word bassa. Ad un certo punto avrai l'overflow della word bassa e l'incremento della word alta. Non vedo errori. 

Alcuni strumenti, tuttavia, hanno un numero massimo di interrogazioni al giorno, per evitare il flooding. Non so se questo può essere il problema.

 

Do per scontato che tu verifichi il CRC del messaggio, quindi la validità della trasmissione, vero?

E do per scontato che ci sia un solo master in rete, e che i tempi del round robin siano compatibili con la latenza del dispositivo, vero?

Modificato: da NoNickName
Inserita:
  Il 08/11/2023 alle 15:07 , NoNickName ha scritto:

 

Beh, è corretto. E' una long a 32 bit, mi aspetto che la word alta non cambi così frequentemente come la word bassa. Ad un certo punto avrai l'overflow della word bassa e l'incremento della word alta. Non vedo errori. 

Alcuni strumenti, tuttavia, hanno un numero massimo di interrogazioni al giorno, per evitare il flooding. Non so se questo può essere il problema.

Expand  

Perfetto grazie.

 

Per quanto riguarda il numero di interrogazioni al giorno, separo l'interrogazione degli strumenti per non interrogarli nello stesso istante. Questo strumento che ho preso

 in esempio lo interrogo ogni 10 secondi.

Inserita:

Do per scontato che tu verifichi il CRC del messaggio, quindi la validità della trasmissione, vero?

E do per scontato che ci sia un solo master in rete, e che i tempi del round robin siano compatibili con la latenza del dispositivo, vero?

Inserita:
  Il 08/11/2023 alle 15:25 , NoNickName ha scritto:

Do per scontato che tu verifichi il CRC del messaggio, quindi la validità della trasmissione, vero?

E do per scontato che ci sia un solo master in rete, e che i tempi del round robin siano compatibili con la latenza del dispositivo, vero?

Expand  

- In realtà non verifico il CRC,

- per il Master si 1 solo per ogni rete modbus

- baud rate si, rispettano la velocità dei vari strumenti

Inserita:
  Il 08/11/2023 alle 15:29 , Giuseppe-IT9 ha scritto:

- In realtà non verifico il CRC,

- per il Master si 1 solo per ogni rete modbus

- baud rate si, rispettano la velocità dei vari strumenti

Expand  

 

Sarebbe meglio verificare il CRC, per scongiurare proprio i problemi di un singolo bit che flippa e di cambia un intero ulong.

Inserita:

image.png.a045956c69e7a0b5e9922d25bfb5d0a8.png

 

  Quote

 ...Format Signed Long

Expand  

Tu dici che utilizzi il formato Signed ma la tabella indica Unsigned

Inserita:
  Il 08/11/2023 alle 21:48 , pcontini ha scritto:

image.png.a045956c69e7a0b5e9922d25bfb5d0a8.png

 

Tu dici che utilizzi il formato Signed ma la tabella indica Unsigned

Expand  

 

Lui parlava inizialmente del registro 102E, ma nella realtà poi interroga il 103E. 

I due registri, come giustamente fai notare, hanno un formato diverso, ulong per il 103E, slong per il 102E

 

Inserita:

Buon pomeriggio, monitorando le 2 word del registro 103E in modo singolo, ecco quello che si evince, in pratica, oggi, alle 10:51:40 il valore è andato a 0 per incominciare a contare.

Cosa strana che ho notato è che nello stesso istante, alle 10:51:40 la word 0 ha effettuato un'incremento. allego grafici

Devo ancora fare il controllo CRC.

 

Grazie

 

image.png.991192eae55b96d35ec3e1882826b162.pngimage.png.9c76cf4531681fe441f7f23d7c8b7a4d.png

Inserita:

Tra le cosa da controllare :

- può essere che tu stia leggendo il registro sbagliato a causa dell'offset. Spesso si indica il n° del registro ma con il modbus occorre fare +1 oppure -1 (dipende). Nel tuo caso stai leggendo il registro 103E (quindi 4158 e 4159), potrebbe esser che tu sia sfasato di 1. Per avere la certezza che non esista l'offset ti basta leggere un valore che registro singolo (1 word)

- potrebbe essere che tu stia leggendo i registri corretti ma che tu li stia interpretando al contrario (word alta/bassa) : verifica come i meter impostano l'ordine delle word nella configurazione (oppure nelle specifiche del protocollo). Spesso è possibile impostare negli strumenti l'ordine delle word ...

 

Altro non saprei cosa suggerirti : ma da come descrivi il problema mi sento di escludere che si tratti di errore di comunicazione.

Inserita: (modificato)
  Il 09/11/2023 alle 14:44 , Giuseppe-IT9 ha scritto:

Buon pomeriggio, monitorando le 2 word del registro 103E in modo singolo, ecco quello che si evince, in pratica, oggi, alle 10:51:40 il valore è andato a 0 per incominciare a contare.

Cosa strana che ho notato è che nello stesso istante, alle 10:51:40 la word 0 ha effettuato un'incremento. allego grafici

Devo ancora fare il controllo CRC.

 

Expand  

 

Scusa ma ci daresti per favore i valori grezzi esadecimali prima e dopo l'evento?

Cosa vuol dire 2214.5 e 122.90?

Questi sono numeri interi a 32bit non float.

Modificato: da NoNickName
Inserita:

Buon pomeriggio, NoNickName in allegato trovi il trend prima e dopo l'evento con i valori grezzi esadecimali.

 

image.thumb.png.dcf50fe38a8afe3c84453406391a878a.png

Inserita:
  Il 10/11/2023 alle 13:22 , Giuseppe-IT9 ha scritto:

Buon pomeriggio, NoNickName in allegato trovi il trend prima e dopo l'evento con i valori grezzi esadecimali.

 

image.thumb.png.dcf50fe38a8afe3c84453406391a878a.png

Expand  

 

E gli altri sedici bit? Questi sono 16 della prima word, che è la word bassa sicuramente perchè fa rollover tra FFFF e 0000

Inserita: (modificato)

Ipotizzo che la word alta passi da 04CD a 04CE (1229 a 1230 decimale)

La word bassa bassa da FFF5 a 0004

 

Il che significa che l'ulong passa da 04CDFFF5 a 04CE0004

In decimale ciò significa che il contatore passa da 80565589 a 80609284 x100 Wattora, quindi 805655,89 e 806092,84 Wattora ovvero 805,65 e 806,09 kWh

Non c'è nessun salto... solo il rollover dei 16 bit bassi

Modificato: da NoNickName
Inserita: (modificato)

E poi da 04CE0004 passa a 04CE1D82, cioè passa da 80609284 a 80616834, cioè da 806092,84 a 806168,34 Wattora e cioè da 806,09 a 806,16 kWh

Modificato: da NoNickName
Inserita:

Ciao NoNickName, sei stato molto esaustivo e preciso, il funzionamento delle word è chiaro, tuttavia non capisco come mai, al cambio del rollover dei 16 bit bassi, leggo questi valori:

word alta: prima del rollove 04CD           dopo il rollover 0007

word bassa: prima del rollover FFF5       dopo il rollover B24B

poi dopo un po di tempo, in questo strumento dopo quasi un'ora, la lettura delle word diventa:

word alta: 04CE

word bassa: 0004

e si rimette in linea.

 

Grazie per il tempo che mi stai dedicando.

Inserita:
  Il 11/11/2023 alle 10:02 , Yiogo ha scritto:

aggiungi a questo che in relazione al "cosa usi come master" potresti avere problematiche di endian E/O di word order

Expand  

 

  Il 09/11/2023 alle 16:52 , max.riservo ha scritto:

- potrebbe essere che tu stia leggendo i registri corretti ma che tu li stia interpretando al contrario (word alta/bassa) : verifica come i meter impostano l'ordine delle word nella configurazione (oppure nelle specifiche del protocollo). Spesso è possibile impostare negli strumenti l'ordine delle word ...

Expand  

Due indicazioni sono meglio che una ... magari l'attenzione si rivolge anche a questo aspetto

Inserita:
  Il 11/11/2023 alle 10:02 , Yiogo ha scritto:

mi meraviglio della confusione che regna

 

 

Expand  

 

E tu nei hai aggiunta parecchio, senza aiutare

Inserita:
  Il 10/11/2023 alle 17:02 , Giuseppe-IT9 ha scritto:

Ciao NoNickName, sei stato molto esaustivo e preciso, il funzionamento delle word è chiaro, tuttavia non capisco come mai, al cambio del rollover dei 16 bit bassi, leggo questi valori:

word alta: prima del rollove 04CD           dopo il rollover 0007

word bassa: prima del rollover FFF5       dopo il rollover B24B

 

Expand  

 

Non è vero, si vede benissimo che il valore che hai plottato sui grafici passa da 1229 e 1230, e cioè 04CD a 04CE. Non passa mai da 0007.

E l'altro valore passa da FFF5 a 0004.

Controlla il tuo codice, per me stai mischiando le word

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...