In response to a recent discussion on IRC I wrote a patch that allows for 
FANUC-style handling of tool changes in lathe.  I followed the tool change 
syntax that is outlined by Peter Smid ((CNC Programming Handbook. 3rd Ed., page 
107):

"T01xx - selects the tool mounted in position one and activates geometry offset 
number one.
Txx01 - selects the wear offset register number one.
Examples:
T0101 for turret station one, applies geometry offset one, applies wear offset 
one.
T0111 for turret station one, applies geometry offset one, applies wear offset 
eleven.
The first pair of numbers is always the tool station number and geometry 
offset, the second pair is the wear offset register.  For gang tooling, the 
tool station is irrelevant.  For ATC, the T call must also perform a tool 
change request."

With this patch a Txxyy command changes tools, applies the geometry offsets for 
tool xx, and applies the wear offsets for tool yy.  Txx just changes tools and 
applies geometry offsets for tool xx.  The patch is only being submitted for 
discussion - to be properly implemented it would require a fundamental change 
to the tool table (extra fields for x and z wear offsets.)  For proof of 
concept I am "borrowing" the U and W fields in the tool table, something that 
wouldn't work for lathes with a motorized tailstock or second turret.  I tried 
to implement this with minimal change to the code - default functionality is 
not affected.

To try it out, add the line FEATURES = 64 to the RS274NGC section of your INI 
file (or modify your FEATURES mask if you're already using RS274NGC features, 
documented here: 
http://www.linuxcnc.org/docs/devel/html/remap/structure.html#_optional_interpreter_features_ini_file_configuration_a_id_sub_ini_features_a)

To answer the question of why you would want to use this feature:


1.       It's a more standard way of calling out tool changes in lathe g code - 
programs that ran on a FANUC-controlled lathe require fewer modifications to be 
compatible with LCNC.

2.       It makes correcting for wear easier (no math on the part of the 
operator)

3.        To hit tight tolerance with the same tool on more than one diameter - 
a different wear offset can be used for each diameter

a.       Example - diameter A is 2.000  -0. +0.003, diameter B is 3.000 -0.003 
+0.  Very hard to hit with the same tool AND wear offset.

4.       So that the program can use a nominal dimension

a.       Example: the drawing uses unilateral tolerance of 3.000 +0.002 - 
0.000.  Instead of programming 3.001, you can program 3.0 and use a wear offset 
of 0.001.

(reasons 3 and 4 compliments of Chris Lesiak).

Thanks in advance for any input!

Rogge

Attachment: Add-LATHE_TOOLCHANGE-feature-to-RS274NGC-Features.patch
Description: Add-LATHE_TOOLCHANGE-feature-to-RS274NGC-Features.patch

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Emc-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-developers

Reply via email to