Problèmes connus du WB-UPS v.3
ERRMODBUS007 : perte d’événements lorsque deux appareils émettent simultanément sur un même bus
Appareils concernés
WB-UPS v.3 avec un micrologiciel antérieur à 1.3.2.
Description
Lorsque deux appareils d’un même bus ont simultanément des événements en attente, l’un d’eux peut transmettre un paquet d’événements incomplet.
Cause et détails
Dans Fast Modbus, le maître demande les événements. Tous les appareils ayant des événements en attente participent à l’arbitrage ; le gagnant répond et les autres attendent la requête suivante.
Un événement généré attend sa transmission. Après que l’appareil a placé sa trame sur le bus, l’événement est marqué comme envoyé. Le prochain acquittement du maître destiné à cet appareil retire les événements envoyés de sa file. C’est le mécanisme normal d’acquittement.
Le défaut marquait les événements comme envoyés trop tôt, dès la réception de la requête d’événements, avant la fin de l’arbitrage. Si l’appareil gagnait l’arbitrage, le fonctionnement était normal. S’il le perdait, aucun paquet n’était transmis, mais ses événements étaient déjà marqués comme envoyés. Un acquittement ultérieur destiné à cet appareil acquittait aussi ces événements non envoyés, les retirant de la file avant qu’ils n’atteignent le maître.
La valeur dans l’interface web n’est pas mise à jour et aucun message MQTT n’est publié, alors que les registres de l’appareil restent corrects. La notification de changement est perdue.
Par exemple, si des entrées de deux modules à relais du même bus se ferment simultanément, un module peut se mettre à jour correctement dans l’interface web tandis que l’autre perd certains événements et apparaît encore dans son état précédent malgré la commutation physique.
Solution de contournement
Désactivez temporairement le fonctionnement par événements pour les registres concernés en réglant sporadic sur false dans le modèle d’appareil. Les registres seront alors interrogés à l’intervalle configuré.
Résolution
Corrigé dans le micrologiciel 1.3.2.
ERRMODBUS008 : comportement inattendu avec de longues trames de requête
Appareils concernés
WB-UPS v.3 avec un micrologiciel antérieur à 1.4.1.
Description
La réception d’une trame de plus de 265 octets, longueur maximale d’une trame Fast Modbus, peut bloquer et redémarrer l’appareil ; les paramètres peuvent aussi être perdus dans certains cas.
Cause et détails
L’algorithme de réception ne gérait pas les requêtes invalides trop longues, provoquant un débordement de tampon et une corruption de la mémoire adjacente. L’appareil se bloque et le chien de garde le redémarre. Des trames très longues, au-delà d’environ 500 octets, peuvent aussi corrompre les paramètres, provoquant un redémarrage avec les paramètres de communication par défaut : 9600 8N2, adresse 1.
Solution de contournement
- N’envoyez pas de requêtes dépassant les limites de Modbus RTU ou Fast Modbus (265 octets pour Fast Modbus).
- Ne raccordez pas l’appareil à un bus transportant du trafic autre que Modbus ou des messages de plus de 265 octets.
Résolution
Corrigé dans le micrologiciel 1.4.1.
ERRMODBUS009 : comportement inattendu lors de lectures près de l’adresse 0xFFFF en mode de lecture continue
Appareils concernés
WB-UPS v.3 avec un micrologiciel antérieur à 1.4.1.
Description
Lorsque le mode de lecture continue est activé, une plage de lecture atteignant ou franchissant l’adresse 0xFFFF peut bloquer et redémarrer l’appareil.
Cause et détails
L’algorithme de lecture continue ne gérait pas le débordement du compteur d’adresses de registres sur 16 bits. La lecture de 0xFFFF faisait reboucler le compteur et provoquait une boucle infinie, suivie d’une réinitialisation par le chien de garde.
Solution de contournement
Lorsque le mode de lecture continue est activé, ne lisez pas de plage comprenant 0xFFFF. Les appareils Wiren Board n’ont aucun registre implémenté à cette adresse.
Résolution
Corrigé dans le micrologiciel 1.4.1.
ERRMODBUS010 : validation incorrecte des requêtes et traitement incorrect des requêtes invalides
Appareils concernés
WB-UPS v.3 avec un micrologiciel antérieur à 1.4.1.
Description
L’appareil peut accepter ou mal traiter des requêtes dont la syntaxe est invalide, renvoyer un code d’exception incorrect ou imposer une limite incorrecte de nombre de registres.
Cause et détails
L’algorithme de validation gère incorrectement les cas suivants :
1) Les requêtes de lecture de zéro registre réussissent avec une réponse vide contenant uniquement un en-tête et un CRC. Modbus exige l’exception 0x03 (ILLEGAL_DATA_VALUE).
2) Une limite unique de 125 registres est appliquée à toutes les fonctions de lecture/écriture ; son dépassement renvoie 0x02 (ILLEGAL_DATA_ADDRESS). Modbus spécifie au contraire des limites de 2000 bits pour les lectures de bits, de 125 registres pour les lectures d’entrée/de maintien, de 1968 bobines pour les écritures multiples de bobines et de 123 registres de maintien pour les écritures multiples de registres. Le dépassement de la limite applicable devrait renvoyer 0x03 (ILLEGAL_DATA_VALUE).
3) Byte Count n’est pas validé pour les écritures multiples (0x0F et 0x10). Une différence entre Byte Count et le nombre de registres devrait renvoyer 0x03 (ILLEGAL_DATA_VALUE).
4) Les écritures d’une bobine ne valident pas la valeur et utilisent le bit de poids fort de la valeur de requête. Modbus n’autorise que 0x0000 et 0xFF00 ; toutes les autres valeurs devraient renvoyer 0x03 (ILLEGAL_DATA_VALUE).
5) Les requêtes de structure invalide avec un CRC valide, comme les requêtes trop longues, sont traitées normalement. Ces requêtes mal formées devraient au contraire être ignorées.
6) Des trames de structure valide mais trop longues, de 257–265 octets, sont traitées. Les trames Modbus standard de plus de 256 octets sont invalides et devraient être ignorées.
Solution de contournement
N’envoyez que des requêtes de structure correcte conformes à la spécification Modbus.
Résolution
Corrigé dans le micrologiciel 1.4.1.
ERRMODBUS011 : traitement incorrect des requêtes invalides de configuration d’événements Fast Modbus
Appareils concernés
WB-UPS v.3 avec un micrologiciel antérieur à 1.4.1.
Description
Une commande de configuration d’événements (EVENT_CTRL, cmd=0x46, sub_cmd=0x18) comportant des champs de longueur invalides peut configurer incorrectement les notifications d’événements et produire une réponse de longueur imprévisible.
Cause et détails
Le gestionnaire de configuration d’événements Fast Modbus ne validait pas les champs de taille et de longueur des blocs de données internes. Des longueurs invalides peuvent l’amener à traiter des données au-delà de la trame reçue, avec pour conséquences :
1) Des paramètres incorrects de notification d’événements, notamment des changements spontanés de priorités ou de masques d’événements.
2) Une réponse de configuration d’événements de longueur imprévisible.
Solution de contournement
N’envoyez que des commandes Fast Modbus valides et conformes à sa spécification.
Résolution
Corrigé dans le micrologiciel 1.4.1.
ERRWBUPS30001 : mode incorrect de régulation de tension de sortie

