Codes d'exception Modbus
Réponses d'exception
Les réponses d'exception provenant du maître (client) ou d'un esclave (serveur) peuvent être le résultat d'erreurs de traitement de données. L'un des événements suivants peut se produire après une requête du maître (client) :
-
Si l'esclave (serveur) reçoit la requête du maître (client) sans erreur de communication et gère correctement la requête, il renvoie une réponse normale.
-
Si l'esclave (serveur) ne reçoit pas la requête provenant du maître (client) à cause d'une erreur de communication, il ne renvoie pas de réponse. Le programme maître finit par appliquer une condition de temporisation à la requête.
-
Si l'esclave (serveur) reçoit la requête provenant du maître (client) mais détecte une erreur de communication, il ne renvoie pas de réponse. Le programme maître finit par appliquer une condition de temporisation à la requête.
-
Si l'esclave (serveur) reçoit la requête du maître (client) sans erreur de communication mais ne peut pas la traiter (par exemple, la requête consiste à lire un registre qui n'existe pas), l'esclave renvoie une réponse d'exception pour informer le maître de la nature de l'erreur.
Trame d'exception
L'esclave envoie une trame d'exception au maître pour signaler une réponse d'exception. Une trame d'exception se compose de 4 champs :
Champ |
Définition |
Taille |
Description |
---|---|---|---|
1 |
Numéro de l'esclave |
1 octet |
Destination de la requête
|
2 |
Code de fonction d'exception |
1 octet |
Code de fonction de requête + 128 (0x80) |
3 |
Code d'exception |
n octets |
Voir paragraphe suivant |
4 |
Contrôle |
2 octets |
CRC16 (pour vérifier les erreurs de transmission) |
Codes d'exception
La trame de la réponse d'exception se compose de deux champs qui la différencient d'une trame de réponse normale :
-
Le code de fonction d'exception de la réponse d'exception est égal au code de fonction de la requête originale plus 128 (0x80).
-
Le code d'exception dépend de l'erreur de communication que détecte l'esclave.
Le tableau suivant décrit les codes d'exception gérés par le disjoncteur :
Code d'exception |
Nom |
Description |
---|---|---|
01 (0x01) |
Illegal function (Fonction incorrecte) |
Le code de fonction reçu dans la requête n'est pas une action autorisée pour l'esclave. Il est possible que l'esclave soit dans un état inadéquat pour traiter une requête spécifique. |
02 (0x02) |
Illegal data address (Adresse de données incorrecte) |
L'adresse de données reçue par l'esclave n'est pas une adresse autorisée pour l'esclave. |
03 (0x03) |
Illegal data value (Valeur de données incorrecte) |
La valeur du champ de données de la requête n'est pas une valeur autorisée pour l'esclave. |
04 (0x04) |
Slave device failure (Défaillance de l'esclave) |
L'esclave ne parvient pas à réaliser une action requise à cause d'une erreur irrémédiable. |
05 (0x05) |
Acknowledge (Acquittement) |
L'esclave accepte la requête mais un long délai est nécessaire pour la traiter. |
06 (0x06) |
Slave device busy (Esclave occupé) |
L'esclave est occupé à traiter une autre commande. Le maître doit envoyer la requête une fois que l'esclave est disponible. |
07 (0x07) |
Negative acknowledgment (Acquittement négatif) |
L'esclave ne peut pas traiter la requête de programmation envoyée par le maître. |
08 (0x08) |
Memory parity error (Erreur de parité de mémoire) |
L'esclave détecte une erreur de parité dans la mémoire lorsqu'il lit la mémoire étendue. |
10 (0x0A) |
Gateway path unavailable (Chemin de passerelle indisponible) |
La passerelle est surchargée ou n'est pas correctement configurée. |
11 (0x0B) |
Gateway target device failed to respond (Le périphérique passerelle cible ne répond pas) |
L'esclave n'est pas présent sur le réseau. |
Adresse de données incorrecte
Ce guide décrit les registres de chaque module IMU doté de la dernière révision du firmware. Lorsqu'un registre décrit dans ce guide n'est pas implémenté dans un module IMU équipé d'une révision de firmware antérieure, une réponse d'exception est renvoyée avec le code d'exception 02 (0x02) Illegal data address (Adresse de données incorrecte).
Vous pouvez mettre à niveau le firmware des modules IMU à l'aide du logiciel EcoStruxure Power Commission.