Go Down

Topic: trovare isctruzioni per 485 inverter aurora PVI12.5 (Read 4248 times) previous topic - next topic

tapirinho

#15
Jan 05, 2013, 11:26 pm Last Edit: Sep 25, 2014, 11:43 am by tapirinho Reason: 1
Quote
In reltà manca un integrato che faccia da convertitore, ma lo trovi facilmente e a poco prezzo. Comprese le spese di spedizione ho speso circa 3€...

ad esempio:
http://www.ebay.it/itm/IC-MAX485-CPA-interfaccia-MAX-485-RS-485-RS422-seriale-DIP8-/261149929124?pt=Componenti_elettronici_attivi&hash=item3ccdbfaea4

e va collegato così:
http://www.google.it/imgres?imgurl=http://dereenigne.org/wp-content/uploads/modbus.png&imgrefurl=http://dereenigne.org/tag/max485&h=1020&w=709&sz=107&tbnid=1vw70snqz-HqJM:&tbnh=90&tbnw=63&zoom=1&usg=__rDlciuXalz96qcTZQW3sPPKWOVw=&docid=oN62DW03Eq9oSM&hl=it&sa=X&ei=fqjoUMjiAemr4ASxlYC4BA&ved=0CDcQ9QEwAA&dur=4797

a livello hardware è tutto quanto serve.


mflash

grazie a tutti ora inizia ad essere tutto più chiaro.



Essendo un "arduino due" però andra collegato con una tensione pari a 3.3volt se non sbaglio.

Altra domanda agli esperti:
l'arduino due avendo 2 connettori usb già in 232 per la comunicazione seriale, non si potrebbe uscire dall'inverter con un adattatore 485/232 e collegarlo direttamente sulla porta usb "native"?





In reltà manca un integrato che faccia da convertitore, ma lo trovi facilmente e a poco prezzo. Comprese le spese di spedizione ho speso circa 3€...

ad esempio:
http://www.ebay.it/itm/IC-MAX485-CPA-interfaccia-MAX-485-RS-485-RS422-seriale-DIP8-/261149929124?pt=Componenti_elettronici_attivi&hash=item3ccdbfaea4

e va collegato così:
http://www.google.it/imgres?imgurl=http://dereenigne.org/wp-content/uploads/modbus.png&imgrefurl=http://dereenigne.org/tag/max485&h=1020&w=709&sz=107&tbnid=1vw70snqz-HqJM:&tbnh=90&tbnw=63&zoom=1&usg=__rDlciuXalz96qcTZQW3sPPKWOVw=&docid=oN62DW03Eq9oSM&hl=it&sa=X&ei=fqjoUMjiAemr4ASxlYC4BA&ved=0CDcQ9QEwAA&dur=4797

a livello hardware è tutto quanto serve.


abenvenuti

#18
Apr 21, 2013, 05:01 pm Last Edit: Apr 22, 2013, 09:25 am by leo72 Reason: 1
Salve, dove posso trovare la lista dei comandi ammessi da Aurora e le relative risposte?
Grazie
saluti


tony_m78

Ciao a tutti, so che sono sicuramente off-topic, però questo problema potrebbe essere condiviso anche da altri. Sto scrivendo un datalogger su un plc Codesys; ho già comunicato con l'inverter (un PVI3) spedendo 10 bytes di comando trovati qualche post più in su (02 4E 05 00 00 00 00 00 BC DD) e ottenendo i corretti 8 bytes di risposta, però i 2 dati di CRC che avevo inviato (BC e DD) erano però già "pronti" dall'esempio trovato. :smiley-roll:
Come si esegue il calcolo del CRC? ho provato a seguire l'indicazione presente nell'ultima pagina della documentazione che descrive il protocollo, tuttavia il CRC che ottengo non corrisponde a quello (corretto) dell'esempio. Posso avere qualche ulteriore informazione? avete già disponibile qualche esempio di programma in Codesys (o comunque IEC61131 o qualche libreria)?
Vi sarei molto grato per l'aiuto, in quanto sto cercando di fare dell'integrazione con inverter Aurora con PLC un progetto di business, pertanto qualunque informazione per me sarebbe preziosa!
Grazie, saluti

tapirinho

