Guage line measurement and TLO Touchplate measurement.

MSM Mill mode support
venom51
Posts: 30
Joined: Sat Jun 15, 2013 1:53 pm

Guage line measurement and TLO Touchplate measurement.

Post by venom51 »

In the manual it states that the master tool must be measured offline to establish the touch plate position for tool length offset measurement. Does that hold true if you are using the touch probe as the master tool and measure it each time you start a set up?

So the process would be as follows.

1. Install touch probe via non-repeatable tool holder.
2. Measure and set the TLO for the probe via the table mounted touch plate.
3. Set part zero via the mounted touch probe.
4. Load program and run.
5. First tool is measured via the table mounted touch plate and it's offset set.

Will that result in a proper tool offset for any non-repeatable tool?
User avatar
DaveCVI
Site Admin
Posts: 798
Joined: Mon Feb 04, 2013 3:15 pm
Contact:

Re: Guage line measurement and TLO Touchplate measurement.

Post by DaveCVI »

HI,
venom51 wrote:In the manual it states that the master tool must be measured offline to establish the touch plate position for tool length offset measurement.
I'll need to get specific re some terminology here...
When you say the "...touch plate..." I'll assume you mean the Tool Change Position Touch Plate.
and when you say "...establish the touch plate position..." I think you mean determining and teaching MSM the MCz level of the top of of the TCP TP.
Ok, given those assumptions, Yes MSM has to know the MCz level of the TCP TP before it can use the TCP TP To measure tool TLO values.

This requirement is true, completely independently of whether one is using master tool mode (and hence a master tool) or not.
venom51 wrote:Does that hold true if you are using the touch probe as the master tool and measure it each time you start a set up?
The MCz level of the TCP TP MUST be known before it can be used to measure any tool's TLO. It doe not matter if the tool being measured is a Probe or a drill bit.

Separate two concepts and I think this will become clearer:
The TCP TP is used to measure physical tool lengths (PTLs). From physical tool lengths, A TLO value is computed and entered in the tool table (assuming you are using ATLO in the tool page options). The technique used to calculate a TLO, is dependent on other options. The option combinations are covered in the user manual.
For the case of Master tool mode = ON, then the TLOs are calculated as the difference between the master tool PTL and the PTl of the tool being measured.
venom51 wrote:...using the touch probe as the master tool and measure it each time you start a set up?
Setting the WC 0 point is comes AFTER the TLO is measured/calculated -
And the Calculated TLO value can not be correct if the MCZ level of the TCP TP is not correct.

venom51 wrote: So the process would be as follows.

1. Install touch probe via non-repeatable tool holder.
OK, you are counting on the fact that the probe tool will ALWAYS be measured after it is mounted.
If the probe is the master, then this will also update the master tool PTL in the table.
venom51 wrote: 2. Measure and set the TLO for the probe via the table mounted touch plate.
OK - as long as the TCP TP MCZ level has been calibrated and it has not moved since the calibration.
venom51 wrote: 3. Set part zero via the mounted touch probe.
Yes, the WC 0 will be set correctly.
venom51 wrote: 4. Load program and run.
OK
venom51 wrote: 5. First tool is measured via the table mounted touch plate and it's offset set.
By "it's" I think you mean "the tool being mounted is measured and the TLO for the tool being mounted is set in the table".
This is correct.
venom51 wrote: Will that result in a proper tool offset for any non-repeatable tool?
Yes. as long as the tool is measured as part of the tool change, the TLO will be udpated during the tool change. Thus if the tool is mounted in an NRH holder, it will be measured and be ok for TLO tool table entry.

What I do on my machine is follow the rule of 1) I always use ATLO option for all tool changes and thus all tool get measured when mounted as part of a tool change.
I never use "skip RH" - I waste a little time re-measureing tools in RH holders thaw way - but I"m not doing production runs where that matters to me.
I find it much easier to always measure each and every tool - then if I changed a RH holder and forgot that I did so, it does not bite me - as the tools always get measured and update each and every time they get mounted.

Finally, don't forget that completely "mounting" a tool is a multi step process:
a) GCode program issues T# M6 to mount a new tool
b) MSM goes to the TCP, and the human physically mounts the tool - the tool is not physically mounted, but not logically mounted from the view of the CNC control.
c) MSM sees the tool is physicially mounted and that ATLO is on, and so it measures the tool using the TCP TP
d) the TLO is calculated (mode dependent) and the TLO value is written to the tool table.
We now have the TLO value - But is has NOT been applied (activated) to the Tool!
e) now the gcode program has to do G43 H#
to actually tell mach to use the TLO value.

many people forget step e) ... or learn the hard way that their CAM program post processor for their cam program is not outputting the G43... and then things don't work.

and DO NOT do T3 M6 G43 H# as one line!
(See MSM release notes) There is a bad mach bug that bites you if these are all on one line!
Use two lines to avoid the mach bug.
T# M6
G43 H#

Dave
Productivity Software for Personal CNC Machinists
http://www.CalypsoVentures.com
venom51
Posts: 30
Joined: Sat Jun 15, 2013 1:53 pm

Re: Guage line measurement and TLO Touchplate measurement.

Post by venom51 »

