Werte Rückwärts abarbeiten nach erreichen einer Bedingung

Gizzl0r

Level-1
Beiträge
142
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Tag,
ich bin es mal wieder.... Zu Meiner aktuellen Problemstellung bzw. Aufgabe des Programms.
Ich habe jeweils 3-X Positionen 3-Y Positionen und 2-Z Positionen. Nachdem die erste X-Position angefahren wurde, wird die erste Y-Position angefahren. Ist dies geschehen fährt ein Zylinder Z-Achse auf Position 1 und auf Position 0 Zurück. Das geht so weiter für 3x3 Messpunkte

Diese Positionen werden über einen Array Index per Counter hochgezählt.

In [] der Array Index

Das bedeutet: X[0] = X Position 1
X[1] = X Position 2
X[2] = X Position 3
Y[0] = Y Position 1
Y[1] = Y Position 2
Y[2] = Y Position 3
Z[0] = Z Position 1
Z[1] = Z Position 2


ABLAUFPLAN:
Zur Zeit ist es soweit Programmiert:


Pos X2[1] <- Pos Z2[1] <- Pos Z1[0] <- Pos Y3[2] ....... Pos Z2[1] <- Pos Z1[0] <- Pos Y1[0] <- Pos X1[0]



Jetzt muss ich mit der Pos Y ja nur Rückwärts fahren.
Heisst den Array Index der Y-Achse Runter zählen bis der wieder auf 0 ist, um dann wieder hochzuzählen bis ich am Ende des 9. Messpunktes bin.

Pos X2[1] -> Pos Y3[2] -> Pos Z1[0] -> Pos Z2[1]...... Pos Y1[0] -> Pos Z1[0] -> Pos Z2[1] ->Pos X3


ENDE<- Pos Z2[1] <- Pos Z1[0] <- Pos Y3[2] ....... Pos Z2[1] <- Pos Z1[0] <- Pos Y1 [0]<- Pos X3[2]


Wie löse ich diese Aufgabenstellung? Über ein Counter UP fahre ich die ersten 3 Positionen problemlos an. Wenn ich jedoch bei Messpunkt 4 bin (X[1],Y[3],Z[0], soll er mir auf Y[2] und dann Y[1] fahren. Sie Ablaufplan oben. Mit einem Counterdown funktioniert das nicht so richtig.....

Ich weiß das es evtl. unübersichtlich ist. Hoffe meine Problemstellung ist klar. Würde mich sehr um jegliche Antwort freuen.

Mit freundlichen Grüßen
Daniel
 
Kostet zwar etwas mehr Speicherplatz, aber wie wäre es, wenn Du Dir eine Struktur (Bei Siemens heißt das meine ich UDT) anlegst die X/Y/Z enthält. Von dieser Struktur erzeugst Du ein Array mit der Anzahl der benötigten Messpunkte, dieses füllst Du und arbeitest es dann ab. Dann brauchst Du Dir über vorwärts, rückwärts oder seitwärts keine Gedanken mehr machen.
 
Zurück
Oben