Codes de fonction Modbus
Les commandes basiques de Modbus permettent de contrôler un dispositif pour modifier
la valeur de l'un de ses registres (espace dans la mémoire) ou demander le contenu desdits
registres ; selon les différents codes de fonction :
Commandes Modbus
Le format des commandes pour les opérations de lecture/écriture est le suivant (8 octets) :
Adresse de l'esclave
1 byte
•
Adresse de l'esclave : Définit le système auquel on souhaite accéder. Les adresses vont de 1
à 247, le 0 étant l'adresse réservée pour transmettre à tous les dispositifs (Broadcast).
•
Code d'opération : Indique la fonction que doit réaliser la commande.
•
Adresse de registre : Indique l'adresse de registre à laquelle on souhaite accéder. Dans le
cas des commandes sur plusieurs registres, elle définit le registre de départ à partir duquel
les opérations vont s'exécuter de manière consécutive.
•
Données : Formé par 2 octets (opérations simples) ou par un ensemble de 2 octets
(opérations multiples) qui contiennent l'information de la commande.
•
CRC : 2 octets sont ajoutés en fin de trame afin de détecter les erreurs dans la transmission
ou la réception. Pour ce faire, on utilise la méthode de contrôle de redondance cyclique
(Cyclic Redundant Code).
Le polynôme générateur est : CRC-16 = x
6
Code
03
Lecture des registres de sortie ou internes
04
Lecture des registres d'entrée
06
Écriture d'un seul registre
16
Écriture de plusieurs registres
Code d'opération
1 byte
+ x
16
Fonction
Adresse de registre
1 byte
+ x
+ 1.
15
2
Données
CRC
1...2·N bytes
2 bytes