Then I jogged around, tested them, and all seemed good.
Then I loaded a program, moved to a work offset, which created a local 0 for X & Y, then used my touch off block to set Z0 (top of material).
Then I tried to jog Z up and out of the way before running the program... I forget the error now, but it was essentially telling me I hit the Z upper (positive) limit, and couldn't jog any further. I could however still jog down. So the limits were working, but had apparently shifted / reset relative to the local zeros for the current work offset.
I have a routine that lets me cancel the Soft Limits, so I ran that, and then the program could run.
But I'm baffled now. I expected Soft Limits to be absolute, and not change with local offsets.
What am I missing? Is there a way to set the Soft Limits in absolute for the entire machine travels?
Here's the code snippet that I used to set the Soft Limits in my Home routine:
Code: Select all
// Set up soft limits - these were all set to +/- 1e+030 ch0->SoftLimitPos=89950; ch0->SoftLimitNeg=-390; ch1->SoftLimitPos=89950; ch1->SoftLimitNeg=-390; ch2->SoftLimitPos=180690; ch2->SoftLimitNeg=-1380; ch3->SoftLimitPos=2870; ch3->SoftLimitNeg=-63630;