NEWS
[Gelöst]Batteriespeichersimulation mit AMIS-Daten in Blockly
-
Das Problem mit den Nachkommastellen bei der Ladung in Wh habe ich schon gelöst, da hatte einen Fehler in der Variablen Ermittlung Ladeenergie in Wh, am Schluß noch >0; dies war der Fehler.
-
Die Be- und Entladebegrenzung mit z. B. 2.500 W habe ich nun doch über die Variablen realisiert.
Soweit funktioniert dies auch.Wie könnte ich den letzten Punkt die Beladegrenze beim Speicherstand z. B. 5.000 Wh und Entladegrenze 0 Wh umsetzen ?
Auch über eine Variable und über eine Falls Funktion ?
Nur wo schiebe ich diese noch hinein ?Danke für einen Tipp.
-
Wenn bei der Abfrage die Entladeleistung zwischen -2500 und <0 liegten soll, wie würdest du die Bedingung formulieren `?
Er ermittelt mir jetzt zwar die Entladeleistung, aber die Umrechnung in Entladeenergie in Wh ergibt null.
Ich vermute mal, dass es ein >= oder <= bei -2500 liegt.Habe schon alles durchprobiert.
-
@goetschhofer
ich verstehe gerade nicht genau was nicht geht (ich war mit etwas anderem beschäftigt...)
Zum Testen/probieren baue doch einfach mal debug Bausteine ein. (oder in einem extra kleinen Testblockly)
z.B. so19.9.2021, 22:18:14.624 [info ]: javascript.0 (2749) script.js.99_Test.Test_Leistung: wahr
-
-
@dslraser said in Batteriespeichersimulation mit AMIS-Daten in Blockly:
@goetschhofer
ich verstehe gerade nicht genau was nicht geht (ich war mit etwas anderem beschäftigt...)
Zum Testen/probieren baue doch einfach mal debug Bausteine ein. (oder in einem extra kleinen Testblockly)
z.B. so19.9.2021, 22:18:14.624 [info ]: javascript.0 (2749) script.js.99_Test.Test_Leistung: wahr
Wo gibst du den Testwert ein ?
-
@goetschhofer sagte in Batteriespeichersimulation mit AMIS-Daten in Blockly:
Wo gibst du den Testwert ein ?
ich habe bei mir den Datenpunkt ENTLADEN_W genommen (bei mir kommen ja keine Daten und das Blockly ist aus und wird nicht aktualisiert) Du kannst ja auch einen neuen Datenpunkt dafür anlegen, oder eine Variable benutzen.
-
Habe mir jetzt ein Testblockly erstellt.
Entweder habe ich jetzt einen Hänger oder .... ?
Der Minus-Wert von -3500 liegt nicht zwischen 0 und -2500, dann müsste doch falsch als Ergebnis kommen ?
Bei mir kommt falsch.
-
@goetschhofer sagte in Batteriespeichersimulation mit AMIS-Daten in Blockly:
Habe mir jetzt ein Testblockly erstellt.
Entweder habe ich jetzt einen Hänger oder .... ?
Der Minus-Wert von -3500 liegt nicht zwischen 0 und -2500, dann müsste doch falsch als Ergebnis kommen ?
Bei mir kommt falsch.
Du machst in Deinem Beispiel...falls 0 kleiner gleich -2.500 (0 ist ja nicht kleiner als -2.500) also ist das falsch. (steht auch so im Log) In Deinem Beispiel vergleichst Du ja 0 mit -2.500. Die Variable Testwert wird ja nirgends von Dir verglichen.
-
Sorry, du hast natürlich Recht, hier war ich wieder mal zu schlampig.
Interessant ist für mich folgendes:
Offenbar ignoriert er hier das Minus ?Testwert -3.500: bei oberer Grenzwert -2500
Testwert -2.000: bei oberer Grenzwert -2500
Jetzt hätte ich mir nochmals eine 2. Testvariante aufgebaut, aber da habe ich ein Problem mit der Verknüpfung mit dem DP Entladung W.
Wie kriege ich hier unter Objekt-ID den DP rein ? Anklicken funktioniert nicht.
Danke
-
@goetschhofer sagte in Batteriespeichersimulation mit AMIS-Daten in Blockly:
Wie kriege ich hier unter Objekt-ID den DP rein ? Anklicken funktioniert nicht.
den oberen nehmen
Im Log steht alles richtig (meiner Meinung nach)
-
@dslraser said in Batteriespeichersimulation mit AMIS-Daten in Blockly:
Danke, eben die Kleinigkeiten.
-
Bei beiden Korrektes Ergebnis: "falsch"
Entladeleistung: -3500 W, Grenzwert: - 2500 W
Bei beiden Korrektes Ergebnis: "wahr"
Entladeleistung: -2000 W, Grenzwert: -2500 W
Beim 2. falsches Ergebnis:, müsste "wahr" lauten.
Echt interessant, wenn ich <=-2.500 W (anstatt >=-2500 W) bei der 2. Variante eingebe, dann bekomme ich "falsch". -
@goetschhofer sagte in Batteriespeichersimulation mit AMIS-Daten in Blockly:
Beim 2. falsches Ergebnis:, müsste "wahr" lauten.
Echt interessant, wenn ich <=-2.500 W (anstatt >=-2500 W) bei der 2. Variante eingebe, dann bekomme ich "falsch".Und wie hoch ist der aktuelle Wert in diesem Moment gewesen ?
-
@dslraser said in Batteriespeichersimulation mit AMIS-Daten in Blockly:
@goetschhofer sagte in Batteriespeichersimulation mit AMIS-Daten in Blockly:
Beim 2. falsches Ergebnis:, müsste "wahr" lauten.
Echt interessant, wenn ich <=-2.500 W (anstatt >=-2500 W) bei der 2. Variante eingebe, dann bekomme ich "falsch".Und wie hoch ist der aktuelle Wert in diesem Moment gewesen ?
Habe es soeben nochmals getestet.
Habe den Entladewert mit -2000 W unter DP händisch eingetragen:
-
@goetschhofer
Ja, einmal vergleichst Du mit größer/gleich und einmal mit kleiner/gleich....
Da muß doch dann was anderes rauskommen.
Ich verstehe nicht was Du mir damit sagen willst ? -
@dslraser said in Batteriespeichersimulation mit AMIS-Daten in Blockly:
@goetschhofer
Ja, einmal vergleichst Du mit größer/gleich und einmal mit kleiner/gleich....
Da muß doch dann was anderes rauskommen.
Ich verstehe nicht was Du mir damit sagen willst ?Hätte deinen Rat schon früher befolgen sollen, habe mir jetzt einen Test-Datenpunkt TEST_ENTLADUNG_W angelegt.
Ist eine tolle Sache, denn hier kann man Trockenschwimmtraining machen.
1. Variante:
Die Abfrage lautet doch, ob der abgefragte Werte -3500 zwischen 0 und -2.500 liegt, , hier kommt "wahr" heraus.
Dieser Wert liegt ja nicht zwischen diesen beiden Werten, da müsste doch "falsch" herauskommen ?
Oder verstehe ich das Ergebnis "wahr" und "falsch" nicht korrekt ?
Interessant ist für mich, dass es bei der Vergleichsfunktion bei der Abfrage der positiven Werten keine Probleme gibt.
Du bekommst auch als Ergebnis "wahr".
2. Variante:
Die Abfrage lautet hier, ob der abgefragte Werte -2000 zwischen 0 und -2.500 liegt, hier kommt "falsch" heraus.
Dieser Wert liegt ja zwischen diesen beiden Werten, da müsste doch "wahr" herauskommen ?
Sorry, hier stehe ich wahrscheinlich auf dem Schlauch.
-
Das Skript läuft jetzt bei der Be- und Entladung so, wie ich mir dies vorstelle, auch mit der Begrenzung der maximalen Beladung (+2500 W) und der maximalen Entladeleistung (- 2.500 W).
Bei der Entladung mit <0 und >=-2500. Mit größer gleich -2500 Grenze ich die Werte zwischen 0 und -2500 ein.BLOCKLY_BAT_SMU_20.9.2021-17h00.txt
-
@goetschhofer sagte in Batteriespeichersimulation mit AMIS-Daten in Blockly:
Die Abfrage lautet hier, ob der abgefragte Werte -2000 zwischen 0 und -2.500 liegt, hier kommt "falsch" heraus.
Dieser Wert liegt ja zwischen diesen beiden Werten, da müsste doch "wahr" herauskommen ?Nein, Du fragst Sinngemäß ab ob -2.000 kleiner oder gleich -2500 ist und -2.000 kleiner oder gleich 0 ist. (das erste ist falsch und das zweite ist richtig) Da beide Werte stimmen müssen (und) ist das Ergebnis falsch. So meine Erklärung dazu.
-
Da ich ja vor 5 Jahren bereits eine Batteriespeichersimulation in Excel mit mtl. 90.000 Datensätzen erstellt habe, kann ich mich noch düster erinnern, dass ich das Gleiche Problem mit der Vergleichsfunktion mit negativen Werten hatte.
Habe mir das ganze nochmals in Excel aufbereitet und hier ist es das Gleiche, dass man meines Erachtens bei Abfrage eines negativen Wertes zwischen 0 und -2500, mit <0 und >=-2500 arbeiten muss.
Ich interpretiere dies so, dass eine Minuszahl das <= in >= umdreht.
VERGLEICHSFUNKTION mit positiven und negativen Zahlen-20.9.2021.xlsx
Ich mache monatlich Auswertungen der Strompreise für A und D und hier frage ich auch die negativen Preise mit <0 und >=z. B. -10 Euro/MWh ab, also welche Werte liegen zwischen 0 und -10.
Also nicht 2 x kleiner gleich, sondern 1 x <0 und anschließend >=negativer Wert.Das spannende an der Sache ist ja, dass es mit dieser Logik im Blockly fehlerfrei funktioniert.
Danke für deine Hilfe.