Salve.. Una scheda A Modbus Master deve comunicare via RS485 con una scheda B(co= m mio codice) Modbus slave.
Fino all'altro ieri non c'era problema ,tutti i comandi di scrittura e r= egistri singoli o multipli(anche 100 alla volta)venivano ricevuti corret= tamente da B,che li interpretava bene,anche se poi che li interpretasse = bene o meno non influiva sulla risposta data ad A che era comunque corre= tta, cioe' ripetizione indietro di indirizzo slave, comando ecc ecc..per fini= re con checksum. La persona di B ne modifica il codice,io faccio lo stesso su A,per testa= re nuove funzioni.. Avviene che un la risposta di B ad un comando 0x10(Scrivi registri multi= pli)non piaccia' piu' ad A. I dati trasmessi in risposta sono quelli desiderati,verificato sia nel b= uffer di Tx dello slave,che con analizzatore di stati logici,il piccolo = Saelae,che decodificando il modbus mi fa vedere comodamente il pacchetto= di risposta,che =E8 come mi aspetto. Questo segue dopo soli 2 ms il pacchetto di Tx da master ,quindi nessun = problema di Timeout,impostato molto piu' alto. Tra una scheda e l'altra sul banco di test ci sono meno di 15 cm di fili=
Il problema ,che fa pensare che il colpevole sia B ,e' che sostituendolo= con simulatore Modbus da PC tutto funziona. Credo quindi che il guaio sia a livello elettrico..timing..eppure sembra= no ok Qualche idea? Grazie