TP3
MODBUS RTU, MODBUS ASCII
Réseaux locaux industriels
Microelectronics and Radiofrequency (MRF)
2025/2026
Niveau : Master
Prof : Mouncef El Marghichi
Email : [Link]@[Link]
1
TP3
MODBUS RTU, MODBUS ASCII
Objectif du TP :
• Configurer et tester une communication Modbus RTU et ASCII complète entre
maître et esclave.
• Lire et écrire dans les registres d’un esclave simulé.
• Diagnostiquer et corriger les erreurs de communication.
• Interpréter les trames échangées.
Logiciels nécessaires :
- com0com → créer deux ports virtuels reliés (ex. COM3 ↔ COM4)
-Simply Modbus Master → simulateur d’esclave Modbus RTU
-Simply Modbus Master → simulateur de maître Modbus
I. Manipulation 1 : Modbus RTU
Création de la liaison série virtuelle
1. Installer et lancer com0com.
2. Créer une paire de ports série reliés : COM3 ↔ COM4 (exemple).
3. Vérifier dans le Gestionnaire de périphériques que les ports existent.
2
TP3
MODBUS RTU, MODBUS ASCII
Configuration du maître (Simply Modbus Master)
1. Lancer le logiciel Simply Modbus Master.
2. Configurer la communication comme indiqué ci-dessous :
-Sélectionner le port COM5 (ou tout autre port virtuel disponible).
-Paramétrer la liaison série comme suit :
• Vitesse (baud rate) : 9600 bauds
• Bits de données : 8
• Parité : Aucune (N)
• Bits de stop : 1
• Mode de communication: RTU
• Identifiant esclave (Slave ID) : 1
Configuration de l’esclave (Simply Modbus Slave)
1. Lancer Simply Modbus Slave, puis vérifiez que la configuration suivante est
correctement établie :
3
TP3
MODBUS RTU, MODBUS ASCII
2. Ensuite, cliquez sur « DATA » pour accéder à la table des registres.
3. Activez ensuite toutes les fonctions disponibles.
4
TP3
MODBUS RTU, MODBUS ASCII
1. Lecture bobines (coils) :
Lecture des bobines (Coils):
Configurer le maître afin qu’il exécute la commande suivante :
o Fonction : 01 (Read Coils)
o Adresse de départ : 1
o Quantité : 1
Cliquez ensuite sur « SEND » pour envoyer la requête.
Question :
[Link] la trame envoyée (Request) et la trame reçue (Response), puis analysez leur
contenu.
o Trame envoyée :
(à compléter selon la capture observée dans Simply Modbus)
Champ Valeur (Hexa) Taille (Octets) Description et Rôle
Adresse Esclave
Code Fonction
Adresse de Départ
Nombre de Coils
CRC (Contrôle d'Erreur)
5
TP3
MODBUS RTU, MODBUS ASCII
o Trame reçue :
(à compléter selon la capture observée dans Simply Modbus)
Champ Valeur (Hexa) Taille (Octets) Description et Rôle
Adresse Esclave
Code Fonction
Nombre d'Octets (N)
Données (Coil)
CRC (Contrôle d'Erreur)
2. Vérifiez dans l’onglet DATA (côté esclave) les valeurs des bits, puis effectuez une
capture d’écran (screenshot).
3. Configurez ensuite le maître pour lire 5 bobines (coils) à partir de l’adresse 2.
4. Analysez la trame envoyée (Request) et la trame reçue (Response) afin d’interpréter le
fonctionnement de la commande.
Trame de Requête (TX) : Maître Trame de Réponse (RX) : Esclave
Champ
→ Esclave → Maître
Adresse Esclave
Code Fonction
Adresse/Longueur
Quantité/Données
CRC
Modifiez l’offset (Minus Offset) : réglez-le successivement sur 0, 2, puis 3, et observez
les changements dans les adresses ou les valeurs affichées.
5. Qu’est-ce qui change dans la correspondance entre les adresses du maître et celles de
l’esclave ?
Changez l’identifiant (ID) de l’esclave dans le maître, puis essayez d’envoyer une
requête.
6. Le maître reçoit-il une réponse ? Que pouvez-vous en conclure ?
6
TP3
MODBUS RTU, MODBUS ASCII
2. Écriture bobines (coils) :
Cliquez premièrement sur « Write » pour exécuter la commande d’écriture.
Configurez le maître pour écrire 3 bobines (Coils) à partir de l’adresse 5, en
positionnant les trois bits à 1.
Une fenêtre s’ouvre.
7
TP3
MODBUS RTU, MODBUS ASCII
Question :
1. Analysez la trame envoyée et la trame reçue (voir les fonctions correspondantes en
annexe).
Trame de Requête (TX) : Maître Trame de Réponse (RX) : Esclave
Champ
→ Esclave → Maître
Adresse Esclave
Code Fonction
Adresse/Longueur
Quantité/Données
CRC
2. Dans l’esclave, cliquez sur « DATA » et effectuez une capture d’écran (screenshot).
Vous devrez peut-être cliquer sur « Refresh » pour afficher les résultats mis à jour.
3. Lecture des registres analogiques (Read Holding Registers) :
Configurez le maître pour lire 5 registres (de 16 bits chacun) à partir de l’adresse 6.
Dans l’onglet Master, assurez-vous que les registres sont configurés sur 16 bits afin
d’obtenir une lecture correcte.
1. Analysez la trame envoyée et la trame reçue (voir les fonctions correspondantes en
annexe).
Trame de Requête (TX) : Maître Trame de Réponse (RX) : Esclave
Champ
→ Esclave → Maître
Adresse Esclave
Code Fonction
Adresse/Longueur
8
TP3
MODBUS RTU, MODBUS ASCII
Trame de Requête (TX) : Maître Trame de Réponse (RX) : Esclave
Champ
→ Esclave → Maître
Quantité/Données
CRC
4. Écriture des registres analogiques (Write multiple
Registers). :
Configurez le maître pour écrire 3 registres (de 16 bits chacun) à partir de l’adresse 3.
Pour effectuer l’écriture, appuyez sur le bouton « Write ».
Dans l’onglet Master, assurez-vous que les registres sont définis sur 16 bits afin
d’obtenir une écriture correcte.
1. Ensuite, effectuez une capture d’écran (screenshot) dans l’onglet DATA de l’esclave
afin de montrer les résultats.
II. Manipulation 2 : Modbus ASCII
Changez le mode de communication dans le maître et dans l’esclave afin de passer en
mode ASCII.
9
TP3
MODBUS RTU, MODBUS ASCII
Question :
1. Refaites les parties 1 et 2 en utilisant ce mode, puis comparez les résultats obtenus
entre les deux modes (RTU et ASCII).
Annexe :
10