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 

While-Schleife - einmal zuviel?



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!

24.07.2007, 12:26
Beitrag #1

dragonos Offline
LVF-Grünschnabel
*


Beiträge: 45
Registriert seit: May 2007

8.2.1
2007
kA


Deutschland
While-Schleife - einmal zuviel?
Hi,

folgendes ist mir aufgefallen:

Drücke ich in angehängtem VI den Stop-Button will ich, dass die While-Schleife sofort abbricht. Aber anstatt abzubrechen wird sie noch ein einziges Mal ausgeführt und bricht dann ab.

Wie schaffe ich einen sofortigen Abbruch?


Alex

P.S.: das angehängte Beispiel ist eine Vereinfachung aus meinem komplexeren Programm.


Angehängte Datei(en)
Sonstige .vi  Test.vi (Größe: 10,94 KB / Downloads: 188)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.07.2007, 12:32
Beitrag #2

cb Offline
LVF-SeniorMod


Beiträge: 1.731
Registriert seit: Feb 2006

2018SP1
2001
EN

40xxx
Deutschland
While-Schleife - einmal zuviel?
' schrieb:Hi,

folgendes ist mir aufgefallen:

Drücke ich in angehängtem VI den Stop-Button will ich, dass die While-Schleife sofort abbricht. Aber anstatt abzubrechen wird sie noch ein einziges Mal ausgeführt und bricht dann ab.

Wie schaffe ich einen sofortigen Abbruch?
Alex

P.S.: das angehängte Beispiel ist eine Vereinfachung aus meinem komplexeren Programm.

it's no bug, it's a featureSmile

While-Schleifen werden IMMER mindestens einmal ausgeführt.

http://www.rotabench.com - rotierende Prüfstände nach dem Baukasten-Prinzip
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.07.2007, 12:33
Beitrag #3

eg Offline
LVF-SeniorMod


Beiträge: 3.868
Registriert seit: Nov 2005

2016
2003
kA

66111
Deutschland
While-Schleife - einmal zuviel?
Du könntest den Inhalt der While-Schleife zusätzlich in eine Case-Struktur packen und als Bedingung für Case deinen Stop-Button definieren.

Dein Test.VI kann ich mir nicht anschauen, denn ich nur LV8.0 hab.

eg

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

dragonos Offline
LVF-Grünschnabel
*


Beiträge: 45
Registriert seit: May 2007

8.2.1
2007
kA


Deutschland
While-Schleife - einmal zuviel?
Das While-Scheifen min. einmal ausgeführt werden ist mir bekannt.
Jedoch wird nach Betätigung des Stopp-Buttons die Schleife ein weiteres Mal ausgeführt.

Mit dem Tipp von eg (CASE-Struktur über Stopp-Button) funktioniert es wenigstens - wenns auch unschön ist ;-)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.07.2007, 13:07
Beitrag #5

eg Offline
LVF-SeniorMod


Beiträge: 3.868
Registriert seit: Nov 2005

2016
2003
kA

66111
Deutschland
While-Schleife - einmal zuviel?
' schrieb:Das While-Scheifen min. einmal ausgeführt werden ist mir bekannt.
Jedoch wird nach Betätigung des Stopp-Buttons die Schleife ein weiteres Mal ausgeführt.

Das glaube ich dir nicht. Probiere das mal aus und schau, was Numeric sagt.

eg


Angehängte Datei(en) Thumbnail(s)
   

Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.07.2007, 13:09
Beitrag #6

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
While-Schleife - einmal zuviel?
Sieht aus, als wolltest Du so' ne Art "State Machine" bauen. Was hast Du denn genau vor?

Gruß Markus

' schrieb:Das While-Scheifen min. einmal ausgeführt werden ist mir bekannt.
Jedoch wird nach Betätigung des Stopp-Buttons die Schleife ein weiteres Mal ausgeführt.

