Problemi noti di WB-MDM3
ERRMODBUS001: il dispositivo risponde all’indirizzo 0xFD
Dispositivi interessati
WB-MDM3 con firmware precedente a 2.8.0.
Descrizione
I dispositivi Fast Modbus possono interferire con dispositivi di terzi sullo stesso bus se questi utilizzano comandi speciali che iniziano con 0xFD.
Causa e dettagli
Fast Modbus riserva 0xFD ai comandi broadcast speciali. Se una richiesta di terzi inizia con 0xFD ma utilizza un comando estraneo a Fast Modbus, i dispositivi Wiren Board interessati rispondono con MODBUS_ERR_ILLEGAL_FUNCTION, disturbando l’altro scambio. Il driver del bus tratta erroneamente il pacchetto come normale traffico Modbus.
Soluzione temporanea
Evitare di condividere il bus tra i dispositivi Wiren Board interessati e i dispositivi di terzi.
Risoluzione
Corretto nel firmware 2.8.0.
ERRMODBUS002: risposta errata al comando di rilevamento 0x46
Dispositivi interessati
WB-MDM3 con firmware precedente a 2.7.1.
Descrizione
Fast Modbus utilizzava inizialmente la funzione 0x60, poi modificata in 0x46 perché 0x60 si trovava in un intervallo riservato. La compatibilità con le versioni precedenti manteneva entrambi i codici di richiesta, ma il dispositivo rispondeva sempre con 0x60. La correzione fa rispondere con la stessa funzione utilizzata nella richiesta: 0x46 oppure 0x60.
Rimedio
Aggiornare il firmware alla versione 2.7.1.
Risoluzione
Corretto nel firmware 2.7.1.
ERRMODBUS003: comportamento imprevisto quando vengono scritti valori non validi in alcuni registri
Dispositivi interessati
WB-MDM3 con firmware precedente a 2.9.2.
Descrizione
Quando valori nell’intervallo [256 ... 65535] vengono scritti in alcuni registri, gli 8 bit superiori vengono scartati e il firmware riceve il valore modulo 256. Ad esempio, scrivere 257 ha lo stesso effetto di scrivere 1.
Il registro dell’indirizzo del dispositivo (128) è uno di quelli interessati.
Tutti i registri funzionano come previsto entro i campi documentati. Il problema si verifica quando vengono scritti valori non validi superiori a 255.
Rimedio
Aggiornare il firmware alla versione 2.9.2.
Risoluzione
Corretto nel firmware 2.9.2.
ERRMODBUS004: risposte errate con campi di bit
Dispositivi interessati
WB-MDM3 con firmware precedente a 2.7.1.
Descrizione
Le risposte contenenti campi di bit, comprese le letture di coil/ingressi discreti e la gestione degli eventi, potevano contenere bit alti errati.
Rimedio
Aggiornare il firmware alla versione 2.7.1.
Risoluzione
Corretto nel firmware 2.7.1.
ERRMODBUS006: risposte a richieste con parità errata
Dispositivi interessati
WB-MDM3 con firmware precedente a 2.9.1.
Descrizione
Il dispositivo rispondeva alle richieste con parità errata anziché ignorarle.
Rimedio
Aggiornare il firmware alla versione 2.9.1.
Risoluzione
Corretto nel firmware 2.9.1.
ERRMODBUS007: perdita di eventi quando due dispositivi trasmettono contemporaneamente sullo stesso bus
Dispositivi interessati
WB-MDM3 con firmware precedente a 2.12.0.
Descrizione
Quando due dispositivi sullo stesso bus hanno contemporaneamente eventi in attesa, uno dei due può trasmettere un pacchetto di eventi incompleto.
Causa e dettagli
In Fast Modbus, il master richiede gli eventi. Tutti i dispositivi con eventi in attesa partecipano all’arbitraggio; il vincitore risponde, mentre gli altri attendono la richiesta successiva.
Un evento generato attende la trasmissione. Dopo che il dispositivo ha immesso il proprio frame sul bus, l’evento viene contrassegnato come inviato. La successiva conferma del master per quel dispositivo rimuove dalla coda gli eventi inviati. Questo è il normale meccanismo di conferma.
Il difetto contrassegnava gli eventi come inviati troppo presto, alla ricezione della richiesta di eventi, prima del termine dell’arbitraggio. Se il dispositivo vinceva l’arbitraggio, il funzionamento era normale. Se perdeva, non veniva trasmesso alcun pacchetto, ma gli eventi erano già contrassegnati come inviati. Una conferma successiva per quel dispositivo confermava anche questi eventi non inviati, rimuovendoli dalla coda prima che raggiungessero il master.
Il valore nell’interfaccia web non si aggiorna e non viene pubblicato alcun messaggio MQTT, anche se i registri del dispositivo rimangono corretti. La notifica di variazione va persa.
Ad esempio, se gli ingressi di due moduli relè sullo stesso bus si chiudono contemporaneamente, un modulo può aggiornarsi correttamente nell’interfaccia web mentre l’altro perde alcuni eventi e continua ad apparire nello stato precedente nonostante la commutazione fisica.
Soluzione temporanea
Disabilitare temporaneamente il funzionamento basato sugli eventi per i registri interessati, impostando sporadic su false nel template del dispositivo. I registri verranno quindi interrogati all’intervallo configurato.
Risoluzione
Corretto nel firmware 2.12.0.
ERRMODBUS008: comportamento imprevisto con frame di richiesta lunghi
Dispositivi interessati
WB-MDM3 con firmware precedente a 2.12.1.
Descrizione
La ricezione di un frame più lungo di 265 byte, lunghezza massima di un frame Fast Modbus, può bloccare e riavviare il dispositivo; in alcuni casi possono andare perse anche le impostazioni.
Causa e dettagli
L’algoritmo di ricezione non gestiva le richieste non valide di dimensioni eccessive, causando un overflow del buffer e la corruzione della memoria adiacente. Il dispositivo si blocca e il watchdog lo riavvia. Frame molto grandi, superiori a circa 500 byte, possono anche corrompere le impostazioni, causando un riavvio con i parametri di comunicazione predefiniti: 9600 8N2, indirizzo 1.
Soluzione temporanea
- Non inviare richieste che superano i limiti di Modbus RTU o Fast Modbus (265 byte per Fast Modbus).
- Non collegare il dispositivo a un bus che trasporta traffico non Modbus o messaggi più lunghi di 265 byte.
Risoluzione
Corretto nel firmware 2.12.1.
ERRMODBUS009: comportamento imprevisto durante la lettura vicino all’indirizzo 0xFFFF in modalità di lettura continua
Dispositivi interessati
WB-MDM3 con firmware precedente a 2.12.1.
Descrizione
Con la modalità di lettura continua abilitata, un intervallo di lettura che raggiunge o supera l’indirizzo 0xFFFF può bloccare e riavviare il dispositivo.
Causa e dettagli
L’algoritmo di lettura continua non gestiva l’overflow del contatore a 16 bit degli indirizzi dei registri. La lettura di 0xFFFF faceva tornare a zero il contatore e causava un ciclo infinito, seguito da un reset del watchdog.
Soluzione temporanea
Con la modalità di lettura continua abilitata, non leggere un intervallo che include 0xFFFF. I dispositivi Wiren Board non implementano alcun registro a tale indirizzo.
Risoluzione
Corretto nel firmware 2.12.1.
ERRMODBUS010: convalida errata delle richieste e gestione errata delle richieste non valide
Dispositivi interessati
WB-MDM3 con firmware precedente a 2.12.1.
Descrizione
Il dispositivo può accettare o gestire in modo errato richieste sintatticamente non valide, restituire un codice di eccezione errato oppure imporre un limite errato al numero di registri.
Causa e dettagli
L’algoritmo di convalida gestisce in modo errato questi casi:
1) Le richieste di lettura di zero registri riescono con una risposta senza dati contenente solo intestazione e CRC. Modbus richiede l’eccezione 0x03 (ILLEGAL_DATA_VALUE).
2) Un limite unico di 125 registri viene applicato a tutte le funzioni di lettura/scrittura; il superamento restituisce 0x02 (ILLEGAL_DATA_ADDRESS). Modbus specifica invece limiti di 2000 bit per le letture di bit, 125 registri per le letture di registri di ingresso/holding, 1968 coil per le scritture multiple di coil e 123 registri holding per le scritture multiple di registri. Il superamento del limite pertinente dovrebbe restituire 0x03 (ILLEGAL_DATA_VALUE).
3) Byte Count non viene convalidato per le scritture multiple (0x0F e 0x10). Una mancata corrispondenza tra Byte Count e numero di registri dovrebbe restituire 0x03 (ILLEGAL_DATA_VALUE).
4) Le scritture di una singola coil non convalidano il valore e utilizzano il bit più significativo del valore della richiesta. Modbus ammette solo 0x0000 e 0xFF00; tutti gli altri valori dovrebbero restituire 0x03 (ILLEGAL_DATA_VALUE).
5) Le richieste strutturalmente non valide con CRC valido, ad esempio richieste troppo lunghe, vengono elaborate normalmente. Tali richieste malformate dovrebbero invece essere ignorate.
6) Vengono elaborati frame strutturalmente validi ma sovradimensionati, da 257–265 byte. I frame Modbus standard più lunghi di 256 byte non sono validi e dovrebbero essere ignorati.
Soluzione temporanea
Inviare solo richieste strutturalmente corrette e conformi alle specifiche Modbus.
Risoluzione
Corretto nel firmware 2.12.1.
ERRMODBUS011: gestione errata delle richieste non valide di configurazione degli eventi Fast Modbus
Dispositivi interessati
WB-MDM3 con firmware precedente a 2.12.1.
Descrizione
Un comando di configurazione degli eventi (EVENT_CTRL, cmd=0x46, sub_cmd=0x18) con campi di lunghezza non validi può configurare in modo errato le notifiche degli eventi e produrre una risposta di lunghezza imprevedibile.
Causa e dettagli
Il gestore di configurazione degli eventi Fast Modbus non convalidava i campi della dimensione e della lunghezza dei blocchi dati interni. Lunghezze non valide possono portarlo a elaborare dati oltre il frame ricevuto, causando:
1) Impostazioni errate delle notifiche degli eventi, comprese variazioni spontanee delle priorità o delle maschere degli eventi.
2) Una risposta di configurazione degli eventi di lunghezza imprevedibile.
Soluzione temporanea
Inviare solo comandi Fast Modbus validi e conformi alle relative specifiche.
Risoluzione
Corretto nel firmware 2.12.1.
ERRMODBUS012: il dispositivo smette di trasmettere eventi Fast Modbus
Dispositivi interessati
WB-MDM3 con firmware precedente a 2.12.3.
Descrizione
Il dispositivo smette di inviare eventi Fast Modbus e segnala continuamente l’assenza di eventi (sub_cmd=0x12) in risposta alle richieste di eventi (cmd=0x46, sub_cmd=0x10). I comandi dell’interfaccia web rimangono fermi mentre i registri del dispositivo continuano a cambiare.
Quanto più frequentemente cambia un valore con eventi abilitati, tanto prima si verifica il problema. Durante le prove con antirimbalzo di 1 ms, la trasmissione degli eventi si è arrestata dopo 23 minuti a 200 impulsi di ingresso al secondo e dopo diverse ore a 100 impulsi al secondo. Il problema può verificarsi anche con variazioni poco frequenti, ma è molto meno probabile. Il driver non registra errori perché il dispositivo segnala validamente che non vi sono eventi in attesa.
Per la diagnosi, leggere direttamente il registro senza utilizzare gli eventi, ad esempio il contatore degli impulsi dell’ingresso:
modbus_client_rpc -mrtu -pnone -s2 /dev/ttyRS485-1 -b115200 -a1 -r32 -t0x03
Se il registro aumenta ma il comando nell’interfaccia web rimane invariato, questo problema è presente.
Causa e dettagli
Il contatore degli eventi non inviati è condiviso da un gestore di interrupt e dal ciclo principale senza una sincronizzazione corretta. Un interrupt durante un’operazione di lettura-modifica-scrittura nel ciclo principale può causare la perdita di un incremento del contatore. L’incremento non può essere recuperato perché avviene solo quando un evento entra per la prima volta nella coda. Il dispositivo ritiene quindi di non avere nulla da inviare nonostante gli eventi in coda.
La condizione persiste fino al riavvio del dispositivo. Un altro evento può temporaneamente svuotare la coda accumulata e aggiornare il comando una volta, ma la discrepanza ricompare immediatamente. Un’installazione senza altre variazioni appare quindi bloccata.
La probabilità aumenta con la frequenza degli eventi e il carico del bus, perché gli accessi concorrenti diventano più probabili.
Soluzione temporanea
Il riavvio del dispositivo ripristina gli eventi finché il problema non si ripresenta. Riavviare il controllore o riavviare wb-mqtt-serial non aiuta: lo stato è mantenuto nel dispositivo e la riconfigurazione degli eventi non lo azzera.
Ridurre la probabilità aumentando il tempo di antirimbalzo degli ingressi o disabilitando gli eventi per i registri che cambiano frequentemente. Finché il firmware non viene aggiornato, leggere i valori direttamente dai registri.
Risoluzione
Corretto nel firmware 2.12.3.
ERRMDM01: guasto del dimmer quando utilizzato con alimentatori di lampade LED
Dispositivi interessati
Tutti i modelli MDM3.
Descrizione
Con alcuni alimentatori dimmerabili per lampade LED (driver / sorgenti di corrente per apparecchi di illuminazione), il dimmer si guasta, spesso con lampi e rumore. Possono guastarsi anche canali adiacenti o persino dimmer MDM3 vicini sulla guida DIN.
Causa e dettagli
Gli alimentatori delle lampade LED hanno una capacità e un’impedenza in ingresso (generalmente una resistenza) per limitare la corrente di spunto.
I valori di capacità e resistenza non sono standardizzati. I driver di buona qualità hanno una bassa corrente di spunto; quelli scadenti possono averla molto elevata.
Nel dimmer MDM3 si verifica una corrente di spunto elevata nei seguenti casi:
- Regolazione a taglio di inizio fase di un carico capacitivo
- Firmware v.2.1.0–v.2.2.0: rilevamento impreciso del passaggio per lo zero della tensione di ingresso (corretto nella versione 2.2.1)
- Firmware v.2.1.0–v.2.3.2: la regolazione inizia immediatamente dal limite inferiore configurato. Corretto in 2.3.3
- Quando interviene la protezione contro le sovracorrenti (ad esempio per i motivi sopra indicati), la protezione si disattiva e i transistor si accendono in un punto arbitrario della forma d’onda di ingresso, causando una corrente di spunto ancora maggiore. Corretto in 2.4.0: dopo un intervento della protezione, le uscite si spengono per 3 s, poi ripartono normalmente.
La corrente di spunto elevata può quindi causare:
- Guasto dei circuiti interni dovuto a disturbi, aggravato dal percorso delle piste di potenza sulla scheda che forma un anello. Possono guastarsi anche canali adiacenti o dispositivi vicini sulla guida DIN.
- La protezione spegne i transistor; con fili lunghi, un picco di tensione danneggia il diodo di protezione o un transistor.
Risoluzione
Corretto nel firmware 2.3.3 dell’11 febbraio 2022. L’avvio graduale aumenta la tensione da zero anche con un limite inferiore diverso da zero, riducendo notevolmente la corrente di spunto.
Raccomandazioni
- Aggiornare il firmware del dispositivo alla versione 2.3.3
- Scegliere con attenzione la modalità di regolazione! Gli alimentatori dimmerabili richiedono esclusivamente la modalità a taglio di fine fase.
- Provare il dimmer con gli apparecchi di illuminazione previsti prima di acquistare l’illuminazione per l’intero edificio. Il produttore considera il guasto del dimmer in questo caso coperto dalla garanzia.
ERRMDM02: il dispositivo si blocca dopo circa sei settimane di funzionamento continuo
Dispositivi interessati
Tutti i modelli MDM3 con firmware 2.2.3
Descrizione
Dopo circa sei settimane, il dispositivo smette di eseguire i comandi e di aggiornare i valori dei registri, ma continua a rispondere tramite Modbus.
Risoluzione
Corretto in 2.2.4
ERRMDM03: sfarfallio delle lampade con frequenza di alimentazione instabile
Dispositivi interessati
Tutti i modelli MDM3
Descrizione
Il rilevamento del periodo della tensione può non avvenire. Se la frequenza di ingresso è instabile, ad esempio con alimentazione da generatore, le lampade possono sfarfallare. Il rilevatore della sinusoide comprende un filtro dei disturbi che accetta solo periodi da 19.5 a 20.5 ms (48.78–51.28 Hz).
Risoluzione
Nessuna correzione prevista nel breve termine
ERRMDM04: maggiore usura della memoria non volatile interna
Dispositivi interessati
Tutti i modelli MDM3 con firmware 2.2.3 e 2.2.4
Descrizione
Ogni modifica di configurazione o luminosità (anche una pressione lunga che varia la luminosità a passi di 1) scrive gli stati dei canali nella EEPROM interna. La durata documentata supera un milione di cicli di scrittura/cancellazione, quindi la fonte non considera pericolosa nemmeno questa frequenza, ma si verifica un’usura inutilmente elevata.
Risoluzione
Corretto in 2.3.0
Scritture limitate a una al secondo.
ERRMDM05: interpolazione errata della curva di regolazione vicino ai limiti del campo
Dispositivi interessati
Tutti i modelli MDM3 con firmware precedente a 2.3.2
Descrizione
Con luminosità all’1%, il valore PWM grezzo poteva superare il valore configurato per la luminosità minima.
Risoluzione
Corretto in 2.3.2 del 7 febbraio 2022.
Con luminosità all’1%, il valore PWM ora corrisponde esattamente all’impostazione.
ERRMDM06: interruttori di potenza completamente accesi con valori Raw Duty bassi
Dispositivi interessati
Tutti i modelli MDM3 con firmware precedente a 2.3.2
Descrizione
La scrittura manuale di valori Raw Duty inferiori a 220 (taglio di fine fase) o 320 (taglio di inizio fase) nei registri holding 90–92 causava l’accensione completa degli interruttori di potenza.
Risoluzione
Corretto in 2.3.3 dell’11 febbraio 2022.
La scrittura di valori Raw Duty bassi non accende più completamente gli interruttori di potenza
ERRMDM07: le lampade LED emettono luce quando il canale è spento
Dispositivi interessati
Tutti i modelli MDM3 fino al lotto v2.7A incluso.
Descrizione
Alcune lampade LED emettono una luce debole quando il canale del dimmer è completamente spento.
Causa e dettagli
La capacità e la conduttività residua dei transistor di potenza e del diodo di protezione producono una corrente di dispersione di circa 50–100 µA, che causa una debole luminescenza di alcune lampade LED.
Soluzione temporanea
- Utilizzare lampade diverse.
- Collegare una resistenza a foro passante da 1–2 MΩ tra Out e il neutro N.
Risoluzione
Dal lotto v2.7B, è montata una resistenza da 1 MΩ tra N e Out.
Una rete RC è prevista per la versione v2.8.
ERRMDM08: errori di comunicazione a 115200 bit/s e luminosità al 100%
Dispositivi interessati
WB-MDM3 con firmware 2.5.0 e 2.5.1.
Descrizione
Si verificano errori di comunicazione quando ricorrono tutte queste condizioni:
- Velocità di comunicazione 115200 bit/s.
- Tensione di rete applicata a L e N.
- Selezionata la regolazione a taglio di fine fase.
- Uno o più canali accesi con luminosità al 100%.
Causa e dettagli
Una logica errata alla luminosità del 100% faceva consumare a un ciclo interno tutte le risorse del microcontrollore, causando errori Modbus ad alte velocità in baud.
Risoluzione
Corretto nel firmware 2.5.2 del 23 settembre 2022.
ERRMDM09: i contatori delle chiusure degli ingressi 4–6 non funzionano
Dispositivi interessati
WB-MDM3 con firmware da 2.6.0 a 2.6.5 inclusi.
Descrizione
Un errore del firmware impediva l’incremento dei contatori delle chiusure degli ingressi 4–6 (registri 35, 36, 37); rimanevano a zero.
Risoluzione
Corretto nel firmware 2.6.6 del 3 luglio 2023.
ERRMDM10: gli interventi della protezione hardware contro le sovracorrenti non sono gestiti dal software
Dispositivi interessati
WB-MDM3 con firmware da 2.5.3 a 2.6.3 inclusi.
Descrizione
Un errore del firmware elimina la gestione software degli interventi della protezione hardware contro le sovracorrenti. Il registro Overcurrent non viene impostato.
Il funzionamento normale non è influenzato. Durante un cortocircuito o una sovracorrente, la protezione interviene e il carico viene scollegato dall’ hardware . Senza gestione software, tuttavia, il carico riparte dopo circa 200 ms senza avvio graduale, causando potenzialmente una corrente di spunto elevata, interventi ripetuti della protezione, surriscaldamento e talvolta il guasto del dimmer.
L’utilizzo dei firmware da 2.5.3 a 2.6.3 inclusi non è consigliato.
Risoluzione
Corretto nel firmware 2.6.4 del 5 dicembre 2022.
ERRMDM11: ritardo allo spegnimento in modalità commutazione
Dispositivi interessati
WB-MDM3 con firmware 2.7.0
Descrizione
Un errore del firmware ritarda lo spegnimento in modalità commutazione se il registro di luminosità del canale contiene un valore superiore all’1%.
Il regolatore graduale continua a funzionare in modalità commutazione e riduce progressivamente la luminosità. Il canale si spegne realmente solo quando la luminosità raggiunge 0; fino a quel momento rimane completamente acceso.
Soluzioni temporanee:
- Aggiornare il firmware alla versione 2.7.1
- Impostare la luminosità del canale in modalità commutazione all’1%. Controllarlo tramite il registro coil oppure alternare il registro di luminosità tra 0 e 1
- Impostare Channel brightness decrease rate a 0
Risoluzione
Corretto nel firmware 2.7.1 del 22 novembre 2023.
ERRMDM12: il dispositivo si blocca con determinate combinazioni di configurazione
Dispositivi interessati
WB-MDM3 con firmware da 2.7.0 a 2.9.1 inclusi
Descrizione
La scrittura di un limite inferiore di regolazione superiore al limite superiore e l’accensione del canale causavano il blocco del dimmer e il riavvio tramite watchdog. Lo stesso accadeva quando entrambi i limiti erano zero.
Soluzione temporanea
Il limite inferiore di regolazione deve essere minore del limite superiore. Non devono essere entrambi zero. Modificare queste impostazioni mentre il canale è spento.
Risoluzione
Corretto nel firmware 2.9.2 del 4 marzo 2025.
ERRMDM13: la luminosità iniziale del dimmer è zero
Dispositivi interessati
WB-MDM3 con firmware da 2.8.0 a 2.9.1 inclusi
Descrizione
Un errore del firmware impostava la luminosità predefinita a 0 anziché 50.
Risoluzione
Corretto nel firmware 2.9.2 del 4 marzo 2025.
ERRMDM14: impossibile scrivere un timeout di sicurezza superiore a 255 s
Dispositivi interessati
WB-MDM3 con firmware da 2.8.0 a 2.9.1 inclusi
Descrizione
Un errore del firmware limita il registro 8 (timeout di perdita della comunicazione per Safety Mode) a 1–255 anziché 1–65534.
Risoluzione
Corretto nel firmware 2.9.2 del 4 marzo 2025.
ERRMDM15: surriscaldamento e guasto in presenza di sovratensione prolungata
Dispositivi interessati
Tutte le versioni WB-MDM3 precedenti a 2.11
Descrizione
I diodi di protezione TVS collegati in parallelo agli interruttori MOSFET proteggono dai brevi transitori di sovratensione. La loro capacità di assorbimento dell’energia è limitata.
Una sovratensione di rete prolungata per più di alcuni cicli può superare questo limite energetico. I diodi TVS si guastano e conducono in modo incontrollato anche alla tensione nominale di rete, surriscaldando i componenti e talvolta fondendo l’involucro.
Risoluzione
Correzione prevista nella versione 2.11