West 800-736-1712 | Central 800-944-0333 | East 888-354-9470

Pick and Place This example uses the same application as the standard pick and place, but utilizes “pointers” or “indirect addressing” to minimize lines of code. The standard pick and place example is fine for only 8 possible place points, but what if this pallet was expanded to 100 points? This code would grow to be very large and cumbersome.

The following I/O has been chosen by the user:

  • Output 302 : “On” = Gripper close, “Off” = Gripper open
  • Output 303 : “On” = z-axis down, “Off” = z-axis up
  • Input 10 : “On” = Bad part sensed
  • Input 11 : “On” = Good part sensed
  • Input 12 : “On” = z-extended
  • Input 13 : “On” = z-retracted
  • Input 14 : “On” = cycle start input

The following point data has been “taught” by the user (mm units):

  • Pt.1: (pick) x-axis ( 25.255), y-axis (68.111)
  • Pt.2: (place1) x-axis (101.935), y-axis (194.932)
  • Pt.3: (place 2) x-axis (126.942), y-axis (194.932)
  • Pt.4: (place 3) x-axis (151.942), y-axis (194.932)
  • Pt.5: (place 4) x-axis (176.942), y-axis (194.932)
  • Pt.6: (place 5) x-axis (101.935), y-axis (144.932)
  • Pt.7: (place 6) x-axis (126.942), y-axis (144.932)
  • Pt.8: (place 7) x-axis (151.942), y-axis (144.932)
  • Pt.9: (place 8) x-axis (176.942), y-axis (144.932)
  • Pt.10: (bad part) x-axis (163.942), y-axis (43.111)

We still use subroutines to handle the z-axis and gripper, but this time, we use a variable both to keep track of our position and to control the "loop" determined by TAG. If you would like to see an example of crash recovery, check out the "Palletizing with Recovery" example.

Right-click here and "Save Target As" to download .PRG file.

Shares
Share This