Bekannte Probleme – WB-MR6C v.3
ERRMODBUS001: Gerät antwortet auf Adresse 0xFD
Betroffene Geräte
WB-MR* mit Firmware vor 1.21.1.
Beschreibung
Fast-Modbus-Geräte können Geräte anderer Hersteller am selben Bus stören, wenn diese spezielle Befehle verwenden, die mit 0xFD beginnen.
Ursache und Einzelheiten
Fast Modbus reserviert 0xFD für spezielle Broadcast-Befehle. Beginnt eine Anfrage eines Drittanbieters mit 0xFD, verwendet aber einen Befehl außerhalb von Fast Modbus, antworten betroffene Wiren Board-Geräte mit MODBUS_ERR_ILLEGAL_FUNCTION und stören den anderen Datenaustausch. Der Bustreiber behandelt das Paket fälschlich als gewöhnlichen Modbus-Verkehr.
Übergangslösung
Betreiben Sie betroffene Wiren Board-Geräte und Fremdgeräte nicht gemeinsam an einem Bus.
Behebung
In Firmware 1.21.1 behoben.
ERRMODBUS002: Fehlerhafte Antwort auf Suchbefehl 0x46
Betroffene Geräte
WB-MR* mit Firmware vor 1.20.4.
Beschreibung
Fast Modbus verwendete ursprünglich Funktion 0x60. Diese wurde später auf 0x46 geändert, da 0x60 in einem reservierten Bereich lag. Aus Gründen der Abwärtskompatibilität wurden beide Anfragecodes beibehalten, das Gerät antwortete jedoch stets mit 0x60. Nach der Korrektur enthält die Antwort dieselbe Funktion wie die Anfrage: 0x46 oder 0x60.
Abhilfe
Aktualisieren Sie auf Firmware 1.20.4.
Behebung
In Firmware 1.20.4 behoben.
ERRMODBUS003: Unerwartetes Verhalten beim Schreiben ungültiger Werte in einige Register
Betroffene Geräte
WB-MR* mit Firmware vor 1.21.6.
Beschreibung
Wenn Werte im Bereich [256 ... 65535] in bestimmte Register geschrieben werden, werden die oberen 8 Bits verworfen und die Firmware erhält den Wert modulo 256. Beispielsweise wirkt das Schreiben von 257 genauso wie das Schreiben von 1.
Das Geräteadressregister (128) ist eines der betroffenen Register.
Alle Register arbeiten innerhalb ihrer dokumentierten Wertebereiche wie vorgesehen. Das Problem tritt beim Schreiben ungültiger Werte über 255 auf.
Abhilfe
Aktualisieren Sie auf Firmware 1.21.6.
Behebung
In Firmware 1.21.6 behoben.
ERRMODBUS004: Fehlerhafte Bitfeldantworten
Betroffene Geräte
WB-MR* mit Firmware vor 1.20.4.
Beschreibung
Antworten mit Bitfeldern, darunter Coil-/Diskreteingangs-Lesezugriffe und Ereignisverwaltung, konnten fehlerhafte höherwertige Bits enthalten.
Abhilfe
Aktualisieren Sie auf Firmware 1.20.4.
Behebung
In Firmware 1.20.4 behoben.
ERRMODBUS006: Antworten auf Anfragen mit falscher Parität
Betroffene Geräte
WB-MR* mit Firmware vor 1.21.4.
Beschreibung
Das Gerät beantwortete Anfragen mit falscher Parität, statt sie zu ignorieren.
Abhilfe
Aktualisieren Sie auf Firmware 1.21.4.
Behebung
In Firmware 1.21.4 behoben.
ERRMODBUS007: Ereignisverlust bei gleichzeitiger Übertragung zweier Geräte an einem Bus
Betroffene Geräte
WB-MR* mit Firmware vor 1.26.4.
Beschreibung
Wenn bei zwei Geräten am selben Bus gleichzeitig Ereignisse anstehen, kann eines ein unvollständiges Ereignispaket senden.
Ursache und Einzelheiten
Bei Fast Modbus fordert der Master Ereignisse an. Alle Geräte mit anstehenden Ereignissen nehmen an der Arbitrierung teil; der Gewinner antwortet, die anderen warten auf die nächste Anfrage.
Ein erzeugtes Ereignis wartet auf die Übertragung. Nachdem das Gerät seinen Frame auf den Bus gesendet hat, wird das Ereignis als gesendet markiert. Die nächste Bestätigung des Masters für dieses Gerät entfernt die gesendeten Ereignisse aus dessen Warteschlange. Dies ist der normale Bestätigungsmechanismus.
Der Fehler markierte Ereignisse zu früh als gesendet: bereits beim Empfang der Ereignisanfrage und vor Abschluss der Arbitrierung. Gewann das Gerät die Arbitrierung, funktionierte alles normal. Verlor es, wurde kein Paket gesendet, seine Ereignisse waren jedoch bereits als gesendet markiert. Eine spätere Bestätigung für dieses Gerät bestätigte auch diese ungesendeten Ereignisse und entfernte sie aus der Warteschlange, bevor sie den Master erreicht hatten.
Der Wert in der Weboberfläche wird nicht aktualisiert und es wird keine MQTT-Meldung veröffentlicht, obwohl die Geräteregister korrekt bleiben. Die Änderungsbenachrichtigung geht verloren.
Schließen beispielsweise Eingänge zweier Relaismodule am selben Bus gleichzeitig, kann ein Modul in der Weboberfläche korrekt aktualisiert werden, während das andere einige Ereignisse verliert und trotz tatsächlichem Schalten weiterhin im vorherigen Zustand erscheint.
Übergangslösung
Deaktivieren Sie vorübergehend den ereignisbasierten Betrieb für betroffene Register, indem Sie sporadic in der Gerätevorlage auf false setzen. Die Register werden dann im konfigurierten Intervall abgefragt.
Behebung
In Firmware 1.26.4 behoben.
ERRMODBUS008: Unerwartetes Verhalten bei langen Anfrageframes
Betroffene Geräte
WB-MR* mit Firmware vor 1.26.5.
Beschreibung
Der Empfang eines Frames mit mehr als 265 Byte, der maximalen Fast-Modbus-Framelänge, kann das Gerät blockieren und neu starten; in einigen Fällen können auch Einstellungen verloren gehen.
Ursache und Einzelheiten
Der Empfangsalgorithmus verarbeitete übergroße ungültige Anfragen nicht korrekt, wodurch ein Pufferüberlauf und die Beschädigung benachbarter Speicherbereiche entstanden. Das Gerät blockiert und wird vom Watchdog neu gestartet. Sehr große Frames über etwa 500 Byte können außerdem Einstellungen beschädigen, sodass das Gerät mit Standard-Kommunikationsparametern neu startet: 9600 8N2, Adresse 1.
Übergangslösung
- Senden Sie keine Anfragen, die die Grenzen von Modbus RTU oder Fast Modbus überschreiten (265 Byte bei Fast Modbus).
- Schließen Sie das Gerät nicht an einen Bus an, der Nicht-Modbus-Verkehr oder Meldungen mit mehr als 265 Byte führt.
Behebung
In Firmware 1.26.5 behoben.
ERRMODBUS009: Unerwartetes Verhalten beim Lesen nahe Adresse 0xFFFF im Modus für fortlaufendes Lesen
Betroffene Geräte
WB-MR* mit Firmware vor 1.26.5.
Beschreibung
Bei aktiviertem fortlaufendem Lesen kann ein Lesebereich, der Adresse 0xFFFF erreicht oder überschreitet, das Gerät blockieren und neu starten.
Ursache und Einzelheiten
Der Algorithmus zum fortlaufenden Lesen behandelte den Überlauf des 16-Bit-Registeradresszählers nicht korrekt. Das Lesen von 0xFFFF ließ den Zähler überlaufen und verursachte eine Endlosschleife mit anschließendem Watchdog-Reset.
Übergangslösung
Lesen Sie bei aktiviertem fortlaufendem Lesen keinen Bereich einschließlich 0xFFFF. Wiren Board-Geräte besitzen an dieser Adresse kein implementiertes Register.
Behebung
In Firmware 1.26.5 behoben.
ERRMODBUS010: Fehlerhafte Prüfung und Verarbeitung ungültiger Anfragen
Betroffene Geräte
WB-MR* mit Firmware vor 1.26.5.
Beschreibung
Das Gerät kann syntaktisch ungültige Anfragen akzeptieren oder falsch verarbeiten, einen falschen Ausnahmecode zurückgeben oder eine falsche Registeranzahlgrenze anwenden.
Ursache und Einzelheiten
Der Prüfalgorithmus behandelt folgende Fälle fehlerhaft:
1) Anfragen zum Lesen von null Registern werden mit einer Antwort ohne Nutzdaten akzeptiert, die nur Header und CRC enthält. Modbus verlangt Ausnahme 0x03 (ILLEGAL_DATA_VALUE).
2) Für alle Lese-/Schreibfunktionen gilt ein einheitlicher Grenzwert von 125 Registern; bei Überschreitung wird 0x02 (ILLEGAL_DATA_ADDRESS) zurückgegeben. Modbus sieht dagegen 2000 Bits für Bit-Lesezugriffe, 125 Register für Eingangs-/Holding-Lesezugriffe, 1968 Coils für Mehrfach-Coil-Schreibzugriffe und 123 Holding-Register für Mehrfachregister-Schreibzugriffe vor. Bei Überschreitung des jeweils geltenden Grenzwerts müsste 0x03 (ILLEGAL_DATA_VALUE) zurückgegeben werden.
3) Byte Count wird bei Mehrfach-Schreibzugriffen (0x0F und 0x10) nicht geprüft. Stimmen Byte Count und Registeranzahl nicht überein, müsste 0x03 (ILLEGAL_DATA_VALUE) zurückgegeben werden.
4) Einzel-Coil-Schreibzugriffe prüfen den Wert nicht und verwenden dessen höchstwertiges Bit. Modbus erlaubt nur 0x0000 und 0xFF00; bei allen anderen Werten müsste 0x03 (ILLEGAL_DATA_VALUE) zurückgegeben werden.
5) Strukturell ungültige Anfragen mit gültiger CRC, etwa überlange Anfragen, werden normal verarbeitet. Solche fehlerhaft aufgebauten Anfragen müssten stattdessen ignoriert werden.
6) Strukturell gültige, aber übergroße Frames mit 257–265 Byte werden verarbeitet. Standard-Modbus-Frames mit mehr als 256 Byte sind ungültig und müssten ignoriert werden.
Übergangslösung
Senden Sie nur strukturell korrekte Anfragen gemäß der Modbus-Spezifikation.
Behebung
In Firmware 1.26.5 behoben.
ERRMODBUS011: Fehlerhafte Verarbeitung ungültiger Anfragen zur Konfiguration von Fast-Modbus-Ereignissen
Betroffene Geräte
WB-MR* mit Firmware vor 1.26.5.
Beschreibung
Ein Ereigniskonfigurationsbefehl (EVENT_CTRL, cmd=0x46, sub_cmd=0x18) mit ungültigen Längenfeldern kann Ereignisbenachrichtigungen fehlerhaft konfigurieren und eine Antwort unvorhersehbarer Länge erzeugen.
Ursache und Einzelheiten
Der Handler zur Konfiguration von Fast-Modbus-Ereignissen prüfte die Größen- und internen Datenblocklängenfelder nicht. Ungültige Längen können dazu führen, dass Daten außerhalb des empfangenen Frames verarbeitet werden. Mögliche Folgen:
1) Fehlerhafte Ereignisbenachrichtigungseinstellungen, einschließlich unbeabsichtigter Änderungen von Ereignisprioritäten oder Masken.
2) Eine Ereigniskonfigurationsantwort mit unvorhersehbarer Länge.
Übergangslösung
Senden Sie nur gültige Fast-Modbus-Befehle gemäß dessen Spezifikation.
Behebung
In Firmware 1.26.5 behoben.
ERRMODBUS012: Gerät sendet keine Fast-Modbus-Ereignisse mehr
Betroffene Geräte
WB-MR* mit Firmware vor 1.27.0.
Beschreibung
Das Gerät sendet keine Fast-Modbus-Ereignisse mehr und meldet auf Ereignisanfragen (cmd=0x46, sub_cmd=0x10) dauerhaft, dass keine Ereignisse vorliegen (sub_cmd=0x12). Die Controls der Weboberfläche bleiben unverändert, während sich die Geräteregister weiterhin ändern.
Je häufiger sich ein ereignisfähiger Wert ändert, desto früher tritt das Problem auf. Bei Tests mit 1 ms Entprellung endete die Ereignisübertragung bei 200 Eingangsimpulsen pro Sekunde nach 23 Minuten und bei 100 Impulsen pro Sekunde nach mehreren Stunden. Auch bei seltenen Änderungen kann dies auftreten, ist aber deutlich unwahrscheinlicher. Der Treiber protokolliert keinen Fehler, da das Gerät gültig meldet, dass keine Ereignisse anstehen.
Lesen Sie zur Diagnose das Register direkt ohne Ereignisse, beispielsweise den Eingangsimpulszähler:
modbus_client_rpc -mrtu -pnone -s2 /dev/ttyRS485-1 -b115200 -a1 -r32 -t0x03
Steigt der Registerwert, während das Control in der Weboberfläche unverändert bleibt, liegt dieses Problem vor.
Ursache und Einzelheiten
Der Zähler ungesendeter Ereignisse wird von einem Interrupt-Handler und der Hauptschleife ohne korrekte Synchronisierung gemeinsam verwendet. Ein Interrupt während eines Lese-Änderungs-Schreibvorgangs in der Hauptschleife kann eine Zählererhöhung verlieren lassen. Diese lässt sich nicht wiederherstellen, da sie nur beim erstmaligen Einreihen eines Ereignisses erfolgt. Das Gerät glaubt dann, nichts senden zu müssen, obwohl Ereignisse in der Warteschlange liegen.
Der Zustand bleibt bis zum Neustart des Geräts bestehen. Ein weiteres Ereignis kann die angesammelte Warteschlange vorübergehend leeren und das Control einmal aktualisieren; die Abweichung tritt jedoch sofort wieder auf. Eine Installation ohne weitere Änderungen erscheint daher eingefroren.
Die Wahrscheinlichkeit steigt mit Ereignishäufigkeit und Buslast, da gleichzeitige Zugriffe wahrscheinlicher werden.
Übergangslösung
Ein Neustart des Geräts stellt die Ereignisübertragung bis zum erneuten Auftreten des Fehlers wieder her. Ein Neustart des Controllers oder von wb-mqtt-serial hilft nicht: Der Zustand befindet sich im Gerät und wird durch eine erneute Ereigniskonfiguration nicht zurückgesetzt.
Verringern Sie die Wahrscheinlichkeit, indem Sie die Eingangsentprellzeit erhöhen oder Ereignisse für häufig wechselnde Register deaktivieren. Lesen Sie bis zur Firmware-Aktualisierung die Werte direkt aus den Registern.
Behebung
In Firmware 1.27.0 behoben.
ERRMR01: Digitaleingangsregister enthalten nach dem Start 0 statt des tatsächlichen Zustands
Betroffene Geräte
WB-MR (außer WB-MRPS6) und WB-MWAC mit Firmware 1.9.x oder 1.10.x
Beschreibung
Beim Start werden Eingänge nicht gelesen; die Digitaleingangsregister enthalten auch für aktive Eingänge 0. Nach dem ersten Eingangswechsel sind sie korrekt.
Behebung
In 1.11.1 behoben.
Nach der Korrektur werden die Eingangszustände beim Start in die Register geschrieben. Ausgänge reagieren nicht: Sie bleiben aus oder stellen ihren gespeicherten Zustand wieder her, wenn Register 6 die Wiederherstellung aktiviert. Die Zuordnungsmatrix wird beim Start nicht verarbeitet, außer im Eingangsmodus 5 (Leckagesensoren mit 20-Minuten-Wiederholung). Andere Aktionen erfolgen bei späteren Eingangsänderungen.
ERRMR02: Safety Mode schaltet Relais unabhängig von der Modbus-Kommunikation aus
Betroffene Geräte
Alle WB-MR mit Firmware 1.15.0 oder 1.15.1
Beschreibung
Das Schreiben eines Werts ungleich null in Register 8 startet einen Timer, der nach Ablauf alle Relais ausschaltet. Empfangene Modbus-Pakete starten den Timer nicht neu.
Behebung
In 1.15.2 behoben.
Der Timer startet nun nach jedem empfangenen Modbus-Paket neu.
ERRMR03: Gerät blockiert nach etwa sechs Wochen Dauerbetrieb
Betroffene Geräte
Alle WB-MR mit Firmware 1.15.0, 1.15.1 oder 1.15.2
Beschreibung
Nach etwa sechs Wochen führt das Gerät keine Befehle mehr aus und aktualisiert keine Registerwerte mehr, antwortet jedoch weiterhin über Modbus.
Behebung
Behoben in 1.15.3
ERRMR04: Fehlerhafte Mikrocontroller-Temperatur- und Versorgungsspannungsmesswerte
Betroffene Geräte
GD32-basierte WB-MR-Hardware mit Firmware 1.16.0
Behebung
Behoben in 1.16.1
ERRMR05: Fehlerhafte Überwachung der Versorgungsspannung
Betroffene Geräte
Alle WB-MR mit Firmware 1.16.0
Beschreibung
Der ADC erfasst die Versorgungsspannung alle 100 ms. Ändert sich ein Relaiszustand unmittelbar vor einem Spannungsausfall, können sich die Kondensatoren entladen, bevor die nächste Abtastung den Ausfall erkennt. Der neue Zustand wird dann nicht gespeichert.
Behebung
Die Versorgungsspannung wird nun kontinuierlich gemessen.
Behoben in 1.16.1
ERRMR06: Frequenzmesswerte fallen zeitweise auf null
Betroffene Geräte
Alle WB-MR mit Firmware 1.15.0 bis einschließlich 1.16.2
Beschreibung
Im Frequenzmessmodus fallen Messwerte gelegentlich auf null, wenn die Eingangsfrequenz um 1 kHz liegt.
Behebung
Behoben in 1.16.3
ERRMR07: Instabile Modbus-Abfrage
Betroffene Geräte
Alle WB-MR mit Firmware bis einschließlich 1.16.2
Beschreibung
Das Gerät antwortet zeitweise nicht mehr auf Modbus-Befehle. Dies wurde bei 115200 Baud beobachtet.
Behebung
Behoben in 1.16.3
ERRMR08: Angezogene Relais fallen bei sinkender Modulversorgung unerwartet ab
Betroffene Geräte
Alle WB-MR und WB-MWAC mit Firmware bis einschließlich 1.17.1
Beschreibung
Beobachtete Fehler:
- Bei sinkender Versorgungsspannung, etwa beim Wechsel von einer 24-V-Hauptversorgung auf 12-V-Notversorgung, können angezogene Relais unerwartet abfallen.
- Bei Versorgung über Vout des Controllers und aktivierter Zustandswiederherstellung (Register 6 = 1) kann das Modul aufgrund eines Spannungseinbruchs neu starten.
Übergangslösung
- Verwenden Sie Haupt- und Notstromversorgung mit derselben Spannung.
- Verwenden Sie eine separate Versorgung mit ausreichender Leistung.
Behebung
Behoben in 1.17.2.
ERRMR09: Spitzen in Eingangsfrequenzmesswerten
Betroffene Geräte
Alle WB-MR und WB-MRWM2 mit Firmware bis einschließlich 1.17.4
Beschreibung
Fällt eine hohe Eingangsfrequenz unter 1 Hz, können Messwerte kurzzeitig wieder auf einen hohen Wert springen. Bei vollständig ausbleibenden Impulsen tritt dies nicht auf. Da WB-MRWM2 zur Leistungsmessung einen Spannungs-Frequenz-Wandler verwendet, kann das Trennen einer Last ähnlich kurzzeitige Leistungsmessspitzen auf den vorherigen Wert verursachen.
Behebung
Behoben in 1.17.5.
ERRMR10: WB-MRWM2 zählt keine Energie
Betroffene Geräte
Betrifft nur WB-MRWM2 mit Firmware 1.19.0 bis einschließlich 1.20.1; Einzelheiten: ERRMRWM0001
ERRMR11: Antworten auf alle erweiterten Anfragen an Adresse 0xFD
Betroffene Geräte
WB-MRWL3, WB-MR3LV/K(I), WB-MR6LV/K(I), WB-MR3LV/S, WB-MR6LV/S, WB-MRPS6, WB-MR6C v.2, WB-MR6C v.3, WB-MR6CU v.2 und WB-MRM2-mini mit Firmware vor 1.21.1.
Beschreibung
Adresse 0xFD wird für Fast-Modbus-Befehle mit Datenantwort sowie für andere Broadcast-Anfragen verwendet. Betroffene Geräte antworteten auf jedes Paket an 0xFD, auch auf Pakete ohne Fast-Modbus-Befehle.
Abhilfe
Aktualisieren Sie auf Firmware 1.21.1.
Behebung
In Firmware 1.21.1 behoben.
ERRMR12: Gerät blockiert, alle Anzeigen erlöschen
Beschreibung
Das Schalten mancher Schütze kann das Modul blockieren und alle Anzeigen erlöschen lassen. Aus- und Wiedereinschalten stellt die Funktion wieder her.
Betroffene Geräte
- WB-MR3LV/S Charge v4.3A
- WB-MR3LV/I Chargen v4.0I–v4.2A
- WB-MR6LV/S Chargen v4.3B–v4.5C
- WB-MR6LV/I Chargen v4.0M–v4.2C
- WB-MR6C v.2 Chargen v3.6M–v3.7C
- WB-MR6C v.3 Chargen v4.3H–v4.4C, außer v4.3H/1
- WB-MR6CU v.2 Chargen v1.4A–v1.6A
- WB-MRPS6/S Chargen v1.3B–v1.4A
- WB-MRWL3 Chargen v1.4F–v1.5B
Ursache und Einzelheiten
Ein Latch-up im EEPROM zieht die Mikrocontroller-Versorgungsspannung herunter. Aus- und Wiedereinschalten der Platine beseitigt ihn. Die Wahrscheinlichkeit ist gering und hängt von mehreren Faktoren ab.
Übergangslösung
Betroffene Geräte mit diesem Fehler werden im Rahmen der Garantie ausgetauscht.
Korrektur
Spätere Chargen verwenden bzw. bestücken kein EEPROM mehr.
ERRMR13: Sicherungswiderstand der Hochspannungsversorgung des WB-MR6C v.3 fällt aus
Beschreibung
Sehr selten fällt der Sicherungswiderstand beim Betrieb mit der eingebauten 220-V-Versorgung aus.
Betroffene Geräte
Alle WB-MR6C v.3 vor Charge v4.4H.
Ursache und Einzelheiten
Ein Start der Versorgung nahe dem Scheitelpunkt der Netzsinusspannung kann in seltenen Fällen den Sicherungswiderstand beim Laden der internen Kapazität überlasten. Schwankungen der Spitzenleistungstoleranz können den Widerstand unterbrechen und damit die interne Versorgung trennen. Der Betrieb an einer externen Versorgung mit 9–28 V bleibt unbeeinträchtigt.
Übergangslösung
Das Relaismodul wird im Rahmen der Garantie ausgetauscht.
Behebung
Ab Charge v4.4H behoben.
ERRMR14: Versorgungsspannungsmesswert des WB-MR6C v.3 etwa 0.3 V zu niedrig
Beschreibung Die gemeldete Versorgungsspannung liegt etwa 0.3 V unter dem tatsächlichen Wert.
Betroffene Geräte
WB-MR6C v.3, Charge v4.4J/2.
Liste der Seriennummern
Ursache und Einzelheiten
Bei einigen Geräten wurde eine ungenutzte Schutzdiode der Versorgungsschaltung bei der Montage nicht überbrückt.
Übergangslösung
Das Relaismodul wird im Rahmen der Garantie ausgetauscht.
Behebung
Innerhalb der Charge v4.4J/2 behoben.