LabVIEWForum.de - Innere while-Schleife durch einen counter abbrechen

LabVIEWForum.de

Normale Version: Innere while-Schleife durch einen counter abbrechen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo liebe Gemeinde,
ich programmiere( habe nur sehr wenig LV-Erfahrung) momentan eine Schrittmotor-Steuerung mit einer RS232-Schnittstelle in LV 8.6 .
Die Motoren sollen Koordinaten in Schritten und kontinuierlich anfahren.
Zum Programm:
Ich habe eine äußere while-Schleife um das Programm zu bedienen welches durch einen STOP-Button abgebrochen wird.
Inder inneren while-Schleife habe ich je eine case-Struktur für das kontinuierliche Fahren und für das Fahren in Schritten. Für das Schritt-Fahren ist ein Rückwärtszähler eingebaut.
Problem:
Innere Schleife wird nicht abgebrochen da der Zähler immer wieder neu gesetzt wird. Die Schrittbewegung wird immer weiter ausgeführt.
Also kann ich biem Schrittfahren nicht bei einer bestimmten Koordinate stoppen.

Kann vielleicht jemand einen sinnvollen Tip geben, wie ich dieses Problem lösen kann.

im Anhang habe ich mal das Programm bereitgestellt um das ganzen etwas zu verdeutlichen.
Hallo,

normalerweise wird der Stop-Anschluss der inneren Loop mit den versch. Abbruchbedingungen gefüttert: So zum Beispiel auch ein "manuelles Abbrechen" per Button, oder zum Beispiel durch einen (in der inneren Schleife) aufgetrenen Fehler.

Zu deinem Programm noch ein paar Hinweise:
- Ist es notwendig in jedem Schleifendurchlauf der inneren Loop die VISA-Ressource zu öffnen, zu bearbeiten und zu schließen?? Evetll. reicht es in der inneren Loop nur den bearbeiten-Case zu machen und die Ressource+Fehlerdraht durchzuschleifen
- einige lokale Variablen könnten eingespart werden
- redundanter Code könnte in ein SubVI
- Blockdiagramm könnte aufgeräumt werden. (Drähte "geradeziehen" und Code etwas kompakter anordnen)

Gruß
Referenz-URLs