There are many types of CNC programming jobs a Contract CNC programmer could be hired to perform because there are so many facets to CNC programming. The different facets of CNC programming come from the large variety of Computer Numerical Machines, combined with the extensive variety of machine controls, languages, and machine tool processes available today. Computer Numerical Controlled Machine Tools are available in different sizes and configurations to process work from lathes, multi-axis lathes, swiss lathes, vertical mills, horizontal mills, mill-turn machines, grinding machines, industrial lasers and more. These machines may perform different processes. However, they all have at least one thing in common, a Computer Numerical Control. The control is the brains of the machine and will function from specific inputs to create desired outputs. A well-experienced contract CNC programmer understands the challenges of not only processing the work but also how to understand and communicate with the machine tool.
The list of programming formats for machine tools used in the trade are endless too because the software used is always evolving and improving. The most common types of programming for machine tools are ISO, conversational, macro and variable script programming. ISO programming is a standardized method of programming a machine tool with lines of code consisting of a language using G and M codes as commands followed by numerical executable values. In conversational programming, the control is programmed by answering a series of questions, like “material type.” Macro and variable script programming is a type of programming that is not as widely used or understood as the other two types of programming. However, it is a very powerful programming tool that can be used on most CNC machines. The macro and variable script programming can be used to simplify programming and increase the function of the machine tool in certain applications.
Not all conversational or ISO controlled machine tools are the same. A good contract CNC programmer already knows this and will ask for specific information about your machine tool specific to the programming, parameters, and operational manuals, and possibly even the machine serial number, to get information about your machine from the reseller or machine tool company, depending on the application to be programmed. Aside from the most obvious differences between languages such as conversational and ISO controlled machines, there are subtle differences that need to be taken into consideration within programming languages and machine tools. A good example of this is the ISO programming language which has a standard format of code. However, there are subtle deviations and additions to the language from different machine tool builders. The reason the different machine tool builders create these subtle variations to the ISO programming language is to differentiate themselves from the competition, giving them a competitive advantage. An example of a machine tool specific code difference is the ISO programming command of G56, between a Haas and Okuma OSP control for a 3-axis vertical mill. The Haas control will execute this command to select the work coordinate system that will be used as the program point of the X-Y-Z zero location. The Okuma OSP control uses the G56 command to execute and select a tool height offset. The correct command for work coordinate offset selection in the Okuma OSP control is a G15 followed by “H,” like H01 or H02. The irony of the “H” code is that in the Haas control, it will be used to select the tool height offset.
The different types of work a contract CNC programmer will get hired for are as endless as there are machines and processes. Manufacturing is becoming more automated every day, and the need for CNC programming will only increase. According to the United States Department of Labor, Bureau of Labor Statistics between 2014-2024 there will be 12,400 computer numerically controlled machine tool programmer jobs available due to replacement and growth, with an 18.9% increase in demand for CNC programmers.