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 

Innerhalb While-loop TRUE zu FALSE ändern



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.05.2018, 16:34
Beitrag #1

iSzr Offline
LVF-Neueinsteiger


Beiträge: 1
Registriert seit: Apr 2018

2016
-
DE



Innerhalb While-loop TRUE zu FALSE ändern
Hallo LabVIEW Community,

bin momentan dabei ein xy-Tisch über LabVIEW zu steuern.
Zur Positionierung der Startposition habe ich Endlagenschalter an den Tisch angebracht.

Nun möchte ich eine Startposition definieren, hierbei soll die Platte auf meinem Messtisch bis zu einem der Endlagenschalter fahren, diesen berühren und X mm bzw. X Schritte in die andere Richtung machen. Dies wäre dann meine Startposition.

Die Endlagenschalter Signale werden über DAQ in LabView "eingespielt" und befinden sich in der WHILE-Schleife, sodass die While Schleife entweder nach erreichen der vorgegebenen Strecke oder nach Betätigung der Endlagenschalter beendet wird.
Sobald die While-Schleife beendet wird, kann ich diese nicht automatisch starten lassen. Da nach der Betätigung TRUE am Stop der While Schleife "anliegt".

Ich habe bereits versucht durch Flache Sequenz und Warten in (ms) die Platte/Achse in TRUE warten zu lassen und dann in der nächsten Sequenz in False fortzusetzen, allerdings ist hierbei das Problem, dass der Schrittmotor sich (sehrlangsam) weiter dreht. Das möchte ich nicht. Nach Betätigung des Endlagers soll die Schrittzahl genullt werden d.h. kurz True und dann (False) in die andere Richtung x Schritte machen.

Mein Endlagenschalter ist an den Anschlüssen NC und COM mit einer Messbox verbunden. Der NO-Anschluss ist nicht angeschlossen.

Anbei hänge ich noch die VI und eine Übersicht zum Verständnis an.

Vielen Dank im Voraus.
Beste Grüße
iSzr


Angehängte Datei(en)
16.0 .vi  20180509v2.vi (Größe: 124,82 KB / Downloads: 241)

0.0 .pdf  ÜBERSICHT.pdf (Größe: 16,88 KB / Downloads: 256)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
14.05.2018, 09:37 (Dieser Beitrag wurde zuletzt bearbeitet: 14.05.2018 09:38 von GerdW.)
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.465
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Innerhalb While-loop TRUE zu FALSE ändern
Hallo iSzr,

Zitat:Nun möchte ich eine Startposition definieren, hierbei soll die Platte auf meinem Messtisch bis zu einem der Endlagenschalter fahren, diesen berühren und X mm bzw. X Schritte in die andere Richtung machen. Dies wäre dann meine Startposition.
Das hört sich doch sehr nach einer Statemachine an:
State 1: Platte zum Endlagenschalter fahren lassen
State 2: x Schritte in die andere Richtung fahren lassen

Zitat:Sobald die While-Schleife beendet wird, kann ich diese nicht automatisch starten lassen. Da nach der Betätigung TRUE am Stop der While Schleife "anliegt".
Hmm
Wenn die Schleife beendet ist, willst du sie (wieder) starten lassen?

Allgemeine Anwort: wenn du Teile deines Codes mehrfach ausführen willst, solltest du diesen Codeteil in eine Schleife packen…

Zitat:Ich habe bereits versucht durch Flache Sequenz und Warten in (ms)
Eine (flache) Sequenz ist (so gut wie) nie die Lösung eines Problems in LabVIEW.
Und was soll es bringen, wenn du da eine Wartefunktion verwendest, die "0.05" warten soll, aber nur Integerwerte am Eingang verarbeiten kann?

Zum VI:
- Wieso werden so viele DAQmx-Tasks angelegt, aber nirgends korrekt beendet?
- Wieso befinden sich viele DAQmx-Tasks nicht in einer Schleife -obwohl du deren Inputs in den Schleifen verwendest?
- Deine Y-Schleife bleibt bei der Event-Struktur hängen…
- Eine "x OR TRUE"-Operation ist einfach Rube-Goldberg…
- Wieso sehen die "Geschwindigkeitsregler" wie typische Anzeigeinstrumente aus? (schlechte UX…)

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
  True false Case TestingForLife 8 8.597 08.08.2013 10:19
Letzter Beitrag: Lucki
  Digitales 1-D Array in Boolsche True/False konvertieren flomo 5 5.957 13.12.2011 20:49
Letzter Beitrag: Y-P
  True-Dauer messen janauswilsche 4 4.694 25.05.2011 11:33
Letzter Beitrag: unicorn
  For-loop in While-loop als Zähler nutzen? Sammuel 4 8.072 09.12.2009 11:01
Letzter Beitrag: dimitri84
  Digitale Kanäle bei VI Stop auf False zurück setzen FIE 5 5.548 28.08.2009 11:57
Letzter Beitrag: Y-P
  DAQmx mit For-Loop geht das nicht? PhilippDerGrößere 3 4.749 23.07.2008 14:56
Letzter Beitrag: Y-P

Gehe zu: