Question

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.

ModbusApprendreData encodingDifficile
Réponse

Vrai

Modbus est nativement 16 bits, donc un float IEEE 754 ou un long 32 bits occupe deux registres consécutifs. Exemple : un compteur d'énergie qui affiche 12345.67 kWh code la valeur en IEEE 754 sur 0x4640E5C2 (4 octets), répartie en Big Endian sur le registre N (0x4640) et le registre N+1 (0xE5C2). Le client lit l'ensemble avec function 0x03 et count = 2, puis reconstitue le float côté applicatif. Les bibliothèques modernes (pymodbus, libmodbus) gèrent automatiquement la conversion à condition que le byte order soit précisé.

Conseil de préparation

Réflexe pymodbus : utilisez BinaryPayloadDecoder avec les paramètres byteorder et wordorder explicites. Ne vous fiez jamais à la valeur par défaut.

Liste d'attente

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
Vous voulez plus ?

Voir les 9 autres questions Modbus

Questions liées

Question issue de notre banque indépendante d'entraînement. Modbus est une marque déposée de Modbus Organization, non affiliée à CertifBus.

Dernière mise à jour : 19 mai 2026

Rejoindre la waitlist
Waitlist Modbus
KNX BASIC & ADVANCED

Prêt à savoir où vous en êtes vraiment ?

10 questions gratuites chaque jour, sans compte. L’accès complet seulement si vous décidez d’aller au bout.

+1/−0,5 barème officielFR·EN·DE interface et corrections9 dès · paiement unique
Newsletter

Reçois les annonces de lancement

On t'écrit quand une nouvelle banque sort (BACnet, Modbus, etc.) ou un nouvel outil. Plus un discount early-bird sur les premiers achats. Aucun spam.

Désinscription en 1 clic. Pas de partage avec des tiers.