Passer au contenu
Elausys

HyperVisu / Intégrations

Intégration Modbus TCP

Registres, codes de fonction, interrogation et mise à l’échelle, avec un exemple d’onduleur.

elausys · 27 juillet 2026
Sur cette page

Intégration Modbus TCP

Modbus TCP connecte HyperVisu aux équipements industriels et énergétiques : onduleurs solaires, chargeurs de véhicules électriques, pompes à chaleur, unités de ventilation, automates. HyperVisu est le client Modbus — il interroge les registres de l’équipement et y écrit lorsque vous commandez un widget.

Éléments nécessaires : l’adresse IP de l’appareil, le port Modbus (généralement 502), sa table de registres (dans la documentation Modbus du fabricant) et son ID d’esclave/d’unité.

Connexions. Activez d’abord Modbus TCP Protocol sur la page Services (voir « Services et protocoles ») ; il est désactivé sur un nouveau serveur. Modbus TCP est un protocole à connexions multiples : créez une connexion par serveur Modbus (par IP/port) sur la page Connections (voir « Connexions »). Dans Add connection, sélectionnez la carte Modbus TCP et saisissez un Instance Name, le Server IP Address et un Poll Interval (seconds) — la fréquence à laquelle HyperVisu lit tous les objets de cette connexion. Saisissez l’intervalle : le 30 gris est seulement une indication ; un champ laissé vide fait interroger le serveur toutes les 5 secondes.

La boîte de dialogue n’a pas de champ de port : la connexion est créée sur le port 502. Si l’équipement écoute sur un autre port, sélectionnez la nouvelle connexion, modifiez Modbus TCP Port et cliquez sur Save connection.

Une connexion Modbus n’a pas de bouton Test. Le contrôle repose sur l’état Connected de la page Connections et la valeur en direct d’un objet lié.

Liaison d’un objet. Liez les registres Modbus aux objets de widget dans l’espace Devices. Pour chaque objet, définissez :

ParamètreSignification
Slave IDL’identifiant de l’unité, 1–247.
Register typeBobine, entrée discrète, registre d’entrée ou registre de maintien.
Register addressL’adresse du registre dans la table de l’appareil, de 0 à 65535. Elle est envoyée à l’équipement exactement telle que saisie : entrez l’adresse du protocole, pas un numéro de référence 4xxxx ou 3xxxx. Attention au décalage de un : certains fabricants documentent les adresses à partir de 1, Modbus compte à partir de 0.
Data typeLa manière de décoder les registres bruts (entier signé/non signé de 16/32 bits, flottant, …).
Byte orderL’ordre des mots/octets pour les valeurs occupant plusieurs registres — indiqué dans la documentation du fabricant. Le champ apparaît uniquement pour les types de données occupant deux registres ou plus (32 bits, 64 bits et virgule flottante).
Write FunctionRegistres de maintien uniquement. Laissez Automatic (FC6 / FC16), sauf si l’équipement n’implémente pas FC6 ; choisissez alors Always FC16 (write multiple).
ScalingScale, Offset, Decimal Places et Units. La ligne Formula affiche Display = (Raw × scale) + offset avec une valeur brute d’exemple fixe, pas la mesure de l’équipement. Un facteur de 0 est interprété comme 1.

📘 Remarque : Le facteur et le décalage de l’objet s’appliquent avant toute transformation sur ce même objet (voir « Transformations des valeurs et état de fonctionnement »). N’ajoutez pas de transformation de mise à l’échelle par-dessus, sinon la valeur est mise à l’échelle deux fois.

Exemple pratique — puissance d’un onduleur dans un compteur

La documentation de l’onduleur indique : puissance active, registre d’entrée 32080, entier signé de 32 bits, gain 1, unité W, ID d’unité 1.

  1. Créez une connexion Modbus TCP pour l’onduleur : Server IP Address 192.168.1.120, Poll Interval (seconds) 10 (voir « Connexions »). La connexion est créée sur le port 502.
  2. Dans Devices, ajoutez un widget Meter « Production solaire », pièce Technique, catégorie Énergie. Sous Protocol, sélectionnez la connexion de l’onduleur, affichée sous le nom que vous lui avez donné.
  3. Ouvrez son objet de puissance et saisissez : Slave ID 1, Register type Input register, Register address 32080, Data type INT32, Byte order selon la documentation.
  4. Définissez Scaling : facteur 0.001, décalage 0, décimales 2, unités kW. Une valeur brute de 5230 devient 5.23 kW.
  5. Cliquez sur Save object, puis sur Apply changes dans la barre latérale et confirmez. La connexion, l’appareil et ses objets deviennent actifs ensemble à cet instant.
  6. Attendez au moins un intervalle d’interrogation. La valeur en direct apparaît sur la ligne du widget ; comparez-la avec l’affichage de l’onduleur.

💡 Conseil : Activez la journalisation sur l’objet (voir « Paramètres des objets, journalisation et notifications ») pour que le compteur dispose de graphiques et d’un historique dans l’app.

Éditeur d’objet Modbus.

Liaison Modbus

Les objets Modbus se configurent dans la boîte de dialogue des paramètres de l’objet (ouvrez l’objet avec Edit, voir « Paramètres des objets, journalisation et notifications »). Les sections Modbus sont :

Connection

ChampDescription
Slave IDL’ID de l’appareil esclave Modbus (1–247).

Data Configuration

ChampDescription
Register TypeLa table de registres à lire ou à écrire (par exemple registres de maintien ou d’entrée).
Register AddressLe numéro du registre.
Data TypeLa manière d’interpréter les octets du registre (tailles d’entiers, flottant, …).
Byte OrderL’ordre des mots/octets utilisé par l’appareil.

Scaling & Conversion

ChampDescription
ScaleMultiplie la valeur brute par ce facteur (par exemple 0.1 pour diviser par 10).
OffsetAjouté après la mise à l’échelle (par exemple -273.15 pour Kelvin → Celsius).
Decimal Places / UnitsPrécision d’affichage et unité.

La boîte de dialogue affiche la formule en direct — Display = (Raw × scale) + offset — avec un exemple chiffré, pour vérifier la conversion avant l’enregistrement.

Paramètres de l’objet Modbus.

💡 Conseil : Les numéros de registre, les codes de fonction et un exemple pratique complet figurent dans le chapitre Modbus.

Questions fréquentes

Quelles informations faut-il pour un appareil Modbus ?

Son adresse IP, son port, son ID d’esclave/d’unité et la table de registres du fabricant, notamment les types de registres, les adresses, les types de données et l’ordre des octets.

Faut-il une connexion pour chaque registre ?

Non. Créez une connexion par adresse IP et port du serveur Modbus, puis liez ses registres aux objets de widget individuels.

Pourquoi une mesure Modbus est-elle incorrecte ?

Vérifiez la base des adresses de registre, le type de données, l’ordre des octets et la mise à l’échelle avec la table du fabricant. Certains documents numérotent les adresses à partir de un, tandis que Modbus compte à partir de zéro.

Comment convertir une mesure brute dans l’unité affichée ?

Définissez le facteur et le décalage dans les paramètres de l’objet. La ligne Formula affiche Display = (Raw × scale) + offset avec une valeur brute d’exemple fixe, pas la mesure de l’équipement.

À quelle fréquence les mesures Modbus sont-elles actualisées ?

Chaque connexion possède son propre intervalle d’interrogation. Comparez la valeur en direct avec l’affichage de l’équipement après une interrogation.

Continuer l'exploration

Retrouvez les autres guides de ce produit dans la documentation.

Retour à Intégrations