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 

Schleife wird zu früh beendet... Wie lässt sichs beheben?



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.05.2007, 20:58
Beitrag #1

Excalibour Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 52
Registriert seit: Apr 2007

7.1
2007
kA


Deutschland
Schleife wird zu früh beendet... Wie lässt sichs beheben?
Hallo,
ich hab folgendes Problem: Ich hab eine Schleife, die mir True/False-Wechsel zählen soll. Das funktioniert auch soweit, solange man die Schleife manuell stoppt. Sobald ich aber das Stoppen durch eine weitere True/False-Entscheidung hervorrufe, wird offenbar die Schleife zu früh abgebrochen, sodass mir kein einziger Wechsel angezeigt wird.
Jetzt habe ich schon mal im Forum nach Warteoperationen gesucht, jedoch waren die alle nicht tauglich, bzw. ich hatte nicht den gewünschten Effekt.
Gibt es eine Funktion mit der man ein boolschen Wert verzögern kann? Oder habe ich eine Kleinigkeit im VI übersehn?


Angehängte Datei(en)
Sonstige .vi  Unbenannt.vi (Größe: 14,66 KB / Downloads: 182)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
18.05.2007, 21:51
Beitrag #2

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
Schleife wird zu früh beendet... Wie lässt sichs beheben?
Hallo,

ich denk mal, ich weiss, wo dein Fehler liegt.

Du musst die die True/False-Entscheidung innerhalb der While-Schleife einbauen.

Eine While-Schleife wird nämlich erst ausgeführt, wenn alle Eingänge anliegen. Also, wenn deine Stop-Bedingung für die While-Schleife auch außerhalb der While-Schleife liegt, wird sie nur einmal ausgeführt.

MfG, 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
19.05.2007, 13:25
Beitrag #3

Excalibour Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 52
Registriert seit: Apr 2007

7.1
2007
kA


Deutschland
Schleife wird zu früh beendet... Wie lässt sichs beheben?
Deine Aussage klang ganz vernünftig und schien mir einleuchtend. Nachdem ich den Vergleichsoperator in die Schleife geschmissen hatte, habe ich dennoch nicht die gewünschten Ergebnisse bekommen. Woran liegts?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.05.2007, 14:06
Beitrag #4

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
Schleife wird zu früh beendet... Wie lässt sichs beheben?
Hallo,

Nur den Verglichsoperator in die Schleife? Zu wenig. Der ganze Vergleich muss rein.

Am besten, Screenshot oder VI hochladen.

MfG, 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
21.05.2007, 09:42
Beitrag #5

Excalibour Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 52
Registriert seit: Apr 2007

7.1
2007
kA


Deutschland
Schleife wird zu früh beendet... Wie lässt sichs beheben?
Also hier ist das VI.
Was nicht klappt, ist auf der rechten Seite in der Schleife zu finden. Momentan ist nur die Bedingung in der Schleife, ich hatte jedoch auch mehr in die Schleife gepackt, jedoch ohne Erfolg. Was passt hier nicht? Warum wird die Schleife zu früh beendet?


Angehängte Datei(en)
Sonstige .vi  versuch_mit_schleife_3.5.vi (Größe: 337,08 KB / Downloads: 170)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.05.2007, 10:35
Beitrag #6

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
Schleife wird zu früh beendet... Wie lässt sichs beheben?
Hallo,

zu deinem letzen VI: Die While-Schleife läuft GENAU 1x durch.

Wieso: du vergleichst: Anzahl der Schleifendurchläufe deiner For-Schleife (ergibt sich aus der Zeilenanzahl der 2D-Arrays per Autoindexing) mit der aus Array-Size zurückgegebenen Zeilenanzahl der 2D-Arrays -> du vergleichst also N=N ergibt TRUE. Fertig.

Ich verstehe leider nicht, was deine zusätzliche Abbruchbedingung sein soll, bzw. was willst du eigentlich mit der While-Schleife da am Schluß berechnen?

MfG, 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
21.05.2007, 11:34
Beitrag #7

canix Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 87
Registriert seit: Mar 2007

Labview8.2 / Studnik-Version 8.0.1
2007
kA

44807
Deutschland
Schleife wird zu früh beendet... Wie lässt sichs beheben?
Versteh ich das richtig, daß du im endeffekt wissen möchtest, wie oft dein grenzwert pro zyklus überschritten wird?

