You are on page 1of 32

!

!"
!
#
%

!
!&
%

'

!)
$

!*

$
+

#
!,

!*
$
!*
$

!
$
$

!*

%
%

.
$
!

!*

!+
!/
$

#
!

$
%

!/
$

!
!
-

!1

!
$

!)
$!
$
$

!2

$
!
$

!
$

#
$

!2
!,

#
0

2
!

0 0

!*
%

# !
#
!

!
+

$
%

Figure 1. A conventional machine's slide is moved by an


operator turning the handwheel. Accurate positioning is
accomplished by the operator counting the number of
revolutions made on the handwheel, plus the graduations on
the dial.

!3
$

#
!

#
!
!*

# !*

$
$

!*
$
!6

#!
!

"

Figure 2. A CNC machine takes the commanded position


from the CNC program. The drive motor is rotated a
corresponding amount, which in turn drives the ballscrew,
causing linear motion of the axis. A feedback device confirms
that the proper amount of ballscrew revolutions have
occurred.

#
!
$
#

7+
8 .

#
!
.
8

!6

(
!

!*
%

!2
#

(
!*

0
!"

!/
!*
#

$
!+
!

;
!'

!
$
!

$
:

Figure 3. Graph illustrates the use of base lines, the increments


used for each base line, and the origin point used when graphing.

!
)

!,
$
!
< (

!+
#

!6

!<$

$
!

! 4

!"
#

!6

!+

!+

! 4

!
:

$
-

!/

!
!

#
!

#
>

?
# !

#
@* 6
#

A B
#

!
*

$
-

#!

!'
-

Figure 4. Rectangular coordinate system for X-Y plane.


The program zero point establishes the point of reference
for motion commands in a CNC program. This allows the
programmer to specify movements from a common
location. If program zero is chosen wisely, usually
coordinates needed for the program can be taken directly
from the print.

%
!+
!
#

!
#

!
!+

%
%
!

!/

%
%

&

"

*
!+
-

!1
#

+
(
$

.
1

!/

D./

Figure 5. If an end point needed within a CNC program


falls in any quadrant other than quadrant number one, a
minus sign must be included in at least one of the axis
designations.

!6

!+

$
$

D.
(

E
!
%

&

"

$
$
$
!+

!,

$' $

F
-

!1

!*
!/

Figure 6. In this example, program zero is placed in the


center of the ring. Notice that any coordinates to the left of, or
below, program zero are specified as ngative positions.

3G5

!
*

$
'

!)
!
!)

!*

%
!

1
$

#
!

!/ (
$

!
' $

*
!

0 $

#
!6

!"
!

> ?@

Figure 7. It is very easy to tell the precise location of the tool in any
command given in the absolute mode. In the incremental mode, it can be
very difficult to determine the tool's current position for a given motion
command.

$
!A

"
!
,
#

0
!?

!2

!
!?

!
#

!
+

!
$

!:

$
$

!/
!

$
-

!*
$

:
!:

"
!
#

!+

#
!+

!+

$
!

 


 

*

#
!F

   !" #%$&!'


( )% *&+ ,.,/  
01  2-35476847-3%9
4/ +  -% 0:9/  0
- 
 4;1  0+  5<>= ?'@@%A CB

$
$
!+
#

$
%
#

!
!,
#

#
#

!H
#

 8 %DE7F2E
 A ;1 0-3 GCHI+ ,/2- 1 
2JJ 1
47-'K2 + 

!*
0

' $

*
"

!
!
!
!
0

!1
!
0'
0 2%
*0'
+ 0 >0 #
, 0 ?0 #
( 0 @0 #
-0H
0
02
0
.0
0
;
0)

A
A
2

  Y'%LMQCZ[E Y
\ )'E  ]0%1  -3 JV1
347K2 + 2-'^'_ `%1  ,K24;2

1  -

*
2

!!*
3
)
3

!
!/

3G
3G4!

!?
(

!
<$

)
!)
I

$
I

!
!
%
9 0=

$
-

!6
!+

$
=

$
%

>0 #

> ?0

$
!"#
H !*

!
#
,
"#
%

>9!C5

> #!
!
2
3

)!
!
(
!

 L /M!:)ONPLMQRE
( SUT  47---3  +
+   2- K,/ ;2  4/2-V1  9

;1 0%1  W - ,+ 


  ,7
;2 41 - 1   2X
4 
J3,/- 0
1 + + 97- 
 
,/  +   -

 Y5QRE A ;1 0
2,8aM  - 2J:K + 
 )DPYLE A ;1 0-3
48,/  0%K2 + 
 )LMQCZ[E Y
 ]01  -3 548,/  0
K2 + 
 2 !:%5QRE ( #
 A ;1 0  - 2J48,/  0
K2 + :97- 
 2J J,/  +   -3
 2 !'
 A - 

;2 41 - 1 

# bYSQ&
-3 
2J3
  ,7
1 W 

  ( )% c  0d J
;
 
e,/   0

#
%

!/

#
!+

$
!*

!*

%
$
%

!
#

!+ $

/
+
$

$
!

!/

$
!1

(
$
0

$'

!)

$
$

!
$
$

!+

$
$

!+

!
$

!)
!+

#
$
$

!2
$
!

%
!
$
!
(
!
(

(
!

!2

!*
!

!:
$

#
$

$
$

!+

(
(

!*

%
!
4!
5!
9!
=!

/
1
/
/

H')D
0

#
#

D
# D

! 1
C! /

D
%

!
E! /
J! /

(
(

D
D

%
!

$
!
2! 3
$

$
(

#
#

>?@ A B
#

#!
*6

!
# !
(

!
*
#
>9!

$
#
#

> #

9!

>

!
H
1

* 6
#
6= !

'

!
#

!*
#

6 #

!
4

#
!,

!H
!

!2
!?

%
#
%

!,

!
#

!)

# !?

(
!

!2
(

!,

!
"#
#
!
' $

%
$
!/

%
#

!/
#
!

!2

%
%

$
(

!,

!
!

#
!

5* .
2.

H')
$

!)

!* ) 9

!) =
!

2
!,

35*. .
) C

$ 2
!

35*

..
! 4 4

5) J
) G

!+

) E

!
'

$ 5* )C

' $

#!
!6

(
!)
, I,

!+

!
#

$%

!+
!*

!?
!*

(
!

6 #

"

%
!

!;
!
%

!
$

!
!

#
2

$"
#

#
-

!?
>4!

!+

> #

!
(

? #

!/ (
!
-

>

? #
!

>

!*
%

;
#

$
(

!/

!1
4
!
+

%
!*
$
!

*
!

!
;
Figure 1. Actual motion generated with
linear interpolation. Notice the series of
very tiny single axis movements. The
step size is equal to the machine's
resolution, usually 0.0001 inch or
0.001mm.

(
!*

$
!

#
!;
#

#
#

>
!

!
!F

!
?

$
$

.
$

!'
#

!
0

/
(
%
(

!*

!
!
!+

!
#

3
!

Figure 2. This drawing shows what happens


during circular interpolation.

!
$

'

$3
(

!+

!
0
!
?
#

(
4

!A

!
!
3

!/

!
#
!/

!/

!/
$

!+

$
!

!
!2
%

!
#!3
0

!
!

0
*3 4

!/
# !

3 4

!*
!*
!

!3 5
$

39

!
!

!+

>?
>@

!+
*

%
!/

.
H.
+:

H
(

4!

' $

!/
!2

(
H
!+

$
#

<

$
!

888/ '
889 *9: *;8 698 86 2

8 8 *88 +<5
=/9 ,<5
/9 H

8/8 *8 +95
/9 65
9 )

5
/

868 *8 ,65
/9 )
869 *86 +95
/9 ,:5
/9 - 5
8

=
/

8:8 *8 +5
>9 )
8:9 *86 +<5
/9 ,65
/9 - 5
8

C
/

898 *8 ,5
>9 )
899 *86 +5
>9 ,<5
/9 - 5
8
8=8 *88 (5 H
8=9 *; */? (8 3
8>8

H')

8 9 *:6 8 (<5
/9 +

8/9 *86 +=5


/9 ,5
>9 - 5
8

J
/

G
$

68 "

/
3

34

3 5I3 9 !/

!)

!
$

#
!2

.
H.

!2

!
(

(
!?

:
!
*

!6

(
!
$

!
%
2

$
-

!
!6

!6

!,

$
!

#
!2
!6

$
!)

*
+

!?

$
!

<$
!

!F
!/

!
,
!1

$ !
!
(

!*

!/
-

!*

0
-!
-

!
!2

!/
!

!)

#
-

!)
!

B $

!
!+

B $

!2

!/

!/
!

!+
!+

Figure 1. Offset tables in CNCs allow users to compensate for unpredictable


conditions related to tooling. The table at right provides an offset position for both tool
length and diameter. With a simpler table (middle) that only allows one entry per
offset, the programmer must make it quite clear as to the function of each entry. On a
popular turning center control, four values can be entered for each offset (at left).

!
%
!+

5
0

!/
!

!
!3

$
!
!

H
(

!
(

!F
#
$

!/

!
$
!+
(

$
$

(
@ #
(
@ #

*
!
!+
-

5
!/

3=9!/
1
!1
!

3=9

!
4
!
' $
888 '
889 8
8= '
8 8 *9: *;8 :88 86 8/ 2
/
= H')
8 8 *88 + 5
8, 5
8 H
>?
8 9 *:6 8 (5 8? +

Figure 2. With tool length


compensation, the tool's length
compensation value is stored separate
from the program. Many CNC controls
allow the length of the tool to be used
as the offset value.

8/8 *8 (< 5
9 :5 ;
8/9 *88 (5 8; H
868 *; */? (8
; H
869 8 ,
8:8 8/ 8= '
8:9 *9: *;8 :88 86 8
= H')
898 *88 +/5, 5 H
899 *:6 8/ (5 8? +
8=8 *8 (< 5
/ 95
9 ;
8=9 *88 (5 8? H
8>8 *; */? (8
; H
8>9 68 "
*
(
!
B $1
7 $
"
$
!+

2
>?
(

#!?

$
$
$

!;
C!9E5
@

!6

C!9

!+

!*
!

+
!+

!*
$

-!

(
(

/
!*
!
< (

%
!

' $
/

4
!*

#
!/

$
$
!
!

$
!

F
-

$
$

!+

*)
$

0
!

!*

!6

4
*

!
JE 0
- !/
!

!+

B $
-

!+

!
-

$
!+

$
!

$
(

-!

$
' $

#!

*
!1

#
!?

!
)

!3=4
!3=5
!*
!
3=5

3=4

!3=
;
$
$

!+

3=4!+

3=5!

#
3=4

3=5

,
$

3=
!

=
!+
!

#
5
$
!

$
0

' $
888 '
889 *9: *;8 698 86 2
/
8 8 *88 +<5
= ,<5
= H
8 9 *:6 8 (5 8? +

Figure 3. Drawings show how to determine whether to use


G41 or G42 to instate cutter radius compensation.

H')
4
@

8/8 *8 (<5
/9 685
8/9 *:/ .6 ,5
/9 :5 +
5
868 +:5
/9
9
869 *86 +:5
>9 ,5
>9 -5
9
8:8 *8 ,/5
/9
8:9 *86 +:5
/9 ,/5
>9 -5
9
898 *8 +5
>9
899 *86 +5
/9 ,/5
/9 -5
9
8=8 *8 ,5
>9
8=9 *86 +5
>9 ,5
/9 -5
9
8>8 *88 (5 8; H
8>9 *:8
8?8 *; */? (8 H
88 68 "
!
:

=
C
E
J
G
4
@

Figure 4. Sample part for cutter radius compensation.


@

#
$
*

!
$

!
!*

#!

!/

(
$

%
!2

#
$

%
3=

#
!3 =

3 G
3 G!*

#
!

!
#

!,

#
!

.
!/
!+

# !*
0

!*
$

!
%

!;

!
!

4 4
$

!+
!

!+
!"
>
$

@!

$!2
!*
!

0
9!

!
!

>
$
*
+

!
1

$
#

0
- !+

!/

!
)

B
$

!*

$
!,
$

>

!+

>

#
!+

$
$

!*

#
!

!
- !A

!
:
$
!
%

!*

$
(

3=4

$
3=5

!
$
$

!+

3=4
$ !+
$ !,
3

3=5
$

!,
!

F
4
I95 9IC=

%
4

I4C

IC=

$
!+
$
!

1
#

*
!+
!
.

Figure 5. Notice that the tool nose radius will cause


deviations from the required work surface if not considered
during programming.

*)

$
!?

*)
!

I95
!

*)
%

!
!6

%
#

!1
!
";)

!,

!+

$
$
!
$
!3

<
$

!
$
$
$

$
!

"

' $

$
2

#
$

!*
%

$
!/
#

- !1
!

+( $
1

!+

!
%

!+

#
$

!,

$
$

$
!6

!+

!,

!+
!+

!
!*
%

!
2

!*
!*
!1

%
@
$

$
#

!;
!+

$
!+

!
1

#
!*

!2
4
2

!2

!/
#

#
!2

!
+

!6
4

!+
!
/

$
0

' $
$

K
!
!/

!
!
!*
!
#

$
$
!< (

!
$

!
$

4
!+

!<

E
!

!<
C

!+
!<

9
!*

!*

!<

C
!

C
!

$
!,

!6
$

!
.

# 1
$

' $

"

!/

$
-

!"
!

#
!?
(

' $

'

0
*)

!
#

30

!
+

!/
!/

!/
0

*)

!F

!"

' $

!*
!1
%

!)
!,

#
$

*)
!,

!
#

!+

!,

!
"

*)
$

30
!*
$

!+

*)
!

3' $

$
%
!3

!/
$

!/
!
#!+
0

*)

!6
(
*)

!1

30

C
%

!2
#

!,

!"
!

$
$

!+

$
!+

%
$
#

$ !+
$

$
!

$
!

!;

!,
!*

#
$

#
!?

!+
$

!*
0

$
!

!
!

!
!/
!
$

!+
!

$0
!+

%
!

' $

*)
!3

*)

!+ $
$

$
!

*)

!
30

*)

*)

*)

6*2+
!

*)

!/

<

!/

*)
!

*)

!
$!3

$
$

*)

!
' $
/

*)
$

#
!

!2

!
*

"

$
!
!

$
*)
$

*)
$

!<
!

!
*

F
*)

*)
!

*;
!1
!

0
$

*)

!/
!
$

*;
$
$

!;
$

!+

!+
!

!+

*)
!

2
+

*;
*)
*)

!/

*)

*;
$

*;

*)

!
*)

$
*)
*)

!+
!/

*)

!
#

!+
*)

$
*;

%
$ $ !+
!*

!
$

#
*;
*)

*)

*)

*;
9;

!*

*;

!
.

*)

*)

! *)

$
!)

;
!
*)
30
1

' $

!*
!

C @

H
!"
$

!,
!

'

I
I

$
$

H*)

!6

$
!< (

H205950
!6

!*
$

!*

!2
$

*)

!)
-

$8

,
(

$
!

!,

.
;

!
.

>
A&
(
!
(
$

!/
0

!,
!1
!1

(
!

!?

(
!
:
#

#
!,

!/

!*

!?

!,
$
$

$
2
#

!+

(
$

-!

#
!

$0

!
#

!+

$
!

'

/
!
!
;

!*
%

!/

(
$

!
!
!

#
$

/
!,

!
!,
!
?

!*#
!

!
$

#
!*

!2

$
!

!2
!

$
!

'

$
(

!
!

'

!
!
!,
!)
!

!?

!
!

'

!+

' $

!
(

$
!

Knowing a CNC's buttons and switches


unlocks the mystery of its operation. Photo
courtesy of Cincinnati Milacron.

!
!*
!

!
$
*

$
3 >
@

"

!2
$
$
$

!,

!
!

$
$

!"#

!
!

$
!

' $

(
$

!,
$

!
!2

$0

!
!1

( #

!+
$

%
$
$

#
$0

!+

$
!/

$ !

$
0

!
'

!
!

!+

!+
!+

!?

$
!)
!6

$
;
!+
!

!+
(

!
$
!
!

#
(

!
#

"

!
$

#
!+

!)
!1
#

$
)

!+

!
# !
$

#
)

#
!)
!*

!
!

!
!

!+
!+
$

$ !+
!+

$
$

!
3 4 353 9
!

!!

!A
4

!+

!+

!/

!+
5

!+

$
$

!A

!
$

$
!

#!
#
$

!+
!
#

"

% !

!/
!

!
4

&

' (!

!*
#

#
!

!/
#

!
!/

) (!

#
!
!6

!)
#
#

#
!)
!+

!
' ( &
I

' ( "
!+
$

$
$ $

!+
!+

$
*
/
#

#
&

) 4

) 4
!
!+

) 4

#!
#

?
#

!/
$
!

*
$

!1
!

!/

$
$

!*

!*
!

!
/
!
!
#
!+

!+
#

!
.

"
);+
$

!+
!

!
$
!/

!/

);+

!+
!
!+ );+
!+
!1

#
);+

$
#

"

*
%
!

);+
!+
);+

#
);+

!*

!
6
!

);+
#
!/
);+

!+
);+

!
$

);+
);+

$0

34 3 5

!
!

!2
$

39
!1

!+

$
);+

);+

!
4
+
$

$
!+

!1
!*

'

,
(

!
!2
!

*
#
%

$
%

!+
%

!
' $
!
!

!
#

!*

(
!,

!
!

!*

#
#

!6
!+
%

!/
!

#
!6

!1
!
#

$
!/

$
(

!
#

!6

!
%

*)

!/

!;
%

!F

!
!
!+

!+
(

!/

;
#

"#
!
%

(
$

%
(

#
!+
!/
%

!
-

!/

$
!
!

"

'

$
- !1
!*

!
$

$
$

!/

$
!

!
?

!1
!B
!+

$
(

Manual Sequences

#
#
$

Manual Data Input Sequences

);+
);+
);+
);+

# !

Program Loading And Saving Sequences

H20595
$
!

Program Display And Editing Sequences

Setup Sequences

Program Running Sequences

8 &

' $
!/

#
$

!/

!
#

!+
$

$
!

!
>
!<
!

@!+

$
$

*)

#
!1

!
*)

!/
#

!
*)

!F

$
-

!/

!
'
$

!"

!*
!*

#
!6
!

!"
!

!/
!

$ !+
(

$
(

$
!+

-!

$
!+
!1

!'
I

#
$

!
(

!+
!+

$
$
$

!+

!
)
6

(
!F

$
$

) !*

#
3

#
34 4

#
34

!/
!+

$!
34 4!)

!
!2

$
$

) !

$
$

$
0

!
!+
!6
$
$

!,
$
$

!
!+

<

!/
#
#

) !"

!+

$
!

#
%

#
!,

!+

!*

!+
!+
$

$
!

!)
!

!
!*

'

' $

!F
!

&
$

!,

!"
!+

!?

% !/
7

)
*

$
#

$ !,
-

!
!
%

/
#
!1

!+

>?

$ !;

@
#

!,

!"
!
+
#

#
#
#

#
!

$
!

$
!

/
$

#
!/

#
+

*)
#

!
%

$
$. -

!
$

!1

$
$

!+

$
!

/
/

!
#

!*

#
!

!+

$
!*

!+
$
!
!

$
$
*

$
!
+

%
!

$
!
!
+

$
!*#
!
$

4!

!
!

#
!
!

!
!
1

!2
$
34

!6

$ !2

!
!
!

!,
%

$ !

!H
%

!
*

)
$
!)

!?
!
4

!
$

!*
!
$

!/
!*

(
!*

!/
!
4

!+
7

!*
#

!/
$

!
,

(
(

!
$

!+
!

!)
!*

!1
!*

$
$

) $$
!?
/

!
$

-!
+
#

!*
$

!
%
!

4!
5!
9!
=!
!
C!
E!
,

!
-!

*
*
)
*
H
)

$
!

$'

B $
%

!+

$0

$
!

!)
-

!*
!1

$
!/

%
!"
#

+
#

!6
!
!

!/

$
!

$!*
$
!

!/

!*
7

!6
$ !

!/