A CNC user must understand the makeup of the CNC machine tool being used. While this may sound like a basic statement, a CNC user must be able to view the machine from two distinctly different perspectives. Here in key concept number two, we will be viewing the machine from a programmer's perspective. Much later, in key concept number seven, we will look at the machine from an operator's point of view.
Basic Machining Practice—The Key To Success With ANY CNC Machine
The first goal of any CNC beginner should be to understand the basic machining practice that goes into using the CNC machine tool.
Think of it this way. If you already know basic machining practice as it relates to the CNC machine you will be working with, you already know what it is you want the machine to do. It will be a relatively simple matter of learning how to tell the CNC machine what it is you want it to do (learning to program). This is why machinists make the best CNC programmers, operators, and setup personnel. Machinists already know what it is the machine will be doing. It will be a relatively simple matter of adapting what they already know to the CNC machine.
For example, a beginner to CNC turning centers should understand such things as rough and finish turning, rough and finish boring, grooving, threading, and necking. Since this form of CNC machine can perform multiple operations in a single program (as many CNC machines can), the beginner should also know the basics of how to process workpieces completely so a sequence of machining operations can be developed.
This point cannot be overstressed. Trying to learn about a particular CNC machine without understanding the basic machining practice related to the machine would be like trying to learn how to fly an airplane without understanding the basics of aerodynamics and flight.
From a programmer's standpoint, as you begin to learn about any new CNC machine, you should concentrate on four basic areas. First, you should understand the machine's most basic components. Second, you should become comfortable with your machine's directions of motion (axes). Third, you should become familiar with any accessories equipped with the machine. And fourth, you should find out what programmable functions are included with the machine and learn how they are programmed.
While you do not have to be a machine designer to work with CNC equipment, it is important to know how your CNC machine is constructed. This will help you to gage the limits of what is possible with your machine. Just as the race car driver should understand the basics of suspension systems, breaking systems, and the workings of internal combustion engines (among other things) in order to get the most out of a given car, so must the CNC programmer understand the basic workings of the CNC machine in order to get the most from it.
For a universal style, slant-bed turning center, for example, the programmer should know the bed, way system, headstock and spindle, turret construction, tailstock, and workholding device. Information regarding the machine's construction, including assembly drawings, is usually published right in the machine tool builder's manual. As you read the manual, here are some of the machine capacity and construction questions to which you should find answers.
- What is the machine's maximum RPM?
- How many spindle speed ranges does the machine have and what are the cut-off points for each range?
- What is the spindle and axis drive motor horsepower?
- What is the maximum travel distance in each axis?
- How many tools can the machine hold?
- What way construction does the machine incorporate (usually square ways, dovetail, and/or linear bearing ways).
- What is the machine's rapid rate (fastest traverse rate)?
- What is the machine's fastest cutting feed rate?
These are but a few of the questions you should be asking yourself as you begin working with any new CNC machine. Truly, the more you know about your machine's capacity and construction, the easier it will be to get comfortable with the machine.
Directions Of Motion (Axes)
The CNC programmer must know the programmable motion directions (axes) available for the CNC machine tool. The axes names will vary from one machine tool type to the next. They are always referred to with a letter address. Common axis names are X, Y, Z, U, V, and W for linear axes and A, B, and C for rotary axes. The beginning programmer should confirm these axis designations and directions (plus and minus) in the machine tool builder's manual.
As discussed in key concept number one, whenever a programmer wishes to command movement in one or more axes, the letter address corresponding to the moving axes as well as the destination in each axis are specified. X3.5, for example tells the machine to move the X axis to a position of 3.5 inches from the program zero point in X (assuming the absolute mode of programming is used).
Rotary axis departures still require a letter address (usually A, B, or C) along with the end point for the motion. However, the end point for a rotary axis motion is specified in degrees (not inches or millimeters). A rotary axis command given in the absolute mode of B45., for example, would rotate the B axis to an end point of 45 degrees from the program zero.
The Reference Point For Each Axis
Most CNC machines utilize a single position along each axis as a starting or reference point. Some control manufacturers call this position the zero return position. Others call it the grid zero position. Yet others call it the home position. Regardless of what it is called, the reference position is required by many controls as an accurate point of reference. CNC controls that utilize a reference point for each axis require that the machine be sent to its reference point in each axis as part of the power up procedure. Once this is completed, the control will be in sync with the machine's physical position.
The specific reference position for each axis will vary from machine to machine. Most machine tool builders make the reference position the extreme plus side of each axis. You must reference your machine tool builder's manual for more on whether your machine incorporates a reference position and, if it does, its precise location.
Accessories To The Machine
The third area a beginning CNC user should address is related to other possible additions to the basic machine tool itself. Some of these accessories may be made and supported by the machine tool builder, and should be well documented in the builder's manual. Other accessories may be made by an after-market manufacturer, in which case a separate manual may be involved.
Examples of CNC accessories include probing systems, tool length measuring devices, post process gaging systems, automatic pallet changers, adaptive control systems, bar feeders for turning centers, live tooling and C axis for turning centers, and automation systems. The list of potential accessory devices goes on and on.
The programmer must also know what functions of the CNC machine are programmable (as well as the related commands). With low cost CNC equipment, oftentimes many machine functions must be manually activated. With some CNC milling machines, for example, about the only programmable function is axis motion. Spindle speed and direction, coolant and tool changes may have to be activated manually by the operator.
With full blown CNC equipment, on the other hand, almost everything is programmable and the operator may only be required to load and remove workpieces. Once the cycle is activated, the operator is freed to do other functions.
Reference the machine tool builder's manual to find out what functions of your machine are programmable. To give you some examples of how many programmable functions are handled, following are a few of the most common programmable functions along with their related programming words.
- Spindle Control. An "S" word is used to specify the spindle speed (in RPM for machining centers). An M03 is used to turn the spindle on in a clockwise (forward) manner. M04 turns the spindle on in a counter clockwise manner. M05 turns the spindle off. Note that turning centers also have a feature called constant surface speed which allows spindle speed to be specified in surface feet per minute (or meters per minute).
- Automatic Tool Changer (Machining Center). A "T" word is used to tell the machine which tool station is to be placed in the spindle. On most machines, an M06 tells the machine to actually make the tool change.
- Tool Change (On Turning Centers). A four digit "T" word is used to command tool changes on most turning centers. The first two digits of the T word specify the turret station number and the second two digits specify the offset number to be used with the tool. T0101, for example, specifies tool station number one with offset number one.
- Coolant Control. M08 is used to turn on flood coolant. If available, M07 is used to turn on mist coolant. M09 turns off the coolant.
- Automatic Pallet Changer. An M60 command is commonly used to make pallet changes.
Other Programmable Features
As stated, programmable functions will vary dramatically from one machine to the next. The actual programming commands needed will also vary from builder to builder. Be sure to check the M codes list (miscellaneous functions) given in the machine tool builder's manual to find out more about what other functions may be programmable on your particular machine. M codes are commonly used by the machine tool builder to give the user programmable ON/OFF switches for machine functions. In any case, you must know what you have available for activating within your CNC programs.
For turning centers, for example, you may find that the tailstock and tailstock quill are programmable. Chuck jaw open and close may be programmable. If the machine has more than one spindle range, commonly the spindle range selection is programmable. And if the machine has a bar feeder, it will be programmable. You may even find that your machine's chip conveyor can be turned on and off through programmed commands. All of this, of course, is important information to the CNC programmer.blog comments powered by Disqus