Hi Gene,

But homing does not apply a TLO, which can vary by 7 or 8 inches
according to whats in this spindle for a tool at the time with this
machine. So when I calculate the min limit, I'm effectively putting the
spindle with no tool in it, about 25 thou from the table.

Yes, Homing is just establishing the physical limits of the machine. It doesn't take any offsets into account.

Z home switch trips about 50 thou below top of post and offsets are
supposedly from there in the rest of my homing setup,mainly  because I
don't care for -z's in my code.

With my router I have Z0 as the top of the spoil board because the bottom of the work is always in the same place. For milling, where the bottom of the work can be anywhere depending on if it is held in a vice, clamped to the bed etc I use Z0 as the top of the work.

So the question, since theres no z probition in a G10L1, does a z offset
applied that way, actually get into the tool.tbl for use as TLO with a
G43 H? Looking at the Doc pdf, it does not say

Yes. From the docs: "A valid G10 L1 rewrites and reloads the tool table."
I have attached my toolset subs which may help. There is some extra stuff to tweak the limits, make sure the spindle is stopped, raise the setter etc but you can take that out. You need to add some stuff to the ini file. All values are in machine coords:

[RS274NGC]
REMAP=G36 modalgroup=1 ngc=toolset
REMAP=G36.1 modalgroup=1 ngc=optional_toolset
REMAP=G37 modalgroup=1 ngc=clear_toolset


[TOOLSET]
#all coords are in machine coords
#Tool set Y (you probably don't want this one)
Y = 1393
#Rapid down to this height before probing
RAPID_Z = -60
#Tool set height (used to work out maximum distance for G38.2)
Z = -165
#Offset from tool setter to table
OFFSET = 5.75

G36 will do a toolset. G36.1 will do a toolset if that tool has not already been set in this session. G37 will clear all toolset flags and force a new toolset next time G36.1 is called Note the toolset flags only work for the first 8 tools. Change clear_toolset to suit (probably best to use a loop rather than the way I did it). You'll also need to change line 8 of toolset.ngc.

Les


O<optional_toolset> SUB
O1030 IF[#[5000 + #5400] NE 1]
G36
O1030 ENDIF
O<optional_toolset> ENDSUB
M2
O<toolset> SUB


O999 IF [#<_task> LT 1]
O999 return [-2]
O999 ENDIF

O1100 IF[[#5400 eq 0] or [#5400 gt 8]]
(abort, Tool number not known)
O1100 ENDIF

O<do_toolset> CALL

g43 h#5400
M65 P2 ;normal soft limit
#[5000 + #5400] = 1 ;flag that this tool has been measured

O<toolset> ENDSUB


O<do_toolset> SUB
M5

M73; store current state

G21 (ATC position is in mm as per ini)
G90 (absolute)
M64 P2 ;Enable ATC soft limit

G53 G0 Z0
#2 = #5422
M64 P3; Raise tool setter
G53 G0 Y[#<_ini[TOOLSET]Y>]

M66 P1 L4 Q15; Wait for spindle to stop
O1101 IF[#5399 ne 0]
(abort, Spindle failed to stop)
O1101 ENDIF

G53 G0 Z[#<_ini[TOOLSET]RAPID_Z>]

M50 P0 ;Disable feed rate override
#1 = [#5422 + #<_ini[TOOLSET]Z> - #<_ini[TOOLSET]RAPID_Z>]

g38.2 z#1 f3000
M65 P3; Drop tool setter

g10 l1 p#5400 z[#5063 - #2 + #<_ini[TOOLSET]OFFSET>]

g53 g0 z0

O<do_toolset> ENDSUB

M2
O<clear_toolset> SUB
#[5000] = 0
#[5001] = 0
#[5002] = 0
#[5003] = 0
#[5004] = 0
#[5005] = 0
#[5006] = 0
#[5007] = 0
#[5008] = 0

O<clear_toolset> ENDSUB
M2
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to