![]() |
Schleifen und Sequenzen - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +---- Forum: Datenbank & File IO (/Forum-Datenbank-File-IO) +---- Thema: Schleifen und Sequenzen (/Thread-Schleifen-und-Sequenzen) Seiten: 1 2 |
Schleifen und Sequenzen - ernie - 09.08.2007 18:28 Hallo, ..brauche abermals dringend eure Hilfe.... ich bin am verzweifeln ... kaum habe ich ein Problem gelöst ...steht schon ein neues auf dem Plan; und zwar eines vor dem ich seit heute früh ununterbrochen grüble ![]() und einfach meinen Denkfehler in der Logik nicht finde. zum Problem : Ein Teilprogramm (in einer Case-Struktur verpackt, mit Eingangswerten: X-Punkte, Y-Punkte, Delta-X, Delta-Y ..also 4 Werte)) soll folgendes machen: Sofort nach Start soll eine Messung durchgeführt werden. Danach soll um Delta-X nach rechts gefahren werden, und dann wieder gemessen werden, und zwar solange im Wechsel, bis X sein Maximum erreicht hat. Dies ist dann Auslöser um einmal in die Y-Richtung zu fahren (also fahre einmal Delta-Y). Dann soll wieder gleich gemessen werden und um Delta-X nach LINKS gefahren werden, und dann wieder messen ..fahren...messen bis X erreicht ist. Danach geht das ganze Spiel wieder von vorne los, halt wieder in die andere Richtung. All das soll solange laufen, bis Y sein Maximum (oder Max +1?) erreicht hat. (also eine Art 2-D-Matrix) Dann wird die For-Schleife beendet und das erzeugte 2-D-Array nach draußen geschoben und gespeichert. ...ich sehe irgend wie den Wald vor Bäumen nicht mehr. Wer kann und mag mir helfen? Gruß ernie anbei der entsprechende Teil des Programms (etwas vereinfacht) Schleifen und Sequenzen - jg - 09.08.2007 18:48 Und was ist jetzt konkret deine Frage bzw. dein Problem?? ![]() MfG, Jens Schleifen und Sequenzen - Lucki - 09.08.2007 21:34 Das das Programm nicht läuft, das ist doch so offensichtlich, daß man darüber doch nicht grübeln muss: Der Switch "Freigabe" mit dem Standardwert false schaltet auf den Leeren Case und das Programm wird sofort wieder beendet ohne daß etwas Nennenswertes geschieht. Schleifen und Sequenzen - jg - 09.08.2007 21:39 ' schrieb:Das das Programm nicht läuft, das ist doch so offensichtlich, daß man darüber doch nicht grübeln muss:Ja, aber wenn man es auf TRUE stellt, läuft ja irgendwas. Trotzdem hat ernie NICHT gefragt, was denn dann NICHT läuft bzw. wo das Problem liegt. So allgemein: Zitat:"Wer kann und mag mir helfen?"Wir wollen ja schon helfen, wenn wir wissen, wo es konkret hakt. Deshalb ![]() MfG, Jens Schleifen und Sequenzen - ernie - 09.08.2007 22:40 Hallo, ich hatte mich in meiner Verzweiflung vielleicht auch etwas unglücklich ausgedrückt; insbesondere da ich dann auch noch in meinem Modell-vi einen Timerwert versehentlich auf 15000 gesetzt hatte, so dass es halt auch ewig dauert bis da was passiert. Hab es jetzt noch mal schnell geändert, und das Problem mit der "irgendwo-Verzählerei" zeigt sich ja dann, wenn man einfach mal mit den Werten X,Y, Delta-X, Delta-Y rumspielt und sich dabei jedesmal genau das 2-D-Array anschaut. Irgendwo da drin läuft mit den Werten oder Vergleichen was falsch. Gruß ernie Schleifen und Sequenzen - cb - 10.08.2007 07:09 ' schrieb:Hallo, ganz offen gesagt: so einen logischen Ablauf zu debuggen ist eine heiden Arbeit. Ich für meinen Teil winke da dezent ab, das würde mich zu viel Zeit kosten. Wenn mir sowas passiert, dann programmiere ich den Ablauf neu. Ich mach ein neues VI und gehe nochmal logisch Schritt für Schritt durch die Sequenz und programmiere die Schritte. Wenn man zu lange auf seinen Code schaut und einen Fehler sucht, den man nicht finden kann, dann wird man irgendwann betriebsblind ... Schleifen und Sequenzen - Y-P - 10.08.2007 07:30 Hast Du den Ablauf schon mal mit der "Highlight-Funktion" (Glühlampe) und/oder mit "Breakpoints" (oder Probes) durchlaufen lassen? Da kannst Du evtl. die Fehler besser nachvollziehen. Ansonsten muss ich Christian Recht geben. Gruß Markus Schleifen und Sequenzen - ernie - 10.08.2007 09:58 Hallo, im Grunde habt ihr ja recht. Einen derart verbogenen/kryptischen Ablauf nachzuvollziehen und zu debuggen ist eine Heidenarbeit. Gestern abend habe ich da selbst nicht mehr durchgeblickt. Das Hauptproblem ist ..: wie kann ich innerhalb einer Stapelsequenz einen Zähler starten und dann mitlaufen lassen, und wenn ein bestimmter Wert erreicht ist, dann soll eine andere Staspelsequenz einmalig ausgeführt und der Zähler wieder auf den Anfangswert gesetzt werden, so dass die Sache wieder von vorne beginnt (innerhalb der Stapelsequenz). Hier ist es genau folgendes Problem: Am Eingang des Case liegen 4Werte an( X, dX , Y und dY). In der Stapelsequenz soll gleich nach Start gemessen werden und dann um dX nach rechts gefahren werden und dann gemessen. Dies soll nun X-mal abwechselnd geschehen. Dann ist ja irgendwann max.X (oder X-1?) erreicht. ...!!... jetzt soll eben diese eine Sequenz "fahre einmal um dY" ausgeführt werden und wieder gleich gemessen werden. Dann wieder um dX, diesmal aber in die andere Richtung, also nach links ...bis wieder max.X erreicht ist .....und das Spiel beginnt von neuem. Bis... Y sein maxWert hat und die Whileschleife durch dieses Ereignis beendet wird. Gruss ernie Schleifen und Sequenzen - eg - 10.08.2007 10:12 Ich weiss nicht so genau ob ich was zum eigentlichen Thema beitrage, aber probiere doch deine Stapelsequenz durch eine For-Schleife zu ersetzen. Da kannst du den Index in jedem Schritt so anpassen wie du willst, u.A. auch Nullen. Und alles wird viel einfacher. ![]() eg Schleifen und Sequenzen - Y-P - 10.08.2007 11:10 Hast Du Dir schon mal eine State-Machine angeschaut? Vielleicht hilft die Dir weiter..... Gruß Markus |