Pallet Function

Specifies a position in a previously defined pallet.

Syntax
(1) Pallet ( palletNumber, palletPosition )

(2) Pallet ( palletNumber, column, row )

Parameters

palletNumber
Specify the palette number (integer from 0 to 15) as a numeric value.
palletPosition
Specify an expression or numeric value (1-32767) as a number (integer) that specifies the division point.
column
Specify the numeric value (-32768 to 32767) of the horizontal coordinate specified in the palette definition.
row
Specify the vertical coordinate specified in the palette definition as a numeric value (-32768 to 32767).

Description
Pallet returns a position in a pallet which was previously defined by the Pallet statement. Use this function with motion commands such as Go and Jump to cause the arm to move to the specified pallet position.

The pallet position number can be defined arithmetically or simply by using an integer.

Notes


  • Pallet Motion of 6-axis Robot (including N series)

    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.

  • Pallet Motion of RS series

    In the same way as the 6-axis, when the RS series robot moves to a point calculated by such as pallet or relative offsets, Arm #1 may rotate to an unintended direction. LJM function can be used to convert the point flag to prevent the unintended rotation of Arm #1.

    In addition, the U axis of RS series may go out of the motion range when the orientation flag is converted, and it causes an error. To prevent this error, LJM function adjusts the U axis target angle to inside the motion range. It is available when the orientation flag “2” is selected.

  • UVW Coordinate Values

    When the UVW coordinate values of the 3 (or 4) points specified with the Pallet statement vary, the UVW coordinate values of the point 1 and the coordinate system data 1 are used.

    The UVW coordinate values of the point numbers from 2 to 4 and the coordinate system numbers from 2 to 4 are ignored.

  • Additional Axes Coordinate Values

    When the coordinate values of the 3 (or 4) points specified with the Pallet statement include the additional ST axis coordinate values, Pallet includes these additional coordinates in the position calculations. In the case where the additional axis is used as the running axis, the motion of the running axis is considered and calculated with the Pallet definition. You need to define a pallet larger than the robot motion range considering the position of the running axis. Even if you define additional axes that are not affected by the pallet definition, be careful of the positions of additional axes when defining the pallet.


See Also
LJM, Pallet

Pallet Function Example
The following program transfers parts from pallet 1 to pallet 2.

Function main
  Integer index
  Pallet 1, P1, P2, P3, 3, 5      'Define pallet 1
  Pallet 2, P12, P13, P11, 5, 3   'Define pallet 2
  For index = 1 To 15
    Jump Pallet(1, index)         'Move to point index on pallet 1
    On 1     'Hold the workpiece
    Wait 0.5
    Jump Pallet(2, index)         'Move to point index on pallet 2
    Off 1    'Release the workpiece
    Wait 0.5
  Next I
Fend

Function main
  Integer i, j

  P0 = XY(300, 300, 300, 90, 0, 180)
  P1 = XY(200, 280, 150, 90, 0, 180)
  P2 = XY(200, 330, 150, 90, 0, 180)
  P3 = XY(-200, 280, 150, 90, 0, 180)

  Pallet 1, P1, P2, P3, 10, 10

  Motor On
  Power High
  Speed 50; Accel 50, 50
  SpeedS 1000; AccelS 5000

  Go P0
  P11 = P0 -TLZ(50)

  For i = 1 To 10
      For j = 1 To 10
        'Specify points
        P10 = P11    'Depart point
      P12 = Pallet(1, i, j)    'Target point
      P11 = P12 -TLZ(50)    'Start approach point
      'Converting each point to LJM
      P10 = LJM(P10)
      P11 = LJM(P11, P10)
      P12 = LJM(P12, P11)
      'Execute motion
        Jump3 P10, P11, P12 C0
    Next
  Next
Fend

Function main2
  P0 = XY(300, 300, 300, 90, 0, 180)
  P1 = XY(400, 0, 150, 90, 0, 180)
  P2 = XY(400, 500, 150, 90, 0, 180)
  P3 = XY(-400, 0, 150, 90, 0, 180)
  Pallet 1, P1, P2, P3, 10, 10

  Motor On
  Power High
  Speed 50; Accel 50, 50
  SpeedS 1000; AccelS 5000

  Go P0

  Do
    ' Specify points
    P10 = Here -TLZ(50)    'Depart point
    P12 = Pallet(1, Int(Rnd(9)) + 1, Int(Rnd(9)) + 1)    'Target point
    P11 = P12 -TLZ(50)    'Start approach point

    If TargetOK(P11) And TargetOK(P12) Then    'Point check
    'Converting each point to LJM
    P10 = LJM(P10)
    P11 = LJM(P11, P10)
    P12 = LJM(P12, P11)
    'Execute motion
      Jump3 P10, P11, P12 C0
    EndIf
   Loop
Fend