no message
This commit is contained in:
91
README.md
91
README.md
@@ -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 **Soll–Ist-Differenz**
|
||||
```text
|
||||
D = Sollleistung_Max − Ist-Netzbezug
|
||||
Dann addiert er alle aktuell zugeteilten Verbraucherleistungen 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.
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user