Protocollo Modbus: un protocollo di comunicazione seriale pubblicato da Modicon Corporation (ora Schneider Electric) nel 1979 per la comunicazione utilizzando controllori logici programmabili (PLC). Modbus è diventato lo standard industriale (de facto) per i protocolli di comunicazione in campo industriale ed è ora un metodo di connessione comunemente utilizzato tra apparecchiature elettroniche industriali.
Spiegazione concreta della comunicazione: simile al processo di comunicazione umana, richiederuolo comunicativo(master-slave, client-server...),mezzo di comunicazione(Seriale, Ethernet, Wireless...),lettera di accordo(modbus, S7, MC...) tre elementi.
Tre elementi del protocollo di rete:grammatica(la struttura o il formato dei dati e delle informazioni di controllo),Semantica(che tipo di informazioni di controllo vengono inviate), sincronizzazione (descrizione dettagliata della sequenza di implementazione dell'evento, velocità di abbinamento, ecc.).
Introduzione al protocollo ModbusRTU
Strutture grammaticali:
Codice indirizzo: utilizzato per identificare il dispositivo slave, compreso tra 0 e 247, dove 0 è l'indirizzo broadcast e tutti i dispositivi slave riceveranno i dati da questo indirizzo.
Codice funzione: utilizzato per indicare il tipo di operazione da eseguire, come la lettura del valore di un registro, la scrittura di un singolo registro, ecc.
Dati: include l'indirizzo del registro, il valore dei dati e altre informazioni. A seconda del codice funzione, il contenuto e la lunghezza dei dati saranno diversi.
Codice di controllo CRC: utilizzato per rilevare se si verificano errori durante la trasmissione dei dati. Aggiungere due byte di codice di controllo CRC alla fine del frame di dati. Dopo che il ricevitore ha ricevuto i dati, ricalcola il codice di controllo CRC e lo confronta con il codice di controllo CRC ricevuto. Se è diverso, significa che i dati sono presenti si è verificato un errore.
codice funzione:
Codice funzione 01: Lettura stato bobina (Read Coils), utilizzato per leggere continuamente lo stato da 1 a 2000 bobine dal dispositivo remoto.
Codice funzione 02: Lettura dello stato degli ingressi (Leggi ingressi) per ottenere lo stato attuale ON/OFF di un gruppo di ingressi di commutazione.
Codice funzione 03: Lettura dei registri di mantenimento (Read Holding Registers) per ottenere il valore binario corrente in uno o più registri di mantenimento.
Codice funzione 04: Lettura dei registri di ingresso (Read Input Registers) per ottenere il valore binario corrente in uno o più registri di ingresso.
Codice funzione 05: Force Single Coil, forza lo stato on-off di una bobina logica.
Codice funzione 06: Preimposta registro singolo, carica un valore binario specifico in un registro di mantenimento.
Codice funzione 15: Forza bobine multiple, forza l'accensione e lo spegnimento di una serie di bobine logiche continue.
Codice funzione 16: Preset Multiple Registers (Preset Multiple Registers), carica valori binari specifici in una serie di registri di mantenimento continui.
esempio: Leggere (03) il grado di apertura della tenda nello slave (01) (leggere dal secondo: 00 02 leggere un bit 00 01 controllo CRC 25 CA):