Good Morning John,
I have done a similar application very well using Motion Program for Homing.
-setup motors in a CS, one as X and one as Y for example, enable motors
-run the motion program... HMZ each motor
-in the motion program you will command each axis at the same time in a while loop
-each command move can be a very small step, even one encoder count
-as the move thru each step together but independent you can watch for home sensors and z flags
-when see needed home sensors for each can note positions
-when both see needed home sensors break out of the while loop
-now set each motor as at its home pos and break out of motion program
-now they have each been homed while moving together but independent to find individual sensors
;setup motors in CS
$1#1->X ;no scale factor make moves based on encoder counts
$1#2->Y
Motion program section might look like this... obviously need more logic than here:
while(gantryPreHome = 0)
cmdPosition = cmdPosition + 1 ;make move, perhaps need to be -1 for other homing direction
X(cmdPosition)Y(cmdPosition) ;make move
;here logic to chk and see if either has hit home sensor if yes note that axis position
;here see if BOTH axes are homed - if yes set gantryPreHome = 1
endw
---feel free to call me for more details 919.372.3002 Mike Esposito
---perhaps the other factory experts have a better way ?
---note that when it is moving if you do very small steps such as 1 count at a time it will sound like the motors
are grinding a bit... such should moves rapidly sounds a bit rough but is fine...
---note the new PowerPMAC handles this type of homing for gantrys automatically... not sure exactly how but it
is very cool and coming with next gen PMAC
regards,
mike