CNC Programming Training

CNC Programmer Training Requirements

In order to become a CNC programmer, you must have extensive knowledge and experience as a machinist and troubleshooter. Programs are written in G-codes and M-codes, but modern CAM/CAD software has made it easier to perform complex and precise operations. Depending on how quickly you catch on, it can take years to learn how to program parts from start to finish. You must know the ins-and-outs of machining; how machines work, how materials react, what kind of cuts to make, what tools to use and how to use them, how to order the operations, and the list goes on.

Machinists use to mill, cut, drill, and form parts on a manual machine. This resulted in much slower and less-than-consistent parts, depending on who was running the machine. However, being able to machine parts on a manual mill and lathe will greatly help you understand on how to program parts in the future. I also strongly recommend that you learn how to hand write your programs before delving into CAM/CAD software. It will take longer to learn, but being able to edit/fix your program after it is written on software is priceless.

The time of programming training you need depends on the machine shop you’re working in and how complex the parts are. A shop that makes fairly simple parts on 3-axis CNC mills will require much less training than a shop that does 4 or 5+ axis milling.

Most machinists learn on the job over the years from more experienced people and work their way up the ladder.

What Are the Benefits of Becoming a CNC Programmer?CNC Programming Training (2)

There’s several good reasons why you should train and work hard to become a programmer. Yes, it is more demanding with an increase in pressure, but what higher paying jobs aren’t?

The first reason is obvious, as you will be getting paid more than a machine operator. This reason alone is worth the time spent learning and practicing how to program. Learn from the best and you’ll be the best.

Second, it will open up more possibilities in the future if you plan on moving some place else. It’s always good to add things to your resume, and more companies will consider you with programming experience under your belt.

Another reason to train to become a cnc programmer is because you won’t be doing the dirty grunt work. No more cutting stock, deburring parts, or getting filthy from all the oils and dust. Programming is usually done in a separate room or part of the building that is clean with computers.

Where Do I Get CNC Programming Training?

If you are already on the job as a machinist, the best way to learn how to program is by “shadowing” someone that already knows how and is willing to teach you over time. If you have an experienced co-worker that has the ability to do that, take every advantage of that as you can!

That, and taking classes at your local Tech school are going to be the easiest ways to get trained in. If you have the time, it might be worth it to check your local Technical school for CNC Programming courses. There you will get hands-on work, and you will learn new things faster since you will be working on it every day.

Another possible way of learning how to program is with a Programming Training Software. If you are good at learning things on your own, this may be the best route for you, as you can train on your own time. It’s cheaper than going to school, and you can always go back and re-learn things. However, if you are someone that asks a lot of questions and needs a mentor, this may not be for you.

Click Here To Buy My CNC Programming Handbook. I have found this book to be the most resourceful as far as programming goes. Everything you need to know about programming 3-axis parts is in this book.

Used CNC Milling Machines – What To Look For

Looking to start your own little shop with a CNC milling machine? They can be used to make extravagant parts and turn huge profits if operated by an experienced CNC Machinist. However, if you don’t know what to look for or have proper training, a machine can turn into a very expensive paper weight in your garage.

If you know what you are doing on a CNC machine and are serious about starting a small shop, lets take a look at some things that you should be on the lookout for when buying a used machine. You don’t want to spend thousands on a milling center only to have it need thousands more in maintenance done…

Age

Obviously, the newer the machine the better, as an older one will inevitably cost you more money due to higher maintenance. How efficient do you want to be, and how big is your competition? If speed is not very important, a CNC mill that is 10-15 years old will get the job done, assuming it is in good shape.

SizeOLYMPUS DIGITAL CAMERA

How big of a machine do you need? How big are your parts going to be? Do you have room in your garage/shop? Remember that you have to not only include the machine dimensions, but an additional amount of space around it as well. A common machine will have 40 inches of travel on the X-axis, and 15-20 on the Y-axis. Don’t need something that big? There’s some that are 30 inches, and the mini/tool-room mills have 15-20 inches in both directions. Price coincides with size, so if you are on a budget, get the smallest one possible. This will also allow you to find one that’s a little newer, due to it costing less than a bigger machine.

# of Tools