Appareils concernés
Tous les WB-UPS v.3 avant le lot v3.3D/1.
Description
Une erreur de test de production laissait activée la régulation manuelle de tension de sortie au lieu de rétablir le mode automatique par défaut. Les appareils concernés fournissent donc 11.5 V quelle que soit la tension à Vin.
Solution de contournement
- Réglez le mode approprié avec le modèle d’appareil dans l’interface web du contrôleur ;
- Ou écrivez manuellement 0 dans le registre 16 (0x0010, mode de régulation de tension de sortie).
Résolution
Corrigé dans le lot v3.3D/1.
ERRWBUPS30002 : la consigne de tension de sortie se fige après une baisse puis un rétablissement de la tension d’entrée
Appareils concernés
WB-UPS v.3 avec un micrologiciel antérieur à 1.4.1 en mode automatique de tension de sortie.
Description
En mode automatique, si la tension d’entrée descend sous environ 9.8 V puis remonte à environ 12.0–12.4 V, les consignes de tension de sortie demandée et réelle (registres 11 et 13) restent figées à leurs valeurs précédant la baisse au lieu de suivre l’entrée.
La consigne figée peut être trop faible ou trop élevée :
- Si elle est inférieure à la tension du bus partagé, le module ne fournit aucun courant à la charge et ne contribue pas à la puissance en fonctionnement parallèle. C’est le symptôme le plus visible ;
- Si elle est trop élevée, la tension de sortie reste au-dessus du niveau nécessaire pour la tension d’entrée actuelle.
Cet état persiste indéfiniment.
Le défaut survient uniquement lorsque la tension d’entrée descend sous environ 9.8 V puis revient à environ 12.0–12.4 V. Une alimentation d’entrée stable, présente ou absente, ne le déclenche pas. Il est indépendant du mode parallèle et de la présence d’une charge.
Cause et détails
Le mode automatique calcule la tension d’entrée moins 0.7 V avec une hystérésis de ±0.2 V. Sous 9.8 V, la référence d’hystérésis revenait à sa valeur par défaut de 11.5 V et perdait la synchronisation avec la consigne appliquée. Si la tension rétablie restait entre environ 12.0–12.4 V, Vin moins 0.7 V demeurait dans cette fenêtre d’hystérésis ; aucun recalcul ne se produisait et la consigne restait figée.
Solution de contournement
- Faites sortir la tension d’entrée de cette plage : au-dessus d’environ 12.4 V ou sous environ 12.0 V, en tenant compte des chutes dans les câbles et connecteurs. La consigne sera alors recalculée.
- Sinon, sélectionnez le mode manuel de tension de sortie et définissez la valeur souhaitée.
Résolution
Corrigé dans 1.4.1.
Une baisse de tension d’entrée ne modifie plus la consigne et ne remet plus la référence à sa valeur par défaut. Le premier recalcul après rétablissement de l’entrée est appliqué sans condition et réinitialise la référence à partir de la tension d’entrée réelle.