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 

Start und Stop in einer While-Schleife



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.08.2010, 20:17 (Dieser Beitrag wurde zuletzt bearbeitet: 16.08.2010 20:18 von jfkn2001.)
Beitrag #1

jfkn2001 Offline
LVF-Neueinsteiger


Beiträge: 2
Registriert seit: Aug 2010

9.0
2010
de


Deutschland
Start und Stop in einer While-Schleife
Hallo Zusammen,

ich sitze vor einem Problem seit einigen Tage und finde keine Lösung. Habe auch schon vieles aus den Foren ausprobiert ohne Erfolg.

Zu meinem Problem:
Ich habe 3 While-Schleifen, die parallel laufen müssen.
1. Die erste ist die Main-Schleife mit den Ereignissen (Event-Structure)
2. Die zweite läuft direkt nach dem Start des Programms
3. Die dritte soll erst nach dem Drucken einer Starten-Taste durchlaufen und wieder nach dem Drucker der Stop-Taste stoppen.
4. Eine letzte Stop All - Taste soll alle Abläufe stoppen.

Ich würde mich auf jede Idee, wie man das Problem lösen konnte, freuen.

Ich habe ein Beispiel hochgeladen, benutze Labview2009

Danke an euch.

LG

Jimmy


Angehängte Datei(en)
Sonstige .zip  Parallel_Ablauf.zip (Größe: 29,11 KB / Downloads: 350)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.08.2010, 20:41
Beitrag #2

Matze Offline
LVF-Team
LVF-Team

Beiträge: 1.027
Registriert seit: Apr 2010

20xx
2010
DE_EN

7xxxx
Deutschland
Start und Stop in einer While-Schleife
Hallo Jimmy,

da ich dein Beispiel gerade nicht öffnen kann habe ich schnell was zusammen geklickt.

