Académique Documents
Professionnel Documents
Culture Documents
Modbus
Modbus
rponse
ESCLAVE B
ESCLAVE C
Programme utilisateur
Table
dmission
Bits dentre
question
Table
de rception
Esclave A
Bits de sortie
rponse
Mots dentre
Mots de sortie
Protocole MODBUS
Pascal DEREUMAUX
novembre 2004
1/6
Adressage
Les abonns du bus sont identifis par des adresses attribues par lutilisateur.
Ladresse de chaque abonn est indpendante de son emplacement physique.
Les adresses vont de 1 64 et ne doivent pas obligatoirement tre attribues de manire
squentielle.
Deux abonns ne peuvent avoir la mme adresse.
Question
Rponse
Esclave A
Esclave B
Esclave C
Question
Esclave A
Protocole MODBUS
Pascal DEREUMAUX
Esclave B
novembre 2004
Esclave C
2/6
La question
Elle contient un code fonction indiquant lesclave adress quel type daction est demand.
Les donnes contiennent des informations complmentaires dont lesclave a besoin pour
excuter cette fonction.
Le champ octets de contrle permet lesclave de sassurer de lintgralit du contenu de la
question.
N
desclave
1 octet
Code fonction
Mot de contrle
1 octet
Information spcifique
concernant la demande
n octets
Code fonction
Donnes reues
Mot de contrle
2 octets
La rponse
N
desclave
1 octet
1 octet
n octets
2 octets
Si une erreur apparat, le code fonction est modifi pour indiquer que la rponse est une
rponse derreur.
Les donnes contiennent alors un code (code dexception) permettant de connatre le type
derreur.
Le champ de contrle permet au matre de confirmer que le message est valide.
N
desclave
1 octet
Protocole MODBUS
Code fonction
1 octet
Code
dexception
1 octet
Pascal DEREUMAUX
Mot de
contrle
2 octets
novembre 2004
3/6
Adresse
Fonction
Donnes
2 caractres 2 caractres n caractres
LRC
2 caractres
END
2 caractres
CR LF
LRC : Cest la somme en hexadcimal modulo 256 du contenu de la trame hors dlimiteurs,
complmente 2 et transmise en ASCII.
Type RTU (Unit terminale distante) : chaque octet composant une trame est cod sur 2
caractres hexadcimaux (2 fois 4 bits).
START
Silence
Adresse
1 octet
Fonction
1 octet
Donnes
n octets
CRC
2 octets
END
Silence
Protocole MODBUS
Pascal DEREUMAUX
novembre 2004
4/6
Support de transmission
Chaque octet composant un message est transmis en mode RTU de la manire suivante :
Start
Bit 0
Start
Bit 0
Bit 1
Bit 1
Bit 2
Bit 2
Bit 6
Bit 7
Bit 7
Parit
Stop
Stop
Avant et aprs chaque message, il doit y avoir un silence quivalent 3,5 fois le temps de
transmission dun mot.
Message du matre
Rponse de lesclave
Lensemble du message doit tre transmis de manire continue. Si un silence de plus de 1,5
fois le temps de transmission dun mot intervient en cours de transmission, le destinataire du
message considrera que la prochaine information quil recevra sera ladresse du dbut dun
nouveau message.
Le protocole MODBUS ne dfinit que la structure des messages et leur mode dchange.
On peut utiliser nimporte quel support de transmission RS 232, RS 422 ou RS 485, mais la
liaison RS 485 est la plus rpandue car elle autorise le multipoints .
Exemple dchange entre un matre et un esclave
Trame mise par le matre : 04 03 00 02 0001 25 CA
- Adresse esclave : 04
- Code fonction 03 = lecture registre
- N du registre de dbut de lecture : MSB : 00 et LSB : 02
- Nombre de registre de lecture : MSB : 00 et LSB : 01
- CRC : 25 CA
Rponse de lesclave avec erreur : 04 83 02 01 31
- Adresse esclave : 04
- Code fonction : lecture avec MSB = 1 : 83
- Code erreur (n registre) : 02
- CRC : 01 31
Rponse de lesclave sans erreur : 04 03 02 02 58 B8 DE
- Adresse esclave : 04
- Code fonction : lecture registre : 03
- Nombre doctets donnes : 02
- Donnes du registre 0002 : MSB 02 et LSB : 58
- CRC : B8 DE
Protocole MODBUS
Pascal DEREUMAUX
novembre 2004
5/6
Code
H01
H02
H03
H04
H05
H06
H07
H08
H09
H0A
H0B
H0C
H0D
H0E
H0F
H10
H11
H12
H13
Protocole MODBUS
Pascal DEREUMAUX
novembre 2004
TSX 37
*
*
*
*
*
*
*
*
*
*
*
6/6