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