Gestione dell’eccezione Modbus
Panoramica
Il controller LTMR applica di norma i requisiti Modbus per la gestione delle eccezioni.
Al controller LTMR si applicano tre casi specifici:
-
Registri contenenti bit di campo
-
Codice di eccezione 02 – Indirizzo dati illegale
-
Codice di eccezione 03 – Valore dati illegale
Registri contenenti bit di campo
Alcuni registri della mappa dei registri contengono bit di campo. In funzione dello stato del controller LTMR alcuni bit di questi registri non consentono la scrittura. In questo caso il controller LTMR rifiuta la scrittura su questi bit, ovvero non viene restituita alcuna eccezione. Ad esempio, i bit che si possono scrivere solo in modo configurazione vengono ignorati (nessuna eccezione restituita) se il controller LTMR non è in fase di configurazione. La scrittura sui bit non limitati dallo stato del controller LTMR avviene comunque.
Codice di eccezione 02 – Indirizzo dati illegale
In generale, il controller LTMR restituisce un codice di eccezione di tipo indirizzo dati illegale se l’indirizzo è fuori campo o irraggiungibile. Nello specifico, il controller LTMR restituisce un indirizzo dati illegale se:
-
Viene inviata una richiesta di scrittura a un registro di sola lettura.
-
L'autorizzazione alla scrittura di un registro non viene concessa a causa dello stato del controller. Questo accade, ad esempio, quando un registro che si può scrivere solo in modo configurazione viene scritto mentre il controller LTMR non è in fase di configurazione.
Codice di eccezione 03 – Valore dati illegale
In genere, il controller LTMR restituisce un codice di eccezione di tipo valore dati illegale se individua un problema nella struttura del messaggio, ad esempio una lunghezza non valida. Il controller LTMR usa questo codice di eccezione anche se:
-
I dati da scrivere sono fuori gamma (per i registri standard e quelli contenenti bit di campo. Questo accade ad esempio se viene inviata una richiesta di scrittura di 100 a un registro R/W con un campo da 0 a 50.
-
Un bit o registro (riserva) viene scritto su un valore diverso da 0.
-
Il comando motore – bassa velocità (bit 704.6) viene impostato quando il modo di funzionamento del motore impostato sul controller non prevede le due velocità.