Sauberer geht die Kommunikation der Schleifen untereinander z.B. über Queues (Ereignisstruktur-Schleife ist der Erzeuger, was "Stop All" betrifft und die anderen beiden Schleifen sind Verbraucher.
Ungebremste Schleifen sind auch nichts, aber um grob zu zeigen, wie so etwas lösbar wäre, reicht das Beispiel vermutlich aus. Ich habe es jedoch nicht getestet.

   

Grüße
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.08.2010, 20:53 (Dieser Beitrag wurde zuletzt bearbeitet: 16.08.2010 21:06 von Falk.)
Beitrag #3

Falk Offline
ja, das bin ich...
***


Beiträge: 343
Registriert seit: Jan 2006

8.0 :: 201x ::202x
2006
DE_EN


Deutschland
Start und Stop in einer While-Schleife
Moin Jimmy!

Es gibt einige Möglichkeiten dies zu realisieren. Dabei kommt es beispielsweise darauf an, wie den globaler Stop aussehen soll. Zum einen kannst du eine "Occurence" dazu verwenden.
Eine aus meiner Sicht gute Alternative dazu ist die Verwendung einen einfachen globalen Variable, die nur dem Zwecke dient einen boolschen Wert (true/ false) zu speichern. Siehe Anhang. Beachten solltest du dabei aber, diese am Programmstart entsprechend mit false zu initialisieren. Vorteil ist aus meiner Sicht, dass du diese Variable auch in SubVIs zur Beendigung von Code heranziehen kannst ohne dabei groß Verdrahtungen in tiefere Programmebenen sicherstellen zu müssen.

Schöne Grüße
Falk

Lv82_img


Angehängte Datei(en) Thumbnail(s)
   

Sonstige .vi  LVF.global_stop.vi (Größe: 7,3 KB / Downloads: 343)

Currently: zzzZZZZZZZZ
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
17.08.2010, 06:03
Beitrag #4

rasta Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 245
Registriert seit: Oct 2006

LabVIEW 2009-2017
2006
EN

53909
Deutschland
Start und Stop in einer While-Schleife
Hallo Jimmy,
wie Falk schon geschrieben hat gibt es viele Möglichkeiten.
Um bei Deinem Ansatz mit den Notifier´n zu bleiben, siehe Anhang Lv09_img2

Gruß
Ralf


Angehängte Datei(en)
Sonstige .vi  MainVi_RS.vi (Größe: 34,09 KB / Downloads: 630)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
17.08.2010, 08:23
Beitrag #5

jfkn2001 Offline
LVF-Neueinsteiger


Beiträge: 2
Registriert seit: Aug 2010

9.0
2010
de


Deutschland
Start und Stop in einer While-Schleife
Moin Zusammen,

Danke für die 3 Vorschläge. Es ist schön zu wissen, dass es mehere Wege gibt dieses Problem zu lösen. Habe die drei ausprobiert und habe mich sehr auf das Ergebnis gefreuet.

Allerdings soll manchmal beim dem Beispiel von "Mechatronik-Ingenieur" mehrmals auf die Stop-Taste gedruckt werden damit es hält. Sonst funktioniert das mehrfache Starten einwandfrei.

Danke noch an Alle. Smile

MfG

Jimmy
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
17.08.2010, 09:23
Beitrag #6

Matze Offline
LVF-Team
LVF-Team

Beiträge: 1.027
Registriert seit: Apr 2010

20xx
2010
DE_EN

7xxxx
Deutschland
Start und Stop in einer While-Schleife
' schrieb:Allerdings soll manchmal beim dem Beispiel von "Mechatronik-Ingenieur" mehrmals auf die Stop-Taste gedruckt werden damit es hält. Sonst funktioniert das mehrfache Starten einwandfrei.
Hm, also "Stopp Alle" müsste beim ersten Klick alle Schleifen verlassen und somit das Programm beenden.
"Stop" müsste beim 1. Klick die innere Schleife verlassen, sofern Start nicht "true" ist. Ist das Schaltverhalten des Start-Buttons auf "Latch" eingestellt, würde ich sagen, dass es funktioniert.

Aber es kann gut sein, dass ich irgendwo einen kleinen Denkfehler habe (kömmt öfters vorWink).

Grüße
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.08.2010, 15:23
Beitrag #7

cheeze Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 92
Registriert seit: May 2009

2010
2008
de

10969
Deutschland
Start und Stop in einer While-Schleife
Ich habe ein ähnliches Problem. Allerdings geht es bei mir um das Stoppen zweier Schleifen.
Die 1. Schleife wird alle 2s ausgeführt. Die 2. Schleife alle 20ms. Das gleichzeitige stoppen (mit einem Stop-Button) mit globalen und lokalen Variablen funktioniert nicht. Bei gleicher Taktzeit ist dies kein Problem aber wenn die Schleifen mit so unterschiedlichen taktzeiten laufen wird nur eine Schleife beendet.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.08.2010, 16:25
Beitrag #8

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
Start und Stop in einer While-Schleife
Wenn man es entsprechend macht, geht das schon:
Lv09_img2
Sonstige .vi  bsp.vi (Größe: 14,9 KB / Downloads: 503)

Ansonsten muss man halt den Datenfluss abwarten, bis irgendwann die globale/lokale Variable das nächste Mal ausgelesen wird. Bei einer 2 Sekunden Schleife kann das dann bis zu 4 Sekunden dauern, da ja alles quasi parallel abgearbeitet wird.

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
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
  Drei Queues in einer While-Schleife mit case-Struktur EinVolvic 12 13.174 17.05.2017 20:25
Letzter Beitrag: EinVolvic
  Probleme seit einfügen einer For-Schleife JUON 7 5.939 14.02.2017 18:01
Letzter Beitrag: TR61
  Rechenzeit einer Schleife pro runde bekommen aidinnikoo 1 3.699 30.11.2016 13:53
Letzter Beitrag: GerdW
  Dauer einer Schleife berechnen Marius89 3 6.454 31.10.2016 09:24
Letzter Beitrag: jg
  Ansteuern einer Case Struktur mit for-Schleife berlinfatih 10 10.157 22.04.2016 05:25
Letzter Beitrag: berlinfatih
  Stop eines VIs aus drei Schleifen Lab_fänger 3 3.890 14.10.2015 06:56
Letzter Beitrag: Lucki

Gehe zu: