LabVIEWForum.de - XY Verschiebetische

LabVIEWForum.de

Normale Version: XY Verschiebetische
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

mein Projekt beinhaltet zwei Stages von Thorlabs, eine für die X-Richtung eine für die Y-Richtung. Folgendes Szenario soll am Ende dabei abgefahren werden:
1. Koordinatenpunkt 1 anfahren
2. Lasern
3. Koordiantenpunkt 2 anfahren
4. Lasern

und so weiter bis alle Koordinaten abgefahren wurden.

Mein Problem ist nun die Stages zu synchronisieren d.h. hat die XStage zum Beispiel als erster ihre erste/zweite/welche Koordinate auch immer erreicht muss sie auf die YStage warten und umgekehrt natürlich das gleiche.

Die Stages arbeiten in einem Master-Slave System unabhängig voneinander. Das angehängte vi zeigt den run-Modus der beiden Stages, habs nur von einem Motor hochgeladen da es für beide das gleiche vi ist.
Wie im angehängten vi zu sehen ist, lese ich die Koordiante nacheinander über ne for-loop ein. Wie ist es nun möglich diese für die Wartezeit auf die andere Stage + die Laserzeit anzuhalten und dann eben das einlesen der nächsten Koordinate wieder aufzunehmen?

Gibt es eine Möglichkeit eine for-loop zu pausieren bis eben eine Bedingung eintritt die das "weiterloppen" signalisiert Big Grin?

Bin soweit eigentlich ganz gut durchgekommen mit dem Projekt, hier bräuchte ich allerdings einen kleinen Denkanstoß?

Vielen Dank schon mal!

Mit freundlichen Grüßen

Yip
Hallo Yip,

na wenn sich das nicht nach einer Aufgabe für eine Statemachine anhört…
Big Grin
(08.12.2016 13:57 )Yip schrieb: [ -> ]Gibt es eine Möglichkeit eine for-loop zu pausieren bis eben eine Bedingung eintritt die das "weiterloppen" signalisiert Big Grin?

Hallo Yip,

eine Möglichkeit sehe ich in der Synchronisation mit den Rendezvous-Funktionen. Melder sollten auch funktionieren.


Gruß, Marko
(08.12.2016 14:23 )GerdW schrieb: [ -> ]Hallo Yip,

na wenn sich das nicht nach einer Aufgabe für eine Statemachine anhört…
Big Grin

Und als Denkanstoß, die State-Machine könnte die folgenden Punkte enthalten:
  • Move to Next Point: Anfahren des nächsten XY-Ziels. Hier wird solange das Verfahren der X UND der Y-Achse überwacht, bis beide Stages das Ziel erreicht haben.
  • Do Lasern...
  • Check Point available: Überprüfen, ob ein weiterer Zielpunkt vorhanden ist. Wenn ja, zurück zum Schritt Move..., ansonsten Ende

Und schon bist du deine For-Loop los.

Gruß, Jens
Hallo zusammen,

vielen Dank für eure Vorschläge hab das ganze so umgesetzt und läuft recht gut!
Hätte allerdings ein weiteres Anliegen. So wie der Ablauf jetzt ist, wird der Laser ja gepulst betrieben. Mein Betreuer hat jetzt noch folgende Anforderung gestellt:

1. Fahr zum ersten Koordinantenpaar
2. Laser ein
3. Alle Koordianten abfahren
4. Laser aus

Also quasi continous wave lasern.

Die Sache ist nur die Koordinaten, die ich per Mausbewegung aufzeichne sind für x und y natürlich nicht mit gleichen Abständen verteilt. Zum Beispiel
x 0 0,5 0,6 0,7
y 0 0,2 0,3 0,5

Dann würde ich im obigen Beispiel ja bei y=0,2 schneller sein als bei x=0,5 d.h. ich lasere am falschen Punkt.
Meine Idee war jetzt eben eine genügend kleine Schrittgröße festzulegen zum Beispiel 0,1 und dann den Koordiantenpaararray nachzubearbeiten, ist das eine Möglichkeit oder bin ich hier auf den falschen Weg?

Wie würdet ihr das realisieren?

Schon mal vielen Dank!

Mit freundlichen Grüßen

Yip
Referenz-URLs