# Status & Turn (IS, IT)

An option exists to specify the robot pose for the corresponding Cartesian position as an alternative to axis-specific positioning and to obtain a more precise specified position of a #PTP movement for industrial robots.

The robot pose is described using 2 additional key figures (Status & Turn).

## Notice

Robot positioning with Status & Turn is currently only available for kinematic type 45.

## Status bit

The robot pose is divided into 3 criteria. If a criterion applies, a corresponding numerical value is added to the status.

**1. criterion** If the wrist is behind axis A1, decimal 1 or binary 1 is added (yellow area in the figure on the left).

**2nd criterion **If the wrist is in front of the straight line through axes A2 and A3, decimal 2 or binary 10 is added (centre and right image).

**3rd criterion (legacy value, not normally used any more): **Indicates the position of axis A5. If A5 > 0, decimal 4 or binary 100 is added.

## Turn bit

The turn value lists the negative signs of the axis angles.

When the turn value is considered in a binary representation, the sign of each axis angle is assigned to a bit. These are then added to a number, i.e. the turn.

If the axis angle of an axis is < 0°, the value is 1.

| A6 < 0° | A5 < 0° | A4 < 0° | A3 < 0° | A2 < 0° | A1 < 0° |

Binary | 100000 | 010000 | 001000 | 000100 | 000010 | 000001 |

Decimal | 32 | 16 | 8 | 4 | 2 | 1 |

If all 6 axis angles are in the negative range, this results in a turn value of decimal 63 or binary 111111; accordingly, this results in decimal 0 and binary 000000 for 6 positive axis angles.

## Description

The additional parameters Status & Turn are available for unambiguous programming of the robot poses (Kin_Typ_45) with Cartesian target coordinates of a PTP movement.

Status & Turn are programmed with the prefixes "IS" and "IT":

#PTP ON G… X.. Y.. … #PTP OFF |

Binary numbers can be programmed with the following syntax:

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

When binary numbers are used, the syntax is as follows:

Status: **IS**'Bxxx'

Turn: **IT**'Bxxxxxx'

When decimal numbers are used, the syntax is as follows:

Status: **IS***<expr>*

Turn: **IT***<expr>*

## Display values

The following CNC objects are provided for this function:

- mc_st_valid_r: Validity of the status & turn value

(Task COM index group 0x12010<C_{ID}> Index offset 0xB1) - mc_st_status_r: Status value of kinematic 45

(Task COM index group 0x12010<C_{ID}> Index offset 0xB2) - mc_st_turn_r: Turn value of kinematic 45

(Task COM index group 0x12010<C_{ID}> Index offset 0xB3)

## Programming examples

If Status & Turn are not programmed, the target point is determined on the axis angle level using the shortest way strategy.

## Programing Example

Status & Turn programmed with binary numbers

N010 #PTP ON

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

N030 G01 X1200 ;target point is determined by shortest way

N040 #PTP OFF

## Programing Example

Status & Turn programmed with decimal numbers

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 ;target point is determined by shortest way

N090 #PTP OFF