Qu’est-ce que le RS485 ?
Le RS485 est une norme de transmission électrique, pas un protocole. Les données circulent sous forme de différence de tension entre deux fils, généralement appelés A et B, parfois D+ et D−. Comme le récepteur n’évalue que la différence, les perturbations qui touchent les deux fils de la même façon s’annulent en grande partie. C’est pourquoi le RS485 fonctionne aussi dans des armoires avec variateurs de fréquence et sur de longues distances.
Classiquement, un segment supporte 32 participants (unit loads) ; les émetteurs modernes ne chargent le bus que d’une fraction de cela. La ligne peut mesurer environ 1200 m, moins à débit élevé.
Différents protocoles circulent sur le RS485, outre le Modbus RTU par exemple le BACnet MS/TP. Pour un compteur d’énergie RS485, ce n’est donc qu’avec le protocole que l’on sait comment le relever.
Comment câbler correctement un bus RS485 ?
- Poser en ligne : d’appareil en appareil, sans étoile et sans longues dérivations.
- Placer une résistance de terminaison de 120 Ω à chacune des deux extrémités de la ligne, pas sur chaque appareil.
- Utiliser un câble de données torsadé et blindé, idéalement avec une impédance caractéristique d’environ 120 Ω.
- Faire suivre la masse de référence (GND) si les appareils sont éloignés ou alimentés différemment.
- Régler le même débit, la même parité et les mêmes bits d’arrêt sur tous les appareils.
Les pièges les plus fréquents lors du montage du bus sont décrits dans l’article Modbus RTU sur RS-485 : les cinq pièges les plus fréquents.
Qu’est-ce que le Modbus RTU ?
Le Modbus est un protocole ouvert que Modicon a développé en 1979 pour les automates. RTU signifie Remote Terminal Unit et désigne la variante binaire pour les lignes série. Un maître, par exemple un automate, un enregistreur de données ou un système de gestion de l’énergie, envoie une requête à une adresse d’esclave, et seul cet appareil répond. Un esclave n’émet jamais de lui-même.
Un télégramme se compose de l’adresse, du code de fonction, des données et d’une somme de contrôle CRC16. Entre deux télégrammes, une pause d’au moins 3,5 caractères permet aux appareils d’en reconnaître le début et la fin.
| Code de fonction | Signification | Usage typique |
|---|---|---|
| 03 | Lire des holding registers | Valeurs mesurées et réglages |
| 04 | Lire des input registers | Valeurs mesurées |
| 06 | Écrire un registre | Modifier un réglage |
| 16 | Écrire plusieurs registres | Écrire plusieurs valeurs en un bloc |
Comment lire correctement les registres Modbus ?
Le Modbus ne connaît que des registres de 16 bits. Un index de 32 ou 64 bits se répartit sur deux ou quatre registres consécutifs. C’est chaque fabricant qui décide si le mot de poids fort vient en premier. Si un système fournit des valeurs absurdes, l’ordre des octets ou des mots est généralement inversé.
La numérotation des adresses diffère aussi : certains manuels comptent à partir de 0, d’autres à partir de 1. Si une valeur est décalée d’exactement un registre, c’est presque toujours la raison.
Quand le Modbus RTU sur RS485 convient-il ?
Le Modbus RTU convient lorsqu’un automate ou un enregistreur interroge directement des compteurs dans la même armoire ou le même bâtiment et qu’aucun réseau ne mène aux compteurs. Avec de nombreux compteurs dans plusieurs bâtiments ou plusieurs systèmes cibles, une passerelle est rentable. La comparaison avec la variante réseau se trouve dans l’article Modbus TCP ou Modbus RTU ? et sur la page Qu’est-ce que le Modbus TCP ?.
RS485 et Modbus RTU avec les appareils EMU
Le compteur d’énergie RS485 EMU Professional II parle Modbus RTU, en EMU Professional II 3/100 pour raccordement direct jusqu’à 100 A ou en 3/5 pour raccordement sur transformateurs.
L’EMU M-Center dispose de deux ports RS485, lit jusqu’à 64 appareils Modbus RTU et transmet les valeurs en BACnet IP ou MQTT.