Interface Web autonome pour piloter et surveiller en temps réel les alimentations Riden RD60xx depuis un navigateur compatible Web Serial.
La version actuelle, v0.3.1-max, met l'accent sur l'acquisition la plus rapide possible : la tension, le courant et la puissance sont lus dans une boucle Modbus RTU « as fast as possible », sans intervalle de scrutation fixe. La résistance est calculée localement à partir de V / I.
Fichier unique : aucune installation, aucune dépendance JavaScript externe et aucun build requis. L'application tient dans
RD60xx-Panel_v0_3_1_MAX.html.
- Lecture rapide de la tension de sortie — registre 10
- Lecture rapide du courant de sortie — registre 11
- Lecture rapide de la puissance — registres 12 et 13
- Calcul local de la résistance —
R = V / I - Boucle de communication réponse reçue → requête suivante immédiatement
- Aucun
setInterval()dans la boucle rapide - Affichage de la fréquence réellement obtenue en Hz
- Affichage de la période moyenne et du temps de la dernière trame
- Communication série jusqu'à 115200 bps, 8N1
Le mode MAX ne force pas une fréquence arbitraire. Il envoie simplement la requête suivante dès que la réponse précédente a été entièrement reçue et validée. Le débit réel dépend donc du modèle RD60xx, du firmware, de l'interface USB-série, du système et du navigateur.
Le tableau de bord présente quatre courbes indépendantes :
- Tension en volts
- Courant en ampères
- Puissance en watts
- Résistance déduite en ohms
La fenêtre temporelle est sélectionnable directement dans l'interface :
- 2,5 s
- 5 s
- 10 s — valeur par défaut
- 30 s
- 1 min
- 2 min
- 5 min
Le changement de fenêtre ne modifie pas la fréquence de communication avec l'alimentation.
Pour éviter que le rendu SVG ne ralentisse l'acquisition, environ 900 points maximum sont dessinés par courbe à l'écran. Les données série continuent néanmoins d'être acquises à la fréquence maximale.
- Activation / désactivation de la sortie
- Coupure immédiate de la sortie
- Raccourci de coupure : Ctrl + Échap
- Réglage de la tension
- Réglage du courant
- Réglage OVP
- Réglage OCP
- Rappel rapide des mémoires M0 à M9
- Démarrage / arrêt d'une acquisition
- Enregistrement des valeurs V / I / P
- Export des données au format CSV
- Affichage des compteurs Ah et Wh provenant de l'alimentation
- Jusqu'à environ 60 000 échantillons conservés pour l'enregistrement courant
- Réglage de plusieurs options de l'alimentation
- Synchronisation de l'horloge du RD60xx avec l'ordinateur
- Suspension / reprise de la scrutation
- Lecture brute de registres Modbus
- Écriture manuelle d'un registre
- Dump des registres 0 à 119
- Journal des événements
- Journal TX/RX pour les opérations de diagnostic
- Thèmes clair, sombre et système
Le fichier contient une définition pour les modèles suivants :
| Modèle | Tension max. | Courant max. | Puissance max. |
|---|---|---|---|
| RD6006 | 60 V | 6 A | 360 W |
| RD6006P | 60 V | 6 A | 360 W |
| RD6012 | 60 V | 12 A | 720 W |
| RD6012P | 60 V | 12 A | 720 W |
| RD6018 | 60 V | 18 A | 1080 W |
| RD6024 | 60 V | 24 A | 1440 W |
| RD6030 | 60 V | 30 A | 1800 W |
La détection se fait d'abord par l'identifiant retourné par l'appareil, puis par famille lorsqu'un ID exact n'est pas connu. Un modèle peut aussi être forcé manuellement dans le menu de connexion.
Sur un appareil non répertorié ou un firmware inhabituel, vérifier les décimales et les registres dans Diagnostic Modbus avant d'écrire des consignes.
Utiliser un navigateur prenant en charge Web Serial, par exemple une version récente de :
- Google Chrome
- Microsoft Edge
L'application doit être ouverte dans un contexte où Web Serial est autorisé, par exemple depuis le fichier local ou via HTTPS selon la configuration du navigateur.
Configurer l'interface de communication du RD60xx afin qu'elle corresponde aux paramètres choisis dans l'application.
Pour la vitesse maximale prévue par cette version :
Baudrate : 115200
Data bits: 8
Parity : none
Stop bits: 1
Flow ctrl: none
L'adresse Modbus utilisée par défaut est 1.
- Télécharger
RD60xx-Panel_v0_3_1_MAX.html. - Ouvrir le fichier dans Chrome ou Edge.
- Connecter le RD60xx à l'ordinateur par son interface série/USB compatible.
- Cliquer sur l'icône ⚙ en haut à droite.
- Choisir l'adresse Modbus.
- Sélectionner 115200 pour le débit maximal.
- Laisser Détection automatique pour le modèle, sauf besoin particulier.
- Cliquer sur Choisir le port et connecter.
- Autoriser l'accès au port série dans la fenêtre du navigateur.
Une fois connecté, le tableau de bord démarre automatiquement la boucle MAX.
L'acquisition est divisée en deux voies.
La voie rapide ne demande que quatre registres consécutifs :
10 V_OUT Tension de sortie
11 I_OUT Courant de sortie
12 P_H Puissance, mot fort
13 P_L Puissance, mot faible
Une transaction ressemble conceptuellement à ceci :
requête 10..13
↓
attente de la réponse complète
↓
validation Modbus + CRC
↓
conversion V / I / P
↓
calcul R = V / I
↓
requête 10..13 suivante immédiatement
Il n'y a volontairement aucun délai artificiel entre deux transactions réussies.
Les informations qui ne sont pas nécessaires aux quatre courbes sont relues beaucoup moins souvent, environ une fois par seconde :
- consignes V/I
- tension d'entrée
- températures
- protection
- mode CV/CC
- état de sortie
- preset actif
- mode batterie
- Ah / Wh
- verrouillage du panneau
Cette séparation évite de sacrifier le débit des mesures V/I/P/R pour des valeurs qui n'ont pas besoin d'être mises à jour des dizaines de fois par seconde.
La communication série peut fonctionner plus vite que l'affichage. Les mises à jour du DOM sont regroupées et plafonnées à environ 60 rafraîchissements visuels par seconde.
Cela permet de garder le navigateur fluide tout en laissant la boucle Modbus travailler à sa vitesse maximale.
Les échantillons temps réel sont conservés pendant un peu plus de 5 minutes afin de pouvoir changer de fenêtre sans redémarrer l'acquisition.
Limites internes actuelles :
- historique temps réel : environ 305 s
- plafond de sécurité : 70 000 points
- rendu SVG : environ 900 points par courbe
- enregistrement utilisateur : jusqu'à 60 000 points
Le sous-échantillonnage utilisé pour l'affichage ne modifie pas la fréquence d'acquisition série.
La résistance n'est pas lue dans un registre du RD60xx. Elle est calculée :
R = V / I
Lorsque le courant est trop proche de zéro, la résistance est affichée comme indéterminée afin d'éviter une division non significative ou une valeur artificiellement énorme.
Le seuil utilisé correspond à environ un demi-LSB de la mesure de courant du modèle détecté.
| Registre | Fonction |
|---|---|
| 0 | Identifiant du modèle |
| 1–2 | Numéro de série |
| 3 | Firmware |
| 8 | Consigne de tension |
| 9 | Consigne de courant |
| 10 | Tension de sortie |
| 11 | Courant de sortie |
| 12–13 | Puissance |
| 14 | Tension d'entrée |
| 15 | Verrouillage clavier |
| 16 | Protection |
| 17 | Mode CV/CC |
| 18 | État de sortie |
| 19 | Preset actif |
| 32–41 | Batterie, Ah et Wh |
| 48–53 | Horloge |
| 66–72 | Options |
| 80–119 | Mémoires M0 à M9 |
Le bloc Communication affiche notamment :
Nombre de trames rapides réellement complétées par seconde, calculé sur une fenêtre glissante d'environ une seconde.
Temps moyen observé entre deux réponses rapides successives.
Temps écoulé entre l'envoi de la dernière requête rapide et la réception de sa réponse complète.
Compteur cumulé des transactions de la FAST lane.
Nombre d'échecs de communication détectés durant la session.
Après plusieurs erreurs consécutives, l'application avertit l'utilisateur. Après huit échecs consécutifs, la liaison est arrêtée afin d'éviter une boucle d'erreurs permanente.
Le firmware du RD60xx peut verrouiller son panneau avant lorsqu'une communication est active.
L'application propose Suspendre la scrutation dans les réglages. La communication périodique s'arrête alors sans fermer immédiatement le port série, et le panneau peut être libéré par le firmware après quelques secondes.
La reprise de la scrutation réactive la boucle MAX.
L'écran Enregistrement permet d'exporter les mesures sous cette forme :
horodatage,tension_V,courant_A,puissance_W
2026-08-31T20:00:00.000Z,24.530,12.480,306.100La résistance n'est actuellement pas incluse dans l'export CSV de cette version.
Vérifier que le fichier est ouvert dans Chrome ou Edge et que le navigateur autorise Web Serial dans le contexte utilisé.
Vérifier :
- le port série sélectionné ;
- le débit configuré dans le RD60xx ;
- le débit choisi dans l'application ;
- l'adresse Modbus ;
- qu'aucun autre logiciel ne monopolise le même port série.
Le mode MAX ne fixe pas une cadence : il sollicite l'appareil immédiatement après chaque réponse. Si le firmware ou l'interface série ne supporte pas bien cette charge, des erreurs peuvent apparaître.
Pour diagnostiquer le problème :
- suspendre la scrutation ;
- vérifier les paramètres série ;
- essayer un débit série inférieur ;
- consulter Diagnostic Modbus et le Journal.
C'est normal lorsque le courant est nul ou trop faible pour permettre un calcul V / I significatif.
C'est volontaire. L'affichage SVG est allégé pour protéger les performances du navigateur. L'acquisition série reste indépendante du nombre de points réellement dessinés.
Cette interface peut modifier les consignes et activer la sortie d'une alimentation de forte puissance.
- Vérifier la tension et la limite de courant avant d'activer la sortie.
- Utiliser les protections OVP/OCP adaptées à la charge.
- Ne pas considérer le bouton logiciel Couper immédiatement comme un dispositif de sécurité matériel.
- Ne pas intervenir sur un montage sous tension.
- Pour des tensions, courants ou puissances présentant un risque, utiliser un montage, des protections et une supervision appropriés.
Même si l'application est distribuée sous la forme d'un seul fichier HTML, le code est organisé en sections logiques :
core/
namespace
store
service
protocol/
registres Riden
modèles
Modbus RTU
transport/
Web Serial
adapters/
SerialAdapter
services/
journal
bus log
ui/
DOM helpers
écrans
router
shell de l'application
Cette organisation facilite une éventuelle séparation future en plusieurs fichiers sans changer l'architecture générale.
Le projet s'appuie sur la cartographie communautaire du protocole des alimentations Riden RD60xx et reprend une architecture d'application inspirée du projet KP184-BoOm.
- Baldanos / rd6006 — cartographie et outils communautaires RD60xx
https://github.com/Baldanos/rd6006 - KP184-BoOm — référence d'organisation de l'interface et du code
https://github.com/kaboom748/kp184
RD60xx-Panel v0.3.1-max
Points principaux de cette version :
- boucle série as fast as possible ;
- FAST lane registres 10–13 ;
- résistance calculée localement ;
- quatre graphiques séparés ;
- fenêtres 2,5 s à 5 min ;
- historique graphique jusqu'à environ 5 min ;
- mesure du Hz réel et de la latence ;
- rendu graphique découplé du débit série.
Aucune licence n'est déclarée dans le fichier HTML actuel. Avant de publier le dépôt comme projet réutilisable ou redistribuable, ajouter explicitement un fichier LICENSE correspondant aux conditions souhaitées.