12. Vue d'ensemble des codes fonction Modbus
Les codes fonction pris en charge sont indiqués dans le tableau
ci-dessous :
Type
Code
Hex
Nom
Lecture des registres d'exploita-
03
0x03
tion
Donnée 16
04
0x04 Lecture registres d'entrée
bits
(registres)
06
0x06 Écriture registre unique
16
0x10 Écriture registres multiples
Diagnostics
Diagnostics
08
08
Voir paragraphe
(0x08)
Les broches de lecture ou d'écriture ne sont pas pris
en charge.
Les mêmes données sont disponibles à la fois dans les registres
d'exploitation et les
registres d'entrée, ce qui signifie que les deux fonctions (0x03 ou
0x04) peuvent être utilisées pour lire les données.
13. Exemples de télégrammes Modbus RTU
Les modèles de données Modbus indiquent que les
registres numérotés X sont adressés X - 1 dans les
télégrammes, c'est-à-dire que le registre 00104 (Set-
point) est adressé 00103 dans un télégramme
Modbus.
Les champs CRC ne sont pas donnés dans les exemples sui-
vants. Vue d'ensemble de télégramme Modbus
La dimension maximale d'un télégramme Modbus RTU est de
256 octets. Les télégrammes doivent être séparés par un inter-
valle de silence d'au moins 3,5 caractères.
Le format standard de télégramme Modbus RTU est donné dans
le tableau ci-dessous.
Adresse
Code fonc-
esclave
tion
1 octet
1 octet
Un télégramme débute par l'adresse esclave occupant un octet.
Vient ensuite un champ de données de dimension variable. Pour
chaque télégramme, un CRC est calculé et ajouté au télégramme
(deux bytes au total). Tous les octets du télégramme, à l'excep-
tion du CRC lui-même, sont compris dans le contrôle.
Noter que les octets CRC ne sont pas indiqués dans les
exemples des paragraphes suivants.
13.5 Diagnostics
pour les sous-codes.
Données
CRC
0 à 252 octets
2 octets
13.1 Lecture des registres d'exploitation, 0x03
Cette fonction est utilisée pour lire les registres d'exploitation
depuis l'esclave.
Le télégramme de requête spécifie l'adresse de début (adresse
du premier registre à lire) et le nombre de registres d'exploitation
à lire. Dans le télégramme, les adresses de registre commencent
par zéro, ce qui signifie que les registres numérotés 0-16 sont
adressées comme 0-15.
Exemple de requête de maître à esclave
Champ
Adresse
Code fonction
Adresse début HI
Adresse début LO
Quantité HI
Quantité LO
Dans la requête, l'esclave avec l'adresse 1 est interrogé pour
fournir trois registres contigus commençant à l'adresse 0x006b :
107, à savoir le registre 108.
Exemple de réponse d'esclave à maître
Champ
Adresse
Code fonction
Compte d'octets
Registre 108 HI
Registre 108 LO
Registre 109 HI
Registre 109 LO
Registre 110 HI
Registre 110 LO
La réponse donne un compte de six octets car il y a trois registres
de deux octets. Les trois registres gardent la valeur de 0x0001.
Valeur
0x01
0x03
0x00
0x6B
0x00
0x03
Valeur
0x01
0x03
0x06
0x00
0x01
0x00
0x01
0x00
0x01
73