Professional Documents
Culture Documents
Makino Programme
Makino Programme
Description
This course is designed to enable the programmer
to use the controls powerful Macro programming
feature on milling machines
Students will lean to read and write repetitive
machining cycle
Will understand the components of the macro body
and the meaning of the macro call command like
G65, G66 and G67
2
Spee =
V * 318
Dia
or
V * 1000
Dia *
( 3.1412 )
Chip Thickness
Feed per tooth
Diameter
of cutter
Depth of cut
Chip Thickness
5
Cutting speed
Feed per tooth
Answer is
Speed
= 10 mm ( 2 teeth )
= 200 m/min ( V )
= 0.1 mm ( Sz )
= 200 * 318 / 10
= 6360 ( rpm )
Feed
= 6360 * 2 * 0.1
= 1272 mm/min
if feed reduce to 50% mean
F636, Sz = 0.05
7
No M
e
g
a
m
I
irror
8
GROUP PROGRAM
Example
O3200 ( Main Program ) like O1000, O100
O3201 ( Sub Program )
O3202 ( Sub Program )
O3203 ( Sub Program )
Use O3200,O3203 Delete
Use O3200,O3203 Punch
9
Statement Example
#1 = 123.
Answer
#2 = #1
123.
#3 = #2 + 10
133.
F133.
#4 = 123.4567
G00 X#4
123.457
G04 P#4
123.
G04 X#4
123.457 sec
alarm occur
133.
G#3
sec
10
Arithmetic Expression
Answer
if #1 = 8.
# [ #1 ]
#8
if #1 = 10.
# [ 100 + #1 ] = 123.
#110
= 123.
# [ 10 + #110 ] = #1
#133
= 10.
#100
= 133.
#[ #133 ] = #[ #100 ] + #1
#10
= 20.
11
#1 = #2
#1 = #2 + #3
#1 = #2 - #3
#1 = #2 * #3
#1 = #2 / #3
#1 = SIN [ #2 ]
#1 = COS [ #2 ]
#1 = TAN [ #2 ]
#1 = ATAN [ #1 ] / [ #2 ]
12
( unit = degree )
Y
45. ( 0M-15M )
225. ( 0M )
-135. ( 15M )
315. ( 0M )
135. ( 0M-15M )
#2
#1
b
X
-45. ( 15M )
13
If
#2 = 2
#1 =
Answer
1.4142
#1 = ABS [ #2 ]
#2 = -1.23
#1 =
1.23
#1 = ROUND [#2]
#2 = 1.234
#2 = 1.5436
#1 =
1.0
#1 =
2.0
#1 = FIX [#2]
#2 = 1.234
#2 = -1.634
#1 =
1.0
#2 = 1.234
#2 = -1.634
#1 =
#1 = FUP [#2]
#1 = - 1.0
2.0
#1 = - 2.0
14
Case
X[ ROUND[#1] ]
#12 = 5.1236
or
X#1
X#12
= 12.376
= 5.124
Answer is
X[ #10 + #12 ]
= 17.499
#10 = 12.3758
Answer
Answer
X -17.50
X -17.50
16
Learning Activity
If #100 = 11.
#101 = 25.
#102 = -1.2345
#103 = 2.3456
#104 = ABS [#102]
#105 = ROUND [#103]
#106 = FIX [#102]
#107 = FUP [#102]
#108 = #100 + #101
#109 = #101 - #102
G91 G00 X#102
X#103
X- [#102 + #103]
Answer
= 1.2345
= 2.0
= - 1.0
= - 2.0
= 36.0
= 26.2345
move X-1.234
move X 2.346
move X-1.111
17
Empty Variable #0
#0 mean Empty or Vacant
0
is a Value
Example :#100 = #0
#102 = 0
Answer
Axis no move
Axis move X0
18
Repeat Function ( IF )
IF / GOTO Statement
N1 IF [ #1 GT #2 ] GOTO 2
Not OK
#1 = #1 + 1
Condition
EQ NE
GT
GE
LE
LT
OK
GOTO 1
N2 M99
19
Not OK
END1
M99
20
DO 1
GOTO 1
GOTO 10
DO 2
DO 1
END 1
END 2
N1
N 10
END 1
END 1
Exercises 1 ( IF condition )
#1 = 1
N1 IF [ #1
Answer
GT
what happen
GE
10 ] GOTO 2
Process
#1 = #1 + 1
GOTO 1
N2 M30
22
Answer
LT
10 ] DO 2
Process
#1 = #1 + 1
END 2
M30
23
Exercises 3 ( Clear by IF )
%
O100 ( IF )
#1 = 100. ( START )
#2 = 110. ( END )
N3 IF [ #1 GT #2 ] GOTO 7
# [ #1 ] = #0
#1 = #1 +1
GOTO 3
N7 M30
%
#100 = #0
#101 = #0
#102 = #0
#103 = #0
#104 = #0
#105 = #0
#106 = #0
#107 = #0
#108 = #0
#109 = #0
#110 = #0
24
#100 = #0
#101 = #0
#102 = #0
#103 = #0
#104 = #0
#105 = #0
#106 = #0
#107 = #0
#108 = #0
#109 = #0
#110 = #0
25
Pot 1 = T1
Pot 2 = T2
Pot 3 = T3
Pot 4 = T4
.
.
.
.
.
Pot 60 = T60
26
Exercises 6
#101
#102
#103
#104
#105
#106
#107
#108
#109
#110
= 1.000
= 1.414
= 1.732
= 2.000
= 2.236
= 2.449
= 2.646
= 2.828
= 3.000
= 3.162
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
( 10 )
27
O100 ( SQRT )
#1 = 101. ( START )
#2 = 110. ( END )
#3 = 1. ( SQRT [ #3 ] )
WHILE [ #1 LE #2 ] DO1
# [ #1 ] = ROUND [ SQRT [#3] * 1000 ] / 1000
#1 = #1 + 1
#3 = #3 + 1
END1
M30
28
Exercise 7 ( Positioning )
O800 ( MAIN PROGRAM )
G90 G0 G54 X0 Y0
G43 H1 Z50. S1200 M3
G81 Z-1.5 R2. F100 L0 K0
M98 P801
G80
G91 G0 G28 Z0
M30
O801 ( LINE BOLT HOLE )
M99
29
#
21
*
#
30
#5 ( Y )
#1
#4 ( X )
30
R point
Z0
M99
d = 1mm
Depth Z
31
R point
Z0
Depth Z
32
#2001 ~ #2200
#5201 ~ #5328
#3000
#3001, #3002
#3003, #3004
#4000 ~ #4120
#5001 ~ #5065
33
Variable No
#2001
#2002
-
> 200
#10001
#10002
99
200
#2099
#2200
#10099
#10200
Offset Page
H16
H17
H31
H32
10.0
5.2
35
Geometry
Wear
Geometry
Wear
#2001
#2201
#2401
#2601
#2002
#2202
#2402
#2602
200
#2200
#2400
#2600
#2800
999
#10999
#11999
#12999
#13999
#5221 ~ #5226
X, Y, Z, 4, 5, 6
G55 ( P2 )
#5241 ~ #5246
X, Y, Z, 4, 5, 6
G56 ( P3 )
#5261 ~ #5266
X, Y, Z, 4, 5, 6
G57 ( P4 )
#5281 ~ #5286
X, Y, Z, 4, 5, 6
G58 ( P5 )
#5301 ~ #5306
X, Y, Z, 4, 5, 6
G59 ( P6 )
#5321 ~ #5326
X, Y, Z, 4, 5, 6
X, Y, Z, 4, 5, 6
37
(X)
P0
X 0.000
Y 0.000
Z 0.000
P1
X - 230.000
Y - 452.032
Z - 450.123
#5222 = - 452.032 ( Y )
#5223 = - 450.123 ( Z )
P1=G54, P2=G55, P3=G56
P4=G57, P5=G58, P6=G59
38
Model Information
Variable
Code
Variable
Code
#4000~21 G code
#4113
M code
#4102
B code
#4114
Sequence no
#4107
D code
#4115
Program no
#4108
E code
#4119
S code
#4109
F code
#4120
T code
#4111
H code
#4130
G54.1 P1~48
Refer to Manual
39
G Code List
Refer to Manual
Code
Group
Variable
01
#4001
G90, G91
03
#4003
14
#4014
09
#4009
G98, G99
10
#4010
Work coord.
Possible
#5001~
ABSIO
#5006
#5021~
ABSMT
#5026
Current pos
System
#5041~
ABSOT
Work coord.
#5046
Current pos
System
#5061~
Skip Signal
Work coord.
#5066
G31
System
Impossible
Possible
Refer to Manual
41
Machine Position
#5221
= #5021 ( X )
#5222
= #5022 ( Y )
#5223
= #5023 ( Z )
Machine Position
X - 230.000
Y - 452.032
Z - 450.123
42
43
Clock #3001~#3002
Clock 1
Clock 2
#3001
#3002
Example 1
G65 P9010 T20.
O9010
#3001 = 0 ( initial )
#20 = #20 * 1000
WHILE [ #3001 LE #20 ] DO1
END1
M99
1 msec. ( unit )
1 hour ( unit )
Example 2
O1000
#3002 = 0 ( initial )
G0 X10. Y10.
G1 X100 F500
45
O1000
#3902 = 50. ( required parts )
IF [ #3901 EQ #3902 ] GOTO 3000
GOTO 99
N3000 #3000 = 140 ( PART FINISH )
N99 M30
( Initial Total part = 0 and the counter execution when M30 occurs )
46
Single block
Not suppressed
Suppressed
Not suppressed
Suppressed
Function
Awaited
Awaited
Not Awaited
Not Awaited
Feed hold
0
1
2
3
4
5
6
7
: Effective
48
X-150. Y35.
5
80
56
#1
#2
#3
#4
#5
#6
#7
#8
#9 500.
#10
#11
#12
#13
#14
#15
#16
#17
#18
#19
#20
#21
#22
#23
#24 80.
#25 60.
#26 5.
#27
#28
#29
#30
#31
#32
57
O9010 -- #6050
O9011 -- #6051 -- 102
O9012 -- #6052
O9013 -- #6053
O9014 -- #6054
O9015 -- #6055
O9016 -- #6056
O9017 -- #6057
O9018 -- #6058
O9019 -- #6059
59
Set parameter
O9020 -- #6080 -- 6
O9021 -- #6081 -- 90
O9022 -- #6082 -- 91
O9023 -- #6083 -- 60
O9024 -- #6084
O9025 -- #6085
O9026 -- #6086
O9027 -- #6087
O9028 -- #6088
O9029 -- #6089
60
Refer to Manual
61
Printout Layout
--- MAKINO --CIRCLE NO 12
+X 0.123
+Y 0.213
--- OK ---
-X 0.321
-Y 0.132
When #18 = 12
#120 = 0.123
#121 = 0.123
#122 = 0.213
#123 = 0.132
when #120 LE #1
62
X-150. Y35.
5
80
56
#1
#2
#3
#4
#5
#6
#7
#8
#9 500.
#10
#11
#12
#13
#14
#15
#16
#17
#18
#19
#20
#21
#22
#23
#24 80.
#25 60.
#26 5.
#27
#28
#29
#30
#31
#32
57
O9010 -- #6050
O9011 -- #6051 -- 102
O9012 -- #6052
O9013 -- #6053
O9014 -- #6054
O9015 -- #6055
O9016 -- #6056
O9017 -- #6057
O9018 -- #6058
O9019 -- #6059
59
Set parameter
O9020 -- #6080 -- 6
O9021 -- #6081 -- 90
O9022 -- #6082 -- 91
O9023 -- #6083 -- 60
O9024 -- #6084
O9025 -- #6085
O9026 -- #6086
O9027 -- #6087
O9028 -- #6088
O9029 -- #6089
60
Refer to Manual
61
Printout Layout
--- MAKINO --CIRCLE NO 12
+X 0.123
+Y 0.213
--- OK ---
-X 0.321
-Y 0.132
When #18 = 12
#120 = 0.123
#121 = 0.123
#122 = 0.213
#123 = 0.132
when #120 LE #1
62
Printout Program
POPEN
DPRNT [ --- MAKINO --- ]
DPRNT [ * ]
DPRNT [ *** CIRCLE *** NO #18 [40]]
DPRNT [ * ]
DPRNT [*** +X * #120[43] *** -X * #121[43]]
DPRNT [*** +Y * #122[43] *** -Y * #123[43]]
DPRNT [ * ]
IF [#120 LE #1 ] GOTO1
DPRNT [ *** -- NOT OK -- *** ]
GOTO2
N1 DPRNT [ *** -- OK -- *** ]
N2 PCLOS
-X 0.321
-Y 0.132
--- OK ---
When #18 = 12
#120 = 0.123
#121 = 0.123
#122 = 0.213
#123 = 0.132
when #120 LE #1
63
64
65
Program Layout
O1000 ( Main Program )
T1 M6
G54 H1 S1000 T2 ( CEN DR )
M90
G81 Z-1.5 R2. F100 L0 K0
M98 P1001
T3 M6
G54 H3 S500 T1 ( TAP M6 )
M90
M135 S500 ( Rigid Tap )
G84 Z-8. R7. F500 L0 K0
M98 P1001
T2 M6
G54 H2 S1500 T3 ( DR 5 )
M90
G83 Z-15. R2. Q1.5 F100 L0 K0
M98 P1001
M91
M30
O1001 ( Sub-Program )
X50. Y50.
X-50. Y-50.
M99
67
Learning Activity ( 1 )
#111 = #5021 ( X2 )
M00
Y4
X1
M30
X2
Touch sensor
G54
Y3
68
Answer ( 1 )
O1000 ( MANUAL SET WCS )
#110 = #5021 ( X1 )
M00
#111 = #5021 ( X2 )
M00
#112 = #5022 ( Y3 )
M00
#113 = #5022 ( Y4 )
#5221 = [ #110 + #111 ] / 2
#5222 = [ #112 + #113 ] / 2
M30
Y4
X1
X2
G54
Y3
69
Answer ( 1.1 )
O1000 ( MANUAL SET WCS )
#100 = 55. ( WCS )
#4 = 5221. ( M/C X )
#5 = 5222. ( M/C Y )
#110 = #5021 ( X1 )
#8 = 20.
M00
#111 = #5021 ( X2 )
#[ #4 + #8 * #10 ] = [#110+#112] / 2
M00
#[ #5 + #8 * #10 ] = [#112+#113] / 2
#112 = #5022 ( Y3 )
G91 G0 Z100.
M00
#113 = #5022 ( Y4 )
G90 G#100 X0 Y0
M30
70
DIAGRAM - II
Repeat Depth Cycle
G65 P7000 T B S - Q R
R Point
T ( #2O ) = Top
B ( #2 ) = Bottom
S ( #19 ) = Sub-Program
Profile
B
Sub-Program
71
Program Layout
O1000 ( MAIN PROGRAM )
T1 M6
G54 H1 S1000 ( END 10 )
M90
#2032 = 5.5
G65 P7000 T0 B-8.2 S1001. Q2.
T2 M6
G54 H2 S1500 ( END 8 )
M90
#2032 = 4.
G65 P7000 T0 B-8.2 S1001.
M91
M30
O1001 ( SUB-PROGRAM )
G0 X40. Y-40.
Z#33
G1 G41 Y-25. D32 F1000
X-25.
Y 25.
X 25.
Y -40.
G1 G40 X40. Y-40.
M99
72
DO1
#33 = #33 - ABS[#17]
IF [ #33 GT #2 ] GOTO 21
#33 = #2
N21 M98 P#19
IF [ #33 EQ #2 ] GOTO 98
END1
N98 IF [ #18 NE #0 ] GOTO 99
#18 = 50. ( R )
N99 G90 G0 Z [ ABS [ #18 ] ]
G#27 M99
73
Learning Activity ( 2 )
O800 ( MAIN PROGRAM )
G54 H1 S2000 F140
M90
G66 P805 T10. Z10. D5. R2.
A2000. B140. I1400. J98.
X10. Y-10.
X-10. Y10.
G67
M91
M30
O805 ( STEP DRILL CYCLE )
I = RPM
J = Feed rate
2
Z0
R point
A = RPM
B = Feed rate
M99
74
Answer 2
O805 ( DRILL DEPTH CYCLE )
IF [#1*#2*#4*#5*#7*#18*#20*#26 NE 0 ] GOTO111
#3000 = 140 ( DATA ERROR )
N111 #33 = #4003
G90 G0 Z#18 S#1 M3
I = RPM
J = Feed rate
G1 Z-[ #26+#20+1 ] F#2
1
S#4
T
G1 Z-[ #26+#20+#7 ] F#5
2
G0 Z#18
R point
Z0
3
G#33 M99
D
Z
A = RPM
B = Feed rate
75
Learning Activity ( 3 )
O1000 ( MAIN PROGRAM )
T1 M6
G54 H1 S2000 F140
M90
G65 P8001 U54. V56. S1001.
G65 P8001 U57. V59. S1001. K21.
U = Start WCS
V = End WCS
S = Sub Program
K = Mirror 21 or 22
Z = Refer Point 100.
M91
M30
76
Change Parameter
#7
#3202
#3104.6 = 1 ( DAL )
#3202.0 = 0 ( NE8 )
#3202.4 = 1 ( NE9 )
#3402.6 = 1 ( CLR )
#3406.3 = 1 ( C03 )
#3407.6 = 1 ( C14 )
#3409.7 = 1 ( CFH )
#6001.6 = 1 ( CCV )
#6080 = 6
#6081 = 90
#6082 = 91
#6083 = 60
#6
#5
#4
PSR
NE9
#3
#2
#1
#0
NE8
( *soft key )
MDI
OFFSET SETTING
* SETTING
PARAMETER WRITE = 1
INPUT ( display alarm 100 )
SYSTEM
* PARA
Key in 3202
* NO SCH ( change if necessary NE9 )
OFFSET SETTING
* SETTING
PARAMETER WRITE = 0
INPUT
RESET (alarm clear)
78