Jump to content

Computer numerical control: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
m Reverted edits by 99.247.183.222 to last version by 205.232.191.16 (HG)
Jdstroy (talk | contribs)
m Undid revision 250254787 by 205.232.191.16 (talk)
Line 4: Line 4:
[[Image:CNC panel Sinumerik.jpg|thumb|CNC panel [[Siemens]] Sinumerik]]
[[Image:CNC panel Sinumerik.jpg|thumb|CNC panel [[Siemens]] Sinumerik]]
[[Image:CNC panel.jpg|thumb|upright|Siemens CNC panel]]
[[Image:CNC panel.jpg|thumb|upright|Siemens CNC panel]]
<!-- Unsourced image removed: [[Image:Nichols-ducati-part.jpg‎|thumb|CNC product|{{Typical computer numerical control tool enclosure|1=Thursday, 14 February 2008}}]] -->
<!-- Unsourced image removed: [[Image:Nichols-ducati-part.jpg‎|thumb|CNC product|{{Typical CNC tool enclosure|1=Thursday, 14 February 2008}}]] -->
'''Computer numerical control''' ('''CNC''') is a computer "controller" that reads [[G-code]] and [[M-code]] commands and drives a [[machine tool]], a powered mechanical device typically used to fabricate components by the selective removal of material. computer numerical control does numerically directed interpolation of a cutting tool in the work envelope of a machine. The operating parameters of the computer numerical control mills can be altered via the Master Control Unit (MCU) of the machine.
'''Computer numerical control''' ('''CNC''') is a computer "controller" that reads [[G-code]] and [[M-code]] commands and drives a [[machine tool]], a powered mechanical device typically used to fabricate components by the selective removal of material. CNC does numerically directed interpolation of a cutting tool in the work envelope of a machine. The operating parameters of the CNC can be altered via the Master Control Unit (MCU) of the machine.


==Historical overview==
==Historical overview==
computer numerical control was preceded by [[Numerical control|NC (Numerically Controlled)]] machines, which were hard wired and their operating parameters could not be changed. NC was developed in the late 1940s and early 1950s by John T. Parsons in collaboration with the [[MIT]] Servomechanisms Laboratory. The first computer numerical control systems used NC style hardware, and the computer was used for the tool compensation calculations and sometimes for editing.
CNC was preceded by [[Numerical control|NC (Numerically Controlled)]] machines, which were hard wired and their operating parameters could not be changed. NC was developed in the late 1940s and early 1950s by John T. Parsons in collaboration with the [[MIT]] Servomechanisms Laboratory. The first CNC systems used NC style hardware, and the computer was used for the tool compensation calculations and sometimes for editing.


Punched tape continued to be used as a medium for transferring G-codes into the controller for many decades after 1950, until it was eventually superseded by [[RS232|RS232 cables]], floppy disks, and now is commonly tied directly into [[Computer network|plant networks]]. The files containing the G-codes to be interpreted by the controller are usually saved under the .NC extension. Most shops have their own saving format that matches their [[International Organization for Standardization|ISO]] certification requirements.
Punched tape continued to be used as a medium for transferring G-codes into the controller for many decades after 1950, until it was eventually superseded by [[RS232|RS232 cables]], floppy disks, and now is commonly tied directly into [[Computer network|plant networks]]. The files containing the G-codes to be interpreted by the controller are usually saved under the .NC extension. Most shops have their own saving format that matches their [[International Organization for Standardization|ISO]] certification requirements.


The introduction of computer numerical control milling machines radically changed the manufacturing industry. Curves are as easy to cut as straight lines, complex 3-D structures are relatively easy to produce, and the number of machining steps that required human action have been dramatically reduced.
The introduction of CNC machines radically changed the manufacturing industry. Curves are as easy to cut as straight lines, complex 3-D structures are relatively easy to produce, and the number of machining steps that required human action have been dramatically reduced.


