Problemas conocidos del WB-MDM3
ERRMODBUS001: El dispositivo responde a la dirección 0xFD
Dispositivos afectados
WB-MDM3 con firmware anterior a 2.8.0.
Descripción
Los dispositivos Fast Modbus pueden interferir con dispositivos de terceros del mismo bus si estos utilizan comandos especiales que comienzan por 0xFD.
Causa y detalles
Fast Modbus reserva 0xFD para comandos especiales de difusión. Si una solicitud de terceros comienza con 0xFD pero utiliza un comando ajeno a Fast Modbus, los dispositivos Wiren Board afectados responden con MODBUS_ERR_ILLEGAL_FUNCTION y alteran el otro intercambio. El controlador de software del bus interpreta incorrectamente el paquete como tráfico Modbus ordinario.
Solución provisional
Evite compartir un bus entre dispositivos Wiren Board afectados y dispositivos de terceros.
Resolución
Corregido en el firmware 2.8.0.
ERRMODBUS002: Respuesta incorrecta a la orden de descubrimiento 0x46
Dispositivos afectados
WB-MDM3 con firmware anterior a 2.7.1.
Descripción
Fast Modbus utilizaba originalmente la función 0x60, que posteriormente se cambió a 0x46 porque 0x60 estaba en un rango reservado. La compatibilidad con versiones anteriores conservó ambos códigos de solicitud, pero el dispositivo siempre respondía con 0x60. La corrección responde con la misma función utilizada en la solicitud: 0x46 o 0x60.
Solución
Actualice el firmware a 2.7.1.
Resolución
Corregido en el firmware 2.7.1.
ERRMODBUS003: Comportamiento inesperado cuando se escriben valores no válidos en algunos registros
Dispositivos afectados
WB-MDM3 con firmware anterior a 2.9.2.
Descripción
Cuando los valores del rango [256 ... 65535] se escriben en algunos registros, se descartan los 8 bits superiores y el firmware recibe el valor módulo 256. Por ejemplo, escribir 257 tiene el mismo efecto que escribir 1.
El registro de dirección del dispositivo (128) es uno de los registros afectados.
Todos los registros funcionan como se espera dentro de sus rangos documentados. El problema se produce cuando se escriben valores no válidos superiores a 255.
Solución
Actualice el firmware a 2.9.2.
Resolución
Corregido en el firmware 2.9.2.
ERRMODBUS004: respuestas incorrectas de campos de bits
Dispositivos afectados
WB-MDM3 con firmware anterior a 2.7.1.
Descripción
Las respuestas que contienen campos de bits, incluidas las lecturas de bobinas/entradas discretas y la gestión de eventos, podían contener bits altos incorrectos.
Solución
Actualice el firmware a 2.7.1.
Resolución
Corregido en el firmware 2.7.1.
ERRMODBUS006: respuestas a solicitudes con paridad incorrecta
Dispositivos afectados
WB-MDM3 con firmware anterior a 2.9.1.
Descripción
El dispositivo respondía a solicitudes con paridad incorrecta en lugar de ignorarlas.
Solución
Actualice el firmware a 2.9.1.
Resolución
Corregido en el firmware 2.9.1.
ERRMODBUS007: Pérdida de eventos cuando dos dispositivos transmiten simultáneamente en un mismo bus
Dispositivos afectados
WB-MDM3 con firmware anterior a 2.12.0.
Descripción
Cuando dos dispositivos de un mismo bus tienen eventos pendientes simultáneamente, uno puede transmitir un paquete de eventos incompleto.
Causa y detalles
En Fast Modbus, el maestro solicita eventos. Todos los dispositivos con eventos pendientes participan en el arbitraje; el ganador responde y los demás esperan a la siguiente solicitud.
Un evento generado espera a ser transmitido. Una vez que el dispositivo coloca su trama en el bus, el evento se marca como enviado. El siguiente acuse de recibo del maestro para ese dispositivo elimina los eventos enviados de su cola. Este es el mecanismo normal de confirmación.
El defecto marcaba los eventos como enviados demasiado pronto, al recibir la solicitud de eventos, antes de terminar el arbitraje. Si el dispositivo ganaba el arbitraje, el funcionamiento era normal. Si perdía, no se transmitía ningún paquete, pero sus eventos ya estaban marcados como enviados. Una confirmación posterior para ese dispositivo también confirmaba esos eventos no enviados y los eliminaba de la cola antes de que llegaran al maestro.
El valor de la interfaz web no se actualiza y no se publica ningún mensaje MQTT, aunque los registros del dispositivo siguen siendo correctos. Se pierde la notificación del cambio.
Por ejemplo, si las entradas de dos módulos de relé del mismo bus se cierran simultáneamente, un módulo puede actualizarse correctamente en la interfaz web mientras el otro pierde algunos eventos y sigue apareciendo en su estado anterior a pesar de haber conmutado físicamente.
Solución provisional
Desactive temporalmente el funcionamiento basado en eventos para los registros afectados estableciendo sporadic en false en la plantilla del dispositivo. Los registros se consultarán entonces con el intervalo configurado.
Resolución
Corregido en el firmware 2.12.0.
ERRMODBUS008: Comportamiento inesperado con tramas de solicitud largas
Dispositivos afectados
WB-MDM3 con firmware anterior a 2.12.1.
Descripción
Recibir una trama de más de 265 bytes, la longitud máxima de una trama Fast Modbus, puede bloquear y reiniciar el dispositivo; en algunos casos también pueden perderse los ajustes.
Causa y detalles
El algoritmo de recepción no procesaba las solicitudes no válidas de tamaño excesivo, lo que provocaba un desbordamiento del búfer y la corrupción de la memoria adyacente. El dispositivo se bloquea y el watchdog lo reinicia. Las tramas muy grandes, de más de aproximadamente 500 bytes, también pueden dañar los ajustes y provocar un reinicio con los parámetros de comunicación predeterminados: 9600 8N2, dirección 1.
Solución provisional
- No envíe solicitudes que superen los límites de Modbus RTU o Fast Modbus (265 bytes para Fast Modbus).
- No conecte el dispositivo a un bus que transporte tráfico no Modbus o mensajes de más de 265 bytes.
Resolución
Corregido en el firmware 2.12.1.
ERRMODBUS009: Comportamiento inesperado al leer cerca de la dirección 0xFFFF en modo de lectura continua
Dispositivos afectados
WB-MDM3 con firmware anterior a 2.12.1.
Descripción
Con el modo de lectura continua habilitado, un rango de lectura que alcance o cruce la dirección 0xFFFF puede bloquear y reiniciar el dispositivo.
Causa y detalles
El algoritmo de lectura continua no gestionaba el desbordamiento del contador de direcciones de registro de 16 bits. Leer 0xFFFF hacía que el contador volviera al inicio y provocaba un bucle infinito, seguido de un reinicio por watchdog.
Solución provisional
Con el modo de lectura continua activado, no lea un rango que incluya 0xFFFF. Los dispositivos Wiren Board no tienen ningún registro implementado en esa dirección.
Resolución
Corregido en el firmware 2.12.1.
ERRMODBUS010: Validación incorrecta de solicitudes y gestión incorrecta de solicitudes no válidas
Dispositivos afectados
WB-MDM3 con firmware anterior a 2.12.1.
Descripción
El dispositivo puede aceptar o gestionar incorrectamente solicitudes sintácticamente no válidas, devolver un código de excepción incorrecto o imponer un límite incorrecto al número de registros.
Causa y detalles
El algoritmo de validación trata incorrectamente estos casos:
1) Las solicitudes para leer cero registros se ejecutan con éxito y devuelven una respuesta sin datos que contiene únicamente cabecera y CRC. Modbus exige la excepción 0x03 (ILLEGAL_DATA_VALUE).
2) Se aplica un único límite de 125 registros a todas las funciones de lectura/escritura; superarlo devuelve 0x02 (ILLEGAL_DATA_ADDRESS). Sin embargo, Modbus especifica límites de 2000 bits para las lecturas de bits, 125 registros para las lecturas de registros de entrada/mantenimiento, 1968 bobinas para las escrituras de múltiples bobinas y 123 registros de mantenimiento para las escrituras de múltiples registros. Superar el límite aplicable debería devolver 0x03 (ILLEGAL_DATA_VALUE).
3) Byte Count no se valida en escrituras múltiples (0x0F y 0x10). Una discrepancia entre Byte Count y el número de registros debería devolver 0x03 (ILLEGAL_DATA_VALUE).
4) Las escrituras de una única bobina no validan el valor y utilizan el bit más significativo del valor de la solicitud. Modbus solo permite 0x0000 y 0xFF00; todos los demás valores deberían devolver 0x03 (ILLEGAL_DATA_VALUE).
5) Las solicitudes con estructura no válida pero CRC válido, como las de longitud excesiva, se procesan normalmente. En cambio, estas solicitudes malformadas deberían ignorarse.
6) Se procesan tramas estructuralmente válidas, pero de tamaño excesivo, de 257–265 bytes. Las tramas Modbus estándar de más de 256 bytes no son válidas y deberían ignorarse.
Solución provisional
Envíe únicamente solicitudes estructuralmente correctas que cumplan la especificación Modbus.
Resolución
Corregido en el firmware 2.12.1.
ERRMODBUS011: Tratamiento incorrecto de solicitudes no válidas de configuración de eventos Fast Modbus
Dispositivos afectados
WB-MDM3 con firmware anterior a 2.12.1.
Descripción
Una orden de configuración de eventos (EVENT_CTRL, cmd=0x46, sub_cmd=0x18) con campos de longitud no válidos puede configurar incorrectamente las notificaciones de eventos y generar una respuesta de longitud impredecible.
Causa y detalles
El manejador de configuración de eventos Fast Modbus no validaba los campos de tamaño y longitud interna del bloque de datos. Las longitudes no válidas pueden hacer que procese datos fuera de la trama recibida, lo que provoca:
1) Ajustes incorrectos de notificación de eventos, incluidos cambios espontáneos en las prioridades o máscaras de eventos.
2) Una respuesta de configuración de eventos de longitud impredecible.
Solución provisional
Envíe únicamente comandos Fast Modbus válidos que cumplan su especificación.
Resolución
Corregido en el firmware 2.12.1.
ERRMODBUS012: El dispositivo deja de transmitir eventos Fast Modbus
Dispositivos afectados
WB-MDM3 con firmware anterior a 2.12.3.
Descripción
El dispositivo deja de enviar eventos Fast Modbus e indica continuamente que no hay eventos (sub_cmd=0x12) en respuesta a las solicitudes de eventos (cmd=0x46, sub_cmd=0x10). Los controles de la interfaz web se bloquean mientras los registros del dispositivo siguen cambiando.
Cuanto más frecuentemente cambia un valor con eventos habilitados, antes aparece el problema. En las pruebas con supresión de rebotes de 1 ms, la transmisión de eventos se detuvo después de 23 minutos con 200 impulsos de entrada por segundo y después de varias horas con 100 impulsos por segundo. También puede ocurrir con cambios poco frecuentes, pero es mucho menos probable. El controlador de software no registra ningún error porque el dispositivo informa válidamente de que no hay eventos pendientes.
Para el diagnóstico, lea directamente el registro sin eventos, por ejemplo, el contador de impulsos de entrada:
modbus_client_rpc -mrtu -pnone -s2 /dev/ttyRS485-1 -b115200 -a1 -r32 -t0x03
Si el registro aumenta pero el control de la interfaz web no cambia, este problema está presente.
Causa y detalles
El contador de eventos no enviados se comparte entre un gestor de interrupciones y el bucle principal sin una sincronización correcta. Una interrupción durante una operación de lectura-modificación-escritura en el bucle principal puede perder un incremento del contador. El incremento no puede recuperarse porque solo se produce cuando un evento entra por primera vez en la cola. El dispositivo cree entonces que no tiene nada que enviar, a pesar de haber eventos en cola.
La condición persiste hasta que el dispositivo se reinicia. Otro evento puede vaciar temporalmente la cola acumulada y actualizar el control una vez, pero la discrepancia reaparece inmediatamente. Por ello, una instalación sin otros cambios parece bloqueada.
La probabilidad aumenta con la frecuencia de eventos y la carga del bus, ya que los accesos simultáneos se vuelven más probables.
Solución provisional
Reiniciar el dispositivo restaura los eventos hasta que el problema vuelve a producirse. Reiniciar el controlador o reiniciar wb-mqtt-serial no ayuda: el estado se mantiene en el dispositivo y volver a configurar los eventos no lo restablece.
Reduzca la probabilidad aumentando el tiempo antirrebote de las entradas o deshabilitando los eventos de los registros que cambian con frecuencia. Hasta que se actualice el firmware, lea los valores directamente de los registros.
Resolución
Corregido en el firmware 2.12.3.
ERRMDM01: Fallo del regulador al utilizarlo con fuentes de alimentación de lámparas LED
Dispositivos afectados
Todos los modelos MDM3.
Descripción
Con algunas fuentes de alimentación de lámparas LED regulables (controladores / fuentes de corriente de luminarias), el regulador falla, a menudo con destellos y ruido. También pueden fallar los canales adyacentes o incluso otros reguladores MDM3 contiguos en el carril DIN.
Causa y detalles
Las fuentes de alimentación de las lámparas LED tienen capacitancia de entrada e impedancia (normalmente una resistencia) para limitar la corriente de arranque.
Los valores de capacidad y resistencia no están normalizados. Los buenos drivers tienen una corriente de arranque baja; los de mala calidad pueden tener una corriente de arranque muy elevada.
Se produce una corriente de irrupción elevada en el regulador MDM3 en estos casos:
- Regulación por corte al inicio de fase de una carga capacitiva
- Firmware v.2.1.0–v.2.2.0: detección imprecisa del cruce por cero de la tensión de entrada (corregido en 2.2.1)
- Firmware v.2.1.0–v.2.3.2: la regulación comienza inmediatamente en el límite inferior configurado. Corregido en 2.3.3
- Cuando se activa la protección contra sobrecorriente (por ejemplo, por los motivos anteriores), la protección se desactiva y los transistores se encienden en un punto arbitrario de la forma de onda de entrada, lo que provoca una corriente de irrupción aún mayor. Corregido en 2.4.0: tras activarse una protección, las salidas se apagan durante 3 s y después se reinician normalmente.
La corriente de irrupción elevada puede entonces provocar uno de los siguientes efectos:
- Fallo de los circuitos internos debido a interferencias, agravado por el trazado de la placa, en el que las pistas de potencia forman un bucle. También pueden fallar los canales adyacentes o los dispositivos contiguos del carril DIN.
- La protección apaga los transistores; con cables largos, un pico de tensión daña el diodo de protección o un transistor.
Resolución
Corregido en el firmware 2.3.3 del 11 de febrero de 2022. El arranque suave aumenta la tensión desde cero incluso con un límite inferior distinto de cero, lo que reduce considerablemente la corriente de irrupción.
Recomendaciones
- Actualice el firmware del dispositivo a 2.3.3
- Elija cuidadosamente el modo de regulación. Las fuentes de alimentación regulables requieren exclusivamente el modo de corte al final de fase.
- Pruebe el regulador con las luminarias previstas antes de adquirir la iluminación para todo el edificio. El fabricante considera la avería del regulador en este caso cubierta por la garantía.
ERRMDM02: El dispositivo se bloquea tras aproximadamente seis semanas de funcionamiento continuo
Dispositivos afectados
Todos los modelos MDM3 con firmware 2.2.3
Descripción
Después de aproximadamente seis semanas, el dispositivo deja de ejecutar órdenes y actualizar los valores de los registros, pero continúa respondiendo mediante Modbus.
Resolución
Corregido en 2.2.4
ERRMDM03: Parpadeo de las lámparas con una frecuencia de alimentación inestable
Dispositivos afectados
Todos los modelos MDM3
Descripción
Puede omitirse la detección del período de la tensión. Si la frecuencia de entrada es inestable, por ejemplo, con alimentación de un generador, las lámparas pueden parpadear. El detector de onda sinusoidal incluye un filtro de ruido que solo acepta períodos de 19.5 a 20.5 ms (48.78–51.28 Hz).
Resolución
No se prevé una corrección a corto plazo
ERRMDM04: Mayor desgaste de la memoria no volátil interna
Dispositivos afectados
Todos los modelos MDM3 con firmware 2.2.3 y 2.2.4
Descripción
Cada cambio de configuración o brillo (incluso una pulsación larga que cambia el brillo en pasos de 1) escribe los estados de los canales en la EEPROM interna. Su resistencia documentada supera un millón de ciclos de escritura/borrado, por lo que la fuente considera que ni siquiera esta frecuencia es peligrosa, aunque provoca un desgaste innecesariamente elevado.
Resolución
Corregido en 2.3.0
Escrituras limitadas a una por segundo.
ERRMDM05: Interpolación incorrecta de la curva de regulación cerca de los límites del intervalo
Dispositivos afectados
Todos los modelos MDM3 con firmware anterior a 2.3.2
Descripción
Con un brillo del 1%, el valor PWM sin procesar podía superar el valor configurado para el brillo mínimo.
Resolución
Corregido en 2.3.2 del 7 de febrero de 2022.
Con un brillo del 1%, el valor PWM ahora coincide exactamente con el ajuste.
ERRMDM06: La salida de potencia se activa completamente con valores bajos de Raw Duty
Dispositivos afectados
Todos los modelos MDM3 con firmware anterior a 2.3.2
Descripción
Escribir manualmente valores Raw Duty inferiores a 220 (corte al final de fase) o 320 (corte al inicio de fase) en los registros de mantenimiento 90–92 hacía que los interruptores de potencia se activaran completamente.
Resolución
Corregido en 2.3.3 del 11 de febrero de 2022.
Escribir valores bajos de Raw Duty ya no activa por completo los interruptores de potencia
ERRMDM07: Las lámparas LED brillan cuando el canal está apagado
Dispositivos afectados
Todos los modelos MDM3 hasta el lote v2.7A incluido.
Descripción
Algunas lámparas LED brillan débilmente cuando el canal del regulador está completamente apagado.
Causa y detalles
La capacidad y la conductividad residual de los transistores de potencia y del diodo de protección producen una corriente de fuga de aproximadamente 50–100 µA, que hace que algunas lámparas LED brillen débilmente.
Solución provisional
- Utilice otras lámparas.
- Conecte una resistencia de inserción de 1–2 MΩ entre Out y el neutro N.
Resolución
Desde el lote v2.7B, se instala una resistencia de 1 MΩ entre N y Out.
Se prevé una red RC para v2.8.
ERRMDM08: Errores de comunicación a 115200 bit/s y con un brillo del 100%
Dispositivos afectados
WB-MDM3 con firmware 2.5.0 y 2.5.1.
Descripción
Se producen errores de comunicación cuando se dan todas estas condiciones:
- Velocidad de transmisión de 115200 bit/s.
- Tensión de red aplicada a L y N.
- Seleccionada la regulación por corte al final de fase.
- Uno o varios canales encendidos al 100% de brillo.
Causa y detalles
Una lógica incorrecta con un brillo del 100% provocaba que un bucle interno consumiera todos los recursos del microcontrolador, lo que ocasionaba errores Modbus a velocidades de transmisión altas.
Resolución
Corregido en el firmware 2.5.2 del 23 de septiembre de 2022.
ERRMDM09: Los contadores de cierres de las entradas 4–6 no funcionan
Dispositivos afectados
WB-MDM3 con firmware de 2.6.0 a 2.6.5, ambos inclusive.
Descripción
Un error de firmware impedía que se incrementaran los contadores de cierres de las entradas 4–6 (registros 35, 36, 37); permanecían en cero.
Resolución
Corregido en el firmware 2.6.6 del 3 de julio de 2023.
ERRMDM10: El software no gestiona la activación de la protección de sobrecorriente por hardware
Dispositivos afectados
WB-MDM3 con firmware de 2.5.3 a 2.6.3, ambas versiones incluidas.
Descripción
Un error de firmware elimina el tratamiento por software de los disparos de protección contra sobrecorriente de hardware. El registro Overcurrent no se activa.
El funcionamiento normal no se ve afectado. Durante un cortocircuito o una sobrecorriente, la protección se activa y la carga se desconecta mediante hardware . Sin embargo, sin gestión por software, la carga se reinicia al cabo de aproximadamente 200 ms sin arranque suave, lo que puede provocar una corriente de irrupción elevada, disparos repetidos de la protección, sobrecalentamiento y, en ocasiones, el fallo del regulador.
No se recomienda utilizar el firmware de 2.5.3 a 2.6.3, ambos inclusive.
Resolución
Corregido en el firmware 2.6.4 del 5 de diciembre de 2022.
ERRMDM11: Retardo de apagado en el modo de conmutación
Dispositivos afectados
WB-MDM3 con firmware 2.7.0
Descripción
Un error de firmware retrasa el apagado en modo de conmutación si el registro de luminosidad del canal contiene un valor superior al 1%.
La transición gradual sigue funcionando en el modo de conmutación y reduce el brillo progresivamente. El canal solo se apaga realmente cuando el brillo llega a 0; hasta entonces permanece completamente encendido.
Soluciones provisionales:
- Actualice el firmware a 2.7.1
- Establezca en 1% el brillo del canal en modo de conmutación. Contrólelo mediante el registro de bobina o alterne el registro de brillo entre 0 y 1
- Establezca Channel brightness decrease rate en 0
Resolución
Corregido en el firmware 2.7.1 del 22 de noviembre de 2023.
ERRMDM12: El dispositivo se bloquea con determinadas combinaciones de configuración
Dispositivos afectados
WB-MDM3 con firmware 2.7.0–2.9.1, ambos incluidos
Descripción
Al escribir un límite inferior de regulación superior al límite superior y encender el canal, el regulador se bloqueaba y se reiniciaba mediante el watchdog. Lo mismo ocurría cuando ambos límites eran cero.
Solución provisional
El límite inferior de regulación debe ser menor que el límite superior. No deben ser ambos cero. Cambie estos ajustes con el canal apagado.
Resolución
Corregido en el firmware 2.9.2 del 4 de marzo de 2025.
ERRMDM13: El brillo inicial del regulador es cero
Dispositivos afectados
WB-MDM3 con firmware de 2.8.0 a 2.9.1, ambos inclusive
Descripción
Un error de firmware establecía el brillo predeterminado en 0 en lugar de 50.
Resolución
Corregido en el firmware 2.9.2 del 4 de marzo de 2025.
ERRMDM14: No se puede escribir un tiempo de espera de seguridad superior a 255 s
Dispositivos afectados
WB-MDM3 con firmware de 2.8.0 a 2.9.1, ambos inclusive
Descripción
Un error del firmware limita el registro 8 (tiempo de espera ante pérdida de comunicación para Safety Mode) a 1–255 en lugar de 1–65534.
Resolución
Corregido en el firmware 2.9.2 del 4 de marzo de 2025.
ERRMDM15: Sobrecalentamiento y avería por sobretensión prolongada
Dispositivos afectados
Todas las versiones del WB-MDM3 anteriores a 2.11
Descripción
Los diodos de protección TVS conectados en paralelo con los interruptores MOSFET protegen contra transitorios breves de sobretensión. Su capacidad de absorción de energía es limitada.
Una sobretensión sostenida de la red durante más de unos pocos ciclos puede superar este límite de energía. Los diodos TVS fallan entonces y conducen sin control incluso con la tensión nominal de la red, sobrecalentando los componentes y, en ocasiones, fundiendo la carcasa.
Resolución
Corrección prevista en la versión 2.11