Computer Numerical Control: Difference between revisions

Content deleted Content added
m Reverted edits by 90.203.142.17 to last version by Three-quarter-ten (HG)
Line 20:
 
== Types of instruction ==
[[G-code]]s are known as preparatory and movement codes. Depending on the number directly following the G, they can perform an extremely wide range of commands. The G00 code for example, stands for Rapid Traverse, which moves the machine to a given point at top speed. In the industry it is known as the WFO command. The G01 command is the most common command, in which it tells the machine to move in linear interpolation to a given point. The G02/G03 (clockwise/counter clockwise) command is circular interpolation allowing the machine to make near perfect circles with one move.
Poo
 
The M-codes are the Misc. functions of the machine. They do things like turning the coolant on and off, activating drill cycles and starting chip conveyors. They complement the G-codes, for example the M03/M04 commands turns the [[Spindle (tool)|spindle]] on/off. The command M30 marks the end of a program.
 
===Movements===
 
Lately, some controllers have implemented the ability to follow an arbitrary curve [[Nonuniform rational B-spline|(NURBS)]], but these efforts have been met with skepticism since, unlike circular arcs, their definitions are not natural and are too complicated to set up by hand, and CAM software can already generate any motion using many short linear segments.
 
=== Drilling ===
A tool can be used to drill holes by pecking to let the [[swarf]] out. Using an internal [[screw thread|thread]] cutting tool and the ability to control the exact rotational position of the tool with the depth of cut, it can be used to cut screw threads.
 
A drilling cycle is used to repeat drilling or tapping operations on a workpiece. The drilling cycle accepts a list of parameters about the operation, such as depth and feed rate. To begin drilling any number of holes to the specifications configured in the cycle, the only input required is a set of coordinates for hole ___location. The cycle takes care of depth, feed rate, retraction, and other parameters that appear in more complex cycles. After the holes are completed, the machine is given another command to cancel the cycle, and resumes operation.
 
=== Parametric programming ===
 
A more recent advancement in CNC interpreters is support of logical commands, known as parametric programming. Parametric programs incorporate both G-code and these logical constructs to create a programming language and syntax similar to [[BASIC]]. Various manufacturers refer to parametric programming in brand-specific ways. For instance, [[Haas Automation]] refers to parametric programs as macros. [[FANUC Robotics|GE Fanuc]] refers to it as Custom Macro A & B, while [[Okuma]] refers to it as User Task 2. The programmer can make if/then/else statements, loops, subprogram calls, perform various arithmetic, and manipulate variables to create a large degree of freedom within one program. An entire product line of different sizes can be programmed using logic and simple math to create and scale an entire range of parts, or create a stock part that can be scaled to any size a customer demands.
 
Parametric programming also enables custom machining cycles, such as fixture creation and bolt circles. If a user wishes to create additional fixture locations on a work holding device, the machine can be manually guided to the new ___location and the fixture subroutine called. The machine will then drill and form the patterns required to mount additional vises or clamps at that ___location. Parametric programs are also used to shorten long programs with incremental or stepped passes. A loop can be created with variables for step values and other parameters, and in doing so remove a large amount of repetition in the program body.
 
Because of these features, a parametric program is more efficient than using CAD/CAM software for large part runs. The brevity of the program allows the CNC programmer to rapidly make performance adjustments to looped commands, and tailor the program to the machine it is running on. Tool wear, breakage, and other system parameters can be accessed and changed directly in the program, allowing extensions and modifications to the functionality of a machine beyond what a manufacturer envisioned.
 
==Tools with CNC variants==