DOCA0107FR-03

Codes d'exception Modbus

Réponses d'exception

Les réponses d'exception provenant du client ou d'un serveur peuvent être le résultat d'erreurs de traitement de données. Un des événements suivants peut se produire après l'émission d'une requête par le client:

  • Si le serveur reçoit la requête du client sans erreur de communication et peut la traiter correctement, il renvoie une réponse normale.

  • Si le serveur ne reçoit pas la requête provenant du client à cause d'une erreur de communication, il ne renvoie pas de réponse. Le programme client finit par appliquer une condition de temporisation à la requête.

  • Si le serveur reçoit la requête du client, mais détecte une erreur de communication, il ne renvoie pas de réponse. Le programme client finit par appliquer une condition de temporisation à la requête.

  • Si le serveur reçoit la requête du client sans erreur de communication mais ne peut pas la gérer (par exemple, la requête consiste à lire un registre qui n'existe pas), le serveur renvoie une réponse d'exception pour informer le client de la nature de l'erreur.

Trame d'exception

Le serveur envoie une trame d'exception au client pour signaler une réponse d'exception. Une trame d'exception se compose de 4champs:

Champ

Définition

Taille

Description

1

Numéro du serveur

1octet

Destination de la requête

  • 0: diffusion générale (tous les serveurs sont concernés)

  • 1 à 247: destination unique

2

Code de fonction d'exception

1octet

Code de fonction de requête + 128 (0x80)

3

Code d'exception

noctets

Voir la section Codes d'exception

4

Contrôle

2octets

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 le serveur.

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 fonction reçu dans la requête ne correspond pas à une action autorisée pour le serveur. L'état du serveur est peut-être inapproprié pour traiter une requête spécifique.

02 (0x02)

Illegal data address (Adresse de données interdite)

L'adresse de données reçue par le serveur n'est pas une adresse autorisée pour le serveur.

03 (0x03)

Illegal data value (Valeur de données interdite)

La valeur dans le champ de données de la requête n'est pas autorisée pour le serveur.

04 (0x04)

Server device failure (Défaillance du serveur)

Le serveur ne parvient pas à réaliser une action requise à cause d'une erreur irrémédiable.

05 (0x05)

Acknowledge (Acquittement)

Le serveur accepte la requête mais un long délai est nécessaire pour la traiter.

06 (0x06)

Server device busy (Serveur occupé)

Le serveur est occupé à traiter une autre commande. Le client doit envoyer la requête une fois que le serveur est disponible.

07 (0x07)

Negative acknowledgment (Acquittement négatif)

Le serveur ne peut pas traiter la requête de programmation envoyée par le client.

08 (0x08)

Memory parity error (Erreur de parité de mémoire)

Le serveur 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)

Le serveur n'est pas présent sur le réseau.

QR Code is a registered trademark of DENSO WAVE INCORPORATED in Japan and other countries.

Contenu utile ?