Nuovo progetto Modbusmq: cercasi testers!

sto lavorando a Modbusmq, una rielaborazione della libreria libmodbus (libmodbus in Launchpad di Stephane Raimbault) per Arduino. per ora è funziona solo da Modbus TCP slave.

tester e debugger sarebbero apprezzati, per aiutarmi a completare il lavoro.

il codice si trova qui: ~marioquark-yahoo/modbusmq/modbusmq : files for revision 8

grazie!
marioquark

cos'è modbus e soprattutto Modicon?
Che tipo di componenti utilizzano questo protocollo?

Riassunto da Wikipedia, l'enciclopedia libera:

Il Modbus è un protocollo di comunicazione seriale creato da Modicon, diventato uno standard de facto nella comunicazione di tipo industriale, ed è ora il protocollo di connessione più diffuso fra i dispositivi elettronici industriali. E' pubblicato apertamente e royalty-free.
Esiste in 3 versioni: seriale (RTU), seriale in ASCII (sempre RTU) e TCP (quello del mio progetto).

Questo protocollo può essere utilizzato su qualsiasi componente abbia una porta Ethernet o seriale (il software per controllarlo occupa pochi KB), per leggere o scrivere generici bit, word o blocchi di byte.
Si vedano le specifiche sul sito di Modicon.

ciao marioquark
Allora serve un apparecchio che ha l' interfaccia e software per il Modbus per poter aiutarTi come alfa tester e debugger?
Oppure c'é un Sw per PC in modo da poter usare il PC per i test?
Ciao Uwe

vedrai che potrai usare processing e arduino...

basta un qualsiasi software che sappia fare richieste modbus (ovvero un master modbus o client modbus). ne esistono tanti in rete, ma quasi tutti per windows. io, su ubuntu, uso MODSCAN (per windows, leggerissimo e gratuito) emulato con wine.

poi si connette il pc ad arduino (con lo shield ethernet) e si lancia lo sketch...

...interessante, grazie!
Me lo sono scaricato, domani sera ci gioco...

grazie mille!
secondo me allo stato attuale ha dei problemi di RAM allocata perchè spesso si resetta mentre gira.
sto conducendo delle prove per monitorare lo stato della RAM e prevenire l'overflow.

sto aggiornando molto spesso i file. sarei grato a chi ha intenzione di testare, di riscaricare i file il più frequentemente possibile...
grazie ancora!

Ciao se posso esseti di aiuto prova mod_RSsim è praticamente uno slave simulator che puoi usare sia in rs232 che in tcp scambiando messaggi sia in ASCII che in RTU...io personalmente lo uso via rs232 creandomi delle porte seriali virtuali con VSPE :slight_smile:

grazie del consiglio, ma a me serve un modbus master (client) per interrogare Arduino che fa da slave. come master ora sto usando MODSCAN, che è equivalente... proverò anche mod_RSsim, ma ciò che veramente mi servirebbe è un master per Linux...

cmq ora ho risolto i reboot di Arduino: erano dovuti a un numero troppo elevato di Serial.print. ora c'è da risolvere il problema della tempistica degli invii. con Wireshark noto che:

PC -> Arduino: request numero 1
pausa...
PC -> Arduino: request numero 2
Arduino -> PC: response numero 1
pausa...
PC -> Arduino: request numero 3
Arduino -> PC: response numero 2
ecc ecc

ovvero si accavallano le request e scade sempre il timeout.
si può forzare in qualche modo l'invio via Ethernet oppure è già immediato?

in sostanza cerco un modo per diminuire il buffer di trasmissione nella libreria Ethernet oppure di settare un TCP_NODELAY in modo da non creare ritardi, ma non so come fare.

andrebbe bene anche un modo per forzare l'invio con un workaround...

consigli?

risolti tutti i problemi. ora funziona ;D . il progetto è quasi pronto...