Analisi flusso RS485 modbus con oscilloscopio

Recensioni e consigli su strumentazione da laboratorio da chi li ha poteuti provare
Rispondi
FlavioG
Messaggi: 5
Iscritto il: ven 8 ott 2021, 10:35

Analisi flusso RS485 modbus con oscilloscopio

Messaggio da FlavioG »

Buongiorno a tutti,
dovrei analizzare un flusso dati MODBUS via RS485 poiché un dispositvo slave dei tre che ho in linea fa i capricci (da solo funziona; in linea con gli altri risponde ad intermittenza andando spesso in timeout). Non avendo sonda differenziale sto usando le due classice sonde 1x-10x a corredo con l'oscilloscopio. Ho un rigol digitale doppio canale; ho collegato il canale 1 su "A" e il canale 2 su "B" della linea RS485 lasciando i coccodrilli di massa scollegati (in realtà ho poi provato anche a collegarli). Ho impostato la funzione matematica per effettuare la differenza tra i due canali (A-B). Riesco a vedere degli "scatti" sullo schermo quando leggo dai dispositivi ma non capisco come leggere correttamente l'informazione. Ho provato anche ad inserire la decodifica RS232 sull'oscilloscopio. Qualcuno ha esperienza in merito? Grazie!
Avatar utente
pgv
Messaggi: 484
Iscritto il: gio 17 set 2020, 13:16
Località: Ginevra

Re: Analisi flusso RS485 modbus con oscilloscopio

Messaggio da pgv »

Io mi sono regalato un analizzatore digitale che fa anche Modbus per evitare il mal di testa, ma se e' questo che vuoi sapere, un pacchetto Modbus RTU e' costituito da:
- un intervallo di silenzio lungo almeno 3.5 tempi di bit;
- l'indirizzo/identificatore di periferica a 8 bit, per primo il meno significativo;
- il codice funzione a 8 bit, sempre per primo il meno significativo;
- N byte di dati (8 bit, meno significativo per primo);
- una CRC a 16 bit;
- un intervallo di silenzio lungo almeno 3.5 tempi di bit.

Le principali funzioni supportate (non necessariamente tutte da tutti i dispositivi) sono:
- 01 leggi lo stato delle "coil" (bobine, sta pensando a dei rele' in uscita, se la bobina e' attivata i contati sono chiusi => 1);
- 02 leggi lo stato degli ingressi digitali (bit in ingresso individuali);
- 03 leggi gli "holding registers" ossia registri di uscita per la periferica, a 16 bit (per esempio un DAC);
- 04 leggi gli "input registers" (registri in ingresso a 16 bit, per esempio un ADC);
- 05 scrivi una singola "coil" (attiva/disattiva un rele' in uscita, accende/spegne un LED, etc);
- 06 scrivi un singolo registro (p. es. scrivi un DAC);
- 15 scrivi "coil" multiple (piu' di una coil con un messaggio solo);
- 16 scrivi registri multipli.

Esiste un comodo programmino per PC chiamato QModMaster che permette anche di decodificare i messaggi inviati e ricevuti sul bus RS485.
https://sourceforge.net/projects/qmodmaster/
FlavioG
Messaggi: 5
Iscritto il: ven 8 ott 2021, 10:35

Re: Analisi flusso RS485 modbus con oscilloscopio

Messaggio da FlavioG »

Grazie della risposta pgv. In realtà ho notato che, in mancanza di sonda differenziale e senza complicarsi troppo la vita, tramite l'oscilloscopio è possibile analizzare uno solo dei due rami RS485 mettendo il puntale su "A" e la massa su "B"; in questo modo si vedrà comunuqe il segnale digitale mentre sull'altro ramo transiterà il suo esatto opposto. Comodissimo qModmaster, lo sto usando. Grazie ancora!
Rispondi