Overview
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.