Check for instances of parts in PackXpert

Information and discussion regarding the ACE PackXpert software

Check for instances of parts in PackXpert

Postby tspehar » Thu May 21, 2009 5:38 am

System: pc running ACE with PackXpert. Basler camera. Picking from moving belt. Placing on indexing conveyor. Pallet of three parts, then index conveyor.
V+: several tasks running continuously to control workcell i/o and starting and stopping picking parts in PackXpert
HMI: C# application on pc communicating with ACE server

Need: Need to know if instances of parts are available for pickup by the robot.

Situation: When the system is running, the robot picks the instances off the moving belt and places them on a belt. The place is a pallet of three parts in a row. Once three parts are placed, the pallet is complete and an Adept servo (MB10) indexes the belt to make space for the next pallet of three (Task 11 control). When the operator presses the stop push button, Task 10 captures the state of the stop button and waits for the current pallet of three to be complete. After the conveyor indexes, Task 10 disables the process in PackXpert and the robot stops picking parts off the moving conveyor. At this point, parts still on the moving conveyor simply fall off the end of the conveyor and are recycled.

Problem: If instances are not available to finish out the pallet of three, the stop that has been initiated by the operator can not complete. The customer would like the stop to complete immediately if no instances are available for pickup. Since V+ is controlling the shutdown of the process, V+ needs to know if instances are available for pickup. How is this done?
tspehar
 
Posts: 4
Joined: Wed Feb 18, 2009 7:01 am

Re: Check for instances of parts in PackXpert

Postby CyleN » Thu May 21, 2009 2:12 pm

Here is a code snippit that shows how to list the parts available for a given robot.

AUTO REAL i
AUTO REAL rob.task, index, free.count
AUTO $name

rob.task = 3

FOR i = 0 TO pm.prt.count[rob.task]-1
$name = $pm.prt.type[rob.task,i]
CALL pm.prt.avail(rob.task, i, free.count)
TYPE "Instances Available: ", $name, " = ", free.count
END

Note that there are separate queues for each robot. Each robot can have multiple part queues.
CyleN
 
Posts: 77
Joined: Fri Apr 18, 2008 6:27 am


Return to ACE PackXpert

Who is online

Users browsing this forum: No registered users and 1 guest