Ankündigung

Einklappen
Keine Ankündigung bisher.

Bug in Firmware 4.107 bei mehreren modbusmaster-Verbindungen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    [Firmware] Bug in Firmware 4.107 bei mehreren modbusmaster-Verbindungen

    Moin,

    mit 2.5 Monaten Verspätung ist letzte Woche endlich mein Batterie-Wechselrichter eingetroffen, gestern habe ich es nun auch geschafft diesen fertig anzuschließen. Zusammen mit dem Solar-WR habe ich jetzt 2 Modbus-Geräte, mit welchen ich Daten austauschen möchte.
    Der Datenaustausch mit dem 1. Wechselrichter hat bislang reibungslos funktioniert, also habe ich nach gleichem Muster einen zweiten Kommunikationsweg aufgebaut:

    //--------------------------------------------------------------------------------------------------------------------------------------

    //Modbus Init
    WR_PV_Handle=modbusmaster($192.168.2.225$, 502u16, 5u32, 5)
    WR_Bat_Handle=modbusmaster($192.168.2.226$, 502u16, 5u32, 3)

    //--------------------------------------------------------------------------------------------------------------------------------------


    So weit, so gut... Allerdings habe ich jetzt das Phänomen, dass die Daten, welche eigentlich mit dem ersten WR (WR-PV) ausgetauscht werden sollen, scheinbar auch vom WR der Batterie geholt werden. Irgendetwas scheint hier beim Erzeugen der Modbus-Handles nicht sauber zu funktionieren...

    Im Debugger tauchen beide als verschiedene Handle-Nummern auf (WR_PV_Handle = 1u08, WR_Bat_Handle = 2u08), das habe ich bereits geprüft. Allerdings liefert die Modbus-Abfrage vom Betriebszustand falsche Werte zurück:

    //--------------------------------------------------------------------------------------------------------------------------------------
    WR_PV_Betrieb_Status = readmodbus(WR_PV_Handle, MB_INPUT_REGISTER, 40029u16, WR_PV_Betrieb, BIG_ENDIAN, BIG_ENDIAN); /* Betriebsstatus WR_PV */
    WR_Bat_Betrieb_Status = readmodbus(WR_Bat_Handle, MB_INPUT_REGISTER, 40029u16, WR_Bat_Betrieb, BIG_ENDIAN, BIG_ENDIAN); /* Betriebsstatus WR_Bat */
    //--------------------------------------------------------------------------------------------------------------------------------------


    Beim Auslesen dieser Werte wird mir folgendes ausgegeben:
    WR_Bat_Betrieb = 1295 (entspricht "Batterie Standby", passt)
    WR_PV_Betrieb = 1295 (passt nicht, diesen Betriebszustand kann der PV-WR garnicht einnehmen, müsste 295 = "In Betrieb" sein)

    >> Augenscheinlich liefert die Abfrage über beide Modbus-Handles immer Ergebnisse des selben Gerätes (anstelle zweier verschiedener)
    >> wenn ich die Reihenfolge der Programmierung ändere (erst WR_Bat_Handle, dann WR_PV_Handle), dann liefern beide Abfragen immer den Wert des zuletzt programmierten

    Habe ich hier irgendwo einen Denkfehler? Oder ist dies noch ein Firmware-Bug?

    Grüße,
    Brian
    Zuletzt geändert von Latias1990; 13.11.2020, 14:26.

    #2
    Hallo,

    kein Denkfehler, so it's gedacht. Wir prüfen das.

    Wir haben das geprüft, das ist ein Fehler in der Firmware. Er nimmt immer den letzten angelegten Descriptor.
    Wird in Version 4.108 kurzfristig gefixt.

    Danke!
    Zuletzt geändert von foobar0815; 13.11.2020, 18:47.

    Kommentar


      #3
      Zitat von foobar0815 Beitrag anzeigen
      Wir prüfen das.
      Dankeschön :-) Ich bin gespannt woran es liegt

      Kommentar


        #4
        Allerbesten Dank! Dann gucke ich mal weiter, ob mit dem Update alles läuft

        Kommentar


          #5
          Update auf 4.108 ist verfügbar:

          http://enertex.de/d-downloads.html#eibpc2-np

          Kommentar


            #6
            Zitat von foobar0815 Beitrag anzeigen
            Update auf 4.108 ist verfügbar:
            Und es funktioniert wurderbar, dankeschön :-)

            Kommentar

            Lädt...
            X