Page 1 of 4

2560 e Modbus slave

PostPosted: 07 Apr 2014, 11:56
by suibaf
Ciao,
con i post dei giorni passati avrete capito che ho collegato un reader rfid con il 2560. Qualche informazione ora riesco a scambiarla. Ma la funzione finale che Arduino2560 deve svolgere è da "ponte". Da un lato di arduino un piccolo plc che parla modbus, ma non riesce a parlare con il reader, e dall'altro lato (su un'altra seriale) appunto il reader.
Quindi le informazioni vengono prese e messe a disposizione del plc(master) con modbus. Questo perchè il plc usato non riesce a gestire il protocollo del reader.
Stavo studiando la documentazione modbus gestista da bascom a questo indirizzo:
http://avrhelp.mcselec.com/index.html?m ... server.htm

Leggevo "The add-on uses a Mega162 since it has 2 UARTS". Non ho ancora studiato il codice bascom, mi chiedevo se posso anche usarlo sul 2560 (che di seriali ne ha 4 fortunatamente) e se voi avete fatto qualche esperienza con modbus.
Grazie

Re: 2560 e Modbus slave

PostPosted: 07 Apr 2014, 13:36
by pier
Mah, siamo sempre in territori a me sconosciuti ma non vedo ostacoli a quanto cerchi.
Il fatto che la libreria Modbus utilizzi 2 uart mi pare sia solo per realizzare un master+slave mentre a te basta credo solo la modalità slave senza contare che probabilmente la uart sulla quale ora ritrasmetti al PC credo ti serva solo per il debug.
Non escludo quindi che al limite 2 uart ti siano sufficienti per il tutto figurarsi 4...

Re: 2560 e Modbus slave

PostPosted: 07 Apr 2014, 13:53
by Fagos
credo che pier abbia ragione,
per il modbus-rtu slave ti basterebbe una sola uart.
quindi se una la usi per comunicare con l'rfid e una la usi per comunicare con il plc, 2 uart sono quelle che ti servono.
visto che atm2560 ne ha qualcuna in più, una la potresti utilizzare per effettuare debug con il pc.

Re: 2560 e Modbus slave

PostPosted: 07 Apr 2014, 14:28
by suibaf
la Uart0 l'arduino la utilizza per comunicare con il pc e quindi la lascio perdere. Poi sfrutto altre 2 Uart, una per il reader a l'altra per comunicare con il master modbus.

Re: 2560 e Modbus slave

PostPosted: 07 Apr 2014, 15:35
by Fagos
@suibaf,
io non ho mai lavorato con il modbus su micro-avr. per implementarlo come slave su arduino serve una libreria particolare o stai usando i comandi standard del bascom tipo print ecc ecc?

Re: 2560 e Modbus slave

PostPosted: 07 Apr 2014, 17:23
by suibaf
Puoi anche implementare con i comandi standard tipo print ecc, ma in bascom c'è una libreria che può funzionare sia come master che come slave. Io penso, adesso che ho guardato un minimo il codice, di implementare sul micro il master. Mi sembra piu' accessibile alle mie conoscenze attuali.

Re: 2560 e Modbus slave

PostPosted: 07 Apr 2014, 18:03
by pier
Mi sembra superfluo sottolineare che nella decisione master/slave dovrai tenere conto di quel che vuoi fare e delle esigenze del PLC...

Re: 2560 e Modbus slave

PostPosted: 07 Apr 2014, 19:26
by suibaf
Per questioni di budget occorre installare un plc economico. Un plc con prestazioni piu' elevate non avrebbe problemi a gestire il protocollo di comunicazione con il reader rfid, tant'è che l'ho già implementato in passato. Il plc riceve alcune informazioni dall'rfid e abilita o meno qualche pompa! Niente di complesso. Per cui il plc o fa da master o da slave, in questo caso, non è importante.

Re: 2560 e Modbus slave

PostPosted: 07 Apr 2014, 21:45
by Fagos
suibaf,
quale è la libreria per implementare modbus, per caso si tratta di modbus.lbx? o parli di un add-on di bascom in particolare, che bisogna acquistare a parte?

Re: 2560 e Modbus slave

PostPosted: 07 Apr 2014, 21:54
by suibaf
Si è la modbus.lbx

Re: 2560 e Modbus slave

