Codici di eccezione Modbus TCP/IP e Modbus-SL
Risposte di eccezione
Le risposte di eccezione emesse dal client o da un server possono essere il risultato di errori di elaborazione dati. Dopo una richiesta dal client, può verificarsi uno degli eventi seguenti:
-
Il server, se riceve una richiesta dal client senza errori di comunicazione e la gestisce correttamente, invia una risposta normale.
-
Il server, se non riceve la richiesta dal client a causa di un errore di comunicazione, non invia una risposta. Il programma client si conclude applicando una condizione di ritardo alla richiesta.
-
Il server, se riceve la richiesta dal client, ma rileva un errore di comunicazione, non invia una risposta. Il programma client si conclude applicando una condizione di ritardo alla richiesta.
-
Se il server riceve la richiesta dal client senza errori di comunicazione ma non può eseguirla (ad esempio, la richiesta consiste nel leggere un registro che non esiste), il server restituisce una risposta di eccezione per informare il client della natura dell'errore.
Frame di eccezione
Il server invia un frame di eccezione al client per indicare una risposta di eccezione. Una risposta di eccezione è costituita da quattro campi:
Campo |
Definizione |
Dimensione |
---|---|---|
1 |
Numero server |
1 byte |
2 |
Codice della funzione di eccezione |
1 byte |
3 |
Codice di eccezione |
n byte |
4 |
Controllo |
2 byte |
Gestione delle eccezioni Modbus
Il frame di risposta di eccezione è composto da due campi che lo distinguono da un normale frame di risposta:
-
Il codice funzione di eccezione è uguale al codice funzione della richiesta originale più 128 (0x80).
-
Il codice di eccezione dipende dall'errore di comunicazione rilevato dal server.
La tabella seguente descrive i codici di eccezione gestiti dai dispositivi wireless di EcoStruxure Panel Server:
Codice di eccezione |
Nome |
Descrizione |
---|---|---|
01 |
Funzione illegale |
Il codice funzione ricevuto nella richiesta non è un'azione consentita per il server. È possibile che il server si trovi in uno stato non adatto ad elaborare una richiesta specifica. |
02 |
Indirizzo dati illegale |
L'indirizzo dati ricevuto dal server non è un indirizzo consentito per il server. |
03 |
Valore dati illegale |
Il valore del campo dati richiesto non è un valore consentito per il server. |
04 |
Guasto dispositivo server |
Il server non può eseguire l'azione richiesta a causa di un errore irreversibile. |
06 |
Dispositivo server occupato |
Il server è occupato nell'elaborazione di un altro comando. Il client deve inviare la richiesta quando il server è libero. |
Accesso alle variabili
Una variabile Modbus può avere i seguenti attributi:
-
Sola lettura
-
Lettura/scrittura
-
Sola scrittura