How big of a tool changer do you need? 10? 20? 40? ATC’s (automatic tool changer) come in a variety of sizes and locations. Smaller carousels that have 10 or 20 pockets are often inside the machines enclosure. If you need one with more pockets or on the outside of the machine, it’s going to cost a little more.

Spindle Hours

The number of running hours on the spindle is an important factor to consider when looking at a used CNC milling center for sale. Machine on time isn’t as important because the spindle won’t be running or feeding. The seller must be able to show you how many hours it has. If they don’t, they’re probably trying to hide something, so it’s best to steer clear from that machine. Under 4000 hours is a good start.

Options

Although options may not add a lot to the value, it may be harder to find the exact machine you want. Some of the popular options on CNC mills are: chip auger, rigid tapping, tool setter/probe, high-speed machining, high-speed spindle, larger coolant tank, coolant-through spindle lines, 4th axis, faster rapid movements.

It all depends on what you need the machine to do, and how patient you are in finding the right machine. The longer you wait, the more deals will show up.

Controller

Are you accustomed to a certain machine controller? If you need a specific brand/model, that will either cost more, or will take longer to find. Fanuc and Yasnac, Fadal, and Mitsubishi are common CNC controls. While they are able to do a lot of the same things, navigation and codes can be quite a bit different. If you’re not sure which one you want, doing plenty of research before will save a lot of time and hassle in the long run when you actually buy a machine.

Noises

It is important for you to go and look at the machine prior to purchasing it. If it is out of state, find a professional or someone you trust to look at it. The seller may be hiding something that can only be  noticed when the machine is running.

Run the spindle and various speeds and listen for any noises/humming sounds. Machines with multiple gears may not make any weird sounds at high RPM, but will at a lower RPM in low gear.

The best way to test a machine is to run a part on it. Have it do rapid moves in all directions and listen for any sounds in the head and ways. Have them do other cycles, such as tapping, drilling, and some hard cuts with an end mill. These tests will give you a good idea if anything needs to be replaced right away.

Shipping

Last, but not least, do you have a way to transport or ship the machine you want to buy? CNC Milling machines are very large, and can cost a lot to ship to your house/shop if they’re out of state. Do so research and find a good company that will ship it without breaking the bank.

To get an idea of how much a machine will cost, check out some listings on eBay. That will give you a better idea on what size, age, and powerful of a milling machine you can afford.

G-Codes List For CNC Machine Programming

To be able to program CNC code, you must know most, if not all, of the G-codes and what they do. A CNC machinist will know how and when to use each code so that that part will run the most efficient. The program address “G” is a preparatory command. It prepares or presets the control system to use a certain mode or operation. Below is the list of G-codes that are used in most modern CNC Milling machines:

  • G00 – Rapid positioning
  • G01 – Linear interpolation
  • G02 – Circular interpolation clockwise (CW)
  • G03 – Circular interpolation counterclockwise (CCW)
  • G04 – Dwell – as a separate block only
  • G05 – High-speed machining on Fanuc control (Look ahead)
  • G09 – Exact stop check – one block only
  • G10 – Programmable data input – Data Setting
  • G11 – Data Setting mode cancel
  • G15 – Polar Coordinate Command cancel
  • G16 – Polar Coordinate Command
  • G17 – XY-plane designation
  • G18 – ZX-plane designation
  • G19 – YZ-plane designation
  • G20 – Imperial units of input (Inches)
  • G21 – Metric units of unput
  • G22 – Stored stroke check ON
  • G23 – Stored stroke check OFF
  • G25 – Spindle speed fluctuation detection ON
  • G26 – Spindle speed fluctuation detection OFF
  • G27 – Machine zero position check
  • G28 – Machine zero return (reference point 1)
  • G29 – Return from machine zero
  • G30 – Machine zero return (reference point 2)
  • G31 – Skip function
  • G40 – Cutter radius compensation cancel
  • G41 – Cutter radius compensation – left
  • G42 – Cutter radius compensation – right
  • G43 – Tool length compensation – positive
  • G44 – Tool length compensation – negative
  • G45 – Position compensation – single increase
  • G46 – Position compensation – single increase
  • G47 – Position compensation – double increase
  • G48 – Position compensation – double increase
  • G49 – Tool length offset cancel
  • G50 – Scaling function cancel
  • G51 – Scaling function
  • G52 – Local coordinate system setting
  • G53 – Machine coordinate system
  • G54 – Work coordinate offset 1
  • G55 – Work coordinate offset 2
  • G56 – Work coordinate offset 3
  • G57 – Work coordinate offset 4
  • G58 – Work coordinate offset 5
  • G59 – Work coordinate offset 6
  • G60 – Single direction positioning
  • G61 – Exact stop mode
  • G62 – Automatic corner override mode
  • G63 – Tapping mode
  • G64 – Cutting mode
  • G65 – Custom macro call
  • G66 – Custom macro modal call
  • G67 – Custom macro modal call cancel
  • G68 – Coordinate system rotation
  • G69 – Coordinate system rotation cancel
  • G73 – High speed peck drilling cycle (deep hole)
  • G74 – Left hand threading cycle
  • G76 – Fine boring cycle
  • G80 – Fixed cycle cancel
  • G81 – Drilling cycle
  • G82 – Spot-drilling cycle
  • G83 – Peck-drilling cycle (deep hole drilling cycle)
  • G84 – Right hand threading cycle
  • G85 – Boring cycle
  • G86 – Boring cycle
  • G87 – Back boring cycle
  • G88 – Boring cycle
  • G89 – Boring cycle
  • G90 – Absolute dimensioning mode
  • G91 – Incremental dimensioning mode
  • G92 – Tool position register
  • G98 – Return to initial level in a fixed cycle
  • G99 – Return to R-level in a fixed cycle
