Wiren BoardDocumentazione
Documentazione · Italiano

Modbus RTU, indirizzamento e impostazioni di comunicazione

revisione 82315

Guida tradotta e selezionata alla messa in servizio dei due moduli. Le tabelle complete dei registri specifici dei dispositivi sono collegate di seguito.

Protocollo e impostazioni predefinite

Modbus RTU utilizza RS-485. Le operazioni standard comprendono la lettura di coil (0x01), ingressi discreti (0x02), registri holding (0x03) e registri di ingresso (0x04), e la scrittura di una singola coil (0x05), un singolo registro holding (0x06), più coil (0x0F) o più registri holding (0x10).

Le impostazioni seriali di fabbrica sono 9600 bit/s, 8 bit di dati, nessuna parità e 2 bit di stop. Il firmware attuale tollera una mancata corrispondenza dei bit di stop, ma è comunque opportuno utilizzare impostazioni identiche. Utilizzare un indirizzo univoco del dispositivo da 1 a 247; l’indirizzo di fabbrica è stampato sull’involucro.

Rilevamento e modifica degli indirizzi

Utilizzare la scansione del bus del controllore per rilevare i dispositivi e risolvere i conflitti di indirizzo. Per l’accesso diretto da riga di comando, arrestare gli altri software che utilizzano la porta seriale e riavviarli al termine.

systemctl stop wb-mqtt-serial
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyRS485-1 -a1 -t0x06 -r128 12
systemctl start wb-mqtt-serial

Questo esempio modifica l’indirizzo da 1 a 12 scrivendo nel registro holding 128. Sostituire porta, indirizzo e parametri seriali con quelli del dispositivo effettivo.

Se l’indirizzo è sconosciuto, una scrittura broadcast usando l’indirizzo 0 può assegnare un nuovo indirizzo, ma collegare solo il dispositivo interessato: ogni dispositivo che riceve il broadcast può applicare la modifica. È previsto un timeout perché le scritture broadcast non ricevono risposta. Preferire il rilevamento quando possibile.

Velocità in baud e parità

Il registro holding 110 memorizza la velocità in baud divisa per 100. Per 115200 bit/s, scrivere 1152 usando le vecchie impostazioni di comunicazione, quindi impostare il master sulla nuova velocità. Il registro 111 imposta la parità (0 nessuna, 1 dispari, 2 pari); il registro 112 seleziona 1 o 2 bit di stop.

modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyRS485-1 -a12 -t0x06 -r110 1152

Le velocità elevate richiedono un cablaggio corretto del bus. Tutti i dispositivi su una porta condivisa devono utilizzare impostazioni compatibili.

Fast Modbus

Fast Modbus aggiunge il rilevamento rapido dei dispositivi e l’interrogazione degli eventi. Il master abilita esplicitamente l’estensione; i master Modbus convenzionali rimangono compatibili. Non tutti i registri generano eventi: quelli che li supportano sono contrassegnati da ⚡ nelle mappe dei registri. La trasmissione degli eventi riduce la latenza quando molti dispositivi condividono il bus.

Mappe dei registri