Une tension de compteur à 30001
La notice d’un compteur place la tension de phase à 30001. C’est le premier registre d’entrée : lisez-le avec la fonction 04 à l’adresse 0.
Décalage transmis, à partir de 0 0 Ouvrir dans le calculateur
Rechercher sur le site
Essayez un appareil, un protocole ou une conversion, par exemple 50 kW en ampères
Convertissez une adresse Modbus telle qu’elle figure dans une notice (40001, 400001, numéro commençant à 1 ou décalage commençant à 0) vers les autres conventions, y compris le décalage transmis dans la requête.
Registre de maintien, décalage 0 (0x0000).
Les registres voisins
Vous lisez le registre voisin ? La notice et le logiciel ne comptent peut-être pas tous deux à partir de 0 ou de 1 : essayez le registre adjacent.
Les quatre tables
Requête de lecture de ce registre
Le chiffre initial d’une référence (4) n’est jamais transmis : la fonction 03 choisit la table et 0x0000 est l’adresse.
Compléter la trame RTU de l’unité 1 avec son CRCDécalage transmis, à partir de 0
0
Vérifiez les valeurs pour voir un résultat.
Registre de maintien, d’après le 4 initial de la référence. Le code fonction choisit la table ; ce chiffre n’est jamais transmis.
Offset = address − 1 for a 1-based numberoffset = address − 40001 for a holding-register reference (30001, 10001 and 00001 for the other tables)
Registre de maintien 40001 correspond à l’adresse 0 (0x0000) dans la requête Modbus.
Conseil : Si chaque valeur lue semble provenir du registre voisin, le logiciel et la notice n’utilisent probablement pas la même numérotation (à partir de 0 ou de 1). Décalez l’adresse d’une unité.
Les notices utilisent plusieurs notations pour les adresses Modbus : 40001, 400001, registre 1 ou adresse 0 peuvent désigner le même registre de maintien. Une requête Modbus transmet l’adresse commençant à 0, de 0 à 65535 ; le code fonction choisit la table. Pour convertir une référence comme 40001, soustrayez la première référence de sa table : 40001 − 40001 = 0. Saisissez une référence à cinq ou six chiffres exactement comme dans la notice : le calculateur déduit la table du premier chiffre. Pour un numéro commençant à 1 ou à 0, choisissez la table.
adresse = référence − 40001
Le premier chiffre désigne la table : 0 pour les bobines, 1 pour les entrées discrètes, 3 pour les registres d’entrée et 4 pour les registres de maintien. Soustrayez 00001, 10001, 30001 ou 40001. Cette notation ne couvre que 9 999 éléments par table.
adresse = référence − 400001
Même principe, mais avec une capacité de 65 536 éléments par table. Soustrayez 000001, 100001, 300001 ou 400001.
adresse = numéro − 1
Certaines tables numérotent les registres à partir de 1 sans chiffre indiquant la table. Le registre 1 correspond à l’adresse 0.
adresse = numéro
Les tables destinées aux développeurs donnent souvent l’adresse telle qu’elle figure dans la requête, fréquemment en hexadécimal.
Le code fonction, et non l’adresse, choisit la table : 01 lit les bobines, 02 les entrées discrètes, 03 les registres de maintien et 04 les registres d’entrée. Le 4 de 40001 indique d’utiliser la fonction 03 ; il n’est jamais transmis.
La notice d’un compteur place la tension de phase à 30001. C’est le premier registre d’entrée : lisez-le avec la fonction 04 à l’adresse 0.
Décalage transmis, à partir de 0 0 Ouvrir dans le calculateur
La table place une consigne à 40108 : la requête utilise donc la fonction 03 à l’adresse 107 (0x006B). Saisir 108 lit le registre suivant ; cette erreur peut produire une valeur plausible mais fausse. Vérifiez d’abord un registre dont vous connaissez la valeur.
Décalage transmis, à partir de 0 107 Ouvrir dans le calculateur
Les grandes tables utilisent des références à six chiffres, car la notation à cinq chiffres s’arrête à 49999 pour les registres de maintien. La référence 412001 correspond à l’adresse 12000 (0x2EE0) d’un registre de maintien.
Décalage transmis, à partir de 0 12000 Ouvrir dans le calculateur
Première et dernière références à cinq chiffres de chaque table, et début de la notation à six chiffres. Chaque plage commence à l’adresse 0 dans la requête.
| Table | Première à 5 chiffres | Dernière à 5 chiffres | Première à 6 chiffres |
|---|---|---|---|
| Bobines | 00001 | 09999 | 000001 |
| Entrées discrètes | 10001 | 19999 | 100001 |
| Registres d’entrée | 30001 | 39999 | 300001 |
| Registres de maintien | 40001 | 49999 | 400001 |
Non. Il désigne le premier registre de maintien, à l’adresse 0 dans la requête. Le 4 initial indique la table ; le reste compte à partir de 1.
La cause habituelle est une confusion entre numérotation à partir de 0 et à partir de 1 : la table compte à partir de 1 et le logiciel à partir de 0, ou l’inverse. Si une valeur semble provenir du registre voisin, décalez l’adresse d’une unité et comparez.
La fonction 03 lit les registres de maintien et 04 les registres d’entrée. La fonction 06 écrit un seul registre de maintien et 16 (0x10) en écrit plusieurs.
65535 (0xFFFF) dans chaque table, car le champ d’adresse de la requête fait 16 bits. Les références à cinq chiffres ne dépassent pas 9999 éléments par table ; d’où l’existence des références à six chiffres.
Un ZMB relie un appareil Modbus RS-485 au réseau sans fil. Les entrées discrètes et les registres d’entrée sont en lecture seule ; les bobines et les registres de maintien peuvent être écrits si l’appareil le permet. Le Gateway peut aussi lire directement les appareils Modbus.