DaveCVI wrote:HI,
venom51 wrote:In the manual it states that the master tool must be measured offline to establish the touch plate position for tool length offset measurement.
I'll need to get specific re some terminology here...
When you say the "...touch plate..." I'll assume you mean the Tool Change Position Touch Plate.
and when you say "...establish the touch plate position..." I think you mean determining and teaching MSM the MCz level of the top of of the TCP TP.
Ok, given those assumptions, Yes MSM has to know the MCz level of the TCP TP before it can use the TCP TP To measure tool TLO values.

This requirement is true, completely independently of whether one is using master tool mode (and hence a master tool) or not.
venom51 wrote:Does that hold true if you are using the touch probe as the master tool and measure it each time you start a set up?
The MCz level of the TCP TP MUST be known before it can be used to measure any tool's TLO. It doe not matter if the tool being measured is a Probe or a drill bit.

Separate two concepts and I think this will become clearer:
The TCP TP is used to measure physical tool lengths (PTLs). From physical tool lengths, A TLO value is computed and entered in the tool table (assuming you are using ATLO in the tool page options). The technique used to calculate a TLO, is dependent on other options. The option combinations are covered in the user manual.
For the case of Master tool mode = ON, then the TLOs are calculated as the difference between the master tool PTL and the PTl of the tool being measured.
venom51 wrote:...using the touch probe as the master tool and measure it each time you start a set up?
Setting the WC 0 point is comes AFTER the TLO is measured/calculated -
And the Calculated TLO value can not be correct if the MCZ level of the TCP TP is not correct.

venom51 wrote: So the process would be as follows.

1. Install touch probe via non-repeatable tool holder.
OK, you are counting on the fact that the probe tool will ALWAYS be measured after it is mounted.
If the probe is the master, then this will also update the master tool PTL in the table.
venom51 wrote: 2. Measure and set the TLO for the probe via the table mounted touch plate.
OK - as long as the TCP TP MCZ level has been calibrated and it has not moved since the calibration.
venom51 wrote: 3. Set part zero via the mounted touch probe.
Yes, the WC 0 will be set correctly.
venom51 wrote: 4. Load program and run.
OK
venom51 wrote: 5. First tool is measured via the table mounted touch plate and it's offset set.
By "it's" I think you mean "the tool being mounted is measured and the TLO for the tool being mounted is set in the table".
This is correct.
venom51 wrote: Will that result in a proper tool offset for any non-repeatable tool?
Yes. as long as the tool is measured as part of the tool change, the TLO will be udpated during the tool change. Thus if the tool is mounted in an NRH holder, it will be measured and be ok for TLO tool table entry.

What I do on my machine is follow the rule of 1) I always use ATLO option for all tool changes and thus all tool get measured when mounted as part of a tool change.
I never use "skip RH" - I waste a little time re-measureing tools in RH holders thaw way - but I"m not doing production runs where that matters to me.
I find it much easier to always measure each and every tool - then if I changed a RH holder and forgot that I did so, it does not bite me - as the tools always get measured and update each and every time they get mounted.

Finally, don't forget that completely "mounting" a tool is a multi step process:
a) GCode program issues T# M6 to mount a new tool
b) MSM goes to the TCP, and the human physically mounts the tool - the tool is not physically mounted, but not logically mounted from the view of the CNC control.
c) MSM sees the tool is physicially mounted and that ATLO is on, and so it measures the tool using the TCP TP
d) the TLO is calculated (mode dependent) and the TLO value is written to the tool table.
We now have the TLO value - But is has NOT been applied (activated) to the Tool!
e) now the gcode program has to do G43 H#
to actually tell mach to use the TLO value.

many people forget step e) ... or learn the hard way that their CAM program post processor for their cam program is not outputting the G43... and then things don't work.

and DO NOT do T3 M6 G43 H# as one line!
(See MSM release notes) There is a bad mach bug that bites you if these are all on one line!
Use two lines to avoid the mach bug.
T# M6
G43 H#

Dave
So I have to come up with a way to accurately measure the distance from the spindle nose to the tool change position touch plate. I couldn't get the spindle nose down to the touch plate to get the initial measurement to set TCP TP MCZ level. I don't have any RH holders at this point so I'll have to come up with some other way to measure it.
User avatar
DaveCVI
Site Admin
Posts: 798
Joined: Mon Feb 04, 2013 3:15 pm
Contact:

Re: Guage line measurement and TLO Touchplate measurement.

Post by DaveCVI »

Well, you don't have to actually measure that distance... let MSM do it for you.
MSM probes from the TC position to the TCP TP.
MSM knows the machine position at the time the plate triggers the probe event and figures out the MCZ level of the plate.
If the spindle nose will go to the plate, it's easy - you tell the calibration probe dialog that the mounted tool is 0" for PTL.
Another fellow recently used some 1-2-3 blocks on the plate - then you enter the height of the blocks as the tool PTL for the calibration probe. You could also use gage blocks etc.

Dave
Productivity Software for Personal CNC Machinists
http://www.CalypsoVentures.com
venom51
Posts: 30
Joined: Sat Jun 15, 2013 1:53 pm

Re: Guage line measurement and TLO Touchplate measurement.

Post by venom51 »

This merely shows how much I don't yet think like a machinist. That makes perfect sense.