3rd Edition
3rd Edition

Two G-codes may be used in the same block (line), such as G00 and G90, if you want to Rapid to a position in the Absolute mode.

Not all of the listed G-codes are applicable to every CNC machine, so please refer your machine’s manual for confirmation.

For more info on programming, check out the CNC Programming Handbook. It is the most informative and accurate book that I have come across for for programming.

CNC Machinist Job Description

There are many things a machinist may do on a job, and it mainly depends on what kind of shop you are in. For the most part you will be:

Setting up a CNC machine, loading/making the part program, setting up or making fixtures, loading and running parts, deburring and inspecting parts to make sure they’re within tolerance.

While that is the general type of work you will be doing, the list is really endless. You must be able to problem solve, and sometimes the only time you can get something to work is if you have done it before. Experience is one of the most important traits to a good machinist. They will know what to do and when to do it.

What You Must Know Before CNC Machinist Training

CNC Machinist Job DescriptionCNC machining is not for everyone, as it requires many mechanical skills. You must be good with your hands, and be able to quickly learn things. Being able to problem solve on a daily basis is a must. You will be running machines that cost anywhere from 20k, to half a million dollars, and sometimes more. With these machines, it only takes a blink of an eye to make a mistake; a mistake that could cost the company thousands.

Not only are the machines expensive, but some parts that have multiple operations can cost thousands in labor time as well. Unfortunately, even the best of us mess up at times; we’re only human. The more you pay attention to everything you’re doing, and the more experience you have, the less mistakes you’ll make.

A Machinist must be able to inspect his/her own parts to check whether they are in tolerance or not. If not, they need to determine whether a tool offset, work offset, or other variable needs to be changed. The more experience you have, the more you’ll be able to do on your own, which generally means higher pay. You must be able to read and write in legible English, and pass any drug/screening tests that the company or temp-agency has you do. Reading a blueprint, and knowing how to use basic tools such as: micrometer, caliper, gages, and basic drill charts are a must.

Since CNC Programming has become so popular, it’s important that you have some computer skills,  and being able to use CAD/CAM software is a major plus if there are openings for a programmer in the future (if that’s where you want to be at). Programmers get paid more for their ability to make part programs on 3D programming software, as opposed to the Machinists that are on the shop floor. The Machinists must be able to communicate with the programmers and/or engineers to ensure the design and processes will work, or be able to fix them if not.

Last, but not least, a CNC machinist will maintain a safe working environment by knowing how machines work, and what not do to in certain situations. Safety is very important in manufacturing, as it is very easy for things to go wrong, and it happens fast.

The more you know, the more possibilities you will have available. A machinist will continue to update their job knowledge by going to new classes, and being taught by more experienced machinists, thus providing more production to the company.