Created and Maintained by the Real World Software Developers and Machinists at www.KentechInc.com ... click here to check it out !!
Showing posts with label g code programming. Show all posts
Showing posts with label g code programming. Show all posts

Wednesday, August 5, 2015

Canned Cycles in Turning - What You Need to Know - Part #2

This post is continuing with the important feature of programming canned cycles for rough turning. In Part 1 we discussed the general outline, format and command lines for the cycles ... in Part 2 we want to illustrate some examples using Fanuc ( and therefore Haas ) programming that hopefully we give an even clearer picture of the uses and commands for these cycles. We do have some Okuma Programming Notes at the bottom of this post.

The examples will use the same shape ... but will illustrate the to main Fanuc cycles for bar stock roughing ... G71 -Turning and G72 - Facing.

G71 will produce a cutting motion along the Z axis ... generally referred to as a turning motion. The G72 cycle will produce a cutting motion along the X axis ... or a facing type motion.

The way we position our Points A - B - C will also determine the motion as illustrated below. The general rule of thumb is to describe the cutting motion through the finish contour code in a motion that moves from A to B along the contour to C. This description will assist you in placing Points A - B - C in their correct location in relation to the part and the contour.

___________________________________________________________

Example #1 : 
OD Cutting Along the Z axis - Turning
(1) First we established our points A - B - C and using a clearance amount of .100 in X and .050 in Z.
(2) In our program ... the first step is to rapid to point A ... N1000 = our P call in the canned cycle block.
(3) Then command the Canned Cycle Call
(4) Then rapid to point B and proceed around the part contour to point C ... N1100 = our Q call in the canned cycle block.

G96S650M03
G00X11.0Z1.0M08
G00X10.3408Z0.05
G71P1000Q1100U0.01W0.01D0.1F0.012
N1000G00X4.8729.0Z0.05
G01X4.8729.0Z0.0F0.012
G01X4.8729Z-1.2967F0.012
G01X6.9769Z-1.998F0.012
G01X6.9769Z-3.4277F0.012
G01X10.2409Z-3.4277F0.012
N1100G00X10.3408Z-3.4277
G00X10.3408Z0.05

___________________________________________________________

Example #2 :
OD Cutting Along the X Axis - Facing

By re-arranging Points A - B - C ... and using the G72 cycle ... we can change the cutting direction from turning to facing. The basics of the format and steps in the program are the same ... move from A to B along the contour to C ... and this will help us position Points A - B - C.

G96S650M03
G00X10.1000Z1.0M08
G00X10.3408Z0.05
G72P2000Q2100U0.01W0.01D0.1F0.012
N2000G00X10.3408Z-3.4277
G01X10.2408Z-3.4277F0.012
G01X6.9769Z-3.4277F0.012
G01X6.9769Z-1.998F0.012
G01X4.8729Z-1.2967F0.012
G01X4.8729Z0.0F0.012
N2100G00X4.8729Z0.05
G00X10.34Z0.05

___________________________________________________________

Example #3 :
ID Rough Cutting Along the Z Axis Turning

Now let's turn things to focus on ID cutting. Again ... the same procedures and rules apply ... flip Points A - B - C to reflect cutting the ID rather than the OD. The same rule applies ... move from A to B along the contour to C.

G96S650M03
G00X.9717Z1.0M08
G00X0.9717Z0.05
G71P1000Q1100U-0.01W0.01D0.05F0.012
N1000G00X2.7117Z0.05
G01X2.7117Z0.0F0.012
G01X2.7117Z-0.8633F0.012
G01X1.7622Z-1.6563F0.012
G01X1.0717Z-1.6563F0.012
N1100G00X0.9717Z-1.6563
G00X0.9717Z0.05

___________________________________________________________

Example #4 :
ID Rough Cutting Along the X Axis - Facing

And again ... by re-positioning Points A - B - C and using G72 ... we can perform the rough cutting using cutting from the centerline out in a facing motion.

G96S650M03
G00X1.0Z1.0M08
G00X0.9617Z0.05
G72P2000Q2100U-0.01W0.01D0.05F0.012
N2000G00X0.9617Z-1.6563
G01X1.0717Z-1.6563F0.012
G01X1.7622Z-1.6563F0.012
G01X2.7117Z-0.8633F0.012
G01X2.7117Z0.0F0.012
N2100G00X2.7117Z0.05
G00X0.9617Z0.05

___________________________________________________________

Okuma Programming Notes :

Okuma OSP controls refer to the cycles as illustrated above as LAP cycles. The format and use is pretty basically the same as described for Fanuc / Haas controls with some modifications. If you can understand the outlines above ... the notes below should get you through the differences between the Fanuc / Haas format and that required by OSP controls.

  1. For motion for both turning and facing ... command a G85 as the canned cycle command. The variables in the G85 line are outlined in Part 1 of this series.
  2. On the line immediately following the G85 call ... command a G81 for turning or G82 for facing. This G code should appear on a line by itself with no other code on the line.
  3. The N number command on the G85 line should refer to the N number of the line where the G81 / G82 is commanded.
  4. At the end of the sequence that describes the finish contour ... command a G80 on a line by itself to signify the end of the finish profile sequence.

The Fanuc / Haas code from example #1 above has been transposed for the Okuma OSP format below :

G96S650M03
G00X11.0Z1.0M08
G00X10.3408Z0.05
G85 N1000 U0.01 W0.01 D0.1 F0.012
N1000 G81
G00X4.8729.0Z0.05
G01X4.8729.0Z0.0F0.012
G01X4.8729Z-1.2967F0.012
G01X6.9769Z-1.998F0.012
G01X6.9769Z-3.4277F0.012
G01X10.2409Z-3.4277F0.012
G00X10.3408Z-3.4277
G80
G00X10.3408Z0.05


___________________________________________________________

They say a picture is worth a thousand words ... hopefully the illustrations here will help you solidify your programming of these powerful and important canned cycles.

If anyone notices any errors in this post ... please leave a Comment below and straighten it out ... to benefit anyone stopping by ... and Thanks in advance.

Happy Chip Making in 2013 !!



Check out our Real World World machine shop software at www.KentechInc.com
Conversational CAD/CAM
Quoting & Estimating
G Code Conversion
CNC Training
.... and MORE !!!

Wednesday, July 30, 2014

Homemade Bar Puller for Your CNC Lathe - Resurrected

We first published this tip a few years ago ... and it has become so popular and copied on many other sites and in many trade journals ... and is asked about by so many of our clients ... that we had to bring it back for a repeat post ... once again !!

Enjoy ... and profit from this simple yet super efficient plan.

----------------------------------

One of the best ways to add efficiency to your CNC lathe is to make it run unattended. Using a bar feeder or a simple bar-puller, you can make your lathe run in a more complete AUTO cycle, stopping only for the refilling of the stock and minor offset adjustments. In this article, we'll share a simple but efficient design for a bar-puller and show you a programming example of how to put it to use.

Granted, a little work is required but when put to the right use, unattended operation can really help your bottom line. For example, how about being able to leave the shop at 5:00 and still have your lathe running producing another 50-60 parts while you're home eating dinner. Or for the one man shop, how about having production being run while your on the phone getting that next deal. With the right combination of cutting conditions and unattended operation, there's no telling where you can go.

