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.