You Say You Can’t Make Your Machine Zero Return?


November 15th 2008 By Web Development in India

For most of the Fanuc Series Controllers (FS) OT,16/18T,10/11T you can have a condition where upon every time you attempt a Zorn (Zero Return), a Soft Limit Over Travel occurs. This is especially troublesome with the Z axis of vertical machining centers and the X axis of turning centers. These axes tend to drift during the night. When this happens, here’s what you do:

Release NC Soft OT alarm by Jogging away from the limit. Turn the control’s power off. Depress the “P” key and the “CAN” (cancel) key and keep them depressed when you turn the control on (continue holding P and CAN until CRT Display comes on. Release “P” and “Can” keys. Attempt Zero Return again. Pressing P and CAN makes the control ignore the soft limit, and resets at Decel via prox. If the axis over travels again, more than likely you have a bad Zrn Switch. Usually a Proximity Limit Switch. Check the machine maintenance drawing for schematic and DGN associated. Check the DGN I/O bits or ladder while placing a metal object in “Proximity” of the switch face. Note: Even though an indicating led works, it doesn’t always mean the switch is good.

http://www.cncci.com/resources/tips/zero%20return.htm

Posted by admin under CNC Tips | No Comments »

Do You Document Your CNC Programs Well Enough?


November 15th 2008 By Web Development in India

I have been programing for about 2 years, and before that I had been a manual machinist for 15 years. I have found that by making a program easy to read and consistent every time you make one makes it easier for operators and new personnel to read. I have seen many old programs made by previous programmers and even I even have to look hard at it to see what’s going on. If you start it the same and don’t try to put everything on one line the operator knows what to look for and doesn’t get confused. For example MO3 on one line, and the rpm on another. They both go together and should be on the same line. Its just like a sentence. Here is an example of how I write a simple program.

* :0005(so and sos part)
* N1T1( 7/16 CENTER DRILL )
* (STATES WHAT IT IS)
* G40G80G90G54(CANCELS CANNED CYCLES,ABSOLUTE,G54OFFSET#)
* M06 (CHANGE THE TOOL)
* M03S1000 (TURN THE SPINDLE ON CW AT 1000 RPM’S)
* M08 (TURN ON THE COOLANT)
* G00X0Y0 (GO TO INITIAL POSITION)
* G43Z1.0H1T2 (READ LENGTH OFFSET FOR TOOL 1,RAPID TO IS 1″,NEXT TOOL IS TOOL 2)
* G73G98Z-.250R.1Q.05F3.0 (WHAT DRILL CYCLE IS THIS,RETRACT TO POINT IS,DEPTH OF CUT,RAPID BACK TO,PECK AMOUNT,FEED RATE)
* G00Z1.0 (THIS IS FORCE OF HABIT TO REMIND ME TO CLEAR ALL OBJECTS BEFORE I GO TO HOME ZERO)
* M98P0002(SUB PROGRAM THAT INCLUDES ALL DATA TO SEND MACHINE HOME IN Z AND I NEVER EVER HAVE TO WRITE IT AGAIN)
* M30 (END OF PROGRAM)

I’m human and I forget things when I go fast, but if I teach what to look for every time, and where it should be, people tend to be able to find it for themselves and see what missing and what shouldn’t be there All it takes is an extra few moments, and if they get an alarm my guys know what to look for and when that happens they figure it out themselves and learn.

http://www.cncci.com/resources/tips/document.htm

Posted by admin under CNC Tips | No Comments »

Safe Index Position For CNC Machining Centers


November 15th 2008 By Web Development in India

I recently encountered your web site and have been reading the material therein. Eventually I encountered the comments about the amount of time lost to wasted rapid moves. Absolutely correct! To that end I would like to describe a technique that has worked well for me. The question: On a horizontal milling center, how far away from the work piece must the Z axis be positioned to allow a ³safe² pallet index?

The safest Z axis position prior to a pallet index is Z home. This can result in tool being a long way from the work after the pallet index. To save time the least amount of retract must be determined.

The following code allows the machine to calculate the safe index position based on predetermined values stored in the #500 variables and the tool length variable. This runs on a Fanuc 16MB driving a Mori SH-50 Horizontal. It should work on most Macro B systems where access to system variables are allowed. The following system conditions and variables must be known.

1) The distance from the spindle gage line to the center of pallet rotation when the Z axis is at the home position. This generally found in the machine specifications or in most sales brochures.

2) The maximum work piece swing diameter when the pallet indexes. This is also a machine spec and also found in the sales brochures. This method also assumes that all tool offset values are positive lengths.

