Vai al contenuto
PLC Forum


Inverter Mitsubishi Fr-E520S - Comunicazione Da Pc Via Rs485


lurix66

Messaggi consigliati

Buongiorno, sto cercando di pilotare dal pc l'inverter in questione, ho fatto diversi tentativi e l'impressione è "ci siamo quasi", ma ora sono a un punto morto, non ottengo risutati. Spero che possiate darmi qualche dritta per sbloccarmi.

NB. Ho letto il thread "Impostazioni Inverter FR-E540" e ringrazio per le diverse informazioni che ne ho tratto (in primis il link al manuale in italiano, ma anche il cenno al software di comunicazione gratuito, a proposito dove si scarica?).

Dunque. Il mio scopo è pilotare la frequenza dell'inverter direttamente da PC.

Ho iniziato dallo studiarmi il manuale, schema hw e modalità sw. Sembra chiaro che si può fare ma il contenuto è abbastanza involuto. Mi trattengo dall'esporvi tutti i miei tentativi di decifrazione, ma dò un minimo di dettagli (i riferimenti alle pagine sono per il manualetto cartaceo IB(NA)-060002-G (0311):

  • il collegamento è seriale RS485 a 4 poli, si fa attraverso il connettore RJ45 femmina della Parameter Unit (PU) o del pannellino PA-02-02 (PA), sono date le indicazioni dettagliate compreso il pin-out del cablaggio.
  • questa modalità, complessivamente si chiama "Computer Link Operation",
  • al suo interno (paragrafi 4.2.33, 4.2.36) si distinguono (in base ai valori del Pr.119) la "PU mode communication" o "Communication operation", e la "NET mode communication", che si differenziano per le possibilità di switchover tra i modi operativi (in connessione con il Pr.79) e le potenzialità di azione da parte di un "Computer program via PU" (tabella a pag.147) nei vari modi operativi. Non mi è chiaro come si debba intendere l'incrocio tra la riga Pr.119=0,1,10,11 e la colonna "Computer Link Operation", ovvero se quest'ultimo è un modo operativo, una modalità di comunicazione o entrambe le cose. In ogni caso i comandi di "Monitoring" e "Parameter Read" sono sempre abilitate, quindi comincio da lì.
  • In "computer link mode", è possibile comandare l'inverter con segnali tipo "External Mode" in funzione dei parametri Pr.338, Pr.339 (pag.134)
  • il Pr.340 determina il modo operativo al riavvio dopo spegnimento/reset( tabelle a pag 131-133); NB. qui si usa un nome diverso "NETWORK operation", non è chiaro se è sinonimo di "NET mode communication". Il Pr. 340 (insieme al 338 e 339) è "reso valido" (abiitato?) solo se Pr.119 è 100,101,110,111, ciò che abbiamo identificato con "NET Communication mode"; infatti sul pannellino occorre impostare il Pr.119 per accedere ai parametri Pr.338, Pr.339, Pr.340.
  • Ci sono alcuni errori e incongrenze (es. Pr.77, la nota 2 non contraddice il significato del valore 2?)

Ma fin qui è teoria. Ho deciso di provare, che di solito con un po' di tentativi si chiarisce tutto.

IL CAVO:

Ho assemblato un cavo UTP maschio/femmina per separare l'unità di comando PA-02-02 dall'inverter: FUNZIONA REGOLARMENTE

