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 

whileschleife nur einmal durchlaufen



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!

04.06.2012, 12:38
Beitrag #1

messbuchse Offline
LVF-Neueinsteiger


Beiträge: 6
Registriert seit: May 2012

2010 und 2011
2011
DE_EN



whileschleife nur einmal durchlaufen
Hallo zusammen,

auch ich gehöre zu den Anfängern und schon hänge ich an der ersten Frage:

Ich möchte eine While-Schleife nur einmal durchlaufen.
Das ist mir nicht recht gelungen. Deshalb habe ich mir ein Versuchs-VI gebaut. Dort habe ich ein Verhalten festgestellt, das ich mir nicht recht erklären kann.

Schalte ich die While-Schleife auf Stopp, so wird der Zähler i auf 0 gesetzt. Er merkt sich seinen Wert also nicht.

Der Zähler innerhalb der While-Schleife läuft jedoch weiter (x + 1), obwohl die Schleife durch Stopp angehalten ist. Warum ist es dem Zähler egal, ob die While-Schleife läuft oder nicht?


Vielen Dank.

(LV2011)


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
04.06.2012, 13:04
Beitrag #2

NWOmason Offline
Simultator
*****


Beiträge: 1.078
Registriert seit: Dec 2010

2012.SP1
2008
EN

93047
Deutschland
RE: whileschleife nur einmal durchlaufen
(04.06.2012 12:38 )messbuchse schrieb:  Schalte ich die While-Schleife auf Stopp, so wird der Zähler i auf 0 gesetzt. Er merkt sich seinen Wert also nicht.

i ist auch der Iterationszähler, dieser beginnt bei Neustart immer wieder bei 0.


(04.06.2012 12:38 )messbuchse schrieb:  Der Zähler innerhalb der While-Schleife läuft jedoch weiter (x + 1), obwohl die Schleife durch Stopp angehalten ist. Warum ist es dem Zähler egal, ob die While-Schleife läuft oder nicht?

Der Zähler ist über einen FeedbackNode (gleiches Verhalten wie mit Schieberegister) gespeichert. Dieser ist solange gültig, solange das VI offen (also im Speicher) liegt.

(04.06.2012 12:38 )messbuchse schrieb:  auch ich gehöre zu den Anfängern und schon hänge ich an der ersten Frage:


Dafür gibts ein paar gute Einarbeitungslinks:

(20.01.2012 11:02 )NWOmason schrieb:  Getting Started with NI LabVIEW Student Training
http://zone.ni.com/devzone/cda/tut/p/id/7466

Introduction to NI LabVIEW - Learn LabVIEW Basics
http://www.ni.com/gettingstarted/labviewbasics/

Beste Grüße,
NWO

9 von 10 Stimmen in meinem Kopf sagen: Ich bin nicht verrückt,
die andere summt die Melodie von Tetris
.

NI schrieb:To use the abort button is like using a tree to stop a car!

(20.01.2012 11:02 )NWOmason schrieb:  Getting Started with NI LabVIEW Student Training
http://zone.ni.com/devzone/cda/tut/p/id/7466

Introduction to NI LabVIEW - Learn LabVIEW Basics
http://www.ni.com/gettingstarted/labviewbasics/

Top 5 der Empfehlungen für LabVIEW-Einsteiger
http://www.ni.com/newsletter/51735/de/
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.06.2012, 14:00
Beitrag #3

messbuchse Offline
LVF-Neueinsteiger


Beiträge: 6
Registriert seit: May 2012

2010 und 2011
2011
DE_EN



RE: whileschleife nur einmal durchlaufen
Vielen Dank für die Hinweise.

Damit wird mir einiges klar, weshalb sich das VI so verhält.

Danke auch für die Links.
Hier liegt u.a. der Georgi / Metin neben mir.

Viele Grüße
messbuchse
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.06.2012, 18:40
Beitrag #4

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: whileschleife nur einmal durchlaufen
Ein wenig Offtopic2

Eine While-Schleife, die nur einmal durchlaufen werden soll: Das braucht man in LabVIEW nur bei einem FGV (Funktionales globales VI), ansonsten ist die Schleife überflüssig. Schließlich soll sie nur einmal durchlaufen werden, da kannst du sie gleich weglassen.

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
05.06.2012, 07:43
Beitrag #5

messbuchse Offline
LVF-Neueinsteiger


Beiträge: 6
Registriert seit: May 2012

2010 und 2011
2011
DE_EN



RE: whileschleife nur einmal durchlaufen
Im Prinzip ja.

Der Hintergrund ist eine Ini-Routine, die bei einem Kaltstart einmalig das System initialisieren soll und anschließend abgeschaltet wird.