PostPosted: 08 Apr 2014, 18:53
by einstein
scusate, l'argomento è anche di mio interesse.
la libreria "modbus.lib" o "lbx" contiene solamente la routine per calcolare il CRC modbus
Come si fa a spedire o a ricevere dati in modbus-rtu usando tale libreria?
non mi è chiaro, qualcuno potrebbe spiegarmi?

Re: 2560 e Modbus slave

PostPosted: 08 Apr 2014, 21:14
by suibaf
Ciao,
non vorrei sbagliarmi, ma negli esempi, in serial ci sono due esempi uno per il master e l'altro per lo slave. A breve, la settimana prossima userò quella master, ma a prima vista mi sembra che siano implementate le funzioni 3-6-16 se non ricordo male.

Re: 2560 e Modbus slave

PostPosted: 10 Apr 2014, 23:43
by js-bascom
Io ho usato freemodbus pero', sfortunatamente, e' scritto in C.

Re: 2560 e Modbus slave

PostPosted: 11 Apr 2014, 07:32
by suibaf
Ieri sera ho testato con il 2560 il modbus master ed ha funzionato quasi subito. Stranamente funziona con qualsiasi impostazione del bit di parità, mentre sullo slave l'impostazione di tale bit l'ho lasciata sempre su None.

Re: 2560 e Modbus slave

PostPosted: 11 Apr 2014, 21:24
by einstein
visto che la cosa sta interessando pure me :)
conoscete qualche software free per windows con il quale potrei trasmettere dati in modbus da mandare ad un microcontrollore programmato per ricevere in modbus-rtu e trasmettere ad esempio lo stato dei pin d'ingresso?
correggetemi se sbaglio: in questo caso il micro fungerebbe da master o da slave?

Re: 2560 e Modbus slave

PostPosted: 11 Apr 2014, 23:22
by js-bascom
Se vai a http://avrtools.no/Main.asp?page=2 puoi scaricare AVRTOOLS il quale contiene un programma PC per Modbus master, l'ho provato con uno dei miei boards e funziona. Questo programma dovrebbe essere stato rilasciato un paio di anni fa' ma e come una carota di fronte all'asino! Cambia sembre la data del rilascio. Dovrai forse scrivere al postmaster per darti l'user name e password, io son stato invitato a provarlo molti mesi fa a mi ha dato l'user name e password.

Io ho comprato Modbusview ma ci sono altri programmi gratuiti, uno molto buono ma un po caro ti da 30 giorni di uso se mi ricordo bene, ma non mi ricordo il nome.

Il micro funziona da slave.

Re: 2560 e Modbus slave

PostPosted: 12 Apr 2014, 08:27
by einstein
@js-bascom,
il programma sembra molto interessante ma
non riesco a trovare il modo per scaricare il software.
hai un link diretto da dove poter fare il download?

grazie

Re: 2560 e Modbus slave

PostPosted: 12 Apr 2014, 22:20
by js-bascom
Sfortunatamente non ho un link diretto (devi andare su login). A me mi fu offerto l'user name a password tramite AVRfreaks.

Il zip file e solamente 18MB, almeno per la versione che ho. Quindi se posso in qualche modo mandartela fammelo sapere.

Puoi provare a mandare un'email a postmaster@avrtools.no ....o potrei darti il mio user name a password tramite PM, pero non so se funzionerebbe. ;)

MODIFICA: No, il download non funziona piu'. Ho appena provato a scaricare quella che sembra un version nuova pero' il file non e accessibile anche con il login.

Re: 2560 e Modbus slave

PostPosted: 13 Apr 2014, 11:16
by suibaf
ciao @einstein

prova a vedere se questo modbus master simulator ti piace:

http://en.radzio.dxp.pl/modbus-master-simulator/

Re: 2560 e Modbus slave

PostPosted: 17 Apr 2014, 10:45
by suibaf
Stò continuando a testare con un 2560 la comunicazione in modbus master e la libreria interna a bascom. La trovo molto instabile.....a meno che non stia sbagliando qualcosa io. A volte non ne vuole sapere di funzionare. In questi casi guardo con un terminal ed effettivamente mi sembra che arrivino messaggi random e ovviamente lo slave non risponde. Poi magari senza modificare nulla inizia a funzionare inspiegabilmente. Avete esperienza in merito?
Grazie