The CONCEPT
The idea behind this bar-puller is to fill the spindle with a bar length of material, then using an auto cycle perform the following sequence :
  • Grab the stock with the puller
  • Open the chuck
  • Pull the stock to the desired length
  • Close the chuck
  • Retract the puller
  • Machine the part
  • Cut-Off the part
Then simply repeat the cycle again, the number of times for repeat depends on the number of parts that can be made using the length of bar stock in the spindle.

The SET-UP
To create your bar-puller feature, you'll need a couple of other items other than the bar puller to be outlined here.

First, you'll need to cut the bar stock the length of your spindle so the stock can be slid inside your spindle and pulled by the bar puller through the chuck or collett nose in the front. NEVER, NEVER, NEVER hang any size stock outside the end of the spindle - all stock must fit inside the spindle housing and be supported with spindle liners or a support ring as outlined below.


Since the difference between the stock OD and the spindle ID is usually pretty big, you can't just put the stock in the spindle. It must be supported in the spindle to prevent the stock from rattling around. This can be done with commercially purchased spindle liners or you can make a simple spindle liner ring using the design and concept outlined here. Please note that these liners take up the "slop" between the stock size and the ID of the spindle and must be used to prevent possible whip or damage to the spindle bearings or other possible injury.

One method is to make a ring out of plastic or similar material that attaches to the end of the stock with a set screw. The OD of the ring fits snuggly into the spindle ID and the ID of the ring attaches to the OD of the stock. This ring will move along the inside of the spindle along with the stock as it gets pulled toward the chuck. Calculate the number of cycles so this ring will reach the end of it's possible stroke as the max count is reached.


The BAR PULLER
Now the homemade bar puller needs to be made. The concept behind this puller is that you can make the size required as needed for the size material you are currently working with. You can make a few at a time, leaving some finishing operations until the ID size is determined. This way you'll have maybe 70% of the puller made then you can simply finish the rest when the time approaches and the final sizes are determined.

The bar puller uses a "split" piece of aluminum or other material softer than the material you will be machining. It uses simply a piece of bar or tube that is machined with the OD to fit into an ID tool holder station in the turret, and the ID slightly smaller than the OD of the stock. You may need to turn down the front end as per the sketch below to maintain a wall thickness that is thin enough to slide over the stock when split yet strong enough to pull the bar, depending on the weight of the bar stock determined by the diameter of the stock. The puller is then split in two or three or more places using a hack saw or slitting saw and an O-Ring placed on the OD of the puller to keep the tension. This allows for the puller to split and feed over the bar stock with the O-Ring providing tension to pull the stock and for the puller to return to it's original shape when done.


The PROGRAM
In the program, the puller is mounted in the turret, in our example Tool #3. Then in the CNC programs AUTO cycle, it is fed over the bar stock, the chuck opened, the turret moved to position taking the stock with it, the chuck closed, and the machining begun.</P><P>In the example below, we are simulating a Fanuc series 10T or higher CNC control. Your M functions may be different, please consult your programming manual for your specific commands. Use this program as a guide, not a bible. The X0 is the center line and Z0 for this tool is set at the face of the stock as it sticks out of the chuck after cut off.

N0001 --------------- sequence number for this operation
M05 ----------------- make sure the spindle is stopped
G00 T0303 ---------- index to the bar puller station
G00 X0 Z.200 ------- rapid to a clearance point
G98 ----------------- change feed to IPM
G01 Z-.750 F20.0 --- feed onto the stock
M11 ----------------- open the chuck
G01 Z2.000 ----------feed to needed length plane
M10 ----------------- close the chuck
G01 Z3.500 ---------- feed off the stock
G00 X8.00 Z8.00 ---- rapid to index position
T0300 --------------- cancel the tool offset
G99 ------------------ return feed to IPR
M01 ----------------- optional stop

This sequence should be placed at either the top or bottom of the machining program. The best way to put the AUTO cycle into use is with the use of sub-programming. The MAIN program would be the call for the machining program including the number of times to call the program depending on the number of pieces you can make from the length of bar stock in the spindle. The SUB program would actually do the pulling and the machining. For example, in the example below, program O0001 is the MAIN program, calling the SUB program O1111 - 12 times, which actually does the pulling and the machining.

O0001 ------------ Main Program
M98 P1111 L12 -- sub program call
M30 --------------- program end
..
..
O1111 ------------- Sub Program
N0001 ------------- Bar pull sequence
--
--
--
M01
N0002 ------------- machine the part
--
--
--
M01
N0003 ------------- cut off
 --
 --
 --
M01
M99 --------------- sub program end

In the above example, the operator only presses the Cycle Start on the MAIN program. This starts a 12 piece cycle that will include the pulling out of the stock, the machining of the part, and the cut off of the part. Recalling and executing the cycle 12 times.

Happy Chip Making !!

Please visit our website for the best in Real World Machine Shop Software ... 
just CLICK the pic below !!

Tuesday, July 15, 2014

Deciphering M Functions for Your CNC Machine

Recently we have been working with some Kipware® conversational clients assisting them in setting up their Kipware® post processor blocks for their G code output. With the addition of our EIA MENU option ... users now have greater flexibility in using machine functions ( M ) functions in their G code to accomplish specific tasks. One example might be ... parts catcher UP or DOWN to catch a part being parted-off ... or chuck OPEN and CLOSE during a bar feed operation ... or 4th axis CLAMP and UNCLAMP for CNC mill.

During these sessions we are coming across the situation where the end user doesn't know the specific M for their machine to accomplish some of these tasks. And for whatever reason ... manuals lost or misplaced ... machine was purchased used and no manuals were included ... or whatever ... the end user does not have any Operator or Programmer manuals for their machine which would normally outline the M codes and their function. Without the manuals ... they have no way of finding out what M functions control what. OR DO THEY ??

Let's start this journey with a brief explanation of the HOW's and WHY's of CNC M functions. 
  1. First ... there is no "industry" standard for M functions. Although you might find that M08 and M09 or M03 and M04 work for most CNC machines ... there is not an industry standard that says they must meet a certain criteria.
  2. M functions are designed by the machine tool builder ... not the control manufacturer. So you may have (5) Fanuc controlled machines in your shop ... some Mori Seiki's some Hitachi some Leadwell ... all with different M functions. Because the M function circuits are designed by the machine tool builder and not Fanuc.
With those basic facts ... when you ask your buddy "What's the M function to open the chuck?" ... and he says "M11" ... and it doesn't work on your machine ... now you know why.

So how can you find out the M functions for your machine WITHOUT 
an Operators or Programming manual?

One of the best ways is to use either the electrical or ladder diagram for the machine. Although most Operator or Programming manuals get lost along the way ... mostly because they are not kept with the machine but rather float around the office or shop ... electrical diagrams ( which outline the electrical circuitry of the machine ) and ladder diagrams ( which outline the logic of the machine ) are most often kept inside the machines electrical cabinet. Open up the doors and you will usually find one or the other or both.

Even if you're not electrical savvy ... the circuits are pretty clearly labelled and you can find say the CHUCK OPEN circuit and trace things back to find the appropriate M function. Again ... because they are built and designed by the machine tool builder and their electrical outline is outside the realm of the control ... these circuits are contained in the machines electrical documentation ... not the docs for the control.



