Aktive Aktion unterbrechen
Verfasst: Dienstag 2. Februar 2021, 12:43
Hallo zusammen,
ich suche nach einer Funktion, die es mir ermöglicht,
eine aktuell durchgeführte Aktion zu unterbrechen.
Also der Verlauf meiner Aktion sieht dabei so aus:
PumpeAbsenken.value() = True
time.sleep(2)
PumpeAbsenken.value() = False
Und ich möchte jetzt eine Funktion, die diesen Ablauf unterbrechen kann,
wenn der Endschalter an der Kette, an der die Pumpe hängt, ausgelöst und damit der Wert des Auslösers auf 1 gesetzt wird.
Sinn dahinter ist, dass die Pumpe mehrere Male abgesenkt werden soll,
bis ein Endschalter aktiviert wird.
Dieser wird während des Absenkens aktiviert, allerdings zu Beginn des 2-Sekunden-Intervalls.
Danach wird die Kette für die restliche Zeit weiter "abgesenkt", obwohl durch den Endschalter begrenzt.
Als Resultat wird der Endschalter durch die wirkende Kraft beschädigt.
Um dem Vorzubeugen, wäre es toll, wenn sich eine Funktion zwischenschalten könnte, sobald der Endschalter auslöst.
Ich dachte schon daran, eine While-Schleife mit einem sleep von unter einer Sekunde zu verwenden,
das grillt allerdings die CPU.
Ich hoffe, ihr habt Ideen, die mir weiterhelfen können.
Viele Grüße,
zazzou
ich suche nach einer Funktion, die es mir ermöglicht,
eine aktuell durchgeführte Aktion zu unterbrechen.
Also der Verlauf meiner Aktion sieht dabei so aus:
PumpeAbsenken.value() = True
time.sleep(2)
PumpeAbsenken.value() = False
Und ich möchte jetzt eine Funktion, die diesen Ablauf unterbrechen kann,
wenn der Endschalter an der Kette, an der die Pumpe hängt, ausgelöst und damit der Wert des Auslösers auf 1 gesetzt wird.
Sinn dahinter ist, dass die Pumpe mehrere Male abgesenkt werden soll,
bis ein Endschalter aktiviert wird.
Dieser wird während des Absenkens aktiviert, allerdings zu Beginn des 2-Sekunden-Intervalls.
Danach wird die Kette für die restliche Zeit weiter "abgesenkt", obwohl durch den Endschalter begrenzt.
Als Resultat wird der Endschalter durch die wirkende Kraft beschädigt.
Um dem Vorzubeugen, wäre es toll, wenn sich eine Funktion zwischenschalten könnte, sobald der Endschalter auslöst.
Ich dachte schon daran, eine While-Schleife mit einem sleep von unter einer Sekunde zu verwenden,
das grillt allerdings die CPU.
Ich hoffe, ihr habt Ideen, die mir weiterhelfen können.
Viele Grüße,
zazzou