Programming Pally for Doosan
This article is written for Pally for Doosan cobot
To make a palletizer program, you’ll need to open the Task Editor.
From the Pally you have two different nodes:
Init Pally (optional)
Get access to the Pally context (variables) and set up your callbacks
Run Pally (required)
Configure the maximum speed and acceleration for Pally
Init Pally program node
This node is optional. You can configure callbacks and get access to the Pally context via this node.
Define Pally context global variable
This is required in order to access the Pally variables.
Define a global variable for Pally and initialize it to 0. The examples here use Global_pally_context
.
Set up callbacks
Create your own subroutines that will be called at specific events during palletizing. Enter the name of each subroutine in the corresponding edit-box, or leave the edit box empty.
Currently the following events are available:
beforePallet: Executed every time before a new pallet is started. This node is typically used to report the status to a production system.
beforeZone: Executed before entering a new zone. Zones are mainly used with lifting columns.
onNextTask: Executed before calculations for the next box position begin. The calculation parameters can be altered here. Set MovePerformed=True here in order to use a custom path towards the pick position.
beforeGrab: Executed when the robot is ready for pick up at the pickup position. Typical uses for this node is to turn on a custom gripper or stop the conveyor. Commands that move the robot to the pick position should be inserted here when a custom path is in use.
afterGrab: Executed when the robot has lifted up the box from the pickup position. Commands that move the robot from the pick position to the target position should be inserted here when a custom path is in use.
beforeRelease: Executed when the robot is ready to drop the box on the pallet. Use this node to turn off a custom gripper.
afterRelease: Executed when the robot has released the box. Use this node e.g. to report the progress to a production supervisor system. Commands that move the robot back from the target position should be inserted here when a custom path is in use.
afterZone: Executed after leaving a completed. Zones are mainly used with lifting columns
onSheet: Executed every time when a shim paper needs to be inserted. Commands that pick the shim paper and move it to the corresponding pallet should be inserted here.
afterPallet: Executed when the robot has finished the pallet. Use this node e.g. to turn on a warning light, or show a popup message, so the operators can replace the pallet.
Access the Pally context
The Init Pally program node will return a variable called Global_pally_context
which points to an object with configuration data inside the Pally module.
You can use Global_pally_context anywhere in the callback subroutines or below the Init Pally program node in the main program to change any Pally settings in runtime.
Here is an expample on how to add callbacks