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 

Innere while-Schleife durch einen counter abbrechen



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!

12.03.2012, 13:58
Beitrag #1

nekromongas Offline
LVF-Neueinsteiger


Beiträge: 3
Registriert seit: Mar 2012

2009
2012
DE


Deutschland
Question Innere while-Schleife durch einen counter abbrechen
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.


Angehängte Datei(en)
0.0 .zip  ISEL_Steuerung.zip (Größe: 26,16 KB / Downloads: 159)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.03.2012, 14:35 (Dieser Beitrag wurde zuletzt bearbeitet: 12.03.2012 14:36 von eb.)
Beitrag #2

eb Offline
LVF-Lernwilliger
***


Beiträge: 292
Registriert seit: Mar 2008

2014
2008
EN

12xxx
Deutschland
RE: Innere while-Schleife durch einen counter abbrechen
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ß
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
  Sub-VI über Button im Hauptpanel abbrechen der Philipp ausm Wald 28 31.556 01.08.2018 06:55
Letzter Beitrag: GerdW
  "Abbrechen"-Knopf im Datei-Dialog ändern Marcusius 1 3.860 10.06.2015 12:49
Letzter Beitrag: jg
  Event durch Mausklick auf einen bestimmten Bereich auslösen Kalci 4 5.057 14.07.2014 12:59
Letzter Beitrag: Kalci
  Laufendes VI abbrechen Patrik 5 6.795 04.04.2013 08:09
Letzter Beitrag: Patrik
  wie Prozess vorzeitig abbrechen? Hasenfuss 3 4.875 13.03.2013 16:46
Letzter Beitrag: GerdW
  Zyklus abbrechen ragingbull 11 9.527 24.09.2012 16:19
Letzter Beitrag: GerdW

Gehe zu: