INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

2 Parallele While-Schleifen mit unterschiedlichen Timer beenden



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

18.08.2020, 12:24
Beitrag #1

Tomate27 Offline
LVF-Neueinsteiger


Beiträge: 9
Registriert seit: Jul 2020

2016
-
EN



2 Parallele While-Schleifen mit unterschiedlichen Timer beenden
Hallo,

ich habe 2 parallel laufende While Loops. Davon arbeitet einer mit einer Zeitverzögerung von 1000ms.

Nun möchte ich gerne mittels einem Stop Button beide Schleifen beenden und das nur mit 1x klicken des Buttons.

Ich habe dies mit einer lokalen Variablen umgesetzt. Jetzt verstehe ich bloß folgendes Verhalten nicht:
Wenn ich als Mechanische Aktion "Switch Until Released" (Schalter bis zur Freigabe) auswähle, wird nur eine der beiden Schleifen beendet.
Mit "Switch When Released" (Schalter beim Loslassen) werden beide Schleifen beendet. Jedoch müsste ich somit Doppelt Klicken, damit der Stop Button wieder "frei wird" und ich erneut starten kann.

Kann mir jemand erklären was mein (Denk) Fehler ist bzw was ich machen muss damit beide While Schleifen mit 1x Stop Klicken beenden werden??

Viele Grüße

Tomate27
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.08.2020, 12:35 (Dieser Beitrag wurde zuletzt bearbeitet: 18.08.2020 12:37 von GerdW.)
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 16.991
Registriert seit: May 2009

11SP1, 17SP1 (ab und zu 20)
1995
DE_EN

10×××
Deutschland
RE: 2 Parallele While-Schleifen mit unterschiedlichen Timer beenden
Hallo Tomate,

Zitat:Ich habe dies mit einer lokalen Variablen umgesetzt. Jetzt verstehe ich bloß folgendes Verhalten nicht:
Wenn ich als Mechanische Aktion "Switch Until Released" (Schalter bis zur Freigabe) auswähle, wird nur eine der beiden Schleifen beendet.
Deine "schnelle" Schleife bekommt mit, wenn du den Schalter drückst und stoppt.
Dann lässt du den Schalter nach kurzer Zeit wieder los (weniger als 1s), was bei "Switch until released" den Schalter auch wieder zurücksetzt: die zweite Schleife benötigt aber bis zu 1000ms, um wieder den Schaltzustand abzufragen. Und der ist dann mittlerweile wieder zurück zu FALSE…

Zitat:Mit "Switch When Released" (Schalter beim Loslassen) werden beide Schleifen beendet.
Hier bleibt der Schalter gesetzt, auch wenn du ihn loslässt: auch die zweite Schleife bekommt nun ein TRUE geliefert…

Zitat:Kann mir jemand erklären was mein (Denk) Fehler
Schau dir mal die Icons zu diesen verschiedenen Schaltmodi mal ganz genau an…

Generelle Empfehlung:
Lokale Variablen führen über kurz oder lang zu Problemen, wie z.B. RaceConditions. Deshalb solltest du dir mal die Grundlagen zu Queues, Notifiern, ChannelWires anschauen…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.08.2020, 13:16
Beitrag #3

Tomate27 Offline
LVF-Neueinsteiger


Beiträge: 9
Registriert seit: Jul 2020

2016
-
EN



RE: 2 Parallele While-Schleifen mit unterschiedlichen Timer beenden
Hallo Gerd,

danke für die Infos. Ich habe mir nochmal die Beschreibungen dazu durchgelesen und es ergibt Sinn warum es das tut.

Jedoch finde ich mit der Verwendung von lokaler Variable und 1x Stop klicken keine Lösung.. oder gibt es da doch was?
Denn wie du schon gesagt hattest erreiche ich nur mit "Switch when Released" meinen Zustand aufgrund der 1000ms Verzögerung.

Deine Empfehlung habe ich mir bereits fest vorgenommen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.08.2020, 13:29
Beitrag #4

GerdW Offline
______________
LVF-Team

Beiträge: 16.991
Registriert seit: May 2009

11SP1, 17SP1 (ab und zu 20)
1995
DE_EN

10×××
Deutschland
RE: 2 Parallele While-Schleifen mit unterschiedlichen Timer beenden
Hallo Tomate,

du könntest auch "Switch when pressed" nehmen - nur eben nicht "…until released"!

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Parallele Frequenz-Datenerfassung mit NI-9401 ArneS 5 1.107 18.02.2021 09:41
Letzter Beitrag: GerdW
  parallele Ausführung von for-loops stsc 5 2.760 24.07.2019 15:12
Letzter Beitrag: stsc
  Timer macht was er will :-) Natalie1984 6 1.933 04.07.2019 12:49
Letzter Beitrag: IchSelbst
  While-Schleife anhalten ohne Timer valerian 2 2.456 04.10.2017 09:28
Letzter Beitrag: valerian
  Verschachtelte und parallele Schleifen gleichzeitig beenden Rayid 6 4.747 14.11.2016 08:24
Letzter Beitrag: GerdW
  DAQ Datenoutput an zwei Ziele mit unterschiedlichen Intervallen moTo 4 2.232 06.05.2016 20:05
Letzter Beitrag: GerdW

Gehe zu: