7.1.1 Mode Remote Terminal Unit (RTU)
Les messages du protocole Modbus en mode Remote Terminal Unit (RTU) sont transmis sous forme
binaire de l'émetteur au récepteur, par exemple via une communication série RS-485.
Émetteur
Client
(maître)
Récepteur
Remarque :
La longueur maximale d'un message ne doit pas dépasser 256 octets.
7.1.2 Structure du protocole
Un message de protocole Modbus a défini des points de début et de fin. L'appareil récepteur
reconnaît le début du message et lit l'adresse du serveur. Cela permet à un serveur de reconnaître s'il
a été sollicité par le client et si le message a été envoyé dans son intégralité. S'il est complètement
arrivé, le serveur utilise des octets de contrôle d'erreur et des bits de parité pour vérifier l'intégralité
du message. Si le contrôle d'erreur ou la parité échoue, le message est rejeté.
En mode RTU, le message commence par un intervalle silencieux d'au moins 3,5 caractères.
Le premier octet contient l'adresse de l'appareil. Les périphériques client et serveur surveillent
en permanence le réseau, même pendant un intervalle d'inactivité.
Après le dernier octet transmis, un intervalle d'inactivité d'au moins 3,5 caractères indique la
fin du message. Après cet intervalle d'inactivité, un nouveau message peut commencer.
Structure de protocole
Démarrer
Adresse
Temps
1 octet
d'attente
d'au
De 1 à 247*
moins 3,5
appareils ; 0
caractères
en tant que
message
Broadcast
* attention : jusqu'à 32 appareils sont possibles sans répéteur Modbus !
Le message entier doit être transmis en un seul flux continu. S'il y a un intervalle d'inactivité de plus de
1,5 caractères avant que le message ne soit terminé, le dispositif récepteur rejette le message incomplet.
L'appareil suppose alors que l'octet suivant contient l'adresse d'appareil d'un nouveau message.
De même, lorsqu'un nouveau message commence plus de 3,5 caractères après le message précédent.
Dans ce cas, le dispositif récepteur voit le message comme une continuation du message précédent.
Par conséquent, une erreur se produit car la valeur du message combiné dans le champ CRC final
(champ de vérification) n'est pas valide !
Nous nous réservons le droit d'apporter des modifications aux conceptions et spécifications techniques de nos produits
Code binaire, par exemple : 90 -> 01011010
(8 bits = 1 octet)
Unité de données d'application
Unité de données de protocole
Code de fonction
1 octet
1...17
Récepteur
Émetteur
Contrôle
d'erreur CRC
Données
n octet
2 octets
(0...252 octets)
(16 bits)
Somme de
contrôle
Serveur
(Esclave)
Fin
Temps
d'attente
d'au
moins 3,5
caractères
13