3.9
Messages d'erreur
3.9.1
Codes d'erreur Modbus
L'appareil esclave ne répond pas
L'esclave ne répond pas dans les cas suivants :
•
La vitesse et/ou le format de données du maître et ceux de l'esclave ne concordent pas.
•
L'adresse d'appareil utilisée ne concorde pas avec l'adresse d'esclave contenue dans le protocole.
•
La somme de contrôle (CRC) est incorrecte.
•
L'ordre du maître est incomplet ou contradictoire.
•
Le nombre de mots à lire est égal à 0.
Dans ces cas, la demande de données devra être à nouveau envoyée après écoulement d'un timeout
de 1 s environ.
Codes d'erreur
Si la demande de données du maître a été reçue par l'esclave sans erreur de transmission, mais que
l'esclave ne peut pas la traiter, il répond avec un code d'erreur. Les codes d'erreur suivants peuvent
apparaître :
•
01 = fonction invalide
•
02 = adresse invalide ou bien nombre de mots/bits à lire ou à écrire trop élevé
•
08 = valeur protégée en écriture
Réponse en cas d'erreur
Adresse de l'esclave
1 octet
Le code de la fonction est combiné à la valeur 0x80 avec un opérateur OU. Ainsi le bit de poids fort
(MSB) est mis à 1.
Exemple
Demande de données :
01
Esclave
Réponse :
01
Esclave
La réponse contient le code d'erreur 08 parce que l'adresse 0x4802 est en lecture seule.
3 Description du protocole Modbus
Fonction XX OR 80h
1 octet
06
48 02
Ecrire un mot
Adresse du mot
86
08
Fonction OR
Erreur
Code d'erreur
1 octet
00 01
Valeur du mot
43 A6
CRC
Somme de contrôle
CRC
2 octets
FE 6A
CRC
23