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 

Dieses Thema hat akzeptierte Lösungen:

Zwei Whileschleifen 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!

16.09.2020, 14:46
Beitrag #1

simcum Offline
LVF-Grünschnabel
*


Beiträge: 36
Registriert seit: May 2015

2016
2010
DE


Deutschland
Zwei Whileschleifen beenden
Hallo liebe LabView Gemeinde,

ich versuche in Labview zwei parallele Whileschleifen die sich gegenseitig beenden sollen zu realisieren.

Es ist mir auch soweit gelungen, nur gefällt mir die Lösung nicht so besonders, habe es über lokale Variablen gelöst.

Siehe dazu mein Beispiel Vi im Anhang.

Die obere Schleife soll die Messschleife darstellen.
Die untere die Laufzeischleife die runtergezählt wird.

Sobald bei der Messschleife ein Fehler autreten sollte müssen beide Schleifen beendet werden.
Auch müssen beide Schleifen beendet werden wenn die untere Laufzeitschleife bei Null angekommen ist.

Wie bereits geschrieben ist mir nur die Lösung mit den lokalen Variablen eingefallen.

Habt ihr vielleicht eine elegantere Methode dafür parat?

Bedanke mich

Simcum


Angehängte Datei(en)
16.0 .vi  Zeitschleife.vi (Größe: 34,23 KB / Downloads: 5)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.09.2020, 14:50 (Dieser Beitrag wurde zuletzt bearbeitet: 16.09.2020 14:55 von GerdW.)
Beitrag #2

GerdW Online
______________
LVF-Team

Beiträge: 16.585
Registriert seit: May 2009

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

10×××
Deutschland
RE: Zwei Whileschleifen beenden
Hallo simcum,

wozu überhaupt zwei Schleifen? Kannst du das nicht in einer Schleife erledigen?

Und wozu eine TimedWhileLoop? Reicht dir eine normale WhileLoop mit einem WaitUntil nicht aus?

So vielleicht:
    (AutoCleanup hat nicht so richtig funktioniert…)

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
17.09.2020, 07:01
Beitrag #3

simcum Offline
LVF-Grünschnabel
*


Beiträge: 36
Registriert seit: May 2015

2016
2010
DE


Deutschland
RE: Zwei Whileschleifen beenden
Hallo GerW,

zwei Schleifen, weil in der Messchleife eine mehrkanälige Messung (Kanalanzahl kann variieren) duchgeführt wird.
Die genaue Messzeit kann Hardwarebedingt sich verändern, auch wenn die Kanalanzahl gleich bleibt.
Die Laufzeit muss aber kontinuierlich runtergezählt werden, würde ich es in der gleichen Schleife laufen lassen so würde
die Laufzeit mit Zeitsprüngen die der Messzeit entsprechen runtergezählt werden. Das ist nicht so optimal für die Darstellung.

Wie bereits geschrieben ist das Vi welches ich hochgeladen habe nur als Prinzipbeispiel zu betrachten.

Time Loop weil die Messungen können über mehrere Wochen gehen und die Schwankung von +- 1ms pro Schleifendurchlauf summiert sich entsprechend auf oder ab.
Hab mir auch schon überlegt die Wartezeit bis zum nächsten Vielfachen zu nutzen.


Wenn du da eine andere Idee hast nehme ich es gerne an.


Bedanke mich

Cumhur
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
17.09.2020, 07:16 (Dieser Beitrag wurde zuletzt bearbeitet: 17.09.2020 07:21 von GerdW.)
Beitrag #4

GerdW Online
______________
LVF-Team

Beiträge: 16.585
Registriert seit: May 2009

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

10×××
Deutschland
RE: Zwei Whileschleifen beenden

Akzeptierte Lösung

Hallo simcum,

Zitat:Habt ihr vielleicht eine elegantere Methode dafür parat?
- Notifier: da kann man auch gleich den TimeOut zur Steuerung der Iterationszeit nutzen.
- eine FGV mit einem boolschen Input und einem boolschen Output: die merkt sich intern die Stoppbedingung.

Eine FGV könnte so aussehen:
   

