3 Description du protocole Modbus
Exemple
Dans cet exemple, il faut lire la valeur de la variable analogique 1 à l'adresse 0x1071 de l'unité
centrale. La valeur doit être égale à1234567.89 ici (0x4132D687E3D70A3D dans le format
IEEE-754).
Demande de données :
01
Esclave
Réponse (valeurs dans le format double Modbus) :
01
Esclave
REMARQUE !
L'ordre des octets dépend de la façon dont les valeurs de type double sont stockées dans
l'application utilisée. Le cas échéant, il faut échanger les octets dans le programme de l'in-
terface.
3.7.4
Chaînes de caractères (textes)
Les chaînes de caractères sont transmises au format ASCII
REMARQUE !
Le dernier caractère (indicateur de fin) doit toujours être un "\0" (code ASCII 0x00). Les ca-
ractères qui suivent n'ont aucune signification.
Comme la transmission des textes a lieu mot par mot (16 bits), il faut envoyer un 0x00 sup-
plémentaire si le nombre de caractères est impair (y compris le caractère "\0").
Les longueurs maximales de chaîne de caractères indiquées dans les tableaux des adresses
incluent le "/0" final ; c'est-à-dire que pour "char 11", le texte contient au maximum 10 carac-
tères lisibles.
Chapitre 7 "Tableaux des adresses Modbus", page 77
Exemple
Lecture du texte à l'adresse 0x13F1 ; à cette adresse, il y a la chaîne de caractères "Test" (en
code ASCII : 0x54, 0x65, 0x73, 0x74, 0x00).
Demande : 010313F100027E11 (CRC16 = 117E)
Réponse : 010304546573740000AAB5B6 (CRC16 = B6B5)
REMARQUE !
La valeur (ici : AA) avant la somme de contrôle (ici : B5B6) n'est pas prise en compte parce
qu'elle suit le caractère de fin "\0".
40
03
10 71
Fonction
Adresse
du 1er mot
03
08
Fonction
Octets
lus
00 04
Nombre de
mots
41 32
D6 87
Valeur de type double
D2 10
CRC
E3 D7
0A 3D
CD A4
CRC