Hinweis: Meine Lösungsvorschläge sind immer mit Vorsicht zu geniessen! Es gibt vermutlich wesentlich elegantere Ansätze. Ich poste dennoch, da ich mir auf diese Weise das entsprechende Feedback erhoffe!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.05.2007, 12:55 (Dieser Beitrag wurde zuletzt bearbeitet: 21.05.2007 12:58 von Excalibour.)
Beitrag #8

Excalibour Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 52
Registriert seit: Apr 2007

7.1
2007
kA


Deutschland
Schleife wird zu früh beendet... Wie lässt sichs beheben?
Hi,
habe das Problem anders gelöst:
Verglichen wird jetzt nicht N von der for-schleife mit Zeilenzahl des Arrays sondern N von der for-schleife mit i von der While-Schleife. Dann wird die while-Schleife gestoppt, wenn alle Datensätze bearbeitet wurden.

Danke aber trotzdem für alle Ratschläge!

@canix: Ja, eigentlich schon... Hast Du einen besseren Vorschlag als die while-schleife?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.05.2007, 13:51
Beitrag #9

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
Schleife wird zu früh beendet... Wie lässt sichs beheben?
Hallo,

zwei einfachere Ansätze:
1. Nimm statt While-Schleife eine For-Schleife mit Autoindexing deines Boolschen Array oder noch besser:
2. Addiere doch gleich eine Variable in deiner ersten Schleife (innerhalb der Case-Struktur, in der das Boolsche-Array gebaut wird) auf, dann kannst du dir die zweite Schleife komplett sparen!

MfG, 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
21.05.2007, 13:52
Beitrag #10

canix Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 87
Registriert seit: Mar 2007

Labview8.2 / Studnik-Version 8.0.1
2007
kA

44807
Deutschland
Schleife wird zu früh beendet... Wie lässt sichs beheben?
' schrieb:@canix: Ja, eigentlich schon... Hast Du einen besseren Vorschlag als die while-schleife?

Jou, ich würde das alles in EINEM Schritt in der For-Schleife machen.
Einen neues 2d-Zähler-Array (des sich mit jedem Zyklus erweitert) durchschleifen und in dem Case, wo auf Grenzwertüberschreitung geprüft wird, den entsprechenden Zähler bezüglich Zyklusnummer hochzählen (den Index für das Zähler Array kannst du aus der Modulo-fkt. beziehen). Bei der Umsetzung kannst Du Dich in etwa an dem Zähler orientieren, der bereits vorhanden ist und zählt wieviele Zyklen "gefeuert" werden.

Das Array würde nachher folgendermassen aussen:

Index 0: 3599 3601
Index 1: 120 7080
Index 2: 5000 2200
...
Index 159: 4300 2900

Da du ja mal meintest, Du wolltest zwei Gruppen bilden (Zyklen mit und ohne Grenzwertüberschreitung) würde ich auf die letzte Version aus diesem Beitrag aufbauen:
http://www.LabVIEWforum.de/index.php?showtopic=5843#

und zwar 7.1: "versuch mit schleife 5.vi"

komme erst heute abend dazu dir ein beispiel zu posten

gruß
Jens

Hinweis: Meine Lösungsvorschläge sind immer mit Vorsicht zu geniessen! Es gibt vermutlich wesentlich elegantere Ansätze. Ich poste dennoch, da ich mir auf diese Weise das entsprechende Feedback erhoffe!
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
  Blockdiagramm lässt sich nicht zeigen Edi70 5 3.827 12.07.2021 11:14
Letzter Beitrag: GerdW
  Bei bestehenden VIs lässt sich Codefenster nicht öffnen _Markus_ 5 4.513 25.09.2018 09:17
Letzter Beitrag: _Markus_
  Beendet die Methode FP schließen auch die Ausführung? hansi9990 3 4.505 23.10.2017 07:41
Letzter Beitrag: GerdW
  Blockdiagramm lässt sich nicht öffnen LabDevo_CLD 1 4.181 07.08.2017 11:43
Letzter Beitrag: GerdW
  LabVIEW lässt sich nicht mehr beenden Hasenfuss 0 3.691 04.07.2015 16:58
Letzter Beitrag: Hasenfuss
Question asynchrones VI beendet nicht olmethn 6 5.021 25.06.2015 09:04
Letzter Beitrag: olmethn

Gehe zu: