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

attention

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)

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)

Programmierung in Relativmaßangabe(G91)

Beispiel (Annahme: 360° Modulo)

G91 G1 C+560 (Bewegung zu "aktuelle Position plus 560" in + Richtung)

Folgende V.A.-Variablen ermöglichen den Lesezugriff auf die aktuellen achsspezifischen Moduloeinstellungen:

V.A.MODE[i]

liefert den Achsmode gemäß der Achstabelle.
z.B. 4 wenn die Achse vom Typ modulo ist.
-> wird gebraucht zum Lesen von Moduloachsen

V.A.MODULO_VALUE[i]

wird genutzt zum Lesen des Modulobereiches
z.B. 360 bei einem Modulobereich von 0-360°.
(bei "Nichtmoduloachsen" ist dieser Wert nicht relevant).

Programmierbeispiel

prg_example

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

prg_example

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

prg_example

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

prg_example

Programmierbeispiele für Moduloprogrammierung mit Relativmaßangabe

G91 G1 C+30

G91 G1 C-30

Programmierbeispiel

prg_example

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

prg_example

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.