Modbus

Il modbus e' un protocollo di comunicazione, si inviano stringhe esadecimali per comandare o ricevere una risposta.

Ad esempio, la riga o stringa da inviare per impostare il parametro 51 al valore 10 è:

 01 06 00 33 00 0A F9 C2

spiegazione:

  • 01 = indirizzo del dispositivo a cui inviare l'informazione
  • 06 = scrivi
  • 00 33 = Parametro 51
  • 00 0A = 10
  • F9 C2 = calcolo CRC per il Modbus

Esempio leggere il parametro 5:

 01 03 00 05 00 01 94 0B

spiegazione:

  • 01 = indirizzo del dispositivo a cui inviare la richiesta
  • 03 = leggi
  • 00 05 = Parametro 5
  • 00 01 = solo il parametro 5; ma qui potevo anche più parametri in fila , tipo con 0003 chiedevo 5, 6 e 7. Sconsiglio caldamente di chiedere piu' di un valore alla volta, non c'e' uno standard unificato su come rispondere piu' dati insieme e si rischia di fare errori.
  • 94 0B = calcolo CRC per il Modbus

risposta dal dispositivo, ad esempio un sensore di temperatura:

 01 03 02 00 64 B9 AF

spiegazione:

  • 01 = indirizzo del dispositivo che risponde
  • 03 = rispondo a una richiesta
  • 02 = la risposta è formata da 2 byte
  • 00 64 = risposta di 2 byte, 0064 in esadecimale che significa 100. Il sensore sente 100°C.
  • B9 30 = calcolo CRC per il Modbus