# Status & Turn (IS, IT)

Als Alternative zur achsspezifischen Positionierung und zur genaueren Positionsvorgabe einer #PTP Bewegung bei Industrierobotern besteht die Option, die Roboterpose zu der entsprechenden kartesischen Position mit anzugeben.

Die Roboterpose wird hierfür mit Hilfe des Status (IS) beschrieben.

Zusätzlich können die Vorzeichen der Achspositionen mit Hilfe des Turn (IT) beschrieben werden.

Die Programmierung von Turn ohne Status ist nicht zulässig.

## Hinweis

Die Roboterpositionierung mit Status & Turn steht nur für den Kinematiktyp 45 zur Verfügung.

Status-Bit

Eine Übersicht der Roboterposen ist unter Posen der Kinematik des Sechsachs-Gelenkarmroboters zu finden.

Die Pose des Roboters wird in 3 Kriterien unterteilt. Trifft ein Kriterium zu, wird ein entsprechender Zahlenwert zum Status hinzugefügt.

1. Kriterium: Befindet sich die Handwurzel hinter Achse A1, wird dezimal 1 bzw. binär 1 addiert (im Bild links gelber Bereich)

Abb.: Der Schnittpunkt der Handachsen (Pfeilspitze) liegt im (blauen) Grundbereich

2. Kriterium: Befindet sich die Handwurzel vor der Geraden durch die Achsen A2 und A3, wird dezimal 2 bzw. binär 10 addiert (Bild Mitte u. Rechts).

Abb.: Status-Bit 1 für Roboter mit einem Offset zwischen Achse A3 und Achse A5

3. Kriterium: Gibt Position von Achse A5 an. Ist A5 > 0, wird dezimal 4 bzw. binär 100 addiert.

Abb.: Status-Bit 2 bei Achswinkelstellung A4=0° und A4=180°

Turn-Bit (optional)

Der optionale Turn-Wert listet die negativen Vorzeichen der Achswinkel auf.

Betrachtet man den Turn-Wert in einer binären Darstellung, wird das Vorzeichen jedes Achswinkels einem Bit zugeordnet. Diese werden dann zu einer Zahl, dem Turn, addiert.

Ist der Achswinkel einer Achse < 0° ist der Wert 1.

| A6 < 0° | A5 < 0° | A4 < 0° | A3 < 0° | A2 < 0° | A1 < 0°
Binär | 100000 | 010000 | 001000 | 000100 | 000010 | 000001
Dezimal | 32 | 16 | 8 | 4 | 2 | 1

Sind so alle 6 Achswinkel im negativen Bereich, ergibt sich ein Turn-Wert von dezimal 63 bzw. binär 111111, entsprechend bei 6 positiven Achswinkeln dezimal 0 und binär 000000.

## Hinweis

Der Turn-Wert muss mit dem Status-Wert konsistent sein.

Beispielsweise beschreibt eine 1 im Status-Bit 2 einen negativen A5-Winkel. Wird zusätzlich das A5-Turn-Bit auf 0 (positiver A5-Winkel) gesetzt, widersprechen sich der Status- und der Turn-Wert. In solch einem Fall wird eine Fehlermeldung ausgegeben.

Beschreibung

Zur eindeutigen Programmierung der Roboterposen (Kin_Typ_45) mit kartesischen Zielkoordinaten einer PTP-Bewegung stehen die zusätzlichen Parameter Status & Turn zur Verfügung.

Syntax Programmierung Status & Turn mit den Prefixen „IS“ und „IT“ (optional):
#PTP ON G.. X.. Y.. … IS.. IT.. #PTP OFF

Binärzahlen können mit der folgenden Syntax programmiert werden:

'B<0…1>', oder '2#<0…1>', bzw. '02#<0…1>'.

Bei Verwendung von Binärzahlen ergibt sich somit die folgende Syntax:

Status: IS'Bxxx'

Turn: IT'Bxxxxxx'

Bei Verwendung von Dezimalzahlen ergibt sich die folgende Syntax:

Status: IS<expr>

Turn: IT<expr>

Anzeigewerte

Folgende CNC-Objekte stehen für diese Funktionalität zur Verfügung:

- mc_st_valid_r: Gültigkeit des Status & Turn-Werts
  (Task COM- Indexgruppe 0x12010<CID> Indexoffset 0xB1)
- mc_st_status_r: Status-Wert der Kinematik 45
  (Task COM- Indexgruppe 0x12010<CID> Indexoffset 0xB2)
- mc_st_turn_r: Turn-Wert der Kinematik 45
  (Task COM- Indexgruppe 0x12010<CID> Indexoffset 0xB3)

## Hinweis

Sind Status & Turn nicht programmiert, wird der Zielpunkt auf Achswinkelebene per "Shortest Way-Strategie" ermittelt.

## Programmierbeispiel

Status & Turn mit Binärzahlen programmiert

N010 #PTP ON

N020 G01 X1100 Y0 Z1400 A0 B90 C0 IS'B010' IT'B000010' F5000

N030 G01 X1200 ;Zielpunkt wird per Shortest Way ermittelt

N040 #PTP OFF

## Programmierbeispiel

Status & Turn mit Dezimalzahlen programmiert

N010 #PTP ON

N020 G01 X1000 Y0 Z1400 A0 B90 C0 IS2 IT2 F5000

N030 #PTP OFF

N040 G01 X1500

N050 G01 Y1000

N060 G01 X-1000

N070 #PTP ON

N080 G01 X-1000 Y-1000 ;Zielpunkt wird per Shortest Way ermittelt

N090 #PTP OFF