In anderen Systemen nehme ich dazu eine if-Abfrage auf ein ini-Bit und schalte damit die Initialisierung ab, während das Script, bei LV VI, weiterhin durchlaufen wird.

Anstatt über eine While-Schleife zu gehen, habe ich es jetzt über eine CASE-Anweisung realisiert, die über ein ini-Bit abgeschaltet wird.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.06.2012, 08:56
Beitrag #6

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

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
RE: whileschleife nur einmal durchlaufen
(04.06.2012 18:40 )jg schrieb:  Eine While-Schleife, die nur einmal durchlaufen werden soll: Das braucht man in LabVIEW nur bei einem FGV (Funktionales globales VI), ansonsten ist die Schleife überflüssig.
Ganz so ist es aber nicht, die nicht-initialiseirte, einmal durchlaufene Schlefe wird doch nicht nur für FGV gebraucht. Beispielsweise braucht man sie in jedem SubVI mit sequentieller Logik, also beispielsweise in einem Flip-Flop-SubVI, oder einem VI zur Flankenerkennung (von dem Du selbst neulich mal gesagt hast, das wäre Dein Lieblings-VI Big Grin )
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
05.06.2012, 08:59
Beitrag #7

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: whileschleife nur einmal durchlaufen
(05.06.2012 08:56 )Lucki schrieb:  Ganz so ist es aber nicht, die nicht-initialiseirte, einmal durchlaufene Schlefe wird doch nicht nur für FGV gebraucht. Beispielsweise braucht man sie in jedem SubVI mit sequentieller Logik, also beispielsweise in einem Flip-Flop-SubVI, oder einem VI zur Flankenerkennung (von dem Du selbst neulich mal gesagt hast, das wäre Dein Lieblings-VI Big Grin )
Das gehört für mich auch in die Gruppe der FGVs. Wink

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
05.06.2012, 10:17
Beitrag #8

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

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
RE: whileschleife nur einmal durchlaufen
(05.06.2012 08:59 )jg schrieb:  Das gehört für mich auch in die Gruppe der FGVs. Wink
Aha, und alle Punkt-zu-Punkt-Funktionen zur Signalverarbeitung ( -erzeugung, -operation, Filter, Spekrumalnalyse, Transformation, lin. Algebra, Apassung, Interpolation, Integral, Differential, Wahrscheinlichkeit und Statistik .. und weitere 15 P2P-Funktionenarten im Funktionsmenü) sind demnach auch FGV. Aber was ist mit dem Rest der Welt, wird er akzeptieren, daß Du die Definitionshoheit über FGVs beansprucht? Big Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.06.2012, 11:19
Beitrag #9

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: whileschleife nur einmal durchlaufen
Ja, ich weiß, es wird haarspalterisch, aber gerade die Punkt-Zu-Punkt VIs haben in der Regel IMMER einen Init-Fall. Somit haben wir ein VI mit mind. 2 Funktionalitäten, "Init" & "neuen Wert verarbeiten", kann man also als FGV ansehen. Big Grin

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
05.06.2012, 13:31
Beitrag #10

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

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
RE: whileschleife nur einmal durchlaufen
Ich selbst verwende ja FGVs auch nur - und würde sie trotzdem noch so bezeichnen - , wenn es sinnoll ist, darin etwas mehr Funktionalität unterzugringen als nur die globale Speicherung eines Wertes. Für das Letzgenannte eignet sich besser die globale Variable. Jahrelang habe ich mich hier im Forum dahingehend ver**schen lassen, das Globale Variblen generell schlecht sind, weil langsam. Bis ich dann mal selbst nachgemessen habe - das stimmmt einfach nicht. Wahrscheinlich war das bei der Version 0.9 von Labview mal wirklich so, aber jetzt bei der V11 kann davon wirklich keine Rede mehr sein. Aber festgefahrene Meinungen sind eben kaum auszurotten.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Nur ein SubVI in Whileschleife soll verzögert werden mikadm 2 2.926 12.08.2020 14:54
Letzter Beitrag: mikadm
  Sequenz wird zweimal durchlaufen mprocket 7 4.603 21.01.2018 18:59
Letzter Beitrag: mprocket
  for-Schleife rückwärts durchlaufen thz89 3 5.275 01.09.2017 09:06
Letzter Beitrag: jg
  Event in Eventsrtuktur bei Start einmal ausführen hansi9990 1 2.941 14.05.2017 15:32
Letzter Beitrag: GerdW
  Case Structure nur einmal durchführen McButch 5 5.412 30.05.2016 16:43
Letzter Beitrag: jg
  Case schleife einmal ausführen Alighieri 9 8.744 17.03.2015 08:24
Letzter Beitrag: Alighieri

Gehe zu: