NEWS
Frage wegen Warnings in Blockly Prg
-
@homoran sagte in Frage wegen Warnings in Blockly Prg:
Hast du mal versucht in Worte zu fassen was du genau vorhast.
Und dann diese Worte in Blockly übersetzt?Exakt so funktioniert das zusammen klicken in Blockly am einfachsten. Laut sagen was man möchte und zu jedem Schritt den passenden Block wählen. Ganz ohne Blödsinn, so macht man das einfach.
Der Profi machts dann in Gedanken und spricht nicht mehr
-
Also, ich möchte dass eine Schleife gestartet wird, wenn die Variable Heizung-Boost auf "wahr" ist, sobald man auf "false" geht, soll es abgebrochen werden.
(Trigger1)
In der Schleife soll zuerst der aktuelle Wert der Soll Raumtemperatur gespeichert werden, dann ein Smartmeter Wert ständig abgefragt werden.
Wenn weniger als -500W erreicht ist, soll, wenn der Wert 30 noch nicht erreicht ist, die Soll Raumtemperatur um 0,5 erhöht werden und danach 1 Minute gewartet werden
Wenn mehr als -50W erreicht ist, soll, wenn der Wert noch höher als der vorher gespeicherte Wert ist, die Soll Raumtemp. um 0,5 verringert werden.
(Trigger2)
Wenn "Heizung-Boost" als false geht, soll die Schleife beendet werden und der alte gespeicherte Wert als Soll Raumtemp. geschrieben werden.Ich hoffe es ist verständlich ausgedrückt
-
@hg6806 Schleifen führen regelmäßig zur Lähmung des Systems.
Das musst du anders lösen -
@hg6806
Homoran hats ja schon geschrieben, Schleife ist für das was Du willst wohl etwas overkill.Nimm ein extra Trigger auf den DP den Du in der Schleife abfragst und da einfach ne FALLS die das auf FALSE prüft.
-
Ja, aber ein Trigger ist für mich doch wie eine Schleife und so war das auch gemeint
Ein Trigger fragt im Prinzip ja auch ständig ab und führt dann etwas aus und fängt wieder von vorne an -
@hg6806 sagte in Frage wegen Warnings in Blockly Prg:
aber ein Trigger ist für mich doch wie eine Schleife und so war das auch gemeint
das weiß aber die Schleife nicht und feuert
@homoran sagte in Frage wegen Warnings in Blockly Prg:
im Millisekundentakt Befehle ab
@hg6806 sagte in Frage wegen Warnings in Blockly Prg:
Ein Trigger fragt im Prinzip ja auch ständig ab
nein!
der Trigger abonniert eine Info, wenn die Triggerbedingung eintritt -
@homoran sagte in Frage wegen Warnings in Blockly Prg:
der Trigger abonniert eine Info, wenn die Triggerbedingung eintritt
Quasi als Interrupt?
-
@hg6806
Ne genau das Gegenteil. Startimpuls -
Ja meine ich ja auch.
Kenne ich aus der Hardware-Entwicklung. Da gibt's ja auch oft den INT-Pin -
@hg6806 Der Trigger „abonniert“ quasi einen Datenpunkt. Wann immer der sich ändert oder aktualisiert wird, läuft das Skript los.
Das ist also schon deine Schleife. -
Ja das habe ich schon verstanden. Aber wieso gehen dann nicht zwei Trigger?
Sind doch im Prinzip "zwei abonnierte DP" -
@hg6806 Gehen schon. Aber nicht verschachtelt
-
@hg6806 sagte: Ich hoffe es ist verständlich ausgedrückt
Ja. Vorschlag:
Der Leistungswert ändert sich oft genug?
Wert:
-
@hg6806 Getrennt voneinander.
Wie sollte der zweite Trigger denn triggern wenn der erste nie angefangen hat bzw. das eigentliche Skript nie angestoßen wurde? -
@paul53
Danke für deinen Vorschlag, den ich versuche zu verstehen.Im rechten Block ersetze ich oben durch "Wert von Freigabe = Wahr" oder?
Wo finde ich "setze Sollwert auf"?
Wann benutze ich Setze, wann steure, wann aktualisiere?
Ist für immer das Gleiche. -
@hg6806 sagte: Im rechten Block ersetze ich oben durch "Wert von Freigabe = Wahr" oder?
Nein. Wert (unter "Trigger") ist effektiver und entspricht "Wert von Freigabe = Wahr".
@hg6806 sagte in Frage wegen Warnings in Blockly Prg:
Wo finde ich "setze Sollwert auf"?
Unter "Variablen" nachdem die Variable sollwert erstellt wurde.
@hg6806 sagte in Frage wegen Warnings in Blockly Prg:
Wann benutze ich Setze, wann steure, wann aktualisiere?
"setze" ändert Variablen, "steuere" ändert Adapter-Datenpunkte und "aktualisiere" ändert eigene Datenpunkte (unter "0_userdata.0").
-
Wert unter "Trigger" finde ich nicht.
Davon verstehe ich den Sinn nicht.
@paul53 sagte in Frage wegen Warnings in Blockly Prg:
"setze" ändert Variablen, "steuere" ändert Adapter-Datenpunkte und "aktualisiere" ändert eigene Datenpunkte (unter "0_userdata.0").
Eigene Datenpunkte sind für mich Variablen. Ich erzeuge die immer in javascript.o.xxxx
Wieso dann extra Variablen hier in Blockly?
Deswegen ist wohl auch in Variablen nur ein Block mit "Element" womit ich nichts anfangen kann. -
@hg6806 sagte in Frage wegen Warnings in Blockly Prg:
Eigene Datenpunkte sind für mich Variablen.
das sind aber keine Variablen sondern States
@hg6806 sagte in Frage wegen Warnings in Blockly Prg:
Wieso dann extra Variablen hier in Blockly?
Wie gesagt nicht extra, sondern tatsächlich Variablen.
Diese werden nicht extern geschrieben (was Zeit dauert und bei zu frühem Zugriffsversuch noch nicht geschrieben sein könnten = siehe auch Asynchronität) sondern ausschließlich im js/Blockly verwendet.
Dadurch ist der Inhalt auch zur Laufzeit immer korrekt.
Zum Schluss eines Skriptes kannst du deine Variable in deine Datenpunkte schreiben, um sie zu Visualisieren oder woanders zu verwenden.
@hg6806 sagte in Frage wegen Warnings in Blockly Prg:
Wert unter "Trigger" finde ich nicht.
Das ist unter der Kategorie "Trigger" der kleine Baustein mit dem Pulldownmenü hinter dem sich viele nütliche Funktionen, u.a. eben "Wert", befinden
-
Ist das der Baustein aus Logik?
Wenn ja, wie geht der übereinander statt nebeneinander? -
@hg6806
auf externe Eingänge umschalten