With the increased automation of manufacturing processes with computer numerical control machining, considerable improvements in consistency and quality have been achieved with no strain on the operator. computer numerical control automation reduced the frequency of errors and provided computer numerical control operators with time to perform additional tasks. computer numerical control automation also allows for more flexibility in the way parts are held in the manufacturing process and the time required to change the machine to produce different components.
With the increased automation of manufacturing processes with CNC machining, considerable improvements in consistency and quality have been achieved with no strain on the operator. CNC automation reduced the frequency of errors and provided CNC operators with time to perform additional tasks. CNC automation also allows for more flexibility in the way parts are held in the manufacturing process and the time required to change the machine to produce different components.


== Production environment ==
== Production environment ==
A series of computer numerical control mills may be combined into one station, commonly called a "cell", to progressively machine a part requiring several operations. CNC machines today are controlled directly from files created by [[Computer-aided manufacturing|CAM]] software packages, so that a part or assembly can go directly from design to manufacturing without the need of producing a drafted paper drawing of the manufactured component. In a sense, the computer numerical control machines represent a special segment of industrial robot systems, as they are programmable to perform many kinds of machining operations (within their designed physical limits, like other robotic systems). CNC machines can run over night and over weekends without operator intervention. Error detection features have been developed, giving computer numerical control machines the ability to call the operator's mobile phone if it detects that a tool has broken. While the machine is awaiting replacement on the tool, it would run other parts it is already loaded with up to that tool and wait for the operator. The ever changing intelligence of CNC controllers has dramatically increased job shop cell production. Some machines might even make 1000 parts on a weekend with no operator, checking each part with lasers and sensors.
A series of CNC machines may be combined into one station, commonly called a "cell", to progressively machine a part requiring several operations. CNC machines today are controlled directly from files created by [[Computer-aided manufacturing|CAM]] software packages, so that a part or assembly can go directly from design to manufacturing without the need of producing a drafted paper drawing of the manufactured component. In a sense, the CNC machines represent a special segment of industrial robot systems, as they are programmable to perform many kinds of machining operations (within their designed physical limits, like other robotic systems). CNC machines can run over night and over weekends without operator intervention. Error detection features have been developed, giving CNC machines the ability to call the operator's mobile phone if it detects that a tool has broken. While the machine is awaiting replacement on the tool, it would run other parts it is already loaded with up to that tool and wait for the operator. The ever changing intelligence of CNC controllers has dramatically increased job shop cell production. Some machines might even make 1000 parts on a weekend with no operator, checking each part with lasers and sensors.


== Types of instruction ==
== Types of instruction ==
Line 35: Line 35:
=== Parametric programming ===
=== Parametric programming ===


A more recent advancement in computer numerical control 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.
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.
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.

Revision as of 17:10, 13 November 2008

A CNC Turning Center
CNC panel Siemens Sinumerik
Siemens CNC panel

Computer numerical control (CNC) is a computer "controller" that reads G-code and M-code commands and drives a machine tool, a powered mechanical device typically used to fabricate components by the selective removal of material. CNC does numerically directed interpolation of a cutting tool in the work envelope of a machine. The operating parameters of the CNC can be altered via the Master Control Unit (MCU) of the machine.

Historical overview

CNC was preceded by NC (Numerically Controlled) machines, which were hard wired and their operating parameters could not be changed. NC was developed in the late 1940s and early 1950s by John T. Parsons in collaboration with the MIT Servomechanisms Laboratory. The first CNC systems used NC style hardware, and the computer was used for the tool compensation calculations and sometimes for editing.

Punched tape continued to be used as a medium for transferring G-codes into the controller for many decades after 1950, until it was eventually superseded by RS232 cables, floppy disks, and now is commonly tied directly into plant networks. The files containing the G-codes to be interpreted by the controller are usually saved under the .NC extension. Most shops have their own saving format that matches their ISO certification requirements.

The introduction of CNC machines radically changed the manufacturing industry. Curves are as easy to cut as straight lines, complex 3-D structures are relatively easy to produce, and the number of machining steps that required human action have been dramatically reduced.

