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 von 2 zusätzlichen Kennzahlen (Status & Turn) beschrieben.
Hinweis
Die Roboterpositionierung mit Status & Turn steht momentan nur für den Kinematiktyp 45 zur Verfügung.
Status-Bit
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)
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).
3. Kriterium (Legacy-Wert, wird i.d.R. nicht mehr gebraucht): Gibt Position von Achse A5 an. Ist A5 > 0, wird dezimal 4 bzw. binär 100 addiert.
Turn-Bit
Der 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.
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“: |
#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)
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