CODES DE FONCTION MODBUS
Les commandes basiques de Modbus permettent de contrôler un dispositif pour modifier la valeur de ses registres (emplacement
de 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 octet
•
Adresse de l'esclave. Définit le système auquel vous allez accéder. Une commande Modbus contient l'adresse
Modbus du dispositif cible (de 1 à 247). L'adresse 0 est réservée à la transmission à tous les dispositifs (Broadcast).
•
Code d'opération. Indique l'opération qui va être effectuée.
•
Adresse de registre. Indique l'opération à laquelle vous allez accéder. Dans les commandes qui seront appliquées
à plusieurs registres, définissez le registre de démarrage à partir duquel vous souhaitez effectuer des opérations
consécutives.
•
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. Deux octets sont ajoutés en fin de flux afin de détecter les erreurs de transmission ou de réception. L'action
est réalisée grâce au code de redondance cyclique (CRC).
•
Polynôme générateur : CRC-16 = x
COMMANDES D'ÉCRITURE
Écriture d'un seul registre de maintien
À condition qu'il n'existe aucun type d'erreur, la réponse doit avoir toujours exactement le même format que la commande
d'écriture.
14
Code
Fonction :
03
Lecture des registres de maintien
04
Lecture des registres d'entrée
Prédéfinition/écriture d'un seul registre de
06
Prédéfinition/écriture de plusieurs registres
16
Code d'opération
Adresse de registre
1 octet
16
+ x
15
+ x
2
+ 1.
Octet
Champ
0
Adresse de l'esclave (1-247) (0 : Broadcast)
1
Écriture d'un seul registre (6)
2
Adresse de registre
3
4
Données à écrire
5
6
CRC
7
maintien
de maintien
Données
1 octet
1...2·N octets
CRC
2 octets