Above is a pic of an electrical diagram for a Shizuoka CNC vertical mill ... with an exploded view on the bottom. You can see fairly easily even without any electrical savvy that the M10 command will control the 4th axis clamping function. 

With today's more sophisticated controls ... oftentimes the ladder diagram is available directly on the machine controls CRT. You can pull up the ladder and even search for the appropriate function command ... but in other cases the "old fashioned" printed ladder can also usually be found in the machines electrical cabinet.

Taking a look at either the electrical diagram or ladder will usually result in some additional road or path to travel to find the appropriate M function on your machine. A simple execution of an MDI command is a good test to see what happens. The old Trial and Error method will open up additional doors or produce the desired results.

M functions are powerful options on your CNC machine that can help automate many tasks and make your manufacturing more efficient. Know that you know the trick to discovering the M functions on your CNC machine ... why not peruse your electrical or ladder diagram and see if there are any you might be missing in your programming?

Until next time ... Happy M Code Hunting ... and Happy Chip Making !!

Please visit our website for the best in Real World Machine Shop Software ... 
just CLICK the pic below !!

Wednesday, July 2, 2014

When is a CNC Program more than a G code program ?

... when it's a set-up sheet as well.

Most people are familiar with the ability of most CNC controls to include COMMENTS in the CNC G code program itself. Comments are designated in a variety of ways from :
  1. ( THIS IS A FANUC AND OKUMA COMMENT ) ... any text inside (  ) is considered a comment.
  2. ! THIS IS AN ACRAMATIC COMMENT ... any text following the ! is considered a comment.
  3. ; THIS IS A FAGOR COMMENT ... any text following the ; is considered a comment.
  4. and on and on we could go.
Comments can be a real help when they include operator messages ... such as :

M00 ( TURN PART AROUND )
or
M00 ! CHECK DIMENSION A

... but comments can go well beyond operator messages and can turn your G code program into a complete set-up doc as well that includes tool information, part zero locations and even stock descriptions.

Most people will create either a paper or digital tool sheet / list and / or set-up sheet / list that is stored and re-called when the corresponding G code program is going to be run again. The set-up personnel refer to these docs to set the machine up ... loading required tools and setting height offsets and work offsets. Works great ... no problems. But is there a better alternative? The answer is a "could be" yes. By storing this information directly in the G code program using the COMMENT capability of your CNC control. For example ... something like this :