Lokale Variablen haben einen (IMHO großen) Nachteil: sie funktionieren nur lokal im VI! Sobald du deine Schleife zur "Restzeitanzeige" in ein eigenes VI auslagern willst, bekommst du also Probleme…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.09.2020, 06:46 (Dieser Beitrag wurde zuletzt bearbeitet: 18.09.2020 06:54 von simcum.)
Beitrag #5

simcum Offline
LVF-Grünschnabel
*


Beiträge: 36
Registriert seit: May 2015

2016
2010
DE


Deutschland
RE: Zwei Whileschleifen beenden
Hallo GerdW,

vielen Dank für die Tipps.

Werde es umsetzen

Gruß

Simcum
(17.09.2020 07:16 )GerdW schrieb:  Hallo simcum,

Zitat:Habt ihr vielleicht eine elegantere Methode dafür parat?
- Notifier: da kann man auch gleich den TimeOut zur Steuerung der Iterationszeit nutzen.
- eine FGV mit einem boolschen Input und einem boolschen Output: die merkt sich intern die Stoppbedingung.

Eine FGV könnte so aussehen:


Lokale Variablen haben einen (IMHO großen) Nachteil: sie funktionieren nur lokal im VI! Sobald du deine Schleife zur "Restzeitanzeige" in ein eigenes VI auslagern willst, bekommst du also Probleme…

Hallo GerdW,

könntest du mir bitte das vi hochladen damit ich es mir mal anschauen kann, das wäre super von dir.
Mit FGV habe ich bis dato noch nie gearbeitet.

Bedanke mich
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.09.2020, 07:20
Beitrag #6

GerdW Online
______________
LVF-Team

Beiträge: 16.585
Registriert seit: May 2009

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

10×××
Deutschland
RE: Zwei Whileschleifen beenden
Hallo simcum,

Zitat:könntest du mir bitte das vi hochladen damit ich es mir mal anschauen kann, das wäre super von dir.
Mit FGV habe ich bis dato noch nie gearbeitet.
FGV = functional global variable
Einfach mal im Internet suchen, da wirst du viele Hinweise bekommen…

Letztendlich enthält eine FGV eine FeedbackNode, um intern Daten zu speichern. Man kann Daten reinschicken, bekommt Daten heraus und kann zusätzlich (gern per Enum) einen Befehl auf diesen Daten ausführen lassen. Quasi die Vorstufe zu einer OOP-Implementierung.
In diesem Fall beötigst du einen boolschen Eingang (die in den Schleifen generierte Abbruchbedingung) und einen boolschen Ausgang (die in der FGV kombinierte/gesammelte Abbruchbedingung). Und per Enum kannst du die FGV vor der Schleife initialisieren.

Versuch's erstmal allein, so lernst du das viel besser! Big Grin

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.09.2020, 08:59
Beitrag #7

simcum Offline
LVF-Grünschnabel
*


Beiträge: 36
Registriert seit: May 2015

2016
2010
DE


Deutschland
RE: Zwei Whileschleifen beenden
Hallo GerdW,

ok werde ich, danke

Gruß

Simcum
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
  zwei Plots in einem X-Y Graphen mit zwei Achsen bachatero18 7 1.323 20.11.2019 15:06
Letzter Beitrag: Lucki
  Datensnyc von zwei Whileschleifen LV-Fred 4 2.221 22.08.2011 08:46
Letzter Beitrag: LV-Fred
  Whileschleifen von aussen abbrechen luke 5 4.475 14.12.2010 13:59
Letzter Beitrag: Lucki
  parallele Whileschleifen beppone 1 2.219 20.02.2009 16:08
Letzter Beitrag: IchSelbst
  2 Whileschleifen ineinander NilsL 18 10.173 29.01.2009 09:59
Letzter Beitrag: NilsL
  Parallele Whileschleifen ChristianS 8 3.242 02.02.2008 11:41
Letzter Beitrag: ChristianS

Who read this thread?
14 User(s) read this thread:
Vonzo, MScz, th13, arts, kpa, Tomy, Martin.Henz, simcum, Freddy, GerdW, jg, lol, IchSelbst, MicroScoop

Gehe zu: