I found this article at
http://www.machinerynet.com/index.cfm?PageID=123&c2e=561&e2e=0&rs=0&artid=171
There are a lot more like this one.
Conversion of Lathe Cycles
Publish Date - 06/01/2005
Source: Shop Talk Magazine
Column: CAD/CAM and Related Software Packages
By Peter Smid
Email this to a friend
Printer Friendly
Most CNC lathe programmers would agree that the most useful features of a CNC lathe control system are the Multiple Repetitive Cycles. Multiple repetitive cycles for CNC lathes have been an important part of control systems since the mid 1980s. Still, to this day, they present the most innovative approach of material removal, particularly in the areas of turning, boring, and threading. Over the 20-plus years of their existence, multiple repetitive cycles have gone through only two major changes. Earlier controls require these cycles to be programmed in a single block; later controls require two blocks of program input. This difference in programming method often presents a situation when one type has to be converted to another type—usually from a single-block format to the double-block format.
At the beginning, lets look at the word convert. Changing from one format to another is not a true conversion or, at least, it is not a complete conversion. The reason is that a double-block format offers more features than a single-block format. Also, keep in mind that you have no choice here; the control system determines the programming method. Typically, Fanuc control models 10/11/15 use a single-block format, other control models (0/16/18/20/21..) use the double-block format. What cycles are affected? All multiple repetitive cycles from G71 to G76 can be programmed in one or the other format, depending on the control. The finishing cycle G70 always uses a single-block format.
The single-block format is older of the two, and relies heavily on the settings of system parameters, generally inaccessible to the machine operator. I will use the most commonly used G71 and G76 cycles as examples in this column, other cycles follow a similar pattern. The single-block format of the roughing cycle G71 is:
G71 P.. Q.. U.. W.. D.. F..
In this single-block format (spindle speed is assumed to be in effect), P and Q addresses refer to the block numbers defining the finish contour. U and W are specifications of stock amount left over for finishing, D address is the depth of cut (written without a decimal point), and the F address is the roughing feedrate. In addition, some controls also accept I and K addresses that control the distance and direction of semi-finishing.
For controls requiring a two-block format, the G71 must be written at the beginning of each consecutive block:
G71 U.. R..
G71 P.. Q.. U.. W.. F..
The programmed data are similar, but a bit more flexible. In the first block, the U address is the cutting depth (decimal point can be programmed), and the R address is the amount of retract from each cut. The second block has the same meaning as before—finish contour block number range P and Q, stock allowances U and W, and feedrate F. Apart from the more convenient way of programming the cutting depth, the addition of the R address represents the major change. In a single-block format, the retraction amount was controlled by a system parameter, in the double-block format, the programmer can specify such amount in the program directly.
Even more profound change can be found in the threading cycle G76. In its single-block format, the cycle uses the following data:
G76 X.. Z.. I.. K.. D.. A.. F..
In this case, the X specifies the final thread diameter, Z is the position of the thread end, I specifies the amount of taper (if used), K is the thread depth, D is the depth of the first pass, A is the thread angle, and F is the thread lead (feedrate). The two-block version packs in a few more programmable features:
G76 P.. Q.. R..
G76 X.. Z.. R.. P.. Q.. F..
The P address in the first block includes the number of finishing passes, length of lead for pullout at the thread end, and the thread angle all in one. The Q address specifies the minimum cutting depth, and R is the finish allowance. In the second block, X and Z are the same as before, R specifies the amount of taper (if used), P is the thread depth, Q is the depth of the first pass, and F is the thread lead (feedrate). Neither P nor Q in the second block accept a decimal point.
As you see from the two examples, the main difference between the two cycle formats is the additional programmable parameters which make the cycles much more flexible than using internal parameter settings. In either double-block cycle, do not confuse the addresses in the first block with the same addresses in the second block. As you see, the conversion from a single-block format to a double-block adds certain features that are now programmable, offering more flexibility to the CNC programmer.