I am struggling a bit using motion control on the BRX which I think is because I don't quite understand it. This is for a 2 axis drilling machine, the X axis is about 60" and the Z is about 4". Simple motion, move in X, drill in Z, repeat for about 30 moves. I have a Jog program block that works perfectly, it moves both X and Z continuously or intermittently in discrete step sizes using relative moves. However when I go to run the main program I make an X and Z clearance movement to the first hole using absolute mode. Z completes but the X stops every time at the same distance which is short of the target. The Trapezoidal move block shows it is active but motion stops short. I have alarms for attempts to execute code beyond the travel distance but they are not being triggered.
The Axis Config is done in a program that runs once and then exits. The code for the Z move is in a program that is called by the main program and exits if successful after every move. The code for the X axis in a program for X that is called and exits if successful as well. In each of those programs there is the required math to apply tool offsets and convert inches of motion to pulses that are output. All moves are in absolute mode.
I am testing with a couple of stepper motors on my desk so I haven't been homing the axis as there aren't any limit switches connected to test the Home function which is also in its own program block. I am thinking the home function is very important to using absolute mode and maybe that is where the problem lies. It all seems so simple but clearly I am missing something important!