18.05.2007, 20:58
Beitrag #1
|
|
|
18.05.2007, 21:51
Beitrag #2
|
jg
CLA & CLED
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.
|
|
|
19.05.2007, 13:25
Beitrag #3
|
Excalibour
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?
|
|
|
19.05.2007, 14:06
Beitrag #4
|
jg
CLA & CLED
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.
|
|
|
21.05.2007, 09:42
Beitrag #5
|
|
|
21.05.2007, 10:35
Beitrag #6
|
jg
CLA & CLED
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.
|
|
|
21.05.2007, 11:34
Beitrag #7
|
canix
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!
|
|
|
21.05.2007, 12:55
(Dieser Beitrag wurde zuletzt bearbeitet: 21.05.2007 12:58 von Excalibour.)
Beitrag #8
|
Excalibour
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?
|
|
|
21.05.2007, 13:51
Beitrag #9
|
jg
CLA & CLED
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.
|
|
|
21.05.2007, 13:52
|
canix
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!
|
|
|
| |