From 02a13975decac1df9d62c4d3c0faa0eefd01ea75 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20H=C3=A4fliger?= Date: Thu, 12 Jun 2025 17:07:07 +0200 Subject: [PATCH] no message --- README.md | 141 ++++++++++++++++++++++++++++++------------------------ 1 file changed, 79 insertions(+), 62 deletions(-) diff --git a/README.md b/README.md index 3979c32..6077ffa 100644 --- a/README.md +++ b/README.md @@ -114,90 +114,107 @@ Bearbeiten ### 3.3 Leistungszuweisung -- Zunächst ermittelt der Manager die **Soll–Ist-Differenz** - ```text - D = Sollleistung_Max − Ist-Netzbezug -Dann addiert er alle aktuell zugeteilten Verbraucher­leistungen zum Sollwert: +- 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. -text +**Beispiel** +- Verbraucher A: `[0,1000,2000]` Prio 1 5 kWh aktuell 2000 W +- Verbraucher B: `[0,500,1500,2500]` Prio 2 0 kWh aktuell 500 W +- Verbraucher C: `[0,500,1500,4000]` Prio 2 10 kWh aktuell 0 W +- Verbraucher D: `[0,500,1200,2500]` Prio 2 15 kWh aktuell 0 W +- Verbraucher E: `[0,200,1500]` Prio 3 15 kWh aktuell 0 W + +--- + +#### Sortierte Stufen-Arrays + +**Prio 1** +[A0], [A1000], [A2000] + +markdown Kopieren Bearbeiten -GesamtVerteilbareLeistung = D + ∑(bereits zugeteilte Leistungen) -Die Verbraucher werden nach Priorität und Fairness sortiert: -Aufsteigend nach PV_Prio (niedrig = höher) +**Prio 2** +[B0], [C0], [D0], +[B500], [C500], [D500], +[D1200], [B1500], [C1500], +[B2500], [D2500], [C4000] -Bei gleicher Priorität Round-Robin anhand Bezogene_Energie (weniger Energie → zuerst) +markdown +Kopieren +Bearbeiten -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 +**Prio 3** +[E0], [E200], [E1500] 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 + +--- + +#### Verteilungsschritte + +1. **Delta berechnen** + - Netzbezug = –5000 W + - Sollwert = 0 W + → Differenz D = 5000 W + +2. **Bereits verteilte Leistungen aufsummieren** + - A = 2000 W + - B = 500 W + → GesamtVerteilbareLeistung = 5000 + 2000 + 500 = **7500 W** + +3. **Prio 1** +7500 − 0 W (A0) = 7500 +7500 − 1000 W (A1000) = 6500 +(6500 + 1000 W vorher) − 2000 W (A2000) = 5500 + +markdown +Kopieren +Bearbeiten +→ A erhält **2000 W** +→ Rest: 5500 W + +4. **Prio 2** +5500 − 0 W (B0) = 5500 +5500 − 0 W (C0) = 5500 +5500 − 0 W (D0) = 5500 +5500 − 500 W (B500) = 5000 +5000 − 500 W (C500) = 4500 +4500 − 500 W (D500) = 4000 +(4000 + 500 W vorher) − 1200 W (D1200) = 3300 +(3300 + 500 W vorher) − 1500 W (B1500) = 2300 +(2300 + 500 W vorher) − 1500 W (C1500) = 1300 +(1300 + 1500 W vorher) − 2500 W (B2500) = 300 +(300 + 1500 W vorher) − 2500 W (C2500) → negativ → nicht möglich + +markdown +Kopieren +Bearbeiten +→ B erhält **2500 W**, C **1500 W**, D **1200 W** +→ Rest: 300 W + +5. **Prio 3** +300 − 0 W (E0) = 300 +300 − 200 W (E200) = 100 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 +→ E erhält **200 W** +→ Verteilung beendet (Rest 100 W ungenutzt) -Prio 1 +--- -7500 W − 0 W (A0) = 7500 W +Durch dieses Verfahren – Auf­addierung der bereits verteilten Leistungen, Sortierung nach Priorität und Fairness sowie sukzessive Abarbeitung der Stufen-Arrays – wird die **Gesamtleistung optimal und gerecht** auf alle Verbraucher verteilt. -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. ---