P# (2. Point Expression) Statement

Specifies a robot point for assignment and motion commands.

Syntax
point [ { + | - }​ point ] [local] [hand(arm)] [elbow] [wrist] [j4flag] [j6flag] [j1flag] [j2flag] [relativeOffsets] [absoluteCoords]

Parameters

point
Specify the point data with one of the following:

  • Pnumber
  • P(expr)
  • pointLabel
  • Pallet(palletNumber, palletIndex)
  • Current position
  • Here
  • Point data function
  • XY function, JA function, Pulse function, etc.
local
Specify the local number from 1 to 15. Always precede the number with a forward slash "/" or an "@" mark. The forward slash "/" means that the coordinates will be in the local. The "@" mark means that the coordinates will be translated into local coordinates. Optional.
hand(arm)
Hand (arm system) orientation of horizontal articulated type (including RS series) and vertical 6-axis type (including N series) robots. Specify /L or /R for left- or right-hand (arm) orientation. Optional.
Elbow orientation
Parameters required for vertical 6-axis robots (including N series). Specify /A or /B for the above or below orientation.
wrist
Parameters required for vertical 6-axis robots (including N series). Specify /F or /NF for the flip or no flip orientation.
j4flag
Parameters required for vertical 6-axis robots (including N series). Specify /J4F0 or /J4F1.
j6flag
Parameters required for vertical 6-axis robots (including N series). Specify /J6F0 - /J6F127.
j1flag
Parameters required for RS series and vertical 6-axis robots (not including N series). Specify /J1F0 or /J1F1.
j2flag
This parameter is required for the RS series. Specify /J2F0 - /J2F127.
j1angle
This parameter is required for RS and N series. Specify /J1A (real value).
j4angle
This parameter is required for the N series. Specify /J4A (real value).
relativeOffsets
Optional. One or more relative coordinate adjustments.
{+ | -}​ {X | Y | Z | U | V | W | RZ | RY | RX | R | S | T | ST }​ (expression)
The TL offsets are relative offsets in the current tool coordinate system.
{+ | -}​ {TLX | TLY | TLZ | TLU | TLV | TLW}​ (expression)
absoluteCoords
Specify one or more absolute coordinates. Always precede coordinates with a colon ":". This absolute coordinate is optional.
:{X | Y | Z | U | V | W| R | S | T | ST }​ (expression)

Description
Point expressions are used in point assignment statements and motion commands.

Go P1 + P2
P1 = P2 + XY(100, 100, 0, 0)

Using relative offsets
You can offset one or more coordinates relative to the base point. For example, the following statement moves the robot 20 mm in the positive X axis from the current position:

Go Here +X(20)

If you execute the same statement again, the robot will move an additional 20 mm along the X axis, because this is a relative move.

To make a relative rotation around the coordinate axis of the 6-axis robots (including N series), execute the statement as follows. The following statement rotates the tool 20° in the X-axis positive direction based on the current tool orientation.

Go Here +RX(20)

You can also use relative tool offsets:

Go Here +TLX(20) -TLY(5.5)

When the 6-axis robot (including N series) moves to a point calculated by such as pallet or relative offsets, the wrist part may rotate to an unintended direction. The point calculation above does not depend on robot models and results in motion without converting the required point flag. LJM function prevents the unintended wrist rotation.

Go LJM(Here +X(20))

Using absolute coordinates
You can change one or more coordinates of the base point by using absolute coordinates. For example, the following statement moves the robot to the 20 mm position on the X axis:

Go Here :X(20)

If you execute the same statement again, the robot will not move because it is already in the absolute position for X from the previous move.

Relative offsets and absolute coordinates make is easy to temporarily modify a point. For example, this code moves quickly above the pick point by 10 mm using a relative offset for Z or 10 mm, then moves slowly to the pick point.

Speed fast
Jump pick +Z(10)
Speed slow
Go pick

This code moves straight up from the current position by specifying an absolute value of 0 for the Z joint:

LimZ 0
Jump Here :Z(0)

Using Locals
You can specify a local number using a forward slash "/" or "@" mark. Each has a separate function.

Use the forward slash to mark the coordinates in a local. For example, adding a /1 in the following statement says that P1 will be at location 0,0,0,0 in local 1.

P1 = XY(0, 0, 0, 0) /1

Use the at sign to translate the coordinates into local coordinates. For example, here is how to set the current position to P1:

P1 = Here @1

See Also
Go, LJM, Local, Pallet, Pdel, Plist, Hand, Elbow, Wrist, J4Flag, J6Flag, J1Flag, J2Flag

Point Expression Example
Here are some examples of using point expressions in assignments statements and motion commands:

P1 = XY(300,200,-50,100)
P2 = P1 /R
P3 = pick /1
P4 = P5 + P6
P(i) = XY(100, 200, CZ(P100), 0)
Go P1 -X(20) :Z(-20) /R
Go Pallet(1, 1) -Y(25.5)
Move pick /R
Jump Here :Z(0)
Go Here :Z(-25.5)
Go JA(25, 0, -20, 180)
pick = XY(100, 100, -50, 0)

P1 = XY(300,200,-50,100, -90, 0)
P2 = P1 /F /B
P2 = P1 +TLV(25)