no message

This commit is contained in:
2025-06-12 16:45:40 +02:00
parent ae7f3e4349
commit 3fce6d2343

View File

@@ -114,17 +114,90 @@ Bearbeiten
### 3.3 Leistungszuweisung
- Für jeden Verbraucher wählt der Manager die **höchste** Stufe aus `PowerSteps`, die die verbleibende Differenz |D| **nicht überschreitet**.
- Er durchläuft die Verbraucher nacheinander (Round-Robin), bis |D| annähernd erschöpft ist.
- Zunächst ermittelt der Manager die **SollIst-Differenz**
```text
D = Sollleistung_Max Ist-Netzbezug
Dann addiert er alle aktuell zugeteilten Verbraucher­leistungen zum Sollwert:
**Beispiel:**
- Verbraucher A: `[0,1000,2000]`
- Verbraucher B: `[0,500,1500,2000]`
- Differenz D = 3000 W
text
Kopieren
Bearbeiten
GesamtVerteilbareLeistung = D + ∑(bereits zugeteilte Leistungen)
Die Verbraucher werden nach Priorität und Fairness sortiert:
1. A erhält 1000 W → Rest 2000 W
2. B erhält 1500 W → Rest 500 W
3. Nächster Zyklus oder weitere Verteilschritte mit Rest 500 W
Aufsteigend nach PV_Prio (niedrig = höher)
Bei gleicher Priorität Round-Robin anhand Bezogene_Energie (weniger Energie → zuerst)
Innerhalb jeder Prioritätsstufe wird ein „Stufen-Array“ aufgebaut, das alle möglichen Leistungsstufen aller Verbraucher enthält, sortiert nach der Reihenfolge, in der sie zugeteilt werden dürfen.
Beispiel
Gegeben
Sollleistung_Max = 0 W, Ist-Netzbezug = 5000 W → D = 5000 W
Bereits zugeteilte Leistungen: A=2000 W, B=500 W → GesamtVerteilbareLeistung = 5000 + 2000 + 500 = 7500 W
Verbraucher
yaml
Kopieren
Bearbeiten
A: [0,1000,2000], Prio 1, Bezogene_Energie 5 kWh, aktuell 2000 W
B: [0,500,1500,2500], Prio 2, Bezogene_Energie 0 kWh, aktuell 500 W
C: [0,500,1500,4000], Prio 2, Bezogene_Energie 10 kWh, aktuell 0 W
D: [0,500,1200,2500], Prio 2, Bezogene_Energie 15 kWh, aktuell 0 W
E: [0,200,1500], Prio 3, Bezogene_Energie 15 kWh, aktuell 0 W
Stufen-Array pro Prio
yaml
Kopieren
Bearbeiten
Prio 1: A0, A1000, A2000
Prio 2: B0, C0, D0, B500, C500, D500, D1200, B1500, C1500, B2500, D2500, C4000
Prio 3: E0, E200, E1500
Verteilung
Prio 1
7500 W 0 W (A0) = 7500 W
7500 W 1000 W (A1000) = 6500 W
6500 W 2000 W (A2000) = 4500 W → A erhält 2000 W
Prio 2
4500 W 0 W (B0) = 4500 W
4500 W 0 W (C0) = 4500 W
4500 W 0 W (D0) = 4500 W
4500 W 500 W (B500) = 4000 W
4000 W 500 W (C500) = 3500 W
3500 W 500 W (D500) = 3000 W
3000 W 1200 W (D1200)= 1800 W
1800 W 1500 W (B1500)= 300 W
300 W 1500 W (C1500)= (negativ) → nicht möglich
→ B erhält 2500 W, C 1500 W, D 1200 W
Prio 3
Rest 300 W
300 W 0 W (E0) = 300 W
300 W 200 W (E200) = 100 W
→ E erhält 200 W (Rest 100 W ungenutzt)
Fazit: Durch Aufaddieren der bereits verteilten Leistungen vor der Neuverteilung und das schrittweise Abarbeiten der Stufen-Arrays in Prioritäts- und Fairness-Reihenfolge wird die verfügbare Gesamtleistung optimal und gerecht auf alle Verbraucher verteilt.
---