There are a few things you can do.
Use the Search for Solutions button (Starting with Version 15) to review Question #232
It's true the SOFTLIMITS position settings in CNC SETUP are relative to the machine home not tool or job home. However, these positions can be changed on-the-fly with the logic command equivalent called SOFTLIMITS or the G codes G170,G171,G172.
Think of the SOFT LIMITS as a virtual over-travel limit switch in the computer. These may be used as crash barriers to prevent the tool from hitting the chuck, fixture or clamp for example.
What actions will occur when a crash barrier or SOFTLIMITS is crossed can be customized by the end user in detail inside the SOFTLIMITS.FIL file.
Here are the 3 choices.
(1) Enter in the tool size or length into the CUSTOM1 or CUSTOM2 box on the TOOL PARAMETER screen for each tool number. At each new tool change, perhaps in the logic for the M06 code you can setup the new crash barrier positions for each new tool. Use the lower case t value to determine the current tool number.
Example:
TOOLCUS1STt \123
SOFTLIMITS BACKWARD {-10+\123};0;0
This will retrieve the value stored in the CUSTOM1 box on TOOL PARAMETER SCREEN for current tool number and store it in variable \123 then reset the SOFTLIMITS for the BACKWARD limit of the first axis to -10 were it was originally plus the tool size or length stored in variable \123.
If the physical chuck was at -10 away from machine home in Z (in this case axis number 1 on a lathe) and the lathe tool length stored in CUSTOM1 box was added to the original chuck location then the number 1 axis could not pass this coordinate without causing the SOFTLIMITS event to execute. This would also work for 3D mills or other machine types despite additional offsets for the fixture, job home or other user defined added offsets because the internal position register compares the actual axis location minus any offsets in a separate register and it's this value that is compared to the SOFTLIMITS position. All we are doing here is adding the tool size or length to SOFTLIMITS.
When the tool enters the crash barrier limits the logic in the SOFTLIMITS.FIL file will automatically run. Here you display messages to the operator, stop the machine or even automatically back away slowly.
(2) These G codes setup new crash barriers from within the G Code program G171,G172. The G170 resets them back to the defaults. This way the positions that are given for this particular part would be saved for the next time it's run, right inside the G code file.
(3) Enter logic directly in the GCODE.FIL file table that specifies what will happen, what messages get displayed and what action will occur before the GO command to move the machine takes place. In the example below if the X axis position in the G code program is ever less than or equal to the value 1.234 then the machine stops and displays a message and exits out before it moves there.
The -1.234 maybe the distance from the face of the part Z0 to the chuck jaws.
For example:
If x<=-1.234 THEN ESTOP:MESSAGE CRASH BARRIER HIT:EXIT
The big advantage here is that you are working with numbers in the G code program that are already the tip of the tool. No offsets to worry about in your calculation. The lower case x value is the tip of the tool. All tools despite their length get setup and touched off the part face at Z0 on a Lathe or Z0 on the top of the part on a mill/router. This way the tool number doesn't matter and neither do the offsets. If the tip of the tool is commanded in the G code program to cross a certain fixed coordinate that is the chuck or fixture then this will catch it. Besides this way the move is never actually made so the crash is caught before the tool even gets near the chuck.
(4) In the standard version of CNC professional watch the solid modeled simulation on the screen in SUSPEND PREVIEW mode before you press cycle start. In Level-5 or higher you can also preview a full solid modeled verification of the G code program. Although you can't always count on this method unless you humanly notice something, but again it's a high probability that you will notice well before the machine operator has even has a chance to press cycle start.
Tech Support
CamSoft Corp.
(909) 674-8100
support@camsoftcorp.com www.cnccontrols.com