With the increased automation of manufacturing processes with CNC machining, considerable improvements in consistency and quality have been achieved with no strain on the operator. CNC automation reduced the frequency of errors and provided CNC operators with time to perform additional tasks. CNC automation also allows for more flexibility in the way parts are held in the manufacturing process and the time required to change the machine to produce different components.

Production environment

A series of CNC machines may be combined into one station, commonly called a "cell", to progressively machine a part requiring several operations. CNC machines today are controlled directly from files created by CAM software packages, so that a part or assembly can go directly from design to manufacturing without the need of producing a drafted paper drawing of the manufactured component. In a sense, the CNC machines represent a special segment of industrial robot systems, as they are programmable to perform many kinds of machining operations (within their designed physical limits, like other robotic systems). CNC machines can run over night and over weekends without operator intervention. Error detection features have been developed, giving CNC machines the ability to call the operator's mobile phone if it detects that a tool has broken. While the machine is awaiting replacement on the tool, it would run other parts it is already loaded with up to that tool and wait for the operator. The ever changing intelligence of CNC controllers has dramatically increased job shop cell production. Some machines might even make 1000 parts on a weekend with no operator, checking each part with lasers and sensors.

Types of instruction

G-codes are known as your 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 (wide, f***ing, Open). The G01 command is the most common command, in which it tells the machine to move in linear interpolation to a given point. The G03 command is circular interpolation allowing the machine to make near perfect circle with one move.

The M-code is the Misc. Functions of the Machine. They do things like turning the coolant on and off. Turning on drill cycles and. chip conveyors. they are quite important codes to have. They also stop the program as in the M30 command give below. (stop, reset, rewind).

Movements

Lately, some controllers have implemented the ability to follow an arbitrary curve (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 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. 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.

There are three types of variables used in CNC systems: local variable, common variable, and system variable. Local variable is used to hold data after machine off preset value. Common variable is used to hold data if machine switch off does not erase form data. The System variable this variable used system parameter this cannot use direct to convert the common variable for example tool radius, tool length, and tool height to be measured in millimeters or inches.

Typical logic to a parameter program is as follows;

First define variables to start your program.
          -bolt circle radius
          -how many holes
          -centerpoint of bolt circle
Next build a subprogram that crunches the math.
When you are ready to drill or tap your holes, run the drill cycle
off of your math in subprogram. 
   tool-change-point .....
   T101 (REVOLVER 1 CORRECTION 1 TOOL CALL)
   G97 S1000 M3 (SPINDLE SPEED, ROTATION DIRECTION)
   offset pickup,etc .....
   G43 ..... in some cases (tool length pickup)
   #100=15 (RADIUS)
   #101=10 (HOW MANY HOLES)
   #102=50 (REJUMP-PARAMETER)
   #103=0 (CIRCLE-CENTER X)
   #104=-10 (CIRCLE-CENTER Y)
   G81 ..... (DRILL CYCLE)
   GOTO 100 (JUMP TO SUBPROGRAM)
   N50
   (REUSE THE SUBprogramm)
   #100=7.5 (RADIUS ROUND 2)
   #101=7
   #102=51
   GOTO 100 (JUMP TO SUBPROGRAM)
   N51
   G80 (DEACTIVATE MODAL G81)
   M30
  
   (SUBprogram)
   N100 (THIS LINE HERE IS USES AS A MARKER)
   #105=0 (INIT)
   N101 X[COS[#105]*#100+#103] Y[SIN[#105]*#100+#104]  (REMEMBER YOUR G81 CODE IS MODAL)
   #105=#105+[360/#101]
   IF [#105 LT 360] GOTO 101 (IF #105 < 360 -> NEXT ROUND)
   GOTO #102

 This is just a model to show the logic of programming.
 As all languages have some differences, The logic can change from operating system, to operating system. 
 A Machine is never the same as it's neighbor, they are all different. 

((Please do not attempt to run this program, it has been given a Lathe tool change code, and A milling G93))

Tools with CNC variants

See also

References

Template:Metalworking - CNC, CAD, and CAM