|
Computer Numerical Control Programming 101
CNC programming uses a code similar in structure to BASIC.
So, if you know how to construct a simple counting program,
chances are, you already know what a G-Code looks like. However,
there a few other things you have to consider before you start
encoding instructions.
After World War II, people realized that they have to
manufacture goods at a faster rate and at a lower cost. Hence,
mass production trending came to be. Those events led to the
development of the Numerical Control (NC) machines which in turn
led to the Computer Numerical Control (CNC).
HOW TO PROGRAM A CNC MACHINE
CNC programming uses a code similar in structure to BASIC. So,
if you know how to construct a simple counting program, chances
are, you already know what a G-Code looks like. However, there a
few other things you have to consider before you start encoding
instructions.
The first thing that you have to do is to assign values for each
of the variables. These variables include the programmable
motion directions (axes), and the reference point for the axes.
The values that you assign to these variables dictate the
movement of the machine.
The next thing that you have to do is to take into account the
accessories of the machine. Many machines have accessories that
are designed to enhance the capabilities of the basic device.
However, using these accessories requires you to include them in
the coding system. This means that if you want a more efficient
machine, you will have to know the machine inside out.
READING CODES
After those steps, you have to create a subprogram that will
deal with the math. This step will then allow your machine to
compute the necessary variables and effectively operate without
stopping to ask the operator what the limitations are.
To show you what these codes look like, here’s an example from
Wikipedia:
#100=3 (bolt circle radius)
#101=10 (how many holes)
#102=0 (x position of ctr of bolthole)
#103=0 (y position of ctr of bolthole)
#104=0 (angle of first hole
Tool call,
spindle speed,and offset pickup,etc
G43 in some cases (tool length pickup)
G81(drill cycle)
call sub program
N50
G80
M30
Subprogram
N100
#105=((COS#104)*#100) (x location)
#106=((SIN#104)*#100) (y location)
x#105 y#106 (remember your G81 code is modal)
If #100 GT 360 goto N50
#100=(#100+(360/#101))
Goto 100
In the code above, the machine is a drill. The operator utilized
a loop in order to keep the machine from stopping. The
subprogram then governs the cycle of the machine. This code is
still quite a simple code. Other machines require the inclusion
of the maximum RPM in the coding.
An easier way of programming CNC machines would be the use of
Computer Aided Manufacturing (CAM). This system takes on the
brunt of programming so that it doesn’t seem so tedious and
frustrating. It is still similar to BASIC.
Another programming enhancement that was developed was the
parametric programs or the logical commands. These programs were
designed to shorten lengthy codes in order to make them user
friendly. However, these codes do not always use the same
language with every machine. The language and sequence often
varies depending on the typ of machine you will be working on.
The operator has to know what the machine can do or what it was
made to do before attempting to program it. You should be able
to visualize the machine doing what you want it to do.
But, you don’t have to be a math wizard or a programming genius.
You just have to know what your machine does and what you want
it to do.
Related Articles:
CAM and CNC machines
CNC Operator Job Requirements
CNC Pad Printing
Common Applications of Computer Numerical Control
Computer Numerical Control Machine Setup and Operation
Computer Numerical Control Machines
Computer Numerical Control Programming
Tips
G codes used for programming Computer Numerical Controlled
Machines
Methods For Transferring CNC Data
Motion control is the simplest function of any Computer
Numerical Control (CNC) machine
Planning Computer Numerical Control Programs
Understanding Computer Numerical Control
|