Ti potrebbe essere sicuramente d'aiuto l'utilizzo di librerie, come ad esempio SimpleModbusMaster. Se invece vuoi lavorare con un codice scritto completamente da te, puoi sempre andare a leggere come la libreria calcoli il CRC...
Spero di esser stato d'aiuto
Ciao!

abenvenuti




per un'interfacciamento diretto inverter - arduino tramite 485 interessa molto anche me ma non ne so niente, ho solo trovato questo http://www.robot-italy.com/it/1000pads-mini-rs485-board.html  oppure questa https://www.sparkfun.com/products/10124 poi però bisogna capire cosa chiedere all' inverter e sopratutto come  :) :smiley-yell:

ciao


Ciao, la comunicazione che avviene nel bus rs485 con quell'inverter (il tuo è identico al mio) è abbastanza semplice.
Baudrate 19200 8 bit di dati , nessuna parità e 1 bit di stop.

Passando oltre le semplici impostazioni ti posso dire che il formato dei messaggi di richiesta verso l'inverter è il seguente:

Lunghezza messaggio 10 byte (fisso)

1 byte = id inverter (di default 2 sennò quello che gli avete impostato)
2/4 byte = comando da inviare, ce ne sono molti, alcuni di un solo byte, altri di 2 altri ancora di 3
5/8 byte =  contengono i dati da passare all'inverter in alcuni comandi, ad esempio, quando si invia l'orario da pc per sincronizzarlo
9 byte = crc16 hi byte
10 byte= crc16 lo byte

In pratica:

Esempio : (banale richiesta di energia totale prodotta verso l'inverter con id 2)

02 4E 05 00 00 00 00 00 BC DD

alla quale l'inverter risponderà così

00 06 00 00 36 34 5A 62

dove

00 - bho (inizialmente pensavo si trattasse dell'id del master , ma in realtà si vede che quando si fanno alcuni tipi di richieste [es. S/N dell'inverter] questo dato è il primo byte della risposta).In realtà la mia supposizione ha sempre senso quando si parla di dati interi(32bit) e anche float(sempre 32bit)
06 - ribho (inizialmente pensavo si trattasse della lunghezza dei dati ma in realtà si vede che quando si fanno alcuni tipi di richieste [es. S/N dell'inverter] questo dato è il secondo byte della risposta).In realtà la mia supposizione ha sempre senso quando si parla di dati interi(32bit) e anche float(sempre 32bit)
00 00 36 34 - sono i  byte che compongono il valore di 13876 (nel mio caso questo è il valore totale dell'energia prodotta)
C2 59 - crc 16 dei dati

Buon divertimento.



Salve, anche io ho lo stesso problema e volevo vedere di leggere in proprio i dati dei miei 3 inverter.
Quale 'oggetto' hai usato per interfacciare la scheda al bus 485?

Saluti

tapirinho

soggetto? cosa intendi per scheda? immagino Arduino.

In reltà manca un integrato che faccia da convertitore, ma lo trovi facilmente e a poco prezzo. Comprese le spese di spedizione ho speso circa 3€...

ad esempio:
http://www.ebay.it/itm/IC-MAX485-CPA-interfaccia-MAX-485-RS-485-RS422-seriale-DIP8-/261149929124?pt=Componenti_elettronici_attivi&hash=item3ccdbfaea4

e va collegato così:
http://www.google.it/imgres?imgurl=http://dereenigne.org/wp-content/uploads/modbus.png&imgrefurl=http://dereenigne.org/tag/max485&h=1020&w=709&sz=107&tbnid=1vw70snqz-HqJM:&tbnh=90&tbnw=63&zoom=1&usg=__rDlciuXalz96qcTZQW3sPPKWOVw=&docid=oN62DW03Eq9oSM&hl=it&sa=X&ei=fqjoUMjiAemr4ASxlYC4BA&ved=0CDcQ9QEwAA&dur=4797

a livello hardware è tutto quanto serve.


abenvenuti

Si, scusa la stringatezza...
Per connettere il 485 ad Arduino che convertitore hai usato? E' una shield??

abenvenuti

Quindi, ricapitolando:
- prendo il chippettino MAX485;
- lo collego ad Arduino secondo lo schema che hai postato;
- ci collego la linea bus RS 485 collegata all'inverter;
- inviando alla seriale, tramite opportuno sketch, le stringhe di interrogazione, dovrei ottenere le risposte dall'inverter;

Funziona così?
Saluti

Go Up