Programmieren von Moduloachsen
Der Standardmodus der Moduloprogrammierung unterstützt durch die Programmierung von 2 Vorzeichen die spezifische Festlegung von Drehrichtung und Position sowie die Begrenzung auf maximal eine Umdrehung bei Absolutmaßangabe.
Syntax: | |
<Achsname> [ + | - ] <pos> | |
<Achsname> | Bezeichnung der Moduloachse. Lange Achsbezeichnungen werden nicht unterstützt (z.B. "C_MODULO"). |
+ | - | Das 1. Vorzeichen nach dem Achsnamen bestimmt immer die Drehrichtung: - bedeutet Drehung im Uhrzeigersinn + bedeutet Drehung gegen den Uhrzeigersinn kein Vorzeichen bedeutet Drehung auf kürzestem Weg (Optimiertes Richten) |
<pos> | Achsposition in [°]. Bei Absolutmaßangabe kann die Positionsangabe mit einem weiteren Vorzeichen behaftet sein. Die Zugehörigkeit zur Positionsangabe kann für optimiertes Richten durch Klammerung [..] erzwungen werden. |
Achtung
Die Programmierung von 2 Vorzeichen (Richtung und Position) ist nur zulässig, wenn die Achse vom Achsmode "Modulo" ist (P-AXIS-00015). Die Positionierung auf kürzestem Weg erfolgt immer dann, wenn kein Vorzeichen direkt nach dem Achsnamen programmiert wurde.
Zusätzlich besteht die Möglichkeit auf einen Modus zu wechseln, bei dem generell immer auf kürzestem Weg positioniert wird (Kapitel Positionierung auf kürzestem Weg). Die Programmierung von 2 Vorzeichen ist in diesem Modus ebenfalls zulässig. Die Auswertung erfolgt jedoch gemäß folgender Regel:
-- => + (Minus Minus ist Plus)
+- => - (Plus Minus ist Minus)
-+ => - (Minus Plus ist Minus)
++ => + (Plus Plus ist Plus)
Programmierung in Absolutmaßangabe (G90)
- Der mit der Achse programmierte Wert (Zielposition) wird in den Modulobereich verschoben. Es kann also maximal eine Umdrehung gefahren werden.
- Der Wert kann ein numerischer Ausdruck sein wie z.B. [3*2+5] , P1 , [P1+P2-3] , [-30].
- Das erste Vorzeichen nach dem Achsnamen bestimmt immer die Drehrichtung, und jedes weitere Vorzeichen wird als zur (absoluten) Positionsangabe gehörig interpretiert.
Beispiel (Annahme: 360° Modulo)
G90 G1 C+560 <=> G90 G1 C+200 (Bewegung zu Position 200 in + Richtung)
G90 G1 C-P1 (Gehe zu Position P1 (Modulo implizit) in - Richtung)
- Wenn die programmierte Position = aktuelle Position, erfolgt keine Bewegung.
- Der Verfahrweg einer Moduloachse wird nicht durch Softwareendschalter begrenzt.
Programmierung in Relativmaßangabe(G91)
- Der mit der Achse programmierte Wert beschreibt den zu fahrenden Weg im Bezug zur vorhergehenden Position. Das erste Vorzeichen nach dem Achsname bestimmt immer die Drehrichtung. Weitere Vorzeichen sind bei relativer Wegangabe nicht zulässig.
Beispiel (Annahme: 360° Modulo)
G91 G1 C+560 (Bewegung zu "aktuelle Position plus 560" in + Richtung)
- Wenn der Wert größer als der Modulowert ist, wird die Anzahl der Umdrehungen berücksichtigt. Es können also mehrere Umdrehungen gefahren werden.
Folgende V.A.-Variablen ermöglichen den Lesezugriff auf die aktuellen achsspezifischen Moduloeinstellungen:
V.A.MODE[i] | liefert den Achsmode gemäß der Achstabelle. |
V.A.MODULO_VALUE[i] | wird genutzt zum Lesen des Modulobereiches |
Programmierbeispiel
Programmierbeispiele für Moduloprogrammierung mit Absolutmaßangabe
G90 G1 C+350 <=> Gehe zu Position 350 in + Richtung
P1 =+10
G90 G1 C+P1 <=> G1 C+10 <=> Gehe zu Position 10 in + Richtung
P1= -350
G90 G1 C-P1 <=> G1 C-[-350] <=> G1 C-[10] <=> Gehe zu Position 10 in - Richtung
G90 G1 C+450 <=> G1 C+[450 mod 360] <=> Gehe zu Position 90 in + Richtung
Programmierbeispiel
Beispiele für korrekte Programmierung:
C+200 Drehe in positiver Richtung auf Position 200
C-200 Drehe in negativer Richtung auf Position 200
C+-200 Drehe in positiver Richtung auf Position -200 (= +160)
C+[-200] Drehe in positiver Richtung auf Position -200 (= +160)
C—200 Drehe in negativer Richtung auf Position -200 (= +160)
C-[-200] Drehe in negativer Richtung auf Position -200 (= +160)
C200 Drehe auf kürzestem Weg auf Position 200
C[+200] Drehe auf kürzestem Weg auf Position 200
C[-200] Drehe auf kürzestem Weg auf Position –200
Programmierbeispiel
Beispiele für falsche Programmierung
Keine, da das erste Vorzeichen nach dem Achsnamen immer die Drehrichtung bestimmt und jedes weitere Vorzeichen als zur Positionsangabe gehörig interpretiert wird.
Programmierbeispiel
Programmierbeispiele für Moduloprogrammierung mit Relativmaßangabe
G91 G1 C+30
G91 G1 C-30
Programmierbeispiel
Beispiele für korrekte Programmierung
C+200 Drehe in positiver Richtung auf "aktuelle Position plus 200"
C-200 Drehe in negativer Richtung auf "aktuelle Position minus 200"
C200 Drehe in positiver Richtung auf "aktuelle Position plus 200"
Programmierbeispiel
Beispiele für falsche Programmierung
C+-200 Fehler: Negative Wegangabe bei rel. Programmierung unzulässig.
C—200 Fehler: Negative Wegangabe bei rel. Programmierung unzulässig.
P1=-1
C-[P1] Fehler: Negative Wegangabe bei rel. Programmierung unzulässig.