Planification et mise en service

Mise en service Modbus RS-485

Mise en service Modbus RTU sur RS-485 : appareils, câblage, terminaison, polarisation, adresses, décodage, interrogation et réception.

Modbus RTU sur RS-485 relie compteurs, variateurs et contrôleurs à un maître par un même câble à paire torsadée. La mise en service doit vérifier le bus physique, les paramètres série, l'identité de chaque appareil, la signification de chaque registre lu, la durée du cycle d'interrogation et le comportement du système lorsqu'un appareil ne répond plus. Ce guide suit cet ordre et se termine par un procès-verbal de réception. Pour les équipements connectés au réseau plutôt qu'à un bus série, consultez le guide Modbus TCP et RTU.

Télécharger le modèle de procès-verbal de réception (.txt). Imprimez-le ou remplissez-le sur site.

Consigner les caractéristiques de chaque appareil

Pour chaque appareil, notez le modèle et la version du micrologiciel exacts, l'identifiant d'unité (adresse de station), le débit en bauds, la parité, le nombre de bits de données et le nombre de bits d'arrêt. Tous les appareils d'un même bus utilisent les mêmes paramètres série.

Pour chaque point à lire, consignez le type d'objet, le code de fonction, l'adresse du protocole à partir de zéro, le numéro de référence tel qu'il figure dans le manuel, le nombre de registres, le type de données, l'ordre des octets et des mots, le facteur d'échelle, l'unité, les droits de lecture ou d'écriture et la plage attendue.

Les manuels utilisent plusieurs conventions d'adressage. Dans la notation classique, 40001 désigne le registre de maintien à l'adresse 0, lu avec le code de fonction 03 :

Le convertisseur d'adresses Modbus affiche à la fois le type d'objet et chaque convention, afin de détecter un décalage d'un registre avant de configurer les points.

Câbler le bus RS-485

Le guide Modbus pour ligne série décrit un câble principal reliant successivement les appareils, une terminaison à chaque extrémité, une polarisation à un seul endroit et un conducteur commun. Le guide de câblage RS-485 explique ces règles ; le guide RS-485 et Modbus distingue la couche électrique du protocole.

Bus Modbus RTU RS-485 à deux fils Une interface Modbus ZMB se trouve à une extrémité d’un bus en chaîne comportant les conducteurs A, B et commun. Trois compteurs sont raccordés le long du bus. Une terminaison de 120 Ω se trouve à chaque extrémité et le bus est polarisé à un seul endroit. Interface ZMB Maître Modbus RTU pol. ici A B C 120 Ω Compteur ID unité 1 Compteur ID unité 2 Compteur ID unité 3 bus : A, B et commun Polarisation à un seul endroit 120 Ω à chaque extrémité Chaîne avec dérivations courtes, un ID d’unité unique par appareil
Bus RS-485 à deux fils : le maître à une extrémité, les appareils raccordés par de courtes dérivations, une terminaison de 120 Ω à chaque extrémité et une polarisation à un seul endroit.

Vérifiez :

  • le mode à deux ou quatre fils et le nom des bornes de chaque appareil (les fabricants utilisent A/B, D+/D− ou 485+/485− et peuvent inverser les lettres) ;
  • un seul câble principal en chaîne, avec de courtes dérivations et sans branchement en étoile ;
  • une terminaison à chacune des deux extrémités du câble principal, uniquement à ces endroits ;
  • une seule source de polarisation si le réseau en a besoin ; de nombreux maîtres et certains appareils disposent d'une polarisation commutable ;
  • le conducteur commun, le blindage et la mise à la terre conformément à la conception du projet ;
  • les répéteurs et isolateurs, ainsi que leur emplacement.

Le vérificateur de terminaison et de polarisation RS-485 repère les contradictions d'une topologie, par exemple trois terminaisons ou une polarisation à deux endroits. Les instructions de l'appareil précisent si la terminaison et la polarisation sont intégrées, commutables ou externes.

Ajouter les appareils un par un

Commencez avec un segment court et éprouvé et un seul appareil. Confirmez les paramètres série et lisez une valeur simple documentée. Ajoutez ensuite les appareils un par un et tenez une liste des stations. Si deux appareils partagent le même identifiant d'unité, ils répondent à la même requête et perturbent mutuellement leurs réponses : le défaut paraît alors intermittent.

