9.2 Description des fonctions modbus supportées :
Lecture de N mots : Fonction n°3
Trame de demande :
Adresse
1er mot
Numéro
Fonction
Poids
Poids
d'esclave
3 ou 4
fort
faible
1 octet
1 octet
2 octets
Trame de réponse
:
Valeur
Nombre
Numéro
Fonction
d'octets
Poids
d'esclave
3 ou 4
lus
fort
2 octets
1 octet
1 octet
1 octet
Ecriture de N mots : Fonction N°16 :
Trame de demande :
Nombre
Numéro
Fonction
Adresse
de mots
d'esclave
16
1er mot
à forcer
1 octet
1 octet
2 octets 2 octets
Trame de réponse :
Nombre
Numéro
Fonction
Adresse
de mots
d'esclave
16
1er mot
à forcer
1 octet
1 octet
1 octet
2 octets
Ecriture de 1 mot : Fonction N°6 :
Trame de demande :
Valeur
Numéro
Fonction
Adresse
du mot
d'esclave
6
du mot
à forcer
1 octet
1 octet
2 octets
2 octets
Trame de réponse :
Valeur
Numéro
Fonction
Adresse
du mot
d'esclave
6
du mot
à forcer
1 octet
1 octet
2 octets
2 octets
Nombre
de mot
CRC 16
Poids
Poids
fort
faible
2 octets
2 octets
1er mot
Valeur 2
ème mot
CRC 16
Poids
Poids
Poids
faible
fort
faible
2 octets
2 octets
Nombre
Valeur
d'octets
des mots
CRC 16
à forcer
à forcer
1 octet
n octets
2 octets
CRC 16
2 octets
CRC 16
2 octets
Valeur des codes d'erreur :
CRC 16
1 : Code de fonction inconnu
2 : Adresse incorrecte
2 octets
3 : Donnée incorrecte
9 : Ecriture impossible
Trame d'exception :
Fonction
Numéro
Code
demandée
CRC 16
avec
d'esclave
d'erreur
MSB=1
1 octet
1 octet
1 octet
2 octets
9.3 Lecture au format double entier :
Exemple : Lecture de la mesure affichée
Demande :
254
03
0
206
Numéro
Lecture
Adresse
d'esclave
de n mots
• • Réponse avec mesure positive :
254
3
4
19
octet 1
Valeur de la mesure :
octet 4
octet 1
octet 3
0 0 0 0 0 0 0 0
0 0 0 1 0 0 11
1 0 0 0 1 0 0 0
0 0 0 0 0 0 0 0
0
0
19
Signe : 0 positif
1 négatif
Mesure = octet 3 x 256 3 + octet 4 x 256 2 + octet 1 x 256 + octet 2
= 0 x 256 3
+ 0 x 256 2
= 5000
Lecture de l'adresse 120 => point décimal = 2 => mesure affichée 50.00
• • Réponse avec mesure négative :
254
3
4
236
octet 1
octet 4
octet 1
octet 3
11111111
11111111
111 0 11 0 0
0 1111 0 0 0
Signe : 1 négatif : inversion des bits puis ajout de 1.
0
2
CRC 16
Nombre de mot
mesure
136
0
0
CRC 16
octet 2
octet 4
2 octets
octet 3
octet 2
136
+ 19 x 256
+ 136
mesure
120
255
255
CRC 16
octet 2
octet 4
2 octets
octet 3
octet 2