Re: "Pulsierende" Ladung mit 2.0 master
Verfasst: So Feb 18, 2024 5:11 pm
In der main.log ist mir etwas aufgefallen. Dazu folgendes im Hinterkopf behalten: Bei der Aufzeichung war die Rundown Power auf 1000W gesetzt.
Solange der Betrag der Speicherleistung (openWB/set/bat/get/power Power) unter 1000 W liegt, wird die erlaubte Entladeleistung als Absolutwert in Richtung der 1000W bestimmt (ggf. auf ein Inkrement von 50W beschraenkt durch https://github.com/openWB/core/blob/958 ... ll.py#L149).
Wird der Speicher aber mit mehr als 1000W entladen, wird die erlaubte Entladeleistung stattdessen als Delta zu 1000W berechnet.
Je nachdem, auf welcher Seite der rundown_power von 1000W sich die Speicherentladung gerade befindet, ist die effektive Semantik des berechneten Wertes eine andere: Mal ist es ein Zielwert, mal ein Offset.
Code: Alles auswählen
11:13:11,379 - {helpermodules.changed_values_handler:120} - {DEBUG:MainThread} - Topic openWB/set/bat/get/power, Payload -1002.98, vorherige Payload: -1259.04
11:13:11,487 - {control.bat_all:205} - {DEBUG:MainThread} - Erlaubte Entlade-Leistung nutzen -2.980000000000018W
11:13:11,488 - {control.bat_all:171} - {INFO:MainThread} - -2.980000000000018W verbleibende Speicher-Leistung
[...]
11:13:31,023 - {helpermodules.changed_values_handler:120} - {DEBUG:MainThread} - Topic openWB/set/bat/get/power, Payload -796.18, vorherige Payload: -1002.98
11:13:31,125 - {control.bat_all:159} - {DEBUG:MainThread} - Verbleibende Speicher-Leistung durch maximale Ausgangsleistung auf 846.18W begrenzt.
11:13:31,126 - {control.bat_all:205} - {DEBUG:MainThread} - Erlaubte Entlade-Leistung nutzen 846.18W
11:13:31,126 - {control.bat_all:171} - {INFO:MainThread} - 846.18W verbleibende Speicher-Leistung
[...]
11:13:51,460 - {helpermodules.changed_values_handler:120} - {DEBUG:MainThread} - Topic openWB/set/bat/get/power, Payload -1124.88, vorherige Payload: -796.18
11:13:51,578 - {control.bat_all:205} - {DEBUG:MainThread} - Erlaubte Entlade-Leistung nutzen -124.88000000000011W
11:13:51,579 - {control.bat_all:171} - {INFO:MainThread} - -124.88000000000011W verbleibende Speicher-Leistung
[...]
11:14:10,969 - {helpermodules.changed_values_handler:120} - {DEBUG:MainThread} - Topic openWB/set/bat/get/power, Payload -975.24, vorherige Payload: -1124.88
11:14:11,092 - {control.bat_all:205} - {DEBUG:MainThread} - Erlaubte Entlade-Leistung nutzen 1000W
11:14:11,093 - {control.bat_all:171} - {INFO:MainThread} - 1000W verbleibende Speicher-Leistung
[...]
11:14:31,652 - {helpermodules.changed_values_handler:120} - {DEBUG:MainThread} - Topic openWB/set/bat/get/power, Payload -1416.25, vorherige Payload: -975.24
11:14:31,785 - {control.bat_all:205} - {DEBUG:MainThread} - Erlaubte Entlade-Leistung nutzen -416.25W
11:14:31,789 - {control.bat_all:171} - {INFO:MainThread} - -416.25W verbleibende Speicher-Leistung
[...]
11:14:51,326 - {helpermodules.changed_values_handler:120} - {DEBUG:MainThread} - Topic openWB/set/bat/get/power, Payload -970.08, vorherige Payload: -1416.25
11:14:51,450 - {control.bat_all:205} - {DEBUG:MainThread} - Erlaubte Entlade-Leistung nutzen 1000W
11:14:51,452 - {control.bat_all:171} - {INFO:MainThread} - 1000W verbleibende Speicher-Leistung
[...]
11:15:11,556 - {helpermodules.changed_values_handler:120} - {DEBUG:MainThread} - Topic openWB/set/bat/get/power, Payload -1403.22, vorherige Payload: -970.08
11:15:11,681 - {control.bat_all:205} - {DEBUG:MainThread} - Erlaubte Entlade-Leistung nutzen -403.22W
11:15:11,682 - {control.bat_all:171} - {INFO:MainThread} - -403.22W verbleibende Speicher-Leistung
[...]
11:15:31,125 - {helpermodules.changed_values_handler:120} - {DEBUG:MainThread} - Topic openWB/set/bat/get/power, Payload -1055.75, vorherige Payload: -1403.22
11:15:31,231 - {control.bat_all:205} - {DEBUG:MainThread} - Erlaubte Entlade-Leistung nutzen -55.75W
11:15:31,232 - {control.bat_all:171} - {INFO:MainThread} - -55.75W verbleibende Speicher-Leistung
Ich zitiere mal aus BatAll._get_charging_power_left() https://github.com/openWB/core/blob/958 ... ll.py#L198. Zeile 201 berechnet den Offset, Zeile 203 setzt den Absolutwert.
Code: Alles auswählen
198 if self.data.get.power * -1 > config.rundown_power:
199 # Wenn der Speicher mit mehr als der erlaubten Entladeleistung entladen wird, muss das vom
200 # Überschuss subtrahiert werden.
201 self.data.set.charging_power_left = config.rundown_power + self.data.get.power
202 else:
203 self.data.set.charging_power_left = self._limit_rundown_power(
204 config.rundown_power)
205 log.debug(f"Erlaubte Entlade-Leistung nutzen {self.data.set.charging_power_left}W")