Thank you Dave.
venom51
Posts: 30
Joined: Sat Jun 15, 2013 1:53 pm

Re: Guage line measurement and TLO Touchplate measurement.

Post by venom51 »

Dave I just wanted to say thanks.

I got my tool change position touch plate setup and working just as it should. I like your product more and more with every feature I get set up properly and learn how to use.
venom51
Posts: 30
Joined: Sat Jun 15, 2013 1:53 pm

Re: Guage line measurement and TLO Touchplate measurement.

Post by venom51 »

I need a sanity check. After a very frustrating day with the mill chasing a problem with feed rate being ignored and crashing tools at 120 IPM. I'd like to verify a couple of things that you may be able to answer.

Here is some sample G-Code spit out by my RhinoCam 2 Mach 3 post processor. I believe there to be something wrong with it as this code ignored feed rates.

This section works as expected
G00 G49 G40 G17 G80 G50 G90
G20
(#2 Spot Drill)
M6 T22
G43 H22
M03 S2800
G01 X1.0500 Y1.2000 Z0.2500 F15.0
X1.0500 Y1.2000
G73 X1.0500 Y1.2000 Z-0.15 R0.0 Q0.05 F15.0
G80
G01 Z0.2500 F15.0
End Section
This section works.
(7/32 Drill)
M6 T33
G43 H33
M03 S2800
F15.0
X1.0500 Y1.2000
G73 X1.0500 Y1.2000 Z-0.6888 R0.0 Q0.1 F15.0
G80
G01 Z0.2500 F15.0
End Section
This is where the trouble starts and I think I know why but want to confirm.
(3/16 HSS 4 Flute - Bolt Head Pocket)
M6 T2
G43 H2
M03 S2800
Shouldn't there be a G01 here?
X1.0475 Y1.2043 F15.0
Z-0.1450 F25.0
Z-0.1700 F20.0
X1.0517 Y1.1768 Z-0.1749 F2.7
X1.0516 Y1.2211 Z-0.1827
X1.0458 Y1.1814 Z-0.1898
X1.0562 Y1.2158 Z-0.1962
X1.0426 Y1.1872 Z-0.2017
X1.0579 Y1.2099 Z-0.2066
X1.0422 Y1.1928 Z-0.2107
X1.0570 Y1.2048 Z-0.2140
X1.0443 Y1.1972 Z-0.2166
X1.0540 Y1.2012 Z-0.2185
X1.0479 Y1.1997 Z-0.2196
X1.0500 Y1.2000 Z-0.2200
X1.0479 Y1.1997 F5.5
X1.0540 Y1.2012
X1.0443 Y1.1972
X1.0570 Y1.2048
X1.0422 Y1.1928
X1.0579 Y1.2099
X1.0426 Y1.1872
X1.0562 Y1.2158
X1.0458 Y1.1814
X1.0516 Y1.2211
X1.0517 Y1.1768
X1.0443 Y1.2248
X1.0601 Y1.1744
X1.0352 Y1.2257
X1.0698 Y1.1751
X1.0251 Y1.2231
X1.0798 Y1.1797
X1.0156 Y1.2165
X1.0885 Y1.1881
X1.0081 Y1.2063
X1.0945 Y1.2000
X1.0808 Y1.1658
X1.0450 Y1.1528
X1.0104 Y1.1712
X1.0007 Y1.2105
X1.0240 Y1.2450
X1.0665 Y1.2508
X1.1001 Y1.2223
X1.1015 Y1.1771
X1.0679 Y1.1450
X1.0203 Y1.1486
X0.9905 Y1.1874
X0.9996 Y1.2366
X1.0433 Y1.2634
X1.0937 Y1.2485
X1.1167 Y1.2000
X1.0957 Y1.1493
X1.0427 Y1.1307
X0.9924 Y1.1581
X0.9789 Y1.2151
X1.0129 Y1.2642
X1.0734 Y1.2719
X1.1205 Y1.2314
X1.1218 Y1.1680
X1.0748 Y1.1238
X1.0092 Y1.1293
X0.9687 Y1.1827
X0.9816 Y1.2497
X1.0410 Y1.2856
X1.1086 Y1.2650
X1.1390 Y1.2000
X1.0567 Y1.1102
X0.9599 Y1.1864
X1.0295 Y1.2899
X1.1391 Y1.2275
X1.0845 Y1.1122
X0.9641 Y1.1586
X1.0018 Y1.2835
X1.1305 Y1.2549
X1.1114 Y1.1230
X0.9770 Y1.1323
X0.9762 Y1.2685
X1.1134 Y1.2795
X1.1349 Y1.1421
X0.9981 Y1.1101
X0.9555 Y1.2455
X1.0887 Y1.2986
X1.1516 Y1.1698
G17
G02X1.1510Y1.1677I1.0500J1.2000
G01 X1.0286 Y1.0962
G02X1.0242Y1.0972I1.0500J1.2000
G01 X0.9447 Y1.2124
G02X0.9458Y1.2192I1.0500J1.2000
G01 X1.0534 Y1.3059
G02X1.0626Y1.3053I1.0500J1.2000
G01 X1.1558 Y1.2058
G03Y1.1941I1.0500J1.2000
G01 X1.0649 Y1.0950
G02X1.0508Y1.0940I1.0500J1.2000
G01 X0.9467 Y1.1761
G02X0.9443Y1.1925I1.0500J1.2000
G01 X1.0173 Y1.3008
G02X1.0359Y1.3051I1.0500J1.2000
G01 X1.1476 Y1.2413
G02X1.1540Y1.2206I1.0500J1.2000
G01 X1.0996 Y1.1063
G02X1.0771Y1.0975I1.0500J1.2000
G01 X0.9610 Y1.1424
G02X0.9494Y1.1666I1.0500J1.2000
G01 X0.9849 Y1.2836
G02X1.0105Y1.2983I1.0500J1.2000
G01 X1.1276 Y1.2722
G02X1.1457Y1.2455I1.0500J1.2000
G01 X1.1287 Y1.1290
G02X1.1013Y1.1073I1.0500J1.2000
G01 X0.9862 Y1.1153
G02X0.9606Y1.1431I1.0500J1.2000
G01 X0.9600 Y1.2561
G02X0.9878Y1.2858I1.0500J1.2000
G01 X1.0979 Y1.2946
G02X1.1319Y1.2673I1.0500J1.2000
G01 X1.1485 Y1.1607
G02X1.1221Y1.1223I1.0500J1.2000
G01 X1.0197 Y1.0984
G02X0.9767Y1.1234I1.0500J1.2000
G01 X0.9461 Y1.2211
G02X0.9692Y1.2686I1.0500J1.2000
G01 X1.0617 Y1.3054
G02X1.1137Y1.2847I1.0500J1.2000
G01 X1.1560 Y1.1979
G02X1.1383Y1.1414I1.0500J1.2000
G01 X1.0576 Y1.0943
G02X0.9966Y1.1085I1.0500J1.2000
G01 X0.9454 Y1.1828
G02X0.9555Y1.2481I1.0500J1.2000
G01 X1.0232 Y1.3026
Z0.2500 F15.0
X1.0500 Y1.2000
Z-0.2300 F25.0
X1.0479 Y1.1997 F5.5
X1.0540 Y1.2012
X1.0443 Y1.1972
X1.0570 Y1.2048
X1.0422 Y1.1928
X1.0579 Y1.2099
X1.0426 Y1.1872
X1.0562 Y1.2158
X1.0458 Y1.1814
X1.0516 Y1.2211
X1.0517 Y1.1768
X1.0443 Y1.2248
X1.0601 Y1.1744
X1.0352 Y1.2257
X1.0698 Y1.1751
X1.0251 Y1.2231
X1.0798 Y1.1797
X1.0156 Y1.2165
X1.0885 Y1.1881
X1.0081 Y1.2063
X1.0945 Y1.2000
X1.0808 Y1.1658
X1.0450 Y1.1528
X1.0104 Y1.1712
X1.0007 Y1.2105
X1.0240 Y1.2450
X1.0665 Y1.2508
X1.1001 Y1.2223
X1.1015 Y1.1771
X1.0679 Y1.1450
X1.0203 Y1.1486
X0.9905 Y1.1874
X0.9996 Y1.2366
X1.0433 Y1.2634
X1.0937 Y1.2485
X1.1167 Y1.2000
X1.0957 Y1.1493
X1.0427 Y1.1307
X0.9924 Y1.1581
X0.9789 Y1.2151
X1.0129 Y1.2642
X1.0734 Y1.2719
X1.1205 Y1.2314
X1.1218 Y1.1680
X1.0748 Y1.1238
X1.0092 Y1.1293
X0.9687 Y1.1827
X0.9816 Y1.2497
X1.0410 Y1.2856
X1.1086 Y1.2650
X1.1390 Y1.2000
X1.0567 Y1.1102
X0.9599 Y1.1864
X1.0295 Y1.2899
X1.1391 Y1.2275
X1.0845 Y1.1122
X0.9641 Y1.1586
X1.0018 Y1.2835
X1.1305 Y1.2549
X1.1114 Y1.1230
X0.9770 Y1.1323
X0.9762 Y1.2685
X1.1134 Y1.2795
X1.1349 Y1.1421
X0.9981 Y1.1101
X0.9555 Y1.2455
X1.0887 Y1.2986
X1.1516 Y1.1698
G02X1.1510Y1.1677I1.0500J1.2000
G01 X1.0286 Y1.0962
G02X1.0242Y1.0972I1.0500J1.2000
G01 X0.9447 Y1.2124
G02X0.9458Y1.2192I1.0500J1.2000
G01 X1.0534 Y1.3059
G02X1.0626Y1.3053I1.0500J1.2000
G01 X1.1558 Y1.2058
G03Y1.1941I1.0500J1.2000
G01 X1.0649 Y1.0950
G02X1.0508Y1.0940I1.0500J1.2000
G01 X0.9467 Y1.1761
G02X0.9443Y1.1925I1.0500J1.2000
G01 X1.0173 Y1.3008
G02X1.0359Y1.3051I1.0500J1.2000
G01 X1.1476 Y1.2413
G02X1.1540Y1.2206I1.0500J1.2000
G01 X1.0996 Y1.1063
G02X1.0771Y1.0975I1.0500J1.2000
G01 X0.9610 Y1.1424
G02X0.9494Y1.1666I1.0500J1.2000
G01 X0.9849 Y1.2836
G02X1.0105Y1.2983I1.0500J1.2000
G01 X1.1276 Y1.2722
G02X1.1457Y1.2455I1.0500J1.2000
G01 X1.1287 Y1.1290
G02X1.1013Y1.1073I1.0500J1.2000
G01 X0.9862 Y1.1153
G02X0.9606Y1.1431I1.0500J1.2000
G01 X0.9600 Y1.2561
G02X0.9878Y1.2858I1.0500J1.2000
G01 X1.0979 Y1.2946
G02X1.1319Y1.2673I1.0500J1.2000
G01 X1.1485 Y1.1607
G02X1.1221Y1.1223I1.0500J1.2000
G01 X1.0197 Y1.0984
G02X0.9767Y1.1234I1.0500J1.2000
G01 X0.9461 Y1.2211
G02X0.9692Y1.2686I1.0500J1.2000
G01 X1.0617 Y1.3054
G02X1.1137Y1.2847I1.0500J1.2000
G01 X1.1560 Y1.1979
G02X1.1383Y1.1414I1.0500J1.2000
G01 X1.0576 Y1.0943
G02X0.9966Y1.1085I1.0500J1.2000
G01 X0.9454 Y1.1828
G02X0.9555Y1.2481I1.0500J1.2000
G01 X1.0232 Y1.3026
Z-0.2050 F25.0
Z0.2500 F15.0
(3/16 HSS 4 flute - Bolt Hole)
Shouldn't there be a G01 here?
X1.0475 Y1.2043 F15.0
Z-0.4250 F25.0
Z-0.4500 F20.0
X1.0517 Y1.1768 Z-0.4549 F2.7
X1.0516 Y1.2211 Z-0.4627
X1.0458 Y1.1814 Z-0.4698
X1.0562 Y1.2158 Z-0.4762
X1.0426 Y1.1872 Z-0.4817
X1.0579 Y1.2099 Z-0.4866
X1.0422 Y1.1928 Z-0.4907
X1.0570 Y1.2048 Z-0.4940
X1.0443 Y1.1972 Z-0.4966
X1.0540 Y1.2012 Z-0.4985
X1.0479 Y1.1997 Z-0.4996
X1.0500 Y1.2000 Z-0.5000
X1.0479 Y1.1997 F5.5
X1.0540 Y1.2012
X1.0443 Y1.1972
X1.0570 Y1.2048
X1.0422 Y1.1928
X1.0579 Y1.2099
X1.0426 Y1.1872
X1.0562 Y1.2158
X1.0458 Y1.1814
X1.0516 Y1.2211
X1.0517 Y1.1768
X1.0446 Y1.2229
G02X1.0449I1.0500J1.2000
G01 X1.0589 Y1.1782
G02X1.0583Y1.1780I1.0500J1.2000
G01 X1.0379 Y1.2201
G02X1.0387Y1.2206I1.0500J1.2000
G01 X1.0651 Y1.1820
G02X1.0641Y1.1812I1.0500J1.2000
G01 X1.0323 Y1.2154
G02X1.0333Y1.2166I1.0500J1.2000
G01 X1.0699 Y1.1875
G02X1.0689Y1.1860I1.0500J1.2000
G01 X1.0284 Y1.2092
G02X1.0293Y1.2112I1.0500J1.2000
G01 X1.0728 Y1.1943
G02X1.0720Y1.1919I1.0500J1.2000
G01 X1.0266 Y1.2021
Z0.2500 F15.0
X1.0500 Y1.2000
Z-0.5050 F25.0
X1.0479 Y1.1997 F5.5
X1.0540 Y1.2012
X1.0443 Y1.1972
X1.0570 Y1.2048
X1.0422 Y1.1928
X1.0579 Y1.2099
X1.0426 Y1.1872
X1.0562 Y1.2158
X1.0458 Y1.1814
X1.0516 Y1.2211
X1.0517 Y1.1768
X1.0446 Y1.2229
G02X1.0449I1.0500J1.2000
G01 X1.0589 Y1.1782
G02X1.0583Y1.1780I1.0500J1.2000
G01 X1.0379 Y1.2201
G02X1.0387Y1.2206I1.0500J1.2000
G01 X1.0651 Y1.1820
G02X1.0641Y1.1812I1.0500J1.2000
G01 X1.0323 Y1.2154
G02X1.0333Y1.2166I1.0500J1.2000
G01 X1.0699 Y1.1875
G02X1.0689Y1.1860I1.0500J1.2000
G01 X1.0284 Y1.2092
G02X1.0293Y1.2112I1.0500J1.2000
G01 X1.0728 Y1.1943
G02X1.0720Y1.1919I1.0500J1.2000
G01 X1.0266 Y1.2021
Z-0.4800 F25.0
Z0.2500 F15.0
(1/2 HSS 4 flute - Plate Pocket)
M6 T11
G43 H11
M03 S2484
Shouldn't there be a G01 here? This is the section that Mach 3 ignored the feed rates and ran at 120 IPM.
X1.2676 Y1.2720 F15.0
Z0.0200 F25.0
Z-0.0050 F20.0
X1.1280 Z-0.0296 F15.0
Y1.1280 Z-0.0550
X2.8720 F26.0
Y1.2720
X1.1280
Y1.1280
X1.0032
Y1.3967
X2.9967
Y1.0032
X1.0032
Y1.1280
X0.8785
Y0.8785
X3.1215
Y1.5215
X0.8785
Y1.1280
X0.7537
Y1.6462
X3.2462
Y0.7537
X0.7537
Y1.1280
X0.6290
Y0.6290
X3.3710
Y1.7710
X0.6290
Y1.1280
X0.5042
Y1.8957
X3.4958
Y0.5042
X0.5042
Y1.1280
X0.3795
Y0.3795
X3.6205
Y2.0205
X0.3795
Y1.1280
Z-0.0300 F25.0
Z0.2500 F1.0
X1.2676 Y1.2720
Z0.0150 F25.0
Z-0.0100 F20.0
X1.1280 Z-0.0346 F15.0
Y1.1280 Z-0.0600
X2.8720 F26.0
Y1.2720
X1.1280
Y1.1280
X1.0032
Y1.3967
X2.9967
Y1.0032
X1.0032
Y1.1280
X0.8785
Y0.8785
X3.1215
Y1.5215
X0.8785
Y1.1280
X0.7537
Y1.6462
X3.2462
Y0.7537
X0.7537
Y1.1280
X0.6290
Y0.6290
X3.3710
Y1.7710
X0.6290
Y1.1280
X0.5042
Y1.8957
X3.4958
Y0.5042
X0.5042
Y1.1280
X0.3795
Y0.3795
X3.6205
Y2.0205
X0.3795
Y1.1280
Z-0.0350 F25.0
Z0.2500 F15.0
(1/4 HSS 4 flute - Plate Pocket Corner Cleanup)
M6 T3
G43 H3
M03 S2800
Shouldn't there be a G01 here?
X1.4718 Y1.1882 F15.0
Z0.0200 F25.0
Z-0.0050 F20.0
X1.1882 Z-0.0550 F10.0
Y1.2117 F12.5
X2.8117
Y1.1882
X1.1882
Y1.1260
X2.8740
Y1.2740
X1.1260
Y1.1260
X1.1882
Y1.0637
X1.0637
Y1.3362
X2.9362
Y1.0637
X1.1882
Y1.0015
X2.9985
Y1.3985
X1.0015
Y1.0015
X1.1882
Y0.9392
X0.9392
Y1.4607
X3.0608
Y0.9392
X1.1882
Y0.8770
X3.1230
Y1.5230
X0.8770
Y0.8770
X1.1882
Y0.8147
X0.8147
Y1.5852
X3.1852
Y0.8147
X1.1882
Y0.7525
X3.2475
Y1.6475
X0.7525
Y0.7525
X1.1882
Y0.6902
X0.6902
Y1.7097
X3.3097
Y0.6902
X1.1882
Y0.6280
X3.3720
Y1.7720
X0.6280
Y0.6280
X1.1882
Y0.5657
X0.5657
Y1.8342
X3.4342
Y0.5657
X1.1882
Y0.5035
X3.4965
Y1.8965
X0.5035
Y0.5035
X1.1882
Y0.4412
X0.4412
Y1.9587
X3.5587
Y0.4412
X1.1882
Y0.3790
X3.6210
Y2.0210
X0.3790
Y0.3790
X1.1882
Y0.3167
X0.3167
Y2.0832
X3.6833
Y0.3167
X1.1882
Y0.2545
X3.7455
Y2.1455
X0.2545
Y0.2545
X1.1882
Z-0.0300 F25.0
Z0.2500 F1.0
X1.4718 Y1.1882
Z0.0150 F25.0
Z-0.0100 F20.0
X1.1882 Z-0.0600 F10.0
Y1.2117 F12.5
X2.8117
Y1.1882
X1.1882
Y1.1260
X2.8740
Y1.2740
X1.1260
Y1.1260
X1.1882
Y1.0637
X1.0637
Y1.3362
X2.9362
Y1.0637
X1.1882
Y1.0015
X2.9985
Y1.3985
X1.0015
Y1.0015
X1.1882
Y0.9392
X0.9392
Y1.4607
X3.0608
Y0.9392
X1.1882
Y0.8770
X3.1230
Y1.5230
X0.8770
Y0.8770
X1.1882
Y0.8147
X0.8147
Y1.5852
X3.1852
Y0.8147
X1.1882
Y0.7525
X3.2475
Y1.6475
X0.7525
Y0.7525
X1.1882
Y0.6902
X0.6902
Y1.7097
X3.3097
Y0.6902
X1.1882
Y0.6280
X3.3720
Y1.7720
X0.6280
Y0.6280
X1.1882
Y0.5657
X0.5657
Y1.8342
X3.4342
Y0.5657
X1.1882
Y0.5035
X3.4965
Y1.8965
X0.5035
Y0.5035
X1.1882
Y0.4412
X0.4412
Y1.9587
X3.5587
Y0.4412
X1.1882
Y0.3790
X3.6210
Y2.0210
X0.3790
Y0.3790
X1.1882
Y0.3167
X0.3167
Y2.0832
X3.6833
Y0.3167
X1.1882
Y0.2545
X3.7455
Y2.1455
X0.2545
Y0.2545
X1.1882
Z-0.0350 F25.0
Z0.2500 F15.0
(1/2 HSS 4 Flute - Outer TP Base)
M6 T12
G43 H12
M03 S2400
Shouldn't there be a G01 here?
X0.5000 Y-0.9185 F15.0
Z-0.5000 F20.0
Y-0.6685 F15.0
G03X0.2500Y-0.4185I0.2500J-0.6685 F12.0
G02X-0.4185Y0.2500I0.2500J0.2500 F17.0
G01 Y2.1500
G02X0.2500Y2.8185I0.2500J2.1500
G01 X3.7500
G02X4.4185Y2.1500I3.7500J2.1500
G01 Y0.2500
G02X3.7500Y-0.4185I3.7500J0.2500
G01 X0.2500
Y-0.3905
G02X-0.3905Y0.2500I0.2500J0.2500
G01 Y2.1500
G02X0.2500Y2.7905I0.2500J2.1500
G01 X3.7500
G02X4.3905Y2.1500I3.7500J2.1500
G01 Y0.2500
G02X3.7500Y-0.3905I3.7500J0.2500
G01 X0.2500
Y-0.3625
G02X-0.3625Y0.2500I0.2500J0.2500
G01 Y2.1500
G02X0.2500Y2.7625I0.2500J2.1500
G01 X3.7500
G02X4.3625Y2.1500I3.7500J2.1500
G01 Y0.2500
G02X3.7500Y-0.3625I3.7500J0.2500
G01 X0.2500
Y-0.3345
G02X-0.3345Y0.2500I0.2500J0.2500
G01 Y2.1500
G02X0.2500Y2.7345I0.2500J2.1500
G01 X3.7500
G02X4.3345Y2.1500I3.7500J2.1500
G01 Y0.2500
G02X3.7500Y-0.3345I3.7500J0.2500
G01 X0.2500
Y-0.3065
G02X-0.3065Y0.2500I0.2500J0.2500
G01 Y2.1500
G02X0.2500Y2.7065I0.2500J2.1500
G01 X3.7500
G02X4.3065Y2.1500I3.7500J2.1500
G01 Y0.2500
G02X3.7500Y-0.3065I3.7500J0.2500
G01 X0.2500
Y-0.2785
G02X-0.2785Y0.2500I0.2500J0.2500
G01 Y2.1500
G02X0.2500Y2.6785I0.2500J2.1500
G01 X3.7500
G02X4.2785Y2.1500I3.7500J2.1500
G01 Y0.2500
G02X3.7500Y-0.2785I3.7500J0.2500
G01 X0.2500
Y-0.2505
G02X-0.2505Y0.2500I0.2500J0.2500
G01 Y2.1500
G02X0.2500Y2.6505I0.2500J2.1500
G01 X3.7500
G02X4.2505Y2.1500I3.7500J2.1500
G01 Y0.2500
G02X3.7500Y-0.2505I3.7500J0.2500
G01 X0.2500
G03X0.0000Y-0.5005I0.2500J-0.5005 F15.0
G01 Y-0.7505 F20.0
Z0.2500 F15.0
(1/2 HSS 4 Flute - Outer TP Base-1)
X0.5000 F15.0
Z-0.5000 F20.0
Y-0.5005 F15.0
G03X0.2500Y-0.2505I0.2500J-0.5005 F12.0
G02X-0.2505Y0.2500I0.2500J0.2500 F17.0
G01 Y2.1500
G02X0.2500Y2.6505I0.2500J2.1500
G01 X3.7500
G02X4.2505Y2.1500I3.7500J2.1500
G01 Y0.2500
G02X3.7500Y-0.2505I3.7500J0.2500
G01 X0.2500
Y-0.2500
G02X-0.2500Y0.2500I0.2500J0.2500
G01 Y2.1500
G02X0.2500Y2.6500I0.2500J2.1500
G01 X3.7500
G02X4.2500Y2.1500I3.7500J2.1500
G01 Y0.2500
G02X3.7500Y-0.2500I3.7500J0.2500
G01 X0.2500
Y-0.2495
G02X-0.2495Y0.2500I0.2500J0.2500
G01 Y2.1500
G02X0.2500Y2.6495I0.2500J2.1500
G01 X3.7500
G02X4.2495Y2.1500I3.7500J2.1500
G01 Y0.2500
G02X3.7500Y-0.2495I3.7500J0.2500
G01 X0.2500
G03X0.0000Y-0.4995I0.2500J-0.4995 F15.0
G01 Y-0.7495 F20.0
Z0.2500 F15.0
M5 M9
M30
M01

I destroyed a number of bits and some aluminum today while trying to figure this out. Also do I need to call G43 in the G-Code using Master Tool Mode and measuring each tool or is the G43 applied as part of the tool change operation?
User avatar
DaveCVI
Site Admin
Posts: 798
Joined: Mon Feb 04, 2013 3:15 pm
Contact:

Re: Guage line measurement and TLO Touchplate measurement.

Post by DaveCVI »

Hi,
G00, G01, G02 and G03 are modal. This means that once that motion mode is set, it is used for all X,Y,Z moves until the mode is changed.

As far as I can tell, at the place you asked if there should be a G01, the G01 should not be needed - because from that point backwards in the code the most recent feed rate mode set was already G01.

Here is a little test program that I ran to verify this:
T01 M6
G43 H1
G00 X0 Y0 - this move was at the rapid rate
G01 X5 Y5 F15 - this was run at F15
X10 Y10 - as was this
T02 M6
G43 H2
X0 Y0 - and this was at the F15 feed rate

I ran this on mach 3.43.66 with a PP interface.

I noticed that the program also used the G73 canned cycle and that the canned cycle was canceled by G80.
A G80 will also "reset" the feed motion mode. I have trouble with that sentence as the machine always has to be in some motion mode.... so I am never sure what "reset the feed rate mode" really means - "reset" to what feed mode?.
However, we do not need to guess with your program as at each G80, the next line is a G01 - so the mode is explicitly set to G01 right after each G80.

Alas, I'm not seeing a reason for any of the moves to have been executed as rapids (G00) instead of feed moves (G01, 2, 3).

re the question of:
"Also do I need to call G43 in the G-Code using Master Tool Mode and measuring each tool or is the G43 applied as part of the tool change operation?"
G43/G49 are modal.
The M6 physically changes the tool, however an M6 does not change either the TLO state (on / off) or the TLO value (the H register #). The G43 is necessary to apply the TLO value that matches the newly mounted tool. Without the G43 H# line, the control will continue to use the TLO state and offset value from before the tool change (what ever those values were).

Dave
Productivity Software for Personal CNC Machinists
http://www.CalypsoVentures.com
venom51
Posts: 30
Joined: Sat Jun 15, 2013 1:53 pm

Re: Guage line measurement and TLO Touchplate measurement.

Post by venom51 »

I've got one part to finish making for my fixed touch plate but I will try this code tonight.

I have the shrapnel from this weekend to prove I'm not crazy. When I went back into RhinoCam and posted each MOP separately the G01 was always in each operation. I then took each MOP and copy/pasted them into a single file and the machine did what I expected. I did have a couple of instances where a Z probing op did not re-zero the DRO but that only took a couple of deep cut stall to figure out. One of which knocked the ball off of one of my probes. I guess things like this will become less frequent as I learn the issues that may repeat themselves and become vigilant about watching for them.

I was grouping drilling operations and milling operation into MOPS but at this point I think the smart thing is to make each individual machining step a separate MOP as that seems to place the G01 as needed to make Mach 3 happy and not kill parts and bits.
venom51
Posts: 30
Joined: Sat Jun 15, 2013 1:53 pm

Re: Guage line measurement and TLO Touchplate measurement.

Post by venom51 »

Ok Dave I think I figured out what is going on with the ignored feed rates. It seems to be a bug in my version of RhinoCam. If I set a feed rate for the transfer the code out put looks like this and out put all the mops at once the code looks like this.

Bad Code....
G00 G49 G40.1 G17 G80 G50 G90
G20
(#2 Spot Drill)
M6 T22
M03 S2800
G01 X1.0500 Y1.2000 Z0.2500 F15.0
X1.0500 Y1.2000
G73 X1.0500 Y1.2000 Z-0.15 R0.0 Q0.05 F10.0
G80
G01 Z0.2500 F10.0
(7/32 Drill)
M6 T33
M03 S2800
F15.0
X1.0500 Y1.2000
G73 X1.0500 Y1.2000 Z-0.5888 R0.2 Q0.1 F11.0
G80
G01 Z0.2500 F11.0
(3/16 HSS 4 Flute - Bolt Head Pocket)
M6 T2
M03 S2800 Notice no G01 here
X1.0435 Y1.1953 F15.0
Z-0.1450 F20.0
Z-0.1700 F15.0
X1.0424 Y1.1972 Z-0.1704 F2.7
X1.0419 Y1.2000 Z-0.1709
X1.0424 Y1.2028 Z-0.1714
X1.0438 Y1.2052 Z-0.1719
X1.0459 Y1.2070 Z-0.1724
X1.0486 Y1.2080 Z-0.1729
X1.0514 Z-0.1734

Now here is with the transfer set to use the rapids. This code works properly on the machine.

G00 G49 G40.1 G17 G80 G50 G90
G20
(#2 Spot Drill)
M6 T22
M03 S2800
G00 Z0.2500
X1.0500 Y1.2000
G73 X1.0500 Y1.2000 Z-0.15 R0.0 Q0.05 F10.0
G80
G00 Z0.2500
M6 T33
M03 S2800
X1.0500 Y1.2000
G73 X1.0500 Y1.2000 Z-0.5888 R0.2 Q0.1 F11.0
G80
G00 Z0.2500
M6 T2
M03 S2800
G01 X1.0435 Y1.1953 F15.0
Z-0.1450 F20.0
Z-0.1700 F15.0
X1.0424 Y1.1972 Z-0.1704 F2.7
X1.0419 Y1.2000 Z-0.1709
X1.0424 Y1.2028 Z-0.1714
X1.0438 Y1.2052 Z-0.1719
X1.0459 Y1.2070 Z-0.1724
X1.0486 Y1.2080 Z-0.1729
X1.0514 Z-0.1734

This above is the code I would get when posting each MOP separately.

I did get my touch plate made. It's not perfect as I still have a ton to learn and some machine issues to work through but I did successfully make the part.
Image
Post Reply