LabVIEWForum.de
Frage Positioniersystem - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Frage Positioniersystem (/Thread-Frage-Positioniersystem)



Frage Positioniersystem - Mistitoe - 25.03.2015 12:02

Hallo an alle!

Ich bin neu hier im Forum und arbeite seit knapp 2 Monaten mit LabVIEW. Nun bin ich auf ein Problem gestoßen, bei dem ich nicht weiter weiß.
Ich möchte ein dreiachsiges Positioniersystem steuern, bei dem ich, bei der Vorderansicht,

y für links/rechts,
z für hoch/runter,
x für rein/raus

definiert habe. Meine Führungsachse ist y. Ich habe nun eine Art Fahrplan erstellt, wobei das System von links unten (y0,z0,x0) nach rechts (yn,z0,x0), hoch (yn,z1,x0), links, hoch usw. mäanderförmig nach oben fährt. Dann soll auf es auf x1 gehen und den gleichen Weg runterfahren und so scheibchenweise ein Gitter aufbauen.

Mein Programm ist so aufgebaut, dass es am Anfang erst die Werte einzeln berechnet und mittels drei Schleifen meinen Fahrplan erstellt. Dabei vergleicht es immer die Indizes (gerade/ungerade) und kehrt so ggf. das Array für die jeweilige Achse um.

Ich hänge jetzt in der innersten Schleife fest. Wenn man das Programm mit ungeraden (z.B. 3) z-Werten (iz 0-2) laufen lässt stimmt der Plan. Das System fährt planmäßig von links unten nach rechts oben, geht auf x1, und fährt zurück. Insgesamt 27 Werte.
Allerdings stimmt es nicht mehr bei geraden z-Werten (z.B. 4). In diesem Fall muss es von links unten nach links oben fahren. Stopp wäre normalerweise ebenfalls rechts oben, dann hätten mir aber die y-Werte (Fahrt nach links) der obersten Ebene gefehlt. Daher die 9 weiteren Werte (insgesamt 36).

Ich bekomme es nun nicht hin, dass das System dann den gleichen Weg (links oben, links unten) zurückfährt. Ich habe es mit Logikoperatoren versucht, was nach mehrmaligem Drehen und Wenden einfach nicht zum Ergebnis führte. Entweder klappte es dann mit geraden oder ungeraden z-Werten, aber nicht mit beiden. Angry

Im Anhang habe ich einen idealen Plan für gerade z-Werte als Vergleich beigefügt.


Über Hilfe wäre ich sehr dankbar.. und.... ist diese Art des Erstellens eines solchen Plans überhaupt clever? Blink


Viele Grüße


RE: Frage Positioniersystem - GerdW - 25.03.2015 12:48

Hallo toe,

Zitat:Über Hilfe wäre ich sehr dankbar..
- der mehrfache Zugriff auf ein und dieselben (globalen) Variablen in den Casestrukturen am Anfang ist unnötig. Einmal die Werte lesen und dann verdrahten!
- Deine "Wert"-PropertyNodes sind eines der Grundprobleme in deinem VI! Wenn du Werte der vorigen Iteration speichern willst, nimmt man Schieberegister!
- Leider löscht du deine Arrays nicht mittendrin - was man sieht, wenn man Schieberegister einsetzt. Hier fehlt eine ordentliche Initialisierung…

Zitat:ist diese Art des Erstellens eines solchen Plans überhaupt clever?
Es scheint erstmal das zu passieren, was du haben willst.
Aber: "clever" finde ich es nicht, wenn Code dupliziert wird, statt subVIs zu nutzen. (Abgesehen von den oben genannten Problemen.)

Mal etwas Pseudocode:
Code:
FOREACH x
  FOREACH z
    FOREACH y
      addpoint(x,y,z)
    NEXT y
    invert Y-Array
  NEXT z
  invert z-array
NEXT x