Store the spindle gage line distance in one of the #500 permanent common variables. I use #529 . I use this value for other applications. Store the RADIUS value of the max swing diameter plus 1 inch in variable #530. Both #529 and #530 are positive values. The CNC code is:

G0 G90 G53 Z-[#529-#530-#5083]

Place this line in the program after the work is completed on a particular pallet side, but before any tool length cancel codes are called. The #5083 system variable contains the currently active tool length value. G53 is a one shot G code positioning the Z axis along machine coordinates. Obviously this line of code must never be a start up line. The #5083 register is set to zero on a reset or tool length cancel. The net effect is to place any tool tip 1 inch outside the max swing radius of the pallet. After the pallet indexes, position the tool as is necessary and go back to work. The 1 inch value that I use could be more or less depending on your comfort level.

To lessen the chance of an accident I recently wrote this macro. I replace the line G0 G90 G53 Z-[#539-#530-#5083] with G153 R15. To use G153, set the G code creating parameter for program O9011 to 153.

* O9011 (TOOL RETRACT)
* #1=#4001 (STORE CURRENT STATE OF G0/G1)
* #3=#4003 (STORE CURRENT STATE OF G90/G91)
* IF[#5083 EQ 0] GOTO 99 (IF TOOL LENGTH VALUE IS ZERO.DON’T DO ANYTHING)
* IF[#18 EQ#0] GOTO 1 (CHECK FOR R VALUE)
* IF[#18 LT 10.] THEN #3000=99(*YIKES* R VALUE IS TO SMALL )
* (NEVER ALLOW TOOL TIP ANY CLOSER THAN 10 INCHES TO THE PALLET CENTER)
* G0 G90 G53 Z-[#529-#18-#5083] (RETRACT TOOL TO R RADIUS POSITION)
* GOTO 2
* N1G0 G90 G53 Z-[#529-#530-#5083] (RETRACT TO FIXED RADIUS POINT)
* N2 G#1 G#3 (RESTORE GRP 1 AND 3 STATES)
* N99M99

The R parameter is used to override the fixed retract radius position. If R is not declared then then the retract position is fixed by the #530 variable.
http://www.cncci.com/resources/tips/safe%20index.htm

Posted by admin under CNC Tips | No Comments »

How fast can you rapid?


November 15th 2008 By Web Development in India

CNC Programmers have the tendency to ignore the effects of rapid motions on cycle time because of the very fast rate of motion. While today’s CNC machines do rapid at amazing rates (some over 1,500 inches per minute), no rapid motion can be made instantaneously. In order to minimize cycle time, you must minimize rapid motions.

To stress this point, we offer a simple rule of thumb called the one second rule. One second of saved cycle time will total 16.6 minutes of saved production time in one thousand cycles. While this may not sound like a lot, it can add up fast. If but four seconds can be saved per cycle in a one thousand piece order, over one hour of production time can be saved. And if this four seconds can be saved without spending money (by simply formatting your programs efficiently), all the better.

It helps to know just how far your machine must travel (at rapid) to accumulate one second of cycle time. Of course, the faster the machine’s rapid rate, the further it must move to accumulate one second. Here is a chart that shows the relationship of rapid rate to motion distance at common rapid rates. Notice that rapid motion is never instantaneous! In fact, you may be somewhat unpleasantly surprised to learn how little your machine must move to accumulate one second. These values, of course, do not reflect any acceleration/deceleration, meaning these numbers represent the best condition. In reality, the effects of rapid motion are even worse!

* 100 IPM - 1.666 inches
* 200 - 3.332 inches
* 300 - 4.998 inches
* 400 - 6.664 inches
* 500 - 8.330 inches
* 600 - 9.996 inches
* 700 - 11.662 inches
* 800 - 13.328 inches
* 900 - 14.994 inches
* 1000 - 16.660 inches
* 1100 - 18.300 inches
* 1200 - 20.000 inches
* 1300 - 21.700 inches
* 1400 - 23.300 inches
* 1500 - 25.000 inches

Knowing these values, let’s look at a simple example. Say you have a ten-tool machining center program. Say the motion distance from the workpiece to the machine’s tool changing position is about 10 inches (a relatively small machine). At each tool change, about 20 inches of motion distance will be required (ten inches to and from the workpiece). For ten tools, this totals 200 inches of motion (ten tools times twenty inches of motion per tool). Cycle time in minutes is calculates by dividing the motion distance by the inches per minute rapid rate. One second is equal to 0.0166 minutes.

With a rapid rate of 500 inches per minute, rapid motion for tool changing will require 24 seconds of cycle time! And that’s assuming no acceleration/deceleration. In one thousand cycles, that’s over six hours of production time, just for rapid motions. Anything you can do to minimize rapid motions will have a direct impact on cycle time!

http://www.cncci.com/resources/tips/rapid.htm

Posted by admin under CNC Tips | No Comments »

Getting parentheses on 16 and 18 series Fanuc controls


November 15th 2008 By Web Development in India

Some series 16 and (especially) 18 series controls come with a “limited keyboard”, meaning only essential keys are available. If you do not have a full keyboard on your 16 or 18 series control, you will find that there are no parentheses keys [()]. If this is the case, you cannot type or edit messages at the control.

Though you will not have every letter of the alphabet available, you can at least gain access to parentheses by changing a parameter. According to Ty Brady of CNC Systems in Kennebunk, Maine, bit number 2 of parameter 3204 (check in your list of parameters for confirmation) controls this function. If bit 2 set to a one (it is labeled “EXK”), you will notice that two soft keys under the display screen in the Edit mode will show parentheses.
http://www.cncci.com/resources/tips/paren.htm

Posted by admin under CNC Tips | No Comments »

G code help screen on 15 series Fanuc controls


November 12th 2008 By Web Development in India

Here is something you can use with Fanuc series 15 controls that is quite helpful. If you cannot remember the format for the various G codes, the 15 series will give you some help. In the EDIT mode, type G and press INPUT (not insert). The display screen will show you a list of all G codes and their proper format and meanings. You can use the left/right double arrow keys to move up and down the list.

If you want the specific format for a given G code, just type the G code (like G84) and press INPUT. The control will show you the correct format for the G code in question.

http://www.cncci.com/resources/tips/15%20gcode.htm

Posted by admin under CNC Tips | No Comments »

Which mode is better, inch or metric?


November 12th 2008 By Web Development in India

Most companies work exclusively in one mode or the other. If the bulk of their prints are dimensioned in inch (as with most companies in the United States), they program and run the machine in the inch mode. If they happen across a print dimensioned in the metric mode, they convert all dimensions to inch (by dividing all millimeter values by 25.4) and still work in the inch mode.

If you are one of the many companies that still work exclusively in the inch mode, you probably don’t know about the accuracy advantage of the metric mode. This advantage has to do with the least input increment of the input mode. The least input increment in the inch mode for the vast majority of CNC machines is 0.0001 in. In the metric mode, the least input increment for these machines is 0.001 mm. 0.001 mm is less than half of 0.0001 in (0.001 mm is equivalent to 0.000039 in), meaning your CNC machine will have a much finer resolution when the metric mode is selected.

To get an understanding of this implication, consider a common indexer. A five degree indexer has 72 positions (360 divided by 5). A one degree indexer has 360 positions. Though the one degree indexer is no more accurate than the five degree indexer, you can program it with a finer resolution. You can, of course, index 34 degrees with a one degree indexer and cannot with a five degree indexer. One way to compare this to the inch/metric mode selection is to say that working exclusively in the inch mode when the metric mode is available is like having a one degree indexer but only programming it in five degree increments!

Said another way, a ten inch long linear axis has 100,000 programmable positions in the inch mode. In the metric mode, the same ten inch long axis has over 254,000 programmable positions!
When can this help?

If the bulk of your work has wide-open tolerances, it is likely that the inch mode will more than suffice. It would be like saying you happen to have a one degree indexer but never have to program it to any finer resolution than five degrees. However, as tolerances get tighter, there are times when you can successfully machine workpieces in the metric mode when you cannot in the inch mode.

Consider how you calculate coordinates in your CNC program. Most programmers will program the mean value for dimensions. For example, if you have a dimension of 3.000 plus or minus 0.001 in, the programmed value will be 3.000. In the case of plus or minus tolerances, determining the mean value is easy and can be easily programmed.

On the other hand, consider a dimension of 3.0000 plus 0.0003, minus nothing. In this case, the mean value is 3.00015. If working in the inch mode (with only four place input), you cannot even program the mean dimension. If you convert 3.00015 in to metric, it comes out to 76.2038 mm, which must be rounded to 76.204. This dimension is within 0.0002 mm (0.0000078 in) of the desired mean value!

This accuracy advantage of the metric mode is also involved with offset setting. A tolerance of plus or minus 0.0002 in has less than four acceptable offset setting positions. The same tolerance in the metric mode is plus or minus 0.005 mm, which allows ten acceptable positions in the offset table! And for SPC purposes, the amount of offset change from one adjustment to the next can be kept smaller.

While people who have never worked in metric mode will find the transition a little cumbersome, if you do tight tolerance work, these accuracy benefits are well worth the effort. In many cases, you’ll be able to hold size (or make less scrap) on workpieces that have been previously impossible to machine on CNC machine tools!

http://www.cncci.com/resources/tips/inch%20metric.htm

Posted by admin under CNC Tips | No Comments »

Using custom macro to streamline tool length measurements


November 12th 2008 By Web Development in India

This rather advanced technique assumes your control has parametric programming (example shown in custom macro B). If you have this feature, you can eliminate the error-prone calculations and tool length compensation offset entry needed for tools on machining centers!

In the Fall 1994 issue of The Optional Stop, David Engel of H & K Incorporated in Waukesha, Wisconsin submitted an excellent idea for using an edge finder as a kind of manual probing system. This technique dramatically reduces the time, effort, and potential for operator error when measuring the program zero position during setup. In this article, we use the same principle to help with on-line tool length measurements.

While nothing beats the efficiency of measuring tool lengths off-line, there are times when production quantities are so low that there is no real advantage to measuring tool lengths off-line, and many companies have their CNC operators measuring tool length values on-line. Like the suggestion from Mr. Engel, this technique uses custom macro B to allow us access to the machines current position and to tool length compensation offsets from within the CNC program.

System variable #5003 gives us access to the current absolute Z position and the #2000 series system variables give us access to the tool length compensation offsets. This particular example assumes you are using the length of the tool as the tool length compensation offset value. However, it could be easily modified if you use the distance from each tool tip down to program Zero in Z as your tool length compensation value.

To keep this program simple, we assume a vertical machining center and work in sequential tool order starting with tool station number one. The operator will simply stop the program when the last tool length is measured. More elaborate techniques could be used if you wanted the operator to be able to designate which tool stations require measuring. Additionally, this program assumes all tools to be measured are in the machine’s tool changer magazine and that there is no tool in the spindle at the time this program is run.

Program
O9100 (Program to touch off tool lengths)
#3006=101 (TOUCH SPINDLE NOSE TO BLOCK)
#5003=0 (Set current Z position as program Zero surface)
G91 G01 Z1.5 F30. (Move away from block in Z)
G91 G28 Z0 M19 (Move to tool change position)
#101=1 (Counter for tool station number)
N1 T#101 M06 (Place current tool in spindle)
#3006=102 (TOUCH TOOL TIP TO BLOCK)
#[2000 + #101]=#5003 (Set tool length compensation offset)
G91 G01 Z1.5 F30. (Move away in Z)
G91 G28 Z0 M19 (Move to tool change position)
#101=#101 + 1 (Step tool station counter)
GOTO 1 (Return to N1)

To use this program, the setup person loads all tools to be measured into the tool changer magazine. Then, just as when measuring tool lengths completely manually, they will place a block on the table to be used as a reference point in Z (the top surface of the work holding setup is commonly used). They will then position the machine in X/Y so that the spindle nose (no tool in spindle) is above the block. When this program is run, the operator will be asked to touch the spindle nose to the block. Just as when measuring tool lengths completely manually, the operator will place the machine in manual mode, use jog to quickly position the spindle nose close to the block, and then cautiously touch the block (or gauge block) with the handwheel.

When this is done, they will place the machine back in automatic mode and press cycle start. The control will record this position in Z as the current program zero point (just like the operator does when manually resetting the Z axis display to zero) and then automatically move the machine to its tool change position. Tool number one will be placed in the spindle and the machine will stop again. The operator places the mode switch back to jog and cautiously touches the tool tip to the block. When this is done, they place the mode switch back to automatic and press cycle start. The length of tool is automatically stored in offset number one! This process is repeated for each tool until the last tool length is measured. This technique dramatically simplifies the tool length measuring process for the operator and eliminates tool offset entry mistakes.
http://www.cncci.com/resources/tips/tool%20length.htm

Posted by admin under CNC Tips | No Comments »

When should you tap?


November 12th 2008 By Web Development in India

Tapping tends to be the most error prone and frustrating operation a machining center performs. Depending upon the tap style, the material being machined, the size of the thread being tapped, and even the machine tool itself, tapping poses a variety of special problems. In many tapping applications, the operator must also blow out the chips formed during drilling and apply tapping compound.

If not properly planned, these problems can lead to wasted machine time, especially if the operator is expected to do other things during the machining center cycle. For this reason, we recommend that all tapping be done at the very end of the cycle.

We also recommend placing an M00 (program stop) in the program prior to the first tapping operation. This will allow the operator to blow away the chips and apply tapping compound. Also, once the cycle is reactivated, the operator will only have to monitor the balance of the program (only tapping will be left). He or she will be free during all other machining operations to perform other functions.

http://www.cncci.com/resources/tips/tap.htm

Posted by admin under CNC Tips | No Comments »

Using Standard And Inexpensive DNC Software


November 12th 2008 By Web Development in India

I read your fine article about distributive numerical control in the September 1994 issue of Cutting Tool Engineering and thought you might be interested in hearing about the simple setup we use in our “mom & pop” shop (grand total of one machining center) to send programs back and forth between our CAD/CAM system and machine control.

We’ve always had a serial cable linking the two, but the DNC part of our CAD/CAM system was cumbersome. I also had to spend a lot of time running back and forth between the machining center and the office when sending programs, which is about 50 feet away and up a long flight of stairs. I’m sure the exercise was good for me, but it wasn’t a very efficient use of shop time. Two little gems solved the problem for me, and I can’t believe how simple and inexpensive it was.

Gem number one is a device called PC Companion Plus, manufactured by Cybex Corporation of Huntsville Alabama (ph: 205-534-0011). It costs about $500.00 and consists of two small boxes and a cable that allowed us to hook up a remote monitor, keyboard, and mouse for the computer that the CAD/CAM system runs on. Now we have a computer work station in the shop and about ten feet from the machining center, with the original monitor, keyboard, mouse, CPU, and printer remaining upstairs. The CPU pays attention to whichever keyboard/mouse is being used.

This is much less expensive and complex than setting up a network and the speed of the system has not been degraded as I’m told it would have been with a network. Another advantage is that since there is only one CPU, we didn’t have to buy network licenses for our software. When we replaced our old CNC machines with a new Haas a couple of years ago, the installer and I couldn’t get the “pain-in-the-neck” DNC software from our CAD/CAM system to work with our new control.

We jury-rigged another communication software to do the job until one day I stumbled across gem number two, which had been right under my nose all along: the “Terminal” communications program that comes free with Microsoft Windows (version 3.1). Once I got the baud rate and everything else in Terminal set up to agree with the Haas control, I saved the settings in a .TRM file (I called it HAAS.TRM). Then I drug a copy the terminal icon from the Windows Program Manager Accessories group (where the windows installation program had put it by default) over to my CAD/CAM group, which is where we have all the icons for our CNC related software. Then I changed the icon to say Haas DNC instead of Terminal. In the properties for the icon, I added HAAS.TRM to the end of the command line and made the working directory the directory that the CAM system puts CNC programs when it posts them.

Now when I double-click on the Haas DNC icon, the Terminal program starts and the communications settings in the HAAS.TRM file are automatically loaded. Since the CNC programs are already in the specified working directory, they are automatically listed when I want to send a program. The procedure for sending a program from the PC to the machining center goes like this: On the machining center control panel, I press “List Programs”, cursor down to “All”, and press “RS232 Receive” (the actual procedure for Fanuc controls will be slightly different). Then I step over to the remote PC station, double click on the “Haas DNC” icon, click transfers, and then “Send Text File”. A list available CNC programs appears. I simply double click on the one I want to send. Total elapsed time for all of this is about fifteen seconds. Sending programs back from the Haas is similar.

As long as the program already exists, everything is done with mouse clicks; there is no need to type in file names or any other information. Though we only have one machine, communicating with more than one machine would simply require adding a card or cards for more serial ports in the PC (it seems to me that this would be preferable to, and probably not much more expensive than, an A-B-C manual switch box). You could make as many copies of the Terminal icon as you wanted and customize their properties (in the way I described) to suit the various machine controls with which you communicate. You could also easily assign each machine its own special subdirectory of the computer’s hard drive for program storage and specify its particular COM port number within the icon’s properties. With our Haas, we have also successfully sent the machine’s parameters and other settings to the PC as a .TXT file. This will come in handy some day if the control’s battery goes dead. I have one more gem for you.

Gem number three has to do with how we enter type manual programs. I have trashed the balky text editor that came with our CAD/CAM system in favor of Word for Windows, which I have customized for CNC program editing with a few macros I wrote in WordBasic (the Word macro language). Now a few mouse clicks zip me through a program and perform editing tasks that used to take much longer. One of the macros extracts certain information from the CAM system, like estimated cycle time and material data and adds it to the end of my CNC program in the form of comments. It also prompts me for other information, like customer name and workholding methods, which it also tacks onto the program. We no longer use a paper setup sheet since all information needed to run a job is right in the CNC program!

http://www.cncci.com/resources/tips/cnc%20soft.htm

Posted by admin under CNC Tips | No Comments »

Next »