Pour les compteurs courants, les tables de registres Modbus du répertoire des appareils donnent chaque adresse en décimal et en hexadécimal, avec son code de fonction, son format, son échelle et l'ordre des mots, d'après le document de protocole du fabricant.

Une réponse d'exception est une information utile : l'appareil a reçu la requête et l'a rejetée. Le code 02 (adresse de données illégale) indique généralement une mauvaise adresse ou un mauvais nombre de registres. L'absence de réponse oriente plutôt vers le câblage, les paramètres série ou l'identifiant d'unité. Le répertoire des fonctions et exceptions Modbus présente tous les codes.

Pour vérifier manuellement une requête, calculez son CRC. Celle-ci lit trois registres de maintien de l'unité 17 (0x11), à partir de l'adresse 107 (0x6B) :

Décoder les valeurs : exemple

Deux registres de 16 bits peuvent contenir un flottant de 32 bits, un entier de 32 bits ou deux valeurs distinctes. La table de registres définit le type et l'ordre des mots et des octets. Capturez les mots bruts d'une valeur stable et décodez-les manuellement avant de configurer le reste de l'appareil.

Par exemple, les mots 436A 0000, décodés comme un flottant de 32 bits avec les mots et les octets de poids fort en premier, donnent 234,0 : une tension de phase plausible.

Comparez cette valeur à l'affichage de l'appareil. Un mauvais ordre des mots peut encore donner un petit nombre plausible : seule la concordance avec l'affichage valide le décodage. Conservez les mots bruts avec la configuration pour pouvoir détecter une modification ultérieure du micrologiciel ou de la table. Le guide des tables de registres détaille les conventions d'adressage, les types de données, l'ordre des mots et la mise à l'échelle.

Interrogation et délais d'attente

La durée d'une trame dépend du débit en bauds et du format des caractères. Celle d'un cycle d'interrogation dépend aussi du temps de réponse de chaque appareil, de la pause entre les requêtes, de la politique de nouvelle tentative ainsi que du nombre et de la taille des requêtes.

À 9 600 bauds, avec une parité paire et un bit d'arrêt, une requête de 8 octets, une réponse de 25 octets, un délai de réponse de 5 ms et dix appareils, un cycle complet dure environ 470 ms :

Prenez ce calcul comme une borne inférieure, puis mesurez les appareils réels. Notez le temps de réponse le plus long observé en fonctionnement normal, pas seulement sur un banc peu chargé. Interroger le bus plus vite que sa capacité produit des délais d'attente, pas davantage de données. Le guide sur l'interrogation et les nouvelles tentatives montre le coût d'un appareil hors ligne à chaque cycle ; le guide de dépannage distingue délais d'attente, exceptions et valeurs erronées.

Qualité des données

L'application qui reçoit les mesures doit distinguer une valeur récente d'une valeur conservée en cache, expirée, issue d'une exception, hors plage ou obsolète. Définissez :

  1. l'horodatage d'acquisition et, s'il existe sur l'appareil, celui de la source ;
  2. l'ancienneté maximale acceptable d'une valeur ;
  3. les seuils de nouvelle tentative et de déclaration hors ligne ;
  4. le maintien éventuel de la dernière valeur à l'écran et son marquage ;
  5. la gestion des remises à zéro et des retours à zéro des compteurs ;
  6. le comportement des règles en aval lorsque la qualité d'une valeur est insuffisante.

Procès-verbal de réception

Conservez un procès-verbal par bus. Le modèle téléchargeable couvre :

ChampExemple
Maître, modèle et micrologicielInterface ZMB
Paramètres série9 600 bauds, 8 bits de données, parité paire, 1 bit d'arrêt
TopologieChaîne, 120 Ω au maître et à l'unité 3, polarisation au maître
Liste des appareilsIdentifiants d'unité 1 à 3, modèles et micrologiciels consignés
Mots bruts pour chaque type de données436A 0000 = 234,0 V, conforme à l'affichage
Cycle d'interrogation calculé et mesuré470 ms calculés, 520 ms mesurés
Essais de panneUn appareil débranché : les autres continuent à être interrogés, valeur marquée obsolète
Nom et date

Répétez ces essais après toute modification du micrologiciel, de la table de registres, de la topologie, des paramètres série ou de l'interrogation. Pour la conception complète, poursuivez avec le guide d'intégration des compteurs dans un BMS ou système SCADA, consultez les appareils Modbus dont les tables de registres sont documentées, ou composez un système à partir de la liste des appareils.