Produits/M-Center/M-Bus vers Modbus TCP

M-CenterApplication

M-Bus vers Modbus TCP : tous les compteurs dans une table de registres

Automates, API et systèmes de supervision parlent presque toujours Modbus TCP. Avec la licence serveur Modbus TCP, l’EMU M-Center met les valeurs de tous les compteurs M-Bus à disposition via Modbus TCP. Les adresses des registres suivent une table fixe par code OBIS.

L’essentiel en bref

  • Port 502, une adresse d’appareil Modbus par compteur, big endian.
  • Chaque valeur est disponible en float32 et en uint64.
  • Avec un code OBIS saisi, chaque mesure se trouve à une adresse fixe, quel que soit le fabricant du compteur.
  • Des registres d’état indiquent si la dernière relève d’un compteur a réussi.
  • Licence serveur Modbus TCP (M-Bus vers Modbus TCP) : référence 210.300.04.
2885.6Professional IIAppareil 9 · SN 22090156
1412.3Professional IIAppareil 10 · SN 22090157
3207.9Professional IIAppareil 11 · SN 22090158
EMU M-CenterMaître M-Bus · serveur Modbus TCP · 10:2C:EF:02:6C:B9
EMU M-CenterServeur Modbus TCP
OBIS 1-0:1.8.0 → registre 1000
Appareil 9SN 22090156–
Appareil 10SN 22090157–
Appareil 11SN 22090158–
Automate / système de supervisionClient Modbus TCP · 192.168.1.20
Valeurs dans l'automate
Appareil 9Soutirage total–
Appareil 10Soutirage total–
Appareil 11Soutirage total–
Requête M-Bus

Le M-Center interroge chaque Professional II via la ligne bifilaire (REQ_UD2). Le compteur répond avec ses valeurs (RSP_UD).

Représentation simplifiée. Numéros de série, adresses et valeurs sont des exemples. En service, le M-Center relève par défaut toutes les 15 minutes.

Paramètres de connexion

ParamètreValeur
Port TCP502
Adresse d’appareil (ID esclave)le « numéro d’appareil serveur Modbus TCP » du compteur dans le M-Center
Ordre des octetsBig endian
Ordre des motsMSB → LSB
Numérotation des registresdès 1

Chaque compteur reçoit dans le M-Center sa propre adresse d’appareil. Le système cible n’interroge donc pas un grand bloc de registres, mais s’adresse à chaque compteur par son adresse, comme sur une ligne Modbus avec de nombreux participants.

Dans le manuel, les numéros de registre commencent à 1. Certains programmes attendent l’adresse à partir de 0, soit 1029 au lieu de 1030. Vérifiez la numérotation une fois avec un index connu.

Deux chemins vers la mesure

Par numéro de registre du compteur

Le n-ième registre d’un compteur se trouve à 12000 + 30 × n (float32) et 12002 + 30 × n (uint64). Le registre 0 est donc à 12000, le registre 3 à 12090. Cela fonctionne sans autre réglage, mais la position dépend du modèle de compteur.

Par code OBIS

Saisissez dans le M-Center le code OBIS des registres. Chaque mesure se trouve alors à une adresse fixe, quel que soit le compteur qui la fournit. Extrait de la table :

Code OBISMesurefloat32uint64
1-0:1.8.0Énergie active soutirée, totale10001002
1-0:1.8.1Énergie active soutirée, tarif 110301032
1-0:1.8.2Énergie active soutirée, tarif 210601062
1-0:2.8.0Énergie active injectée, totale11501152
1-0:3.8.0Énergie réactive soutirée, totale13001302
1-0:4.8.0Énergie réactive injectée, totale14501452
1-0:1.7.0Puissance active soutirée, totale17501752
1-0:2.7.0Puissance active injectée, totale18701872
1-0:11.7.0Courant, total23502352
1-0:32.7.0Tension phase 124702472
1-0:14.7.0Fréquence26502652
8-0:1.0.0Volume eau froide30003002
9-0:1.0.0Volume eau chaude30303032
7-0:3.0.0Volume gaz30603062
5-0:1.0.0Énergie compteur de froid40004002
4-0:1.0.0Index compteur de chaleur40604062
Extrait. La table complète avec tarifs, phases et températures se trouve dans le manuel du M-Center, chapitre Modbus Server.

L’unité correspond à celle réglée pour le registre dans le M-Center. Un diviseur saisi à cet endroit est déjà appliqué.

Registres d’état : la relève a-t-elle réussi ?

Informationfloat32uint64
Intervalle de relève1188011882
Code d’état1191011912
Horodatage de la dernière tentative de relève1194011942
Horodatage de la dernière relève réussie1197011972

Lisez ces registres en uint64, car float32 ne représente les grands nombres que de manière approchée. Code d’état 1 : dernière relève réussie. 2 : dernière relève non réussie. 3 : relève réussie, mais le compteur signale lui-même une perturbation. En lisant ces registres, on remarque immédiatement quand un compteur ne répond plus.

Exemple avec modpoll

Un EMU Professional II a l’adresse d’appareil 9 dans le M-Center. Son registre 3 porte le code OBIS 1-0:1.8.1. Les deux requêtes renvoient l’index de soutirage tarif 1 en nombre à virgule flottante :

modpoll -1 -m tcp -t 4:float -i -f -r 1030 -a 9 -c 1 -p 502 <M-Center-IP>
modpoll -1 -m tcp -t 4:float -i -f -r 12090 -a 9 -c 1 -p 502 <M-Center-IP>

À ne pas confondre : client Modbus TCP

La licence 210.300.04 fait du M-Center un serveur Modbus TCP : d’autres systèmes lisent les valeurs dans le M-Center. La licence 210.200.03 correspond au sens inverse. Avec elle, le M-Center lit lui-même jusqu’à 20 appareils via Modbus TCP, par exemple des bornes de recharge ou des onduleurs.

Références de commande

ArticleRéférenceBoutique
M-Center pour 20 appareils M-Bus210.000.00Boutique: EMU M-Center 210.000.00 →
Licence M-Bus 20 → 250 appareils210.020.03Boutique: M-Center M-Bus-Lizenz 20 → 250 Geräte 210.020.03 →
Licence Modbus TCP (M-Bus vers Modbus TCP)210.300.04
Licence Modbus TCP 20 appareils (client)210.200.03

Commander en ligne dans la boutique EMU Metering.

Questions fréquentes


Pourquoi float32 et uint64 ?

float32 est pratique mais arrondit les grands index. uint64 fournit la valeur sans arrondi. Pour la facturation et les registres d’état, utilisez uint64.

Dois-je connaître la position des registres de chaque compteur ?

Non, si vous saisissez des codes OBIS. L’index de soutirage tarif 1 se trouve alors par exemple à l’adresse 1030 pour chaque compteur, seule l’adresse d’appareil change.

Puis-je aussi interroger des compteurs Modbus RTU via Modbus TCP ?

Le M-Center lit jusqu’à 64 appareils Modbus RTU via ses deux interfaces RS-485. Avec un code OBIS saisi, leurs valeurs se trouvent dans la même table de registres.

À lire aussi


SEITEEMU M-CenterProduit SEITEM-Center dans LoxoneGuide SEITEM-Center dans Home AssistantGuide PDFManuel du M-CenterPDF

Raccorder des compteurs à un automate ?


Envoyez-nous la liste des compteurs. Nous vous aidons pour les adresses, les codes OBIS et les licences.

Téléphone
+41 (0)41 545 03 00

Support technique
helpdesk [at] emuag.ch
Formulaire de support →