7. REGISTRO MODBUS
PROTOCOLLO DELLE COMUNICAZIONI DELLA CENTRALINA CONTROL CAD-REG
Il protocollo utilizzato è MODBUS RTU con le seguenti caratteristiche: RS-485 (2 cavi). Numero massimo di elementi nel
bus: 32 (1 Master + 31 Slave).
• Velocità delle comunicazioni: 9600 baud.
• Formato dei dati:
− 8 bit.
− nessuna parità.
− 1 bit di arresto.
• Registri di 16 bit (2 bytes).
Formato delle variabili: High Word First (H/L).
• CRC secondo il polinomio x16 + x15 + x2 + 1.
Nota: è necessario realizzare tentativi di comunicazione. Timeout: 1 secondo.
Nota: minimo tempo di attesa prima di inviare un nuovo tentativo: 100 ms.
LETTURA DEI REGISTRI
Per la lettura dei registri è possibile realizzare i codici di comando 3 o 4 con la seguente struttura del messaggio:
N° slave (1 byte) - Codice (03 ó 04) (1 byte) - direzione del primo registro da leggere (00-XX) (2 bytes) - N° dei
registri da leggere (00-YY) (2 bytes) - CRC16 (2 bytes)
N° massimo di registri da leggere nello stesso messaggio = 32 (dal registro 0 al registro 31)
La risposta della centralina ha la seguente struttura del messaggio:
N° slave (1 byte) - Codice (03 ó 04) (1 byte) - N° di bytes dei dati (XX) (1 byte) - dati (AA-BB-CC-DD...) (2 bytes per
ogni registro) - CRC16 (2 bytes)
N° dei bytes dei dati = 2* N° dei registri da leggere
SCRITTURA DEI REGISTRI
Per la scrittura dei registri si usa il codice di comando 6 con la seguente struttura del messaggio:
N° slave (1 byte) - Codice (06) (1 byte) - Indirizzo del registro da scrivere (00-XX) (2 bytes) - Dato da scrivere nel
registro (AA-BB) (2 bytes) - CRC16 (2 bytes)
La risposta della centralina ha la seguente struttura del messaggio:
N° slave (1 byte) - Codice (06) (1 byte) - CRC16 (2 bytes)
ERRORI
Se si utilizza un codice di lettura o di scrittura differente da quello indicato, la risposta che si riceve è:
N° slave - Codice OR 80Hex - Codice di errore (1) - CRC16 (2 bytes)
Se si tenta di accedere ad un registro con un codice di lettura o di scrittura inesistente , la risposta che si riceve è:
N° slave - Codice OR 80Hex - Codice di errore (1) - CRC16 (2 bytes)
Se si tenta di modifi care un registro di sola lettura o si prova a scrivere un valore non valido in un registro, la risposta
che si riceve è:
N° slave - Codice OR 80Hex - Codice di errore (3) - CRC16 (2 bytes)
MAPPA DEI REGISTRI
I bit non utilizzati dei seguenti registri sono 0.
Nota: In alcuni programmi di comunicazione la prima direzione della parola è confi gurata come 400001, con il quale
il registro 0 dl regolatore corrisponde alla direzione della parola 400001. In conclusione la direzione della parola alla
quale corrisponde ogni registro del regolatore si calcola sommando 1 al numero del registro della mappa dei registri
descritto di seguito.
IT
83