RC8/RC8A/RC9 Palletizing - Overview

Modified on Wed, 23 Jun 2021 at 02:38 PM


Palletizing refers to the act of loading or unloading items onto or from a pallet.  Typically, pallets are partitioned spaces that can be organized into rows and columns.  Palletizing is used widely for unloading work materials from packaging onto process lines, or placing finished products onto a pallet for shipment or further processing.  


Having the ability to automate these tasks can be a great advantage, and is a prime application for a robot.  One way to automate palletizing would be to manually program in each pallet position, however DENSO robots have a palletizing routine built into the programming language to simplify the coding required; while at the same time allowing flexibility in application.


The following palletizing articles are meant to supplement the existing explanations in the manuals and in our training class.

The command: Pallet.CalcPos

The built-in palletizing command is a single line of code that returns a designated pallet position into a chosen position variable.  

P[x] = Pallet.CalcPos (N, M, H, P[xi], P[xii], P[xiii], P[xiv], I[x], K)

  • P[x] – this is the position variable that the pallet position will be put into.  The pallet position will be a P type variable, and you can use a global or a locally defined variable for this.
  • Pallet.CalcPos – this is the PacScript command
  • N – this is the number of rows your pallet has.  This can be either an integer variable or a hard-coded value.
  • M – this is the number of columns your pallet has.  This can be either an integer variable or a hard-coded value.
  • H – Shows the 1 pallet layer height. If the number of layers increases, enter a positive value. If the number of layers decreases due to removal of pallets, enter a negative value. If the number of layers does not change, enter 0.


  • P[xi], P[xii], P[xiii], P[xiv- Four corner points, these points represent the parts position for each of the 4 corner partitions of the pallet. 
    • The figure below depicts in what order the robot palletizes these parts. 

  • These four positions can be entered as global position variables, or as locally defined position variables, but must be of type P.
  • The order these points are entered in the line of code does matter.  It will dictate where the first and last pallet positions are relative to the robot.  
  • It is recommended that the first and second positions are in the same row, and the first and third positions are in the same column.
  • I[x]– This is the current pallet index position.  This can be either a global integer variable or a locally defined integer.  This value represents the desired pallet position number (see picture above) that the command will return.  
    • Commonly, this variable is used in a For…Next loop to constantly return the next sequential pallet position for processing.
    • For example, if I[x] = 3, it will return the pallet position of slot 3 into P[x].
  • K– This is the number of pallet layers, i.e. the number of pallets stacked on top of each other.  This value must be an integer and be ≥ 1.  
    • This can also be tied to an integer variable and a nested For…Next loop to increment both pallet positions, and pallet layers.

Relevant Manual Links

Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select atleast one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article