In parallelo sullo stesso cavo ho collegato un convertitore USB-RS485 a 4 fili, (senza collegare a quest'ultimo i lead 2) e 8) di alimentazione "P5S"). L'idea era di connettere all'inverter il pannellino OPPURE il PC, cioè uno solo dei due, e poi eventualmente in seguito di tentare una modalità multi master.

Primo dubbio, il connettore denomina i 4 contatti T-/A T+/B R- R+ invece che SDA SDB RDA RDB. Leggendo un po' in giro dice che non si può essere sicuri, bisogna provare a scambiare sia i T con gli R sia i + con i - (e sono già 4 combinazioni da provare).

IMPOSTAZIONE PARAMETRI

Ho identificato comunque un set di parametri "promettente": Pr.77=2; Pr.79=6; Pr.119=101; Pr.340=10; lasciando gli altri ai valori di fabbrica. Li ho impostati e poi ho spento l'inverter. Prima di riaccenderlo ho disconnesso il pannellino e connesso il convertitore RS485-USB al PC.

LE PROVE

Sul PC, in un terminale, ho impostato la porta a 19200 8E2, e avviato la lettura del flusso dati in esadecimale

$ stty -F /dev/ttyUSB0 19200 parenb -parodd cs8 cstopb
$ xxd /dev/ttyUSB0

e, dopo aver riacceso l'inverter, su un altro terminale ho provato a inviare il comando <ENQ> 00 1 7B 0A <CR> che dovrebbe leggere l'operation mode (formato B, senza campo dati, instruction code esadecimale H7B, checksum 0A calcolato come da esempio pag.142):

$ echo -ne "\x050017B0A\r" > /dev/ttyUSB0

Nè prima nè dopo il comando è arrivato assolutamente nulla. Mi aspettavo almeno una risposta NAK, o qualcosa di inintelleggibile, ma qualcosa.

Ho ovviamente provato con altri comandi e inviando cose senza senso

$ echo -ne "garbage\r" > /dev/ttyUSB0

ma non ricevo nulla.

Se invece, lasciando il PC collegato, collego il pannellino PA-02-02, ecco che qualcosa arriva, anche se non è intelleggibile (mi aspettavo un formato del tipo di quello indicato nel manuale, che a parte qualche carattere di controllo (pag.140) è composto di soli caratteri alfanumerici)

$ xxd -l 200 -g 4 /dev/ttyUSB0
0000000: e6fef800 f8000000 00002800 0080fc38  ..........(....8
0000010: 8f000000 00000000 00000000 00000000  ................
0000020: 00000000 fd000000 28000080 fc388000  ........(....8..
0000030: 00000000 00000000 00f80000 f8000080  ................
0000040: fe8c0000 00000000 00000000 00000000  ................
0000050: 00f80000 00f800f8 00f80000 00000000  ................
0000060: 00000000 00280007 80f8f88f 3c870000  .....(......<...
0000070: f8fe0000 0000f800 00780000 00280000  .........x...(..
0000080: 80fc38fc 00000000 c0000000 00000000  ..8.............
0000090: 000000f8 00f80000 00000000 00002800  ..............(.
00000a0: 0080fec0 00000000 f8000000 000000f8  ................
00000b0: 0000fc00 f8000000 28000080 fe800000  ........(.......
00000c0: 00000000 00000000                    ........

ALTRE POSSIBILITA'

1) ipotizzare di aver sbagliato il cablaggio e ripetere il tentativo "comando da PC" dopo aver ricablato il cavo nelle altre 3 modalità, sono 4 combinazioni

2) devo variare i parametri dell'inverter? Se provo (Par.119=1/101), sono 2 combinazioni. Con Pr.79=0/2/6 e Pr340=1/10 sono. (tot 2x3x2=12)

3) ipotizzare che le impostazioni della seriale impostate (Pr.118, 119, 120) siano inaffidabili, e ripetere il tentativo "comando da PC" con diversi settaggi della seriale su PC (baud=4800/9600/19200) (parità=N/E/O) (Length=8/7) (stopbits=1/2), sono 36 combinazioni.

4) devo farmi guidare dalle caratteristiche del flusso dati che vedo quando l'inverter comunica con il pannello (PA-02-02), oppure non devo considerarlo? Fidarmi o non fidarmi della supposizione che "dovrei vedere principalmente caratteri esadecimali"? Infatti, se imposto sul PC ad esempio 9600 baud, il messaggio che arriva ha un aspetto diverso (anche se resta inintelleggibile)

In totale sono centinaia di combinazioni, di cui alcune alterabili solo manualmente (cablaggio e impostazioni inverter), quindi ci vuole un sacco di tempo!

Spero che abbiate qualche buon consiglio

Vi ringrazio.

Modificato: da lurix66
Link al commento
Condividi su altri siti


Si, sostanzialmente sì, sto scrivendo un driver sw, e mi piacerebbe non dovermi scrivere tutto il basso livello.

Loro possono fornire delle librerie già pronte? [intanto li ho chiamati ma la persona necessaria non era disponibile]

In ogni caso ho problemi anche di hw (il cablaggio o il convertitpre rs485-usb) o di corretta impostazione dell'inverter, visto che non mi arriva nessuna risposta sulla seriale...

In ogni caso mi farebbe piacere sapere se qualcuno qui sul forum ha già fatto questa esperienza...

Magari potete darmi la "dritta" giusta...

Grazie!

Link al commento
Condividi su altri siti

ciao

a quanto pare la serie e500 è vecchia e non monta il modbus come standard

la scheda modbus è opzionale. (comunque vado a memoria verifica per sicurezza)

Se la montava era molto più facile in quanto davi i comandi (frequenza,ecc) in modbus e bastava un hmi oppure con un pc.

Si, sostanzialmente sì, sto scrivendo un driver sw,

attenzione è un prodotto che già non vendono più tranne fondi di magazzino .

E' sostituibile con un modello recente , tutti i nuovi modelli montano modbus di serie.

Dunque. Il mio scopo è pilotare la frequenza dell'inverter direttamente da PC

anche io faccio la stessa cosa , però con modbus montato e uno scada o un hmi serve al massimo 1 ora.

poi attenzione , se cambi spesso la frequenza devi lavorare in ram e non scriverla sempre su eeprom (non puoi incidere all'infinito)

Link al commento
Condividi su altri siti

Ciao, ti ringrazio,

esigenze di progetto per ora consigliano di lavorare sull'inverter così com'è.

E poi francamente mi secca non riuscire a capire come fare, dopo aver visto che è tutto descritto sul manuale; sembra fattibile.

L'ideale sarebbe trovare un esempio (se si tratta di sw) o una persona che è riuscito a fare la stessa cosa.

La tua Nota sulla E2PROM: sì ho già visto che devo scrivere su RAM (devo settare il Pr. 342)

Comunque, come si lavorerebbe in modbus? (Se puoi mandami un riferimento)

Grazie

Modificato: da lurix66
Link al commento
Condividi su altri siti

ciao

per il modbus http://www.modbus.org/tech.php

dialogare con il pc è fattibile, ti devi scrivere il protocollo se la mits non lo ha già fatto (probabilemet lo hanno).

sul manuale è descritto bene come fare il protocollo di comunicazione con il pc.

dalla pagina 146 http://www.google.it/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&cad=rja&uact=8&ved=0CCcQFjAB&url=http%3A%2F%2Fwww.mitsubishielectric.com%2Fdl%2Ffa%2Fdocument%2Fmanual%2Finv%2Fib66813%2Fib66813h.pdf&ei=pGZdVd_mBcbyUrCcgIgG&usg=AFQjCNEb5ug0xxEugeXJuurE92Pu5U8KFw&bvm=bv.93756505,d.d24.

Link al commento
Condividi su altri siti

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...