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
- Un bus Modbus RTU sur RS-485 supporte jusqu'à 32 noeuds par segment (extensible avec des répétéurs), exige des résistances de terminaison (typiquement 120 ohms) aux deux extrémités du bus, ainsi que des résistances de polarisation pour fixer l'état de repos.3. Modbus RTU · RS-485 Multi-Drop
- Quel function code Modbus est utilisé pour LIRE les Holding Registers (registres 16 bits lecture/écriture) d'un slave ?4. Function codes · Lesen Coils/Register
- La function 0x06 "Write Single Register" écrit un seul Holding Register 16 bits sur un slave Modbus, avec adresse et valeur codees sur 16 bits chacune dans la requête.4. Function codes · Write Single Register (0x06)
- Pour transmettre une valeur flottante 32 bits IEEE 754 en Modbus (registres 16 bits), on utilise typiquement 2 registres consécutifs, avec le byte order spécifié dans la documentation du slave.5. Data encoding · 32-Bit-Float
- Modpoll (focus-sw.com) et mbpoll (Linux/macOS) sont des outils gratuits en ligne de commande pour interroger un slave Modbus depuis un PC, indispensables au diagnostic et à la mise au point d'intégrations Modbus.6. Practical · Modpoll / mbpoll