What's new
What's new

065 PS Alarm with G71

gcodeguy

Hot Rolled
Joined
Jun 17, 2007
Location
Easton, PA
First of all, your latest iteration is still not using a tool offset call...T0101. You are only calling up station one...T100. I've never seen a lathe that didn't have a WEAR page.

Second, not all 300 pages of the manual are devoted to describing G71/G72/G73. You only need to read the section pertaining to their use to learn how to use these G-codes.

Third, WTH lathe are you using? I started programming lathes in May, 1985. All the lathes in the shop were already very old. A few of them such as the 1SC, 2SC and 2SCL used G50 home positions. Each different type of tool had its own G50 X & Z-values. T0101, T0202, T0303, etc. were in use on those lathes...they would be about 60 years old now.

Fourth, you are running a lathe, not a mill. Workpiece home positions are not set the same. X-zero is always the centerline of the spindle. Common practice is to make the face of the part Z-zero. However, when I started programming, the previous programmer made the cut-off position Z-.125 (for a .125 wide cut-off insert) on barfeed lathes. Thus Z-zero was the end of the part and all Z-axis values were plus. I personally don't know of anyone else that programs (or programmed) that way.

I see you posted again while I was typing this up. Apparently F360 is similar to how the SC lathes were programmed. Is there a WEAR page? How do you make offset changes?
 

WakelessFoil

Aluminum
Joined
Aug 18, 2020
First of all, your latest iteration is still not using a tool offset call...T0101. You are only calling up station one...T100. I've never seen a lathe that didn't have a WEAR page.

Second, not all 300 pages of the manual are devoted to describing G71/G72/G73. You only need to read the section pertaining to their use to learn how to use these G-codes.

Third, WTH lathe are you using? I started programming lathes in May, 1985. All the lathes in the shop were already very old. A few of them such as the 1SC, 2SC and 2SCL used G50 home positions. Each different type of tool had its own G50 X & Z-values. T0101, T0202, T0303, etc. were in use on those lathes...they would be about 60 years old now.

Fourth, you are running a lathe, not a mill. Workpiece home positions are not set the same. X-zero is always the centerline of the spindle. Common practice is to make the face of the part Z-zero. However, when I started programming, the previous programmer made the cut-off position Z-.125 (for a .125 wide cut-off insert) on barfeed lathes. Thus Z-zero was the end of the part and all Z-axis values were plus. I personally don't know of anyone else that programs (or programmed) that way.

I see you posted again while I was typing this up. Apparently F360 is similar to how the SC lathes were programmed. Is there a WEAR page? How do you make offset changes?
I do not know how to use the tool offset system yet. I am trying to wrap my head around G71 and G50 at the moment. I try to make every succeeding training exercise one level more complex than the last. If I attempt to write a program that uses all these functions (that I don't completely understand) simultaneously the program will either not run or crash.

This is a Nakamura Slant Jr. with a Fanuc 0-TC control circa 1989. This lathe uses G50 like the ones you used in the '80s. I did not know that they had commercially available CNC machines in the 1960s.

I reset the X0 to the centerline. So it is programmed conventionally except for the inverted X axis.

F360 is the CAD/CAM software. I don't think it has provisions for compensating for tool wear, at least that I know of. There is a tool wear page in the control OS but I don't know how to use the wear offsets yet.

-Justin
 

Garwood

Diamond
Joined
Oct 10, 2009
Location
Oregon
Cam software accounts for the nose radius of the tool. It's in the program.

You have to format the code correctly at the start of the programs. G50's have to be there. You have to call a tool offset- T0101 or T0606, etc.

You have to use and understand lathe tool offsets. No tool offsets, no CNC lathe worky. It's real simple stuff. Get someone who knows how to run a CNC lathe to come over and give you a 2 minute CNC lathe kindergarten for dummies coarse.

You don't need a roughing cycle. Just write out the program by hand or let F360 do it.

X0. is the part center. Z0. is end of your part. If the lathe has X reversed then just reverse the X values in your program by hand to get started. It's not that hard at all. I've converted thousands of lines of lathe code by hand for a lathe like that. It wasn't a big deal.
 

gcodeguy

Hot Rolled
Joined
Jun 17, 2007
Location
Easton, PA
T0608. 06 is the station (tool) number. 08 is the offset (wear) number. They need not be the same, but I chose different numbers for ease of explaining. Say you are turning a 1.5 inch diameter, but it measures 1.503. Go to the wear page, offset 8, X (or U) and insert .003 for lathe programmed with X-1.5 or -.003 for lathe programmed with X1.5. Dimension will now cut at 1.5.

I can't tell you how to insert the .003 because I don't know your lathe. If the lathe has INPUT and INPUT+ then use the INPUT+ as it will change the current offset by that much (incremental). Using INPUT puts .003 (or -.003) in the register regardless of any previous value already there. Some lathes require using U-.003 (or U.003) to change the value. it will be incremental. Using X-.003 (or X.003) will result in putting those values in the register just like INPUT does.

An older control like yours probably doesn't have the INPUT/INPUT+ way of inserting values.

BTW, T0608 is the same as T608. Control reads from right to left. As previously stated the 4-digit T-number works in pairs. T68 will not work.

EDIT: If your CAD is putting out positive numbers, it may not be as simple as changing the X-values to minus numbers. I've set up a few gang tool lathes. Cutting on the minus side requires changing G2s to G3s and G3s to G2s.
 

angelw

Diamond
Joined
Sep 10, 2010
Location
Victoria Australia
I do not know how to use the tool offset system yet. I am trying to wrap my head around G71 and G50 at the moment. I try to make every succeeding training exercise one level more complex than the last. If I attempt to write a program that uses all these functions (that I don't completely understand) simultaneously the program will either not run or crash.
But you seem to be starting at the more complex, without first learning the fundamentals.

Your machine will have an Offset Page, accessed with, wait for it, the Offset Key. This page will be in column form: X Z R T
In row form the rows will be numbered, 1 to whatever number of Offsets your Machine has. The number of the row refers to the Offset Number of the Tool. There will always be more Offsets than there are Tool Stations on the Turret, this is so, that on occasions, you may need to use two Offsets for the one tool; for each side of Grooving Tool Insert for example. However, when only one Offset per tool is used, its good practice to pair the Tool Offset Number with the Tool Number.

If after turning a diameter, you find it to be 0.002" too large, with your current method of programming, your only way of correcting the size, is to change the coordinates in the program. If there are Arc Features in the program, this method will prove to be very time consuming and profoundly open to mistakes.

Tool Offsets are used so that the program doesn't have to be changed to correct a part size. With your machine, where the X axis travel travel towards the Centre Line is Positive, to correct a part size that was 0.002" too large, 0.002 would be added to the existing value of the Offset of interest

The Tool Call is made up of two components, the Tool Number, the leading two digits of the Tool Call and the Tool Offset, the trailing two digits of the Tool Call Command.

On most controls after circa 1978, if the first digit of the leading two digits was a Zero, it could be omitted. Therefore, T0101 can become T101.

The R and T columns of the Offset Page are for use if Tool Nose Radius Compensation with G41/G42 is used. With CAM software, the program coordinates can be output with the compensation for the TNR incorporated. The following Program example is the same one that I listed in Post #3 and is of your part. The coordinates of the program have the TNR incorporated, based on a TNR of 0.031" and will cut your test piece correctly.

%
O1000
(0.50 RADIUS TURNING)
(80 DEG 0.031 TNR RH OD TURNING TOOL)
(ROUGH TURN 0.50 RADIUS)
N1 G18 G20 G40 G99
G28 U0.0
G28 W0.0
G00 T0100 G50 S3000
G50 X10.000 Z14.000
G96 S650 M03
G00 X1.0800 Z0.1250 T0101 M08
G01 Z0.0400 F0.04
G71 U0.08 R0.02
G71 P100 Q101 U0.010 W0.005 F0.010
N100 G00 X-0.0625
G01 Z0.0000
G03 X1.0000 Z-0.5313 I0.0000 K-0.5313
N101 G01 X1.0175
G00 Z0.1000
G00 X10.000 Z14.000 T0100 M05
M30


Regards,

Bill
 
Last edited:

gcodeguy

Hot Rolled
Joined
Jun 17, 2007
Location
Easton, PA
I was not aware that X axis travel towards the axis can be positive on some machines.
Are you familiar with 'gang tool' lathes? Unless you buy left hand drills, you want to be cutting on the minus side to avoid needing to stop the spindle after drilling. Obviously you can mount an internal tool face up or face down. Face up makes it so much easier to change inserts. On the lathes I am use to, internal work requires a right hand tool and using an internal tool to work on the O.D. requires a left hand tool.

Square tools take up a lot of room so I do everything but rough turn with I.D. tools. I set the 80 degree (O.D.) profile tool as far on one end as possible and still be able to face to the center of a part. CNMG inserts are much cheaper than most any other style. On our lathes I set the tool close to the operator side of the lathe....so running M3 and X-minus programming.

Neither am I aware of a slant bed lathe that is programmed with X-minus, but my experience with different lathes is severely limited. My 37-1/2 years machining experience has been in one shop although I have worked part time at other shops over the years.

I have only programmed (and run) around 16 different brands/styles of lathes from Fagor Control retro-fitted old manual Hardinge lathes (gang tools) to a Doosan TT1800SY. Got a couple old WT-300 Nakamua Tomes 2 weeks ago that management had hoped we'd be running by now.
 

Vancbiker

Diamond
Joined
Jan 5, 2014
Location
Vancouver, WA. USA
I was not aware that X axis travel towards the axis can be positive on some machines.
In the 70s and early 80s, there were a few Japanese builders that did that on their lathes where the turret was on the far side of the spindle centerline from the operator. Some sort of adherence to "right hand rule" in the coordinate system. Also makes sense when one thinks about a lathe with two turrets on a common X axis where one is on the near side of center and the other is on the far side of center.
 

WakelessFoil

Aluminum
Joined
Aug 18, 2020
But you seem to be starting at the more complex, without first learning the fundamentals.

Your machine will have an Offset Page, accessed with, wait for it, the Offset Key. This page will be in column form: X Z R T
In row form the rows will be numbered, 1 to whatever number of Offsets your Machine has. The number of the row refers to the Offset Number of the Tool. There will always be more Offsets than there are Tool Stations on the Turret, this is so, that on occasions, you may need to use two Offsets for the one tool; for each side of Grooving Tool Insert for example. However, when only one Offset per tool is used, its good practice to pair the Tool Offset Number with the Tool Number.

If after turning a diameter, you find it to be 0.002" too large, with your current method of programming, your only way of correcting the size, is to change the coordinates in the program. If there are Arc Features in the program, this method will prove to be very time consuming and profoundly open to mistakes.

Tool Offsets are used so that the program doesn't have to be changed to correct a part size. With your machine, where the X axis travel travel towards the Centre Line is Positive, to correct a part size that was 0.002" too large, 0.002 would be added to the existing value of the Offset of interest

The Tool Call is made up of two components, the Tool Number, the leading two digits of the Tool Call and the Tool Offset, the trailing two digits of the Tool Call Command.

On most controls after circa 1978, if the first digit of the leading two digits was a Zero, it could be omitted. Therefore, T0101 can become T101.

The R and T columns of the Offset Page are for use if Tool Nose Radius Compensation with G41/G42 is used. With CAM software, the program coordinates can be output with the compensation for the TNR incorporated. The following Program example is the same one that I listed in Post #3 and is of your part. The coordinates of the program have the TNR incorporated, based on a TNR of 0.031" and will cut your test piece correctly.

%
O1000
(0.50 RADIUS TURNING)
(80 DEG 0.031 TNR RH OD TURNING TOOL)
(ROUGH TURN 0.50 RADIUS)
N1 G18 G20 G40 G99
G28 U0.0
G28 W0.0
G00 T0100 G50 S3000
G50 X10.000 Z14.000
G96 S650 M03
G00 X1.0800 Z0.1250 T0101 M08
G01 Z0.0400 F0.04
G71 U0.08 R0.02
G71 P100 Q101 U0.010 W0.005 F0.010
N100 G00 X-0.0625
G01 Z0.0000
G03 X1.0000 Z-0.5313 I0.0000 K-0.5313
N101 G01 X1.0175
G00 Z0.1000
G00 X10.000 Z14.000 T0100 M05
M30


Regards,

Bill
I see. I have been looking into using the individual tool offsets as for my next practice program I will have to use multiple tools and multiple offsets.

I did not know that the "T" code served two functions. So when you call up that tool, the origin shifts to where it was set for that tool?

I assume that when using a CAD program to account for TNR it is a good idea to cancel this function in the control? So the transformation is not applied twice. I believe there is a G code for this. I would like to keep the R values in the tool geometry page in the case that we program the machine manually, and just cancel the radius compensation at the beginning of CAD produced programs.

Thanks,
Justin
 

angelw

Diamond
Joined
Sep 10, 2010
Location
Victoria Australia
I did not know that the "T" code served two functions. So when you call up that tool, the origin shifts to where it was set for that tool?

Hello Justin,

I've seen some inventive use of G50 in setting the Coordinate System of tools where G50 is used, but the "as per the book method, is to have a Coordinate System set for each individual tool.

The "T" code does have two functions, but I would hardly describe it as you comprehend it, with a machine where the Coordinate System for the tool is set via G50. The "T" code indexes the turret of the machine to bring the required tool in position and it calls up the Wear Offset for the particular tool. In the Tool Call T0101, the following applies:
1. The two Left most numbers (01_ _) after the "T" specifies the Tool to be called up. The leading Zero of the Left most numbers can be omitted. Accordingly, T0101 can also be specified as T101.

2. The two Right most numbers (_ _01) specify the Tool Offset data to use. If TNR compensation is used via G41/G42 in the program, the Tool Type (T) and the TNR (R) data registered in the particular Tool Offset registry will be used.


I assume that when using a CAD program to account for TNR it is a good idea to cancel this function in the control? So the transformation is not applied twice. I believe there is a G code for this. I would like to keep the R values in the tool geometry page in the case that we program the machine manually, and just cancel the radius compensation at the beginning of CAD produced programs.

The first line of all programs should be a safety Block that puts the control in the correct mode for general turning. The "G" codes contained in this Block can be varied as required in the program. The one "G" code that shouldn't be specified again in the program is the specification of the Coordinate Units used, Imperial (G20) or Metric (G21). Once set, this mode stays model even when the power to the control is cycled. Notwithstanding that this Code is Modal, its good practice to include it in the First Block in case a program is loaded that uses the other Coordinate Unit to which the control is currently set. An example of a Safety First Block is as follows:
N1 G00 G18 G20 G40 G99
In the above example, the specific G Codes have the following meaning:

G00 = Rapid Traverse Mode
G18 = Circular Interpolation in the X/Z plane
G20 = Imperial Coordinate Units
G40 = Cancel TNR Compensation
G99 = Feed Per Revolution

All of the above Codes are for G Code System "A". Some will vary for G Code System "B" and "C".
You can keep a Tool Type and Tool Nose Radius registered in the Tool Offset and they will only be used when G41 or G42 are specified. However, if you do so, its still good practice to check these values before implementing the program, in case another configuration of tool has been changed for the tool the data was originally registered for.

Regards,

Bill
 
Last edited:








 
Top