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;
--Jon