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.
Vrai
Convention de codage de la function 0x05 : 0xFF00 correspond a ON (coil = true), 0x0000 a OFF (coil = false), toute autre valeur déclenche une exception 0x03 « Illegal Data Value ». Pourquoi 0xFF00 et non 0x0001 ? Convention historique Modbus pour bien distinguer cette commande des autres. La réponse du slave est un echo de la requête (confirmation). Le function code dual est 0x0F "Write Multiple Coils" pour écrire plusieurs coils en une seule trame.
Si votre slave répond « Illegal Data Value » sur un Write Single Coil, vérifiez que vous envoyez bien 0xFF00 et pas 0x0001. C'est l'erreur de novice classique.
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