Mach3 Variable, Offset & Macro allocations

In each section below, the bolded details are the changes since the previous date

 


20110908

VB Macros:

  • M90001 Pn = select head n
  • M90002 Toggle head vacuum
  • M90003 or higher (versioning): Manager screen

GCode macros (Generated by Excel script from references in spreadsheet)

  • O0 = Rotation 0 pick place
  • O90 = Rotation 90 pick place
  • O180 = Rotation 180 pick place
  • O270 = Rotation 270 pick place
  • O1 = Initialise Heads 0 - 19 X Y offset users vars per spreadsheet from generated Gcode
  • O2 = Initialise Feeder 1-99 X Y offset & max available components GCode user vars per spreadsheet from generated GCode

GCode user vars:

Feeders:

#1-99 = feeder current component count, ie if #9 = 3 then 3 components have been used from from feeder 9

#101-199 = no of feeder components required for this run (may need to be per rotation later once we put arrays of PCB's back in)

#201-299 = per feeder max components accessible in one run

#301-399 = per feeder 1-99 x offset from feeder array origin

#401-499 = per feeder 1-99 y offset from feeder array origin

Heads:

#1000 - 1019 = head 0 - 19 x offset from camera

#1020 - 1039 = head 0 - 19 y offset from camera

#1100 - 1119 = head 0 - 19 small bump centering pit left bump X offset

#1120 - 1139 = head 0 - 19 small bump centering pit right bump X offset

#1140 - 1159 = head 0 - 19 small bump centering pit top bump Y offset

#1160 - 1179 = head 0 - 19  small bump centering pit bottom bump Y offset 

 

#1200 - 1219 = head 0 - 19 large bump centering pit left bump X offset

#1220 - 1239 = head 0 - 19 large bump centering pit right bump X offset

#1240 - 1259 = head 0 - 19 large bump centering pit top bump Y offset

#1260 - 1279 = head 0 - 19 large bump centering pit bottom bump Y offset

PCB origins

#2000 holds current PCB offset, ie for PCB 1 at rotation 0 = 50 (G59 P50)

#2100 = nominated PCB calibration pad x offset from PCB origin

#2101 = nominated PCB calibration pad y offset from PCB origin

G59 offsets:

  • G54 (G59 P1) Not used (save for possible PCB rotation table), or maybe G59
  • G55 (G59 P2): Vertical calibration USB camera (upward looking) (this is also our general reference point, also we park at G55 Y250 on power off)
    • #5241 = X, #5242 = Y
  • G56 (G59 P3): Feeders Left array origin
    • #5261 = X, #5262 = Y
  • G57 (G59 P4): Feeders Right array origin 
    • #5281 = X, #5282 = Y
  • G58 (G59 P5): Left side small centering pit origin
    • All centering pits are relative to this offset

PCB Rotation offsets we will allow room for up to 50 PCBs in an array:

  • G59 P50 = rotation 0 origin
  • G59 P100 = rotation 90 origin
  • G59 P150 = rotation 180 origin
  • G59 P200 = rotation 270 origin

 


20110728:

VB Macros:

  • M90001 Pn = select head n
  • M90002 Toggle head vacuum
  • M90003 or higher (versioning): Manager screen

GCode macros (Generated by Excel script from references in spreadsheet)

  • O0 = Rotation 0 pick place
  • O90 = Rotation 90 pick place
  • O180 = Rotation 180 pick place
  • O270 = Rotation 270 pick place
  • O1 = Initialise Heads 0 - 19 X Y offset users vars per spreadsheet from generated Gcode
  • O2 = Initialise Feeder 1-99 X Y offset & max available components GCode user vars per spreadsheet from generated GCode

GCode user vars:

#1-99 = feeder current component count, ie if #9 = 3 then 3 components have been used from from feeder 9

#101-199= feeder components required for this run (may need to be per rotation later once we put arrays of PCB's back in)

#201-299 = feeder max components accessible in one run

#301-399 = feeder 1-99 x offset from feeder array origin

#401-499 = feeder 1-99 y offset from feeder array origin

#1000 - 1019 = head 0 - 19 x offset from camera

#1020 - 1039 = head 0 - 19 y offset from camera

#1100 - 1119 = head 0 - 19 small bump centering pit left bump X offset

#1120 - 1139 = head 0 - 19 small bump centering pit right bump X offset

#1140 - 1159 = head 0 - 19 small bump centering pit top bump Y offset

#1160 - 1179 = head 0 - 19  small bump centering pit bottom bump Y offset 

#1200 - 1219 = head 0 - 19 large bump centering pit left bump X offset 

#1220 - 1239 = head 0 - 19 large bump centering pit right bump X offset

#1240 - 1259 = head 0 - 19 large bump centering pit top bump Y offset

#1260 - 1279 = head 0 - 19 large bump centering pit bottom bump Y offset


#2000 holds current PCB offset, ie for PCB 1 at rotation 0 = 50 (G59 P50)

 

G59 offsets:

  • G54 (G59 P1) Not used (save for possible PCB rotation table)
  • G55 (G59 P2): Vertical calibration USB camera (upward looking) (this is also our general reference point, also we park at G55 Y250 on power off)
    • #5241 = X, #5242 = Y
  • G56 (G59 P3): Feeders Left array origin
    • #5261 = X, #5262 = Y
  • G57 (G59 P4): Feeders Right array origin 
    • #5281 = X, #5282 = Y
  • G58 (G59 P5): Left side small centering pit origin
    • All centering pits are relative to this offset

PCB Rotation offsets we will allow room for up to 50 PCBs in an array:

  • G59 P50 = rotation 0 origin
  • G59 P100 = rotation 90 origin
  • G59 P150 = rotation 180 origin
  • G59 P200 = rotation 270 origin

 

20110605

VB Macros:

  • M90001 Pn = select head n
  • M90002 Toggle head vacuum
  • M90003 or higher (versioning): Manager screen

GCode macros (Generated by Excel script from references in spreadsheet)

  • O0 = Rotation 0 pick place
  • O90 = Rotation 90 pick place
  • O180 = Rotation 180 pick place
  • O270 = Rotation 270 pick place
  • O1 = Initialise Heads 0 - 19 X Y offset users vars per spreadsheet from generated Gcode
  • O2 = Initialise Feeder 1-99 X Y offset & max available components GCode user vars per spreadsheet from generated GCode

GCode user vars:

#1-99 = feeder current component count, ie if #9 = 3 then 3 components have been used from from feeder 9

#101-199= feeder components required for this run (may need to be per rotation later once we put arrays of PCB's back in)

#201-299 = feeder max components accessible in one run

#301-399 = feeder 1-99 x offset from feeder array origin

#401-499 = feeder 1-99 y offset from feeder array origin

#1000 - 1019 = head 0 - 19 x offset from camera

#1020 - 1039 = head 1 - 19 y offset from camera

#2000 holds current PCB offset, ie for PCB 1 at rotation 0 = 50 (G59 P50)

G59 offsets:

  • G54: Not used (save for possible PCB rotation table)
  • G55 = Vertical calibration USB camera (upward looking) (this is also our general reference point, also we park at G55 Y250 on power off)
    • #5241 = X, #5242 = Y
  • G56 = Feeders Left array origin
    • #5261 = X, #5262 = Y
  • G57 = Feeders Right array origin 
    • #5281 = X, #5282 = Y

PCB Rotation offsets we will allow room for up to 50 PCBs in an array:

  • G59 P50 = rotation 0 origin
  • G59 P100 = rotation 90 origin
  • G59 P150 = rotation 180 origin
  • G59 P200 = rotation 270 origin