Difference between revisions of "Secondary Processlist"

From ATTWiki
Jump to: navigation, search
Line 6: Line 6:
 
Our CNC Bender software is the only bender software in the world that we know of that allows for secondary processes like this.  This adds extreme flexibility and power to the bending cell.
 
Our CNC Bender software is the only bender software in the world that we know of that allows for secondary processes like this.  This adds extreme flexibility and power to the bending cell.
 
<br>
 
<br>
<br>This is secondary processlist that controls an autoloader:<br><br>
+
<br>This is secondary processlist that controls an autoloader.  This process runs independently of the main bending process as long as CYCLE START is active:<br><br>
  
 
<font size=1><pre>
 
<font size=1><pre>

Revision as of 15:46, 28 August 2009

Cncbender logo.jpg

Operatorstation model.jpg

A secondary processlist is a multitasking list of commands to move devices that surround the main bender motion. CNC Processor allows for any number of secondary processlists to run during the main cycle.

Our CNC Bender software is the only bender software in the world that we know of that allows for secondary processes like this. This adds extreme flexibility and power to the bending cell.

This is secondary processlist that controls an autoloader. This process runs independently of the main bending process as long as CYCLE START is active:



// ** AutoLoader Loader Process List **


// ----------------------------------------------
// Open the grippers and return the loader
// ----------------------------------------------


  AutoLoader_GripperOpen
  WaitForHopperPartClear = cto:10000
  AutoLoader_LoaderRetract

  
// ----------------------------------------------
// Decrease the priority of this list now
// ----------------------------------------------


  [DISPLAY] LOADER - Decrease Priority of Secondary List 1 (0.250 secs)
  [SECONDARY_PROCLIST_INTERVAL] AutoLoader_Loader, 250

  
// ----------------------------------------------
// CHECK FOR END CYCLE
// ----------------------------------------------


  [DISPLAY] LOADER - Wait if END CYCLE
  WaitForIBR_NotEndCycle

  
// ----------------------------------------------
// WAIT for the PART PRESENT to activate
// ----------------------------------------------
  
  
  [DISPLAY] LOADER: Wait for part present
  AutoLoader_LoaderWaitForPartPresent

  
// ----------------------------------------------
// Close GRIPPERS
// ----------------------------------------------


  [DISPLAY] LOADER - Loader Gripper Close
  AutoLoader_GripperClose

  
// ----------------------------------------------
// Increase the priority of this list now
// ----------------------------------------------


  [DISPLAY] LOADER - Increase Priority of Loader Process (0.050 secs)
  [SECONDARY_PROCLIST_INTERVAL] AutoLoader_Loader, 50

  
// ----------------------------------------------
// Wait for bender to signal that it is   
// ready for the for the loader to bring
// the tube to the bender
// ----------------------------------------------


  [DISPLAY] LOADER - Loader Wait For Bender Is Ready
  SideLoaderWaitForBenderIsReady

  
// ----------------------------------------------
// Increase the priority of this list to high priority
// ----------------------------------------------


  [DISPLAY] Loader - Increase Priority of Loader Process (0.025 secs)
  [SECONDARY_PROCLIST_INTERVAL] AutoLoader_Loader, 25

  
// ----------------------------------------------
// Move the Loader Arm to the bender
// ----------------------------------------------


   [DISPLAY] LOADER - Send Loader Arm then Insert Forward
   AutoLoader_LoaderForward
   inputtimer=tim0:3200
   AutoLoader_LoaderForward_Delay

   
// ----------------------------------------------
// Wait for the Chuck to Close
// ----------------------------------------------


  [DISPLAY] LOADER - Loader Wait For Part In Collet
  AutoLoader_WaitForChuckClose

  
// ----------------------------------------------
// Arm is currently in the bender
// Check for hopper clear before returning the arm
// ----------------------------------------------


[IF] OR, input=Input_AutoLoader_PartPresent_End, input=Input_AutoLoader_PartPresent2_End

  [Immediate_Message] PART NEST NOT CLEAR - Immediate Machine Shutdown
  OutputControlOff

[END]


Other Pages