O1234
( PART #1234 )
( PROVEN PROGRAM : 7/2/2014 )
( PROGRAMMER : JM )

( PART LOCATED IN VISE USING JAWS JW-1234 )
( STOP SET-UP IS RIGHT SIDE - WORKPIECE STOP AGAINST FLANGE )
( X/Y PART ZERO IS LOWER LEFT CORNER )
( Z0 = TOP FINISH SURFACE )

( T1 / H1 = #3 CENTER DRILL )
( T2 / H22  = 1/2 DRILL )
( T3 / H3 = .500 CARBIDE END MILL )

So what is the advantage of keeping this info directly in the G code program using the COMMENTS capability of the CNC control?

  1. Harder to misplace ... if you're going to run the program, you need the program ... and all the set-up info is right there stored right inside the G code program.
  2. Complete info is there for all to see at any time ... no rummaging for loose paperwork or docs.
  3. Any edits or changes can be made directly in the program ... when the running program is saved after execution ... all the current set-up info is changed and saved as well including all updated data.
We often get asked ... "Won't this slow down my program execution speed?" The truth is that it will ... but it will also be so minimal that usually the cost savings of having comments and all the convenience that comes with it far outweigh any reduction in program execution time. Rummaging around for lost documentation or re-creating lost documentation would be the real money waster.

Just a little something to think about if you haven't considered COMMENTS already in your CNC programming. We touched on only a few points here ... but we're sure you can find many more benefits depending on the capabilities or lack thereof pertaining to your particular CNC programming operation. The fact is that expanding the use of COMMENTS in your CNC programming could be a real time and money saving alternative to digital or paper documentation.

Until next time ... Happy Chip Making !!

Please visit our website for the best in Real World Machine Shop Software ... 
just CLICK the pic below !!

Tuesday, May 20, 2014

CNC Way Lube System - Checks and Troubleshooting


Your CNC machine is equipped with an automatic oiler system. Great ! You won't have to think about oiling the machine and an alarm will tell you when the tank is dry. What a great device ? Right ?

Well, that is the design. Unfortunately, along with the "automatic" description of the system comes the "out of sight, out of mind" aspect of the system. Because many people know it is an automatic system, many people put it out of their minds and simply wait for the alarm to come up showing that the tank is empty and needs to be filled. But what if that alarm never comes on because the tank isn't empty ? Why wouldn't the tank be empty ?

As your machine gets older, the way lube system will require service just like any other mechanism. The main problem, which often gets overlooked, is that the "tank empty" alarm never comes on because the tank never drains and nobody ever notices it. Now your machine runs for months on end with no lubrication on the ways and when you finally notice a problem, it's too late. Here is the "Rest of the Story ..."

PROBLEM :  The machine's ways are not receiving any way lube oil.

SYMPTOMS - IN ORDER OF SEVERITY :
  • Positioning / Repeatability Problems
  • Axis makes noise when moving
  • Axis Drive motor overload alarm coming when the axis is moving
POSSIBLE CAUSES :

  • Way Lube Pump burned out.
  • Way Lube Pump distribution flow set too low.
  • Way Lube Pump filter CLOGGED
  • Way Lube line BROKEN
  • Metering Units are CLOGGED
POSSIBLE CAUSES EXPLAINED :

(1) Way Lube Pump Burned Out : If the way lube pump is burned out, obviously there will not be any lube getting into the system. These pumps are usually set using a timer system. There is basically two types of timer systems used :

  • The pump is on a cam and the way it works is that the pump is always running. One gear turns another which acts like a step-down system and the second gear raises a "primer" lever. When the lever reaches the top of the stroke, the "primer" lever is released and the oil is pushed into the lines. This whole cycle can take 5-20 minutes meaning that even though the pump is always running, the lines get lube only every 5-20 minutes.
  • How to Check It : Take a flashlight and look in the tank or remove the oil tank. Once looking inside, you can see the main gear that should be constantly moving. It may be at a very slow pace, but you will see it moving.
  • The pump is set to an electrical timer set in the controls PC (programmable controller) or an actual physical electrical timer in the cabinet. This type of timer only supplies power to start the pump for every cycle.
  • How to Check It : On some pumps there is no primer lever but a light comes on on the tank when the pump is activated. Make sure this light comes on every 5-20 minutes or some other sign comes on to show the pump is activated every 5-20 minutes.

(2) Way Lube Pump distribution flow set too low : As stated above, the way lube pump usually is set using a timer system. The flow amount that gets distributed into the lines during every cycle is usually set and adjusted at the pump with a manual setting mechanism. This type of adjusting mechanism is usually a knob that can be turned higher or lower to set more or less flow. Also, just look at the primer lever. During the mentioned 5-20 minute cycle, you should see the primer lever raise slowly and then start to drop after reaching the top of the cycle. Check the stroke of the lever - short stroke, less flow.
  • How to Check It : The normal pump usage is in an 8 hour shift, you should fill the tank every 2-3 days. Also, you should see way lube flowing onto the ways. Always remember, the more flow the better. Yes, it may contaminate the coolant but that is better than ruining the ways and thus the machine just to save a couple of bucks.

The photo above shows a way lube pump unit which includes a manual flow control device. Adjusting the white knob adjusts the amount of lube being distributed per one cycle of the lube pump. When this type of pump is working correctly, you can see the white knob rising slowly then retracting, pushing the lube into the lines. The amount of rise and fall, and therefore the amount of lube distributed, is determined by the flow adjustment.

(3) Way Lube Pump filter CLOGGED : The way lube tank usually has a filter between the tank itself and the oil line that starts the distribution. This filter is usually in the tank itself at the bottom of the primer lever or in-line right after the main distribution line leaves the tank. It will get clogged over time, especially if there is no filter at the oil fill hole or if someone takes off the filter when filling the tank.
  • How to Check It : Disconnect the main lube line where it exits the tank to feed the system or after the in-line filter if so equipped. When the cycle reaches the pump stage as outlined above, oil should flow through this connection. The flow should be strong at this point. If not, remove the oil tank and search out the filter or remove the in-line filter. They can often be cleaned with a cleaner but the best remedy is to replace it.
(4) Way Lube line BROKEN : Oftentimes a lube line in the system gets crimped or broken during machining or during service. These way lube systems are usually "pressurized" so to speak and if the pressure is released at one point, say at the broken line, the oil will flow all to that point, depriving all the other lines of fluid.
  • How to Check It : When the pump is in the pumping stage, the primer lever should fall slowly. This is due to the fact that it is pushing the oil into the system. If a line is broken, the primer lever will fall quickly as all oil is funneled to the broken line area only. On systems without a primer lever, the pump may have a pressure gauge on the pump. During the pumping cycle, the pressure should register for a couple of seconds as the oil is pumped into the lines. If the pressure is low or does not come up at all during the pumping cycle, a line in the system may be broken.
(5) Metering Units are CLOGGED : In order to create the "pressure" of the system needed for even distribution, each oil line leads to a "metering unit" where the flow is lowered and the oil is discharged. When the pump forces oil into the lines, they all fill and flow to the metering units where the flow is stopped. Each metering unit is set to discharge the desired amount or "drops" of oil and perform their individual duties. Since some areas require more lube, the metering units can be different for each line or area. Since these metering units have actual valve type components in their very small bodies, over time these units can be become clogged or the inner workings can become stuck.
  • How to Check It : This is a much harder area to check. The best remedy and prevention is to change these units every year as part of a yearly maintenance program. Because these units allow only drops to flow through, they are harder to see when troubleshooting. These metering units are usually located in "clumps" around the machine. Several lines lead to these central areas and lube lines are branched out from here to the various areas of the machine. Replacement metering valves should be obtained from the machine tool builder or dealer to insure that you are getting the correct replacement part. When changing these units, pay close attention to the flow arrow that is commonly marked on the units themselves. This arrow shows the direction of installation and flow. Check the original unit before removal and replace accordingly.

The photo above shows an example of some metering units. These individual fittings are usually located in one or two main terminal blocks that feed certain areas of the machine such as the axis and ball screws. As the system fills with pressure and lube, these fittings discharge the lube at their pre-set flow rate into their lube lines. Over time, like cholesterol in the arteries, these units become clogged and no longer allow lube to exit and thus deny vital areas of the machine the way lube they require. As part of a yearly maintenance program, metering units in the machine should be replaced as a precautionary measure.

Due diligence and a little tracking will 
insure your Happy ( and ACCURATE ) Chip Making
 for years to come !!



Check out our Real World World machine shop software at www.KentechInc.com
Conversational CAD/CAM
Quoting & Estimating
G Code Conversion
CNC Training
.... and MORE !!!

Tuesday, May 6, 2014

G01 - Use Me For RAPID Movement Too !!

To experienced G code programmers ... we might be stating the obvious here ... but for the novice, this blog post may reveal a valuable programming trick that may come in handy during your CNC programming life.

When learning G code programming ... one of the first codes taught are G00 and G01. G00 is used for rapid movement ... making the axis move at their top speeds ... while G01 is used for moving at a feedrate in a straight line. If we take a look at some of the details of these codes ... we will also reveal a few hints into how they can be manipulated beyond their basic design.

A couple of notes on G00 :

  • As stated G00 executes axis movement at their top speed ... so we can get to the destination as quickly as possible.
  • Oftentimes ... the two axis are not created with the same rapid traverse speed ... for example the X axis may be able to travel 1200 IPM while the Y axis is only capable of 850 IPM. This is often due to the design of the machine ... size of the ball screw, etc..
  • When two axis are involved in the G00 move ... the distance each axis has to travel is the determining factor as to which axis reaches it's destination first ... resulting in a move that is not a straight line.
  • Oftentimes ... the machine is equipped with a RAPID OVERRIDE switch / dial that allows the user to slow down the rapid movement by some percentage ... 25% - 50% - 100%. BUT ... there is usually no a variable setting ... so the rapid movements are hard to control when working in tight corners during program prove out.
A couple of notes on G01 :

  • G01 executes axis movement at a programmed feedrate ... the axis moves at a rate that we determine via the F command.
  • When two axis are involved in the G01 move ... the machine's CNC controller calcuates the speed at which each axis will move so that each axis arrives at the end point at the same time ... always resulting in a move that is a straight line.
  • Oftentimes ... the machine is equipped with a FEEDRATE OVERRIDE switch / dial that allows the user to slow down the feed movement by percentages ... there is usually a variable setting ... and allows for extensive flexibility during program prove out ... even to pause the movement completely.
SOooo What??
The points outlined above lend themselves to some "bending and twisting" and result in some nice features that can be employed in our CNC programming ... such as :
  • We often think of G01 movement as cutting feed or cutting movement ... but using a faster feed of 200-300 IPM or higher ... when not cutting can turn a G01 move into a "rapid" move. 
The two main advantages of programming G01 for rapid include :
  • Programming a fast feed into a G01 block will always result in a straight line move ... comes in handy sometimes when moving around the part and avoiding possible collisions that a non-linear move like G00 may cause.
  • The FEEDRATE OVERRIDE switch allows us greater flexibility during programming prove out than the RAPID OVERRIDE ... but yet when running at 100% the fast feedrate doesn't have to effect our cycletime.
Thinking Outside the Box ... always produces interesting results. In this case ... we can bend the intended use of G01 to assist us creating an un-intended yet beneficial cutter movement. 

Got Ya Think'in ?? 
Any Other Ideas ??

Wednesday, February 5, 2014

Drill Point Calculations Made Simple

Hanging out on the shop floor we see a lot of programmers / operators "struggling" with finding the correct dimension for either countersinking or drilling through a workpiece. So we thought it a good time to put some simple formulas out there to remind our fellow machinists / programmers how the calcs are done and what factors effect those calculations.


What factors effect the calculations? There are basically two  :
  • Diameter of the drill
  • Angle of the drill point
Once those values are known ... you can easily calculate the length of the drill point using one of the choices below :

The Complicated ... But Accurate Method :
  1. Find the radius of the drill
  2. Take the angle of the drill point and divide that by 2 ... a normal twist drill angle is 118 degrees.
  3. The final formula is drill radius / Tan(angle from step #2)
Obviously this method will work and provide an accurate answer for any angle drill and countersink.

The "Rule of Thumb" Method for STANDARD drills :

Here is the common "rule of thumb" method for standard 118 degree drills. Obviously if you are dealing with countersinks or non-standard tip drills ... you need Method #1 above. But for a down-and-dirty calculation for standard drills ... just multiply the drill diameter by .300 ... inch or metric, doesn't matter.

Here's where that formula came from ... it assumes the standard drill point angle of 118 degrees :
  1. 118 degrees / 2 = 59
  2. 90 -59 = 31 ( using the angle opposite that of the one above )
  3. The tangent of 31 is .6009 / 2 = .3004 ... or rounded of to .3
Hope this helps the next time you are calculating the depth of a counterbore ( in which case method #1 should be employed ) or how to deep to drill through a workpiece ( where the rule of thumb method should do just fine ).

If you're looking for a software application that gives formulas like this as a handy reference ... check our our KipwareTB® - Machine Shop Toolbox Software ... just click the link below.




Until Next Time ... Happy Chip Making !!

Wednesday, January 22, 2014

Product Introduction - Chick One-Lok CNC Vise

I would say it is safe to say that the CNC machining center is an evolution of the manual milling machine ... bigger, better, faster and more efficient in many ways. The unfortunate fact regarding that evolution is that the ever popular vise for holding our work has not followed along very closely. As evidenced by our bruised and battered knuckles and the array of attachments on the market that cater to that piece of equipment.

But now ... after decades of trudging along and making due ... CHICK has finally brought a CNC designed vise to market. This CHICK One-Lok vise is not a traditional knee mill vise adapted for use on a CNC ... it is a vise specifically designed for the CNC machine.

The CHICK One-Lok Vise allows major advantages over the traditional vise in ways such as :
  • Enabling dramatically faster set-ups and part changes
  • Eliminate fixed jaw deflection and movable jaw lift for greater part precision
  • Greater versatility with features like multiple location features ... moveable toe clamps ... and an integrated repeatable jaw system.
We don't have any affiliation with CHICK or this product ... just thought it was is a real nice product and we we wanted to make sure to bring it to your attention in our Blog. We've got some follow-up links below so you can get some additional information ... Be sure to check out the really cool jaw system !!


Click the image above to watch a video on the CHICK One-Lok Vise

Until next time ...
Happy Chip Making !!

Wednesday, December 11, 2013

Machine Warm-up Routine - Why? When? How?

As former field service engineers ... one of the items we always stressed to our CNC customers was the importance of performing a machine warm-up routine. Below are answers to some of their most frequently asked questions ... which pretty much tell the whole tale about this activity.

WHY?
A machine warm-up routine benefits both the machine and the machining in a number of areas :

  • Running the spindle and moving the axis give the oils in the machine ... spindle oil and way lube ... an opportunity to distribute and do their jobs. Especially in a colder environment ... start of the day when perhaps the heat in the shop was reduced for the night ... running the spindle and moving the axis gives the oils a chance to warm up to their appropriate temperature and "work" the way they were intended. The end result is improved machine life, operation and reduced down time due to break downs.
  • It stands to reason also that when the oils are working as they were intended ... the accuracy of the machine can more easily be maintained. It is an unreal expectation to assume that you can walk in in the morning and start the machining and hold a tolerance of .0005" ... perhaps when the machine is brand new ... but not in the "real world". Starting your day like this will most likely result in offset adjustments being made due to the machine's "cold" condition ... and will begin the process of "chasing" size for quite a while. I heard countless times from customers how they spend 1-2 hours in the morning "chasing" size. Hello? Did you warm up the machine?

WHEN?
A lot of people assume that performing a machine warm-up routine is only appropriate after an extended "vacation" period ... either by the personnel or by lack of work flowing to the machine. While a longer warm-up period is recommended after an extended break ... an everyday warm-up routine is still recommended for the reasons listed above. Here are a couple of options for when to perform a machine warm-up routine :

  • Start of the Day ... whether that's at the shop opening or the start of the 1st shift.
  • After the machine has been idle for a time period of over 4 hours.
  • After an extended vacation period.
  • If the shop temperature is cold during the winter months ... a short warm-up should be performed even after lunch  / dinner breaks.
  • If the machining requires holding a tight tolerance ... a warm-up routine should be left executing during ANY breaks in the machining ... inspection time, bathroom break, at machine deburring process, etc..

HOW?
Matching the situations above requires an assortment of warm-up routines. No matter what the length of time ... the warm-up routine should always include the following :

  • Spindle running
  • Axis moving along the full stroke of each axis.
The beauty part is that the various warm-up programs can be left in the CNC control and called up anytime as needed. Or in the case of just keeping the spindle warm ... it may be a case of just manually starting the spindle and leaving it running while you walk away and attend to something else.

Spindle Warm-Up

After an extended break the spindle should be run through all the speed ranges with substantial dwell times in between speed changes. Start slow and work your way up with at least 15-30 minutes between increases. An example of a Fanuc style program might be :
  • G97 S100 M03
  • G04 X1200.0 ( dwell for 1200 seconds or 20 minutes )
  • S300 
  • G04 X1200.0 ( dwell for 1200 seconds or 20 minutes )
  • S500
  • G04 X1200.0 ( dwell for 1200 seconds or 20 minutes )
  • etc. etc. etc. until a speed of at least 3500 RPM is obtained.
You can create a program like the above to be run after extended breaks ... and a program with less dwell time to be run after shorter breaks.

As mentioned above ... to maintain the spindle temperature during the course of the workday ... manually starting the spindle at say 2500 RPM and leaving it running while you leave the machine can also be quite beneficial in maintaining machining accuracy.

Axis Warm-Up
After an extended break  ALL the machine axis should be made traverse the complete length of each axis ... or if fixturing / workpieces are in the way the maximum length of the stroke that is possible ... using various speeds. You don't want to start the movement under full rapid traverse speeds ... but rather work your way up during the warm-up cycle. The easiest way to accomplish this is to utilize the RAPID OVERRIDE feature on the machine. The G code warm-up program will call for G00 / rapid ... but start the program with the RAPID OVERRIDE switch at it's lowest percentage .... then work it up manually as the routine runs. A sample Fanuc style axis warm-up program might look like this :
  • G00G91G28Z0
  • G00G91G28X0Y0
  • G00G91Z- ***** .... incrementally move the Z axis as close to the table as possible.
  • G00G91G28Z0
  • G00G91X ***** .... incrementally move the X axis to the opposite end of it's stroke
  • G00G91Y ***** .... incrementally move the Y axis to the opposite end of it's stroke
  • G00G91G28X0 ...... move the X axis back to the zero return / home position
  • G00G91G28Y0 ...... move the Y axis back to the zero return / home position
  • G00G91X ***** Y ***** .... incrementally move both axis at the same time to their stroke end
  • G00G91G28X0Y0 .... move X and Y back to their zero return / home position.
The above routine gives you an idea ... and feel free to make additions as you see fit. The main idea is to move ALL the axis along as much of their stroke as possible. Not just a "square" pattern ... try to make "fancy" moves that can move all the axis through as much of the strokes as possible.

If you don't like or don't have a RAPID OVERRIDE option ... you can simple make a longer program using FAST feedrates ... such as :
  • G00G91X ***** F100.00
  • etc.
  • etc.
  • G00G91 X**** F200.00
You can get the idea ... repeat the program and alter the feedrates as the program progresses. Again ... the good part is that once it is written, you can maintain the program in the machines memory and recall it as needed. No need to re-create it each time.

Spending some time creating these warm-up routine programs ... and instituting a policy of when and how they are to be run ... can go a long way to improving your machine's life ... as well as your machining efficiency and accuracy.

Please visit our website to investigate our Real World Machine Shop Software


Happy Chip Making ... and may you Make Chips and Prosper !!

Tuesday, September 17, 2013

Fanuc Macro Programming Series - Part #6 - Video Tutorial #1

They say the best way to learn is to see it in action. So this post we have a real treat in our Fanuc Macro Programming Series.

This post you get to listen to my "lark like" voice explain the method of assigning variables values and the building of a simple macro program to engrave (2) squares. It's not about the machining ... it's about the building and structure of the macro program.

It should be helpful in getting started down the road to building your macros, growing in complexity. ENJOY !!! ... but make sure you understand what's happening here so we can move on in later posts.

CLICK the Reel Icon Below to OPEN the Video Tutorial


Making Chips? ... why not make it a Macro !!
See ya next month !!

Wednesday, August 28, 2013

Fanuc Macro Programming Series - Part #5 : Arithmetic Functions / Control Commands

The power of the Custom Macro language lies in the use of a variety of arithmetic functions within the custom macro body. This features gives the user the power to re-define and re-calculate the values of variables "on the fly." This post is meant as a brief explanation and overall view of some of these functions available with a more in-depth view given in following posts in this series.

Types of Commands Available 

Definition and Substitution
( #100 = #101 )

Addition and Subtraction
( #100 = #101 + #102 )
( #100 = #101 - #102 )

Multiplication and Division
( #100 = #101 * #102 )
( #100 = #101 / #102 )

Logical Sum -- Exclusive OR -- Logical Product
(  #100 = #101 OR  #102 )
(  #100 = #101 XOR  #102 )
(  #100 = #101 AND  #102 )

Trigonometric Functions
( #100 = SIN(#101)) ----- Sine
( #100 = COS(#101)) ----- Cosine
( #100 = TAN(#101)) ----- Tangent
( #100 = ATAN(#101)) ----- Arc Tangent
( #100 = ASIN(#101)) ----- Arc Sine
( #100 = ACOS(#101)) ----- Arc Cosine

Other Mathematical Functions
( #100 = SQRT(#101)) ----- Square Root
( #100 = ABS(#101)) ----- Absolute Value
( #100 = BIN(#101)) ----- Conversion from BCD to BIN
( #100 = BCD(#101)) ----- Conversion from BIN to BCD
( #100 = ROUND(#101)) ----- Rounding Off
( #100 = FIX(#101)) ----- Discard fractions less than 1
( #100 = FUP(#101)) ----- Add 1 for fractions less than 1
( #100 = LN(#101)) ----- Natural Logarithm
( #100 = EXP(#101)) ----- Exponent with base
( #100 = ADP(#101)) ----- Addition of

Another powerful feature of the Custom Macro language is the ability for the user to control the flow of the programs execution. Using a variety of what is called CONTROL COMMANDS, the user can repeat areas, jump to areas and set conditions for program execution.Again, presented here is a brief explanation and overall view of some of these functions available with a more in-depth view given in following posts in this series.

Types of Control Commands Available 

DIVERGENCE
IF < condition> GOTO N----
When the <condition> is satisfied, the program execution jumps
to sequence number N----.
Example : IF [#100 = #102] GOTO N100

CONDITIONAL EXPRESSIONS EXPLAINED
The following are expressions that can be used to define conditional expressions :
EQ = equal to
NE = not equal to
GT = greater than
LT = less than
GE = greater than or equal to
LE = less than or equal to

ITERATION
WHILE < condition> DO <number>
......
END <number>

While the <condition> is satisfied, the program executes blocks between the WHILE statement and the END statement.

Example : 
WHILE [#100 LT #102] DO 1
( program commands )
( program commands )
( program commands )
#100 = #100 + 1 ( add 1 to #100 at the end of each body run )
END 1

BRANCH COMMAND
GOTO N----

Program execution jumps to sequence number N----
Example : GOTO N101

----------------------------

Being well versed in the information from this post will be a big help as we go forward with some macro programming examples in future posts.

The fun is just beginning ... Stay Tuned !!

Wednesday, August 14, 2013

Fanuc Macro Programming Series - Part #4 : System Variables

The last type of Fanuc Macro Variables we will cover in our series are called SYSTEM VARIABLES. System Variables are fixed variables and read and reflect on conditions or values found somewhere in the CNC system. There are a variety of System Variables available to the user but they can for the most part be classified into some major groups :

INTERFACE SIGNALS :
The status of various input / output signals can be read using System Variables #1000 thru #1035, #1100 thru #1115 and #1132 thru #1135. Users should consult with their own individual electrical diagrams as specific input / output signals can be designed differently by different machine tool builders. But the general configuration looks like this :



TOOL GEOMETRY OFFSET VALUES :
Tool offset values as well as work offset values can also be read and modified through the System Variables as well. Those variable configurations look like :


WORK OFFSET VALUES :
Work offset values ... G54 thru G59 ... can also be read and modified through the System Variables as well. Those variable configurations look like :


ALARM GENERATION :
Users have the ability to generate ALARMS with user defined message using System Variable #3000. The format for using System Variable #3000 is :

#3000 = XX ( error message defined here )

In the above format ... XX is the error message # ( must be less than 999 ) and the error message to display is defined between the (   ) . For example :

#3000 = 123 ( ERROR ENCOUNTERED )

When the macro program executes the line as above, the machine would enter the alarm condition ... the CRT will display Error #123 followed by the message ERROR ENCOUNTERED. Clearing the alarm condition is as normal.

The user has complete control over the Alarm # and the message to be displayed.

SUPPRESSION OF MACHINE FUNCTIONS  :
Through the use of the System Variables as outlined below ... users can suppress certain machine functions. Users should exercise caution when using these System Variables.


MODAL INFORMATION :
Modal information ... up to the current block ... can be read using the System Variables as outlined below :


POSITIONAL INFORMATION :
Using the System Variables as outlined below, the position of each axis of the machine can be read. The chart outlines the type of position ... and whether or not the tool offsets are considered.


----------------------------------------

Now that we have all the definitions out of the way ... the next posts in our series will put all these definitions to use. THE FUN BEGINS ... Stay Tuned !!

Wednesday, July 31, 2013

Fanuc Macro Programming Series - Part #3 : Local & Common Variables

Part #3 in our Fanuc Macro Programming Series is dealing a little bit more in-depth with the definition and use of Local Variables and Common Variables

LOCAL VARIABLES :
Local Variables are so named because they are used "locally" in a macro program. This means that the value of the local variable is retained only in the program for which it was assigned. Values of local variables are not retained when branching out to other sub programs.

Local variables are primarily used for data transfer or for intermediate calculations within a macro. The table below represents the local variable available LETTER ADDRESS and corresponding NUMERICAL ADDRESS contained in the macro program. Local variables are assigned either through the use of the G65 command or by direct data input. All local variables are "vacant" unless assigned, and can be freely used by the user.


Program Example using Local Variables :

Assignment by Macro Call :
Macro Call : 
G65 P1234 A2.00 B5.00 ;
Result :  
G65 call assigns the value of 2.00 to local variable #1 ( A )
G65 call assigns the value of 5.00 to local variable #2 ( B )

Program Command :
G01 X#1 F#2
Actual Command :
G01 X2.00 F5.00

Direct Assignment by Program Command :
Macro Statement : 
#1 = #2
Result :
Direct assignment of variable #1 set to the value of variable #2

Intermediate Calculation within a Macro :
Macro Statement : 
#1 = #2 + #3
Result :
Variable #1 is equal to the sum of variables #2 and #3

---------------------------------------------

COMMON VARIABLES :
Common Variables are different from local variables in that once a value is assigned, that value is shared by all other macros and the values are not cleared at M30 or RESET. This means that #100 used in one program is the same value of #100 used in another program. In addition, if the value of a common variable is calculated in one macro, that value is retained when called in another macro.

The main important feature of common variables lies in the fcat that they can be used between macros and that their values are not cleared at M30 or RESET. Users should be careful when performing calculations with common variables because when the program is re-started, the value of common variables is retained from any previous calculations and may produce unexpected results. Common variables can be freely used by the user.

#100 thru #149
These variables are cleared at power off

#500 thru #549
These variables retain their value even after power off.

--------------------------------------------

Stay Tuned for more ... 

Monday, July 15, 2013

Fanuc Macro Programming Series - Part #2 : Variables

What Are Variables
The Fanuc Custom Macro language uses a variety of what are called VARIABLES in the language. Variables can perform a variety of chores in the language, their main job is to carry and gather data for use in the macro program.

A Variable always begins with the # sign, followed by a number. For example, #100 is a variable. In it's simplest form ( without getting into specifics of how that is done ... it will be covered later ), a variable is used to carry data. An example :

First Program Line : #100 = 2.00
Second Program Line : G01 G90 X#100 F10.0

In the above example, the macro program first defines the value of the variable #100 ... that value is 2.00 as defined in the First program line. The variable #100, carrying the value of 2.00, is called or used in the Second program line. To the control, the value of the Second program line is :

G01 G90 X2.00 F10.0

Once the variable is defined ( without getting into specifics of how that is done ... it will be covered later ) anytime the control sees the variable, it replaces it with it's defined value, in this case 2.00.

To take this just a step further ... remember anytime the control sees the variable #100 it will substitute it's defined numerical value, the following line :

G01 G90 X#100 F#100

would read to the control :

G01 G90 X2.00 F2.00

As mentioned, variables have other functions as well. The types of variables available will be discussed in more detail in various posts in our series.

Types of Variables
There are basically (3) different types of variables available ... the type to utilize is dependant on how you want the data to be transmitted.

Local Variables
( # 1 thru #33 )
Local variables are primarily used for data transfer and their value remains active only within the local program. When a sub-program is executed, the value of the Local Variable does not carry over into the sub-program. The value of a Local Variable is usually set using the G65 macro call command.

Common Variables
( # 100 thru #149 and #500 thru #509 )
The main difference between Common Variables and Local Variables are that Common Variable values are retained between programs. That means that the #100 used in one program is the same in every other program or sub-program called. The value of any Common Variable, even if arrived at via a mathematical instruction, is the same value in subsequent program use.

The value of variables #100 thru #149 are cleared at power off, while those of variables #500 thru #509 are retained, even after power off. However, these conditions may be altered via Parameter Settings.

System Variables
System Variables are normally used to obtain conditions, positions or values from areas within the CNC control. Some examples of the use of System Variables :
  • To record an axis position at a certain time
  • To record or adjust a tool offset value
  • To record or adjust a work coordinate offset setting
  • To generate s user defined alarm condition 
  • Suppress the single block, feed hold, feedrate override functions
  • Read and record modal information
Stay Tuned for more in our series !!

Tuesday, July 2, 2013

Fanuc Macro Programming Series - Part #1 : Basics

R U Sitting Down ??
OK then Buckle up !!!

We are about to begin a long ... somewhat complex ... but very beneficial series teaching the how's ... why's ... and details of the Fanuc Macro B Programming Language. If you do CNC programming and are utilizing a Fanuc Control ... your review and understanding about what we are about to present will definitely send you to the next level of CNC programming.

Over the next months ... we will be interspersing articles in this series covering Fanuc Macro B programming from the basics to the complex. We will still be including and sharing some of our sought after CNC Tips and Tricks ... but we will also be including articles in this series as we go along as well.

So check back often ... follow along ... and hopefully we can help bring your CNC programming skills to the next level.

P.S. - A lot of the information here is included in our KipwareEDU® - CNC Programming Training & Reference Software - Macro Version. So if you like what you see here ... and there's tons more in KipwareEDU® ... you can purchase the Macro Version of KipwareEDU® and have this information at your disposal on your own PC ... or use it to tech your personnel. KipwareEDU® contains the info here and tons more along with in-depth video training not included here.

Part One : The Basics
What is Fanuc Custom Macro B ?
Custom Macro is the name given by Fanuc to it's programming language that enables users to take the standard G code programming to another level. Custom Macro allows users to include instructions, mathematical equations, changing variables and a host of other advanced functions in a G code program.

Because of the power of this language, anytime a thought occurs like " I just need to repeat what I did here" or similar, it's probably a good time to consider using custom macro programming. Some examples where Custom Macro programming can be employed :

  • Dimensions or other values require calculations or re-calculations "on the fly". 
  • The programming of family of parts or parts that repeat the basic operations but contain only dimensional changes.
  • Dimensions or other values need to be stored or transferred to other addresses in a program.
  • Complex operations where the basic pattern or cutting sequence remains the same ... an example would be pocketing ... but dimensional changes, that can be defined by one or a series of mathematical formulas, need to be re-calculated "on the fly".
  • The basic "rule of thumb" is that Macro programming probably can be utilized anywhere where repetition exists.

As you explore this series, we will bring out many instances where macro programming can and should be employed ... but we are also sure that these will open doors to macro programming examples in your own world as well. Keep an open mind !!!!

Macro Programming vs. Sub Programming
There are similarities and many differences between a CUSTOM MACRO program and a standard SUB PROGRAM. We outline in this chapter some of the major differences and similarities.

SIMILARITIES :
  • Both types can be called from another program.
  • Both types are stored in memory  under their own program number.
  • Both types can be called to repeat a pre-determined number of times.
  • Both types can be called multiple times from other sub or macro programs.
  • Both types end with the M99 command.
DIFFERENCES :
  • Macro program body can perform and contain mathematical equations.
  • Macro program calls can establish values for variables used in the macro program. 
  • A macro program can be called and made "modal" to repeat until the cancel command is issued.
  • Macro programs can be called from user defined G, M and T codes via parameter settings.
The creation of a custom macro program is identical to the creation of a sub program. Both types are registered to the memory under their own program number and stored separately in the memory. As with sub programs, the end of the custom macro program is done through the use of the M99 command.

OK ... there are some basics. If you have questions ... I'm sure we will address them in the coming articles.

SOOO ... stay tuned for even Happier Chip Making !!





Wednesday, March 27, 2013

Your Way Lube System - Friend or Foe ?


Your CNC machine is equipped with an automatic oiler system. Great ! You won't have to think about oiling the machine and an alarm will tell you when the tank is dry. What a great device ? Right ?

Well, that is the design. Unfortunately, along with the "automatic" description of the system comes the "out of sight, out of mind" aspect of the system. Because many people know it is an automatic system, many people put it out of their minds and simply wait for the alarm to come up showing that the tank is empty and needs to be filled. But what if that alarm never comes on because the tank isn't empty ? Why wouldn't the tank be empty ?

As your machine gets older, the way lube system will require service just like any other mechanism. The main problem, which often gets overlooked, is that the "tank empty" alarm never comes on because the tank never drains and nobody ever notices it. Now your machine runs for months on end with no lubrication on the ways and when you finally notice a problem, it's too late. Here is the "Rest of the Story ..."

PROBLEM :  The machine's ways are not receiving any way lube oil.

SYMPTOMS - IN ORDER OF SEVERITY :
  • Positioning / Repeatability Problems
  • Axis makes noise when moving
  • Axis Drive motor overload alarm coming when the axis is moving
POSSIBLE CAUSES :

  • Way Lube Pump burned out.
  • Way Lube Pump distribution flow set too low.
  • Way Lube Pump filter CLOGGED
  • Way Lube line BROKEN
  • Metering Units are CLOGGED
POSSIBLE CAUSES EXPLAINED :

(1) Way Lube Pump Burned Out : If the way lube pump is burned out, obviously there will not be any lube getting into the system. These pumps are usually set using a timer system. There is basically two types of timer systems used :

  • The pump is on a cam and the way it works is that the pump is always running. One gear turns another which acts like a step-down system and the second gear raises a "primer" lever. When the lever reaches the top of the stroke, the "primer" lever is released and the oil is pushed into the lines. This whole cycle can take 5-20 minutes meaning that even though the pump is always running, the lines get lube only every 5-20 minutes.
  • How to Check It : Take a flashlight and look in the tank or remove the oil tank. Once looking inside, you can see the main gear that should be constantly moving. It may be at a very slow pace, but you will see it moving.
  • The pump is set to an electrical timer set in the controls PC (programmable controller) or an actual physical electrical timer in the cabinet. This type of timer only supplies power to start the pump for every cycle.
  • How to Check It : On some pumps there is no primer lever but a light comes on on the tank when the pump is activated. Make sure this light comes on every 5-20 minutes or some other sign comes on to show the pump is activated every 5-20 minutes.

(2) Way Lube Pump distribution flow set too low : As stated above, the way lube pump usually is set using a timer system. The flow amount that gets distributed into the lines during every cycle is usually set and adjusted at the pump with a manual setting mechanism. This type of adjusting mechanism is usually a knob that can be turned higher or lower to set more or less flow. Also, just look at the primer lever. During the mentioned 5-20 minute cycle, you should see the primer lever raise slowly and then start to drop after reaching the top of the cycle. Check the stroke of the lever - short stroke, less flow.
  • How to Check It : The normal pump usage is in an 8 hour shift, you should fill the tank every 2-3 days. Also, you should see way lube flowing onto the ways. Always remember, the more flow the better. Yes, it may contaminate the coolant but that is better than ruining the ways and thus the machine just to save a couple of bucks.

The photo above shows a way lube pump unit which includes a manual flow control device. Adjusting the white knob adjusts the amount of lube being distributed per one cycle of the lube pump. When this type of pump is working correctly, you can see the white knob rising slowly then retracting, pushing the lube into the lines. The amount of rise and fall, and therefore the amount of lube distributed, is determined by the flow adjustment.

(3) Way Lube Pump filter CLOGGED : The way lube tank usually has a filter between the tank itself and the oil line that starts the distribution. This filter is usually in the tank itself at the bottom of the primer lever or in-line right after the main distribution line leaves the tank. It will get clogged over time, especially if there is no filter at the oil fill hole or if someone takes off the filter when filling the tank.
  • How to Check It : Disconnect the main lube line where it exits the tank to feed the system or after the in-line filter if so equipped. When the cycle reaches the pump stage as outlined above, oil should flow through this connection. The flow should be strong at this point. If not, remove the oil tank and search out the filter or remove the in-line filter. They can often be cleaned with a cleaner but the best remedy is to replace it.
(4) Way Lube line BROKEN : Oftentimes a lube line in the system gets crimped or broken during machining or during service. These way lube systems are usually "pressurized" so to speak and if the pressure is released at one point, say at the broken line, the oil will flow all to that point, depriving all the other lines of fluid.
  • How to Check It : When the pump is in the pumping stage, the primer lever should fall slowly. This is due to the fact that it is pushing the oil into the system. If a line is broken, the primer lever will fall quickly as all oil is funneled to the broken line area only. On systems without a primer lever, the pump may have a pressure gauge on the pump. During the pumping cycle, the pressure should register for a couple of seconds as the oil is pumped into the lines. If the pressure is low or does not come up at all during the pumping cycle, a line in the system may be broken.
(5) Metering Units are CLOGGED : In order to create the "pressure" of the system needed for even distribution, each oil line leads to a "metering unit" where the flow is lowered and the oil is discharged. When the pump forces oil into the lines, they all fill and flow to the metering units where the flow is stopped. Each metering unit is set to discharge the desired amount or "drops" of oil and perform their individual duties. Since some areas require more lube, the metering units can be different for each line or area. Since these metering units have actual valve type components in their very small bodies, over time these units can be become clogged or the inner workings can become stuck.
  • How to Check It : This is a much harder area to check. The best remedy and prevention is to change these units every year as part of a yearly maintenance program. Because these units allow only drops to flow through, they are harder to see when troubleshooting. These metering units are usually located in "clumps" around the machine. Several lines lead to these central areas and lube lines are branched out from here to the various areas of the machine. Replacement metering valves should be obtained from the machine tool builder or dealer to insure that you are getting the correct replacement part. When changing these units, pay close attention to the flow arrow that is commonly marked on the units themselves. This arrow shows the direction of installation and flow. Check the original unit before removal and replace accordingly.

The photo above shows an example of some metering units. These individual fittings are usually located in one or two main terminal blocks that feed certain areas of the machine such as the axis and ball screws. As the system fills with pressure and lube, these fittings discharge the lube at their pre-set flow rate into their lube lines. Over time, like cholesterol in the arteries, these units become clogged and no longer allow lube to exit and thus deny vital areas of the machine the way lube they require. As part of a yearly maintenance program, metering units in the machine should be replaced as a precautionary measure.

Due diligence and a little tracking will 
insure your Happy ( and ACCURATE ) Chip Making
 for years to come !!



Check out our Real World World machine shop software at www.KentechInc.com
Conversational CAD/CAM
Quoting & Estimating
G Code Conversion
CNC Training
.... and MORE !!!