Problème convertion adresses Hexa Decimal

Bonjour,

Je suis en train d’étudier la mise en place d’un compteur d’énergie CHINT DDSU666 pour mesurer l’énergie entrante/sortante.

Les informations à récupérer sont décrites dans cette doc à partir de la page 10 (Table 9) : https://chint.com.ar/storage/DDSU666%20-%20MANUAL%20DE%20USUARIO%20-%20INGLES.pdf

J’ai déjà pu récupérer les infos « exploitables » des pages 10 et 11 mais la page 12 me résiste encore… Et c’est là que j’ai besoin de votre aide :wink:

A l’époque, echo m’avais aidé à me documenté sur le sujet et m’avais notamment dit :

Sauf que même en convertissant les adresses en décimal, rien à faire, je ne récupère que des zéros :frowning:

Une chose m’intrigue. Pour l’information Voltage, j’ai réussi à la récupérer en passant par l’adresse Modbus 512, alors que si on converti la valeur 2000 en Hexa, ça donnerai 8192 en décimal. En retirant 1 zéro de la valeur Hexa, on tombe sur 512 en décimal et ça me retourne bien la valeur indiquée sur l’afficheur du compteur d’énergie.

J’ai essayé d’appliquer la même chose pour les autres informations de la page 12 mais rien à faire.

Voici des captures de l’équipement et des commandes :

Si une âme charitable a quelques minutes pour m’expliquer où j’ai fait une erreur :slight_smile:

Bonjour,

Je ne vois pas la commande pour le premier registre décrit page 12 à l’adresse 8192 (2000H). Pour le type de données, ça doit être configuré en float32.

En voyant la config, il semblerait que tu ais lu 200H (512) et pas 2000H (8192).

Si les données te semblent incohérentes, essaie en inversant les mots puisque l’ordre des octets est le bon.

NB: 200Ah = 8202

edit: comme les adresses se suivent, tu peux utiliser les plages de données pour optimiser la communication.

A+
Michel

Bonjour,

Merci pour la réponse rapide.

Après avoir retourné Google de fond en comble, j’ai fini par comprendre… La documentation que j’ai utilisé n’est pas la bonne. La référence concernée par la doc est DDSU666 alors que le modèle que je possède est DDSU666-H

Et là, c’est le drame car à priori, les chinois de Huawei sont pas très partageurs (ils se font pas mal blâmer sur les forums que j’ai trouvé).

Savez-vous s’il existe des sniffeurs ou des trucs du genre pour le protocole Modbus qui pourraient me permettre de passer les adresses en revue pour voir si au moins elles renvoient des données et dans un second temps, j’adapterai les types de données ?

Quelque part, ça me rassure, je ne suis pas fou, la méthode était la bonne mais basée sur de mauvaises infos :wink:

Merci pour l’astuce des plages de données, je vais essayer ça.

Perso, j’ai aussi ce compteur mais connecté à un onduleur SUN2000 avec lequel je communique en Modbus. Je ne sais pas comment sniffer du Modbus s’il n’y a pas un autre maître sur le bus.

En connexion série (RS485 par exemple) il est possible de lire ce qu’il se passe sur le bus.

Oui, Huawei botte toujours en touche en disant d’interroger cet onduleur plutôt que passer par le compteur d’énergie.

Il faut que je regarde comment fonctionne les plages de données si ça peut m’aider.

Si je n’y arrive pas, je demanderais gentiment à Ali express de m’envoyer un DDSU666 tout court :slight_smile:

J’en profite pour vous remercier pour le boulot réalisé sur plugin en beta, moi qui n’ait jamais utilisé Modbus, j’arrive à m’y retrouver :wink:

1 « J'aime »

Bonjour

As tu regardé ce post, peut être une piste:https://community.home-assistant.io/t/huawei-power-meter-dtsu-666-h-modbus/551272

Le problème du Modbus c’est que l’on travaille avec des mots de 16 bits mais après il faut les interpréter, le format n’est pas intégrer dans les trames, il existe même des formats spécifiques aux fabricants, j’ai aussi vu des systèmes avec des banc de mémoires, on doit envoyer une commande d’écriture pour basculer les bancs. Sans la table Modbus c’est la galère.

Cordialement

Merci pour le post, je l’avais trouvé hier :wink:

Les données manquantes ont toutes l’air d’être au format float32.

Par contre je viens de regarder le fonctionnement des plages de registres et comme il faut préciser individuellement le stockage des données récupérées (il faut bien les mettre quelque part me direz vous !), mon idée de parcourir des plages facilement tombe à l’eau :smiley:

Ca ressemble aux 12 travaux d’Hercules mon affaire… :face_with_spiral_eyes:

Je vais faire quelques tests et je vous dirais si c’est concluant ou non.

Je pense franchement que la documentation d’un plugin est importante, c’est la raison pour laquelle j’ai passé tellement de temps à la rédiger. Je pense que ça porte ses fruits.

2 « J'aime »

A cœur vaillant, rien d’impossible :wink:

Voici les valeurs que j’ai trouvé en tatonnant, dans l’ordre du Quick Guide https://support.huawei.com/enterprise/en/doc/EDOC1100020895

Numéro Description Adresse Modbus Type de données
1 Combined Active energy 16388 float32
2 Imported energy (Imp) 16398 float32
3 Exported energy (Exp) 16404 float32
4 None parity, 1 stop bit, baud=9600bps 12 int16
5 Communication address 6 int16
6 Voltage (U) 8192 float32
7 Current (I) 8194 float32
8 Active power (P) 8198 float32
9 Power factor (Ft) 8216 float32
10 Frequency (F) 8224 float32
1 « J'aime »

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.