ANNEXE 5: PROTOCOLE MODBUS
Le protocole Modbus permet à un matériel maître d'accéder jusqu'à 255 esclaves connectés sur un même bus. Chaque
esclave se voit attribué une adresse qui le différencie des autres esclaves connectés sur le bus.
Les transactions ne peuvent être qu'à l'initiative du maître et sont de deux types :
•
question / réponse → un seul esclave est adressé
•
broadcast / pas de réponse → tous les esclaves sont adressé, mais ils ne doivent pas répondre
Caractéristiques utilisables pour la communication avec le protocole Modbus :
Caractéristiques
Système de codage
Nombre de bits par caractère :
Start bits
data bits (least significant first)
Parité (optionnel)
Stop bits
Error Checking
Vitesse de communication
Dans la suite du document, en ce qui concerne les données émises, vous trouverez les informations suivantes :
x-CHAR = x-BIT
Cette information indique la taille des données émises en mode ASCII et en mode RTU (x données ASCII= y BIT RTU).
Par exemple, 2-CHAR = 8-BITSsignifie que dans la trame ASCII, l'information est codée sur 2 octets et que dans le mode
RTU, l'information est codée sur 8 Bits.
TRAME RTU
Une transmission en mode RTU se fait en binaire. La terminaison de la trame est déterminée par un temps de silence
d'environ 3.5 octets (dans notre cas environ 30ms),
MAITRE
ADDRESS
8-BITS
ESCLAVE
ADDRESS
8-BITS
CHAMP D'ADRESSE
Le champ d'adresse suit le début de trame et est constitué de deux caractères ASCII.
Chaque esclave doit avoir une adresse unique et ne répondra qu'aux requêtes qui contiennent sont adresse. Lors de
l'envoi d'une réponse par un esclave, le champ adresse de celle-ci informe le maître sur la provenance de cette
réponse. En mode broadcast, l'adresse utilisée et 0. Dans ce cas, tous les esclaves interprètent la requête, mais ne
répondent pas.
NT 1953 B – 03/2019 ___________________________________________________________________________ 21
FUNCTION
8BITS
NUMBER OF DATA
FUNCTION
BYTES
8BITS
8BITS
RTU (8 bits)
Binaire
10
1
8
Pas de parité
1
CRC16
9600
DATA
N X 16-BITS
DATA
N X 16-BITS
ERROR CHECK CRC 16
BITS
ERROR CHECK
CRC 16
16 BITS