La programmation d'un master Modbus dans un PLC (Siemens TIA, Wago Codesys, Schneider Unity Pro) s'appuie sur des Function Blocks standardisés (MB_CLIENT, MODBUS_CLIENT, etc.) qui encapsulent les requêtes (Read Holding, Write Single Register, etc.) avec gestion automatique des retries et timeouts.
Vrai
Les bibliothèques Function Blocks Modbus master classiques sont : MB_CLIENT pour Siemens TIA (Modbus TCP), MODBUS_CLIENT pour Wago Codesys, READ_VAR / WRITE_VAR pour Schneider Unity Pro et MB_RTU_CLIENT pour ABB CoDeSys. Les paramètres typiques exposes sont Connect_ID, IP, Port, Slave_ID, Function, Start_Address, Length et Data_Buffer. Le bloc gère en interne la connexion, le timeout (typiquement 1 à 5 s) et les retries, ce qui simplifie très significativement la programmation par rapport à une implémentation manuelle de la trame.
Piège courant : oublier de câbler le bit Done/Busy en condition de déclenchement de la requête suivante, ce qui sature le bloc et provoque des timeouts en cascade.
Banque Modbus en préparation
La banque complète Modbus n'est pas encore disponible. Mets ton email pour être prévenu du lancement et avoir un discount early-bird.
Rejoindre la waitlist →Voir les 9 autres questions Modbus
Questions liées
- Quelle variante Modbus est aujourd'hui la plus utilisée pour les nouvelles installations en environnement IT/OT moderne ?2. Variants · RTU vs. TCP vs. ASCII
- Lorsqu'un slave Modbus ne peut pas exécuter une requête (adresse invalide, valeur hors plage, etc.), il répond par un "Exception Response" : function code d'origine avec le bit 7 force a 1, suivi d'un Exception Code précisant la cause.4. Function codes · Exception Responses
- La function 0x05 "Write Single Coil" écrit une seule sortie binaire sur un slave Modbus. La valeur ON est codée 0xFF00 et OFF est codée 0x0000 ; toute autre valeur est invalide.4. Function codes · Write Single Coil (0x05)
- La function 0x08 "Diagnostic" (Modbus série RTU/ASCII uniquement) permet de tester la communication et d'accéder aux compteurs d'erreurs internes du slave via des sous-fonctions (Return Query Data, Restart Communications, Return Bus Message Count, etc.).4. Function codes · Diagnostic (0x08)
- Quand une passerelle Modbus TCP/RTU fait pont vers un segment RTU comportant plusieurs slaves, le client Modbus TCP utilisé le Unit ID du header MBAP pour cibler le slave RTU spécifique situe derriere la passerelle.5. Modbus TCP · Unit ID Gateway