Mit dem Tipp von eg (CASE-Struktur über Stopp-Button) funktioniert es wenigstens - wenns auch unschön ist ;-)

--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.07.2007, 18:25
Beitrag #7

dragonos Offline
LVF-Grünschnabel
*


Beiträge: 45
Registriert seit: May 2007

8.2.1
2007
kA


Deutschland
While-Schleife - einmal zuviel?
Eine SPS sendet mir per TCP/IP Informationen über durchzuführende Messungen und ich soll die Messung durchführen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.07.2007, 22:30
Beitrag #8

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.687
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
While-Schleife - einmal zuviel?
' schrieb:Drücke ich in angehängtem VI den Stop-Button will ich, dass die While-Schleife sofort abbricht. Aber anstatt abzubrechen wird sie noch ein einziges Mal ausgeführt und bricht dann ab.
Das liegt an folgendem:

Der Stopp-Button, der die Schleife beenden soll, wird am Anfang der Schleife ausgelesen und dessen Wert an die Schleifenbeendigung weitergeleitet. Wenn du die eine innere Schleife mit dem Stopp-Button beendest, hat dieser Wert des Stopp-Buttons keine Auswirkung auf die Schleifenbeendigung der äußeren Schleife! Ob die beenden soll oder nicht, liegt nämlich schon seit Beginn der Schleife fest. Dein Problem liegt also am Datenflußprinzip. Es ist in deinem Falle nicht so, dass der Stoppbutton abgefragt wird am Ende der (äußeren) Schleife.

Du musst dir also was einfallen lassen, damit der Stopp-Button quasi wie am Ende der Schleife abgefragt wird.

Du könntest z.B. den Stopp-Button für die äußere Schleife sequenzieren mit der Statemachine, sodass der Stoppbutton erst nach jedem Case überprüft wird.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
25.07.2007, 09:27 (Dieser Beitrag wurde zuletzt bearbeitet: 26.07.2007 07:25 von Lucki.)
Beitrag #9

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
While-Schleife - einmal zuviel?
' schrieb:it's no bug, it's a featureSmile

While-Schleifen werden IMMER mindestens einmal ausgeführt.
Was aber Verbesserung am Programm, um dem gewünschten Verhalten zu entsprechen, nicht ausschließt.
Ist-Zustand: Stopp-Knopf wird ganz zuerst gelesen, dann erst wird das was in der Schleife drin ist abgearbeitet. Wenn Du in dieser Zeit den Knopf drückst, wird Dein Abbruchwunsch nicht mehr zu Kenntnis genommen, sondern erst beim nächsten Durchlauf.
Es ist ein leider fast unvermeidlicher Irrtum, so zu denken: Der Abbruchkopf ist in der Schleife rechts unten, und dort habe ich auch den Stopp-Butten platziert. Da wird er wohl erst kurz vor der Entscheidung auf Abbruch gelesen werden. Falsch!!!!!

Richtig ist so:

   
Edit: Entschuldige Ichselbst, sehe gerade, Du hast ja alles schon vor mir gesagt was zu sagen war...
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
  Event in Eventsrtuktur bei Start einmal ausführen hansi9990 1 3.106 14.05.2017 15:32
Letzter Beitrag: GerdW
  Case Structure nur einmal durchführen McButch 5 5.586 30.05.2016 16:43
Letzter Beitrag: jg
  Case schleife einmal ausführen Alighieri 9 8.903 17.03.2015 08:24
Letzter Beitrag: Alighieri
  Messwerte in Datei einmal speichern Marcy 4 4.423 02.09.2014 08:00
Letzter Beitrag: Marcy
  Ereignisstruktur wird nur einmal ausgeführt Steffen.S 7 5.386 24.07.2014 13:24
Letzter Beitrag: Steffen.S
  Tab control soll nur einmal true ausgeben Orga 5 4.499 14.06.2013 06:12
Letzter Beitrag: Orga

Gehe zu: