NEWS
Variable Zeitsteuerung von Schaltimpulsen
-
@ahnungsbefreit sagte in Variable Zeitsteuerung von Schaltimpulsen:
Auch die Pause da unten und das leere "Falls" sehen optimierungsfähig aus
und nur darum geht es mir!
das iterieren hatte ich ja schon verstanden, bei vielen Kreisen ist das mit Sicherheit eleganter, hier komme ich noch mit den Variablen aus.Der letztere Teil (der noch gar nicht da steht) ist es der mir Kopfzerbrechen bereitet.
Ich möchte die Kreise nacheinander schalten, jeweils für die vorausgewählte Dauer.
Aber wenn die Erde im Kreis 1 noch feucht genug ist will ich diesen Kreis überspringen und direkt mit Kreis 2 beginnen.
Daher kann ich nicht einfach die Dauern als Timeout addieren, sondern muss irgendwie die Timeouts dynamisch füttern.Die Steuere Blöcke kommen dann natürlich in den Timeout Block
@homoran sagte: wenn die Erde im Kreis 1 noch feucht genug ist will ich diesen Kreis überspringen und direkt mit Kreis 2 beginnen. Daher kann ich nicht einfach die Dauern als Timeout addieren, sondern muss irgendwie die Timeouts dynamisch füttern.
Vorschlag (nur Teil mit Auswertung der 4 Listen):

-
@ahnungsbefreit sagte in Variable Zeitsteuerung von Schaltimpulsen:
Auch die Pause da unten und das leere "Falls" sehen optimierungsfähig aus
und nur darum geht es mir!
das iterieren hatte ich ja schon verstanden, bei vielen Kreisen ist das mit Sicherheit eleganter, hier komme ich noch mit den Variablen aus.Der letztere Teil (der noch gar nicht da steht) ist es der mir Kopfzerbrechen bereitet.
Ich möchte die Kreise nacheinander schalten, jeweils für die vorausgewählte Dauer.
Aber wenn die Erde im Kreis 1 noch feucht genug ist will ich diesen Kreis überspringen und direkt mit Kreis 2 beginnen.
Daher kann ich nicht einfach die Dauern als Timeout addieren, sondern muss irgendwie die Timeouts dynamisch füttern.Die Steuere Blöcke kommen dann natürlich in den Timeout Block
@homoran So?

-
@homoran So?

@ahnungsbefreit sagte in Variable Zeitsteuerung von Schaltimpulsen:
So?
nicht wirklich, da müssen noch Zwischenschritte für jeden möglichen Kreis rein.
Dein Vorschlag würde ja nur die Gesamtdauer berechnen, oder?Hier noch mal für Kreis 1 und 2 (statisch)

Jetzt noch der dritte dazu und dabei auch die Möglichkeit bedenken, dass nur 1+3 laufen :-(
@paul53 sagte in Variable Zeitsteuerung von Schaltimpulsen:
nur Teil mit Auswertung der 4 Listen
Danke!
darum geht es mir - sehe ich mir nachher am PC an! -
@homoran sagte: wenn die Erde im Kreis 1 noch feucht genug ist will ich diesen Kreis überspringen und direkt mit Kreis 2 beginnen. Daher kann ich nicht einfach die Dauern als Timeout addieren, sondern muss irgendwie die Timeouts dynamisch füttern.
Vorschlag (nur Teil mit Auswertung der 4 Listen):

@paul53 sagte:
Vorschlag (nur Teil mit Auswertung der 4 Listen):
Jetzt ist das natürlich wieder ein typisches Paul-Blockly
und somit etwas schwerer verdaulich.sehe ich es richtig, dass du im Prinzip die Funktion nochmal innerhalb der Funktion im timeout aufrufst und damit "den Start der zweiten Verzögerung" auch um das erste timeout verzögerst.
Dadurch brauchst du keine Rechnungen mehr?Das hatte ich auch vor, wusste aber nicht wie

An eine Funktion hatte ich natürlich nicht gedacht -
@ahnungsbefreit sagte in Variable Zeitsteuerung von Schaltimpulsen:
So?
nicht wirklich, da müssen noch Zwischenschritte für jeden möglichen Kreis rein.
Dein Vorschlag würde ja nur die Gesamtdauer berechnen, oder?Hier noch mal für Kreis 1 und 2 (statisch)

Jetzt noch der dritte dazu und dabei auch die Möglichkeit bedenken, dass nur 1+3 laufen :-(
@paul53 sagte in Variable Zeitsteuerung von Schaltimpulsen:
nur Teil mit Auswertung der 4 Listen
Danke!
darum geht es mir - sehe ich mir nachher am PC an!@homoran Nein, das sollte schon funktionieren, egal ob einer oder alle oder mehrere Kreise geschaltet werden. Aber Du kannst natürlich gerne auch mit Paul's Vorschlag weiterarbeiten, der ist ja hier der Blockly/JS Guru.
-
@homoran Nein, das sollte schon funktionieren, egal ob einer oder alle oder mehrere Kreise geschaltet werden. Aber Du kannst natürlich gerne auch mit Paul's Vorschlag weiterarbeiten, der ist ja hier der Blockly/JS Guru.
@ahnungsbefreit sagte in Variable Zeitsteuerung von Schaltimpulsen:
ber Du kannst natürlich gerne auch mit Paul's Vorschlag weiterarbeiten, der ist ja hier der Blockly/JS Guru.
Da wundere ich mich auch immer wieder, wo der noch was aus dem Hut zaubert.
@ahnungsbefreit sagte in Variable Zeitsteuerung von Schaltimpulsen:
Nein, das sollte schon funktionieren, egal ob einer oder alle oder mehrere Kreise geschaltet werden
Dann seh ich mir das noch mal intensiver an, ich will es ja auch verstehen und lernen
-
@paul53 sagte:
Vorschlag (nur Teil mit Auswertung der 4 Listen):
Jetzt ist das natürlich wieder ein typisches Paul-Blockly
und somit etwas schwerer verdaulich.sehe ich es richtig, dass du im Prinzip die Funktion nochmal innerhalb der Funktion im timeout aufrufst und damit "den Start der zweiten Verzögerung" auch um das erste timeout verzögerst.
Dadurch brauchst du keine Rechnungen mehr?Das hatte ich auch vor, wusste aber nicht wie

An eine Funktion hatte ich natürlich nicht gedacht -
@homoran sagte: die Funktion nochmal innerhalb der Funktion im timeout aufrufst und damit "den Start der zweiten Verzögerung" auch um das erste timeout verzögerst.
So ist es.
-
@paul53 sagte:
Vorschlag (nur Teil mit Auswertung der 4 Listen):
Jetzt ist das natürlich wieder ein typisches Paul-Blockly
und somit etwas schwerer verdaulich.sehe ich es richtig, dass du im Prinzip die Funktion nochmal innerhalb der Funktion im timeout aufrufst und damit "den Start der zweiten Verzögerung" auch um das erste timeout verzögerst.
Dadurch brauchst du keine Rechnungen mehr?Das hatte ich auch vor, wusste aber nicht wie

An eine Funktion hatte ich natürlich nicht gedacht@homoran sagte in Variable Zeitsteuerung von Schaltimpulsen:
Jetzt ist das natürlich wieder ein typisches Paul-Blockly und somit etwas schwerer verdaulich.
Schwer verdaulich und auch mit Vorsicht zu geniessen. So wie @paul53 es geschrieben hat ist es sauber. Allerdings nutzt es eine "Rekursion", sprich das aufrufen einer Funktion aus genau dieser Funktion heraus. Das kann je nach Situation und Aufbau auch mal schief gehen (unsichtbare Endlosschleife und seltsames Verhalten)
Bitte nicht falsch verstehen - das Skript so ist gut und sollte gehen. Es geht nur darum das man bei Funktionen die sich selber aufrufen genau aufpassen muss damit am Ende alles passt.
Ich hätte das Skript mit einem Hilfs-State zusammen aufgebaut, der auch dafür sorgt das das Skript auch bei einem Neustart 'weiter' bewässert:

Überall da wo nur "object ID" steht ist der von hand anzulegende Steuerstate gemeint.
-
@homoran sagte in Variable Zeitsteuerung von Schaltimpulsen:
Jetzt ist das natürlich wieder ein typisches Paul-Blockly und somit etwas schwerer verdaulich.
Schwer verdaulich und auch mit Vorsicht zu geniessen. So wie @paul53 es geschrieben hat ist es sauber. Allerdings nutzt es eine "Rekursion", sprich das aufrufen einer Funktion aus genau dieser Funktion heraus. Das kann je nach Situation und Aufbau auch mal schief gehen (unsichtbare Endlosschleife und seltsames Verhalten)
Bitte nicht falsch verstehen - das Skript so ist gut und sollte gehen. Es geht nur darum das man bei Funktionen die sich selber aufrufen genau aufpassen muss damit am Ende alles passt.
Ich hätte das Skript mit einem Hilfs-State zusammen aufgebaut, der auch dafür sorgt das das Skript auch bei einem Neustart 'weiter' bewässert:

Überall da wo nur "object ID" steht ist der von hand anzulegende Steuerstate gemeint.
@asgothian Auch dir einen großen Dank!
jetzt sind wir doch weit über den Tritt gegen das Schienbein hinaus - war aber auch nötig.
da wäre ich nie drauf gekommen.Ist alles weit über meinem momentanen Horizont.
Aber ich denke ich werde @paul53 s und dein ( @Asgothian s) Skript mir mal ganz langsam auf der Zunge zergehen lassen.
vielleicht kann ich es doch vollständig nachvollziehen.Dann hat es die Lernkurve stark beschleunigt
-
@asgothian Auch dir einen großen Dank!
jetzt sind wir doch weit über den Tritt gegen das Schienbein hinaus - war aber auch nötig.
da wäre ich nie drauf gekommen.Ist alles weit über meinem momentanen Horizont.
Aber ich denke ich werde @paul53 s und dein ( @Asgothian s) Skript mir mal ganz langsam auf der Zunge zergehen lassen.
vielleicht kann ich es doch vollständig nachvollziehen.Dann hat es die Lernkurve stark beschleunigt
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden