6 장 교재 : CNC 공작기계와프로그래밍안중환외 3 인, 2014, 북스힐 1
목차 6.1 CNC 프로그래밍 6.2 NC 프로그램의구성 6.3 공작기계의좌표계 6.4 윤곽가공 6.5 주프로그램과보조프로그램 2
6.1 CNC 프로그래밍 CNC 프로그램작성및가공절차 부품도면 (part drawing) 의판독 가공공정계획 (process planning) 부품프로그램작성 CNC 장치에프로그램입력 3
6.1 CNC 프로그래밍 - 공정계획 가공공정계획 부품도면에서가공부위를선정 해당부위의가공에적합한가공법, 기계, 고정구등선정 절삭순서및경로 ( 시작점 / 종점, 황삭 / 중삭 / 정삭등 ) 결정 공구 (cutter, adapter, holder 등 ) 선정 절삭조건 (depth, feedrate, speed, coolant 등 ) 결정 4
6.1 CNC 프로그래밍 - 공정계획 상향 하향 상향 하향 공구바닥중심점절삭여부 공구휨의영향 5
6.1 CNC 프로그래밍 - 수동 vs 자동 수동프로그래밍 공구의이동경로좌표값을사람이직접계산하여 G코드로입력 단순한부품형상 ( 직선, 원으로구성 ) 에서경로계산이쉬울때가능 자동프로그래밍 부품형상이복잡하여공구궤적을쉽게계산할수없을때 경로계산을컴퓨터가수행 언어식 G 코드대신에자연언어에가까운명령어로프로그래밍하는방법 APT, FAPT, KAPT 등 CAM 식 CAD로형상을정의하고 CAM으로공구경로자동계산 Post-processor 에서 NC 코드자동생성 HyperMill, CATIA, Pro/Engineer, Unigraphics(NX) 등 6
6.2 CNC 프로그램의구성 부품프로그램 (part program) 부품가공용 CNC 프로그램 부품프로그램의구조 시작 (%) + NC Block + + NC Block + 끝 (%) NC Block NC 명령문기본단위 NC word + + NC word + 블록끝 (;) NC word 기본 NC 코드 ( 좌표, 동작모드, 절삭조건등 ) address + 수치 ( 예 : X43.437, G92, S1000) % 1 G92X40.Y40.Z30.S1000M03 2 G90G00X-8.Y-8. 3 G01Z0.F100 4 X88. 5 Y53.314 6 X43.437Y97.877 7 X40.Y98. 8 G03X-8.Y50.J-48. 9 G01Y-8. 10 G00Z30. 11 G00X40.Y40. M30 % 7
6.2 CNC 프로그램의구성 - address 종합 Address 기능설명 수치 O 프로그램번호 : 프로그램지정 / 식별 1-9999 N 문장번호 : NC 블록지정 / 식별 1-9999 X, Y, Z(U,V,W) A, B, C I, J, K, R P, U, X 절대좌표 ( 증분좌표 ) 값지정회전축의각도원호중심 ( 면취 ) 좌표, 반지름 dwell 시간, 보조프로그램호출번호 (P) G 공구 / 테이블동작모드, 단위 / 좌표계, 공구보정 0-99 F 이송속도 (mm/rev, mm/min) S 주축회전속도 (rpm, 최고속도 (m/min) 지정 ) T 공구번호 1-99 M 보조기능 : 기계제어지령 (ON/OFF) 0-99 D, H 보정값저장번호 8
6.2 CNC 프로그램의구성 - T/S/F 기능 공구선택 (T) : 공구지정 Txxyy, 공구번호 xx, 보정번호 yy (00 이면보정취소 ) 주축속도 (S) : 주축속도지정 S1500=1500 rpm G96 Sxx: 주속일정제어, 선반단면 / 테이퍼가공에서주속일정 (xx m/min) 유지 G97: 주속일정제어취소 G50Syy: 최고회전수 yy 지정 이송속도 (F) : 이송속도지정 밀링 : G94 : 분당이송 (mm/min), G95 : 주축회전당이송 (mm/rev) 선반 : G98 : 분당이송, G99 : 주축회전당이송 9
6.3 공작기계의좌표계 - 좌표축설정 공작물회전기계 ( 선반 ) Z 축 : 공작물의회전축, (+) 모터에서공구를보는방향 X 축 : 공작물의반경방향, (+) 회전중심에서멀어지는방향 공구회전기계 ( 밀링, 드릴링 ) Z 축 : 공구회전축 ( 주축 ), (+) 공작물에서주축을바라보는방향 수평 Z축 : Z축에직교하는면에서위쪽이 (+)Y축 수직 Z축 : Z축에직교하는면에서오른쪽이 (+)X축 좌표축정의 직선 (X,Y,Z)/ 보조직선 (U,V,W)/ 회전운동축 (A,B,C) 오른손좌표계적용 주축 Z 주축 Z Y X 공구 C Y X A 10
6.3 공작기계의좌표계 - 기계좌표계 기계좌표계 기계원점을기준으로하는기계고유의좌표계 원점복귀 : G28 X Y Z ; (X,Y,Z) 점은경유점 기계원점은기계조작의기준이되고, 공구교환을하는곳 공구를기계원점으로급속이송 ( 경로상에충돌이예상되면경유점을추가 ) 전원투입후또는비상정지후정상작업때올바른기계좌표계설정에필요예 ) G28 X40. Y20. ; (40., 20.) 을경유하여원점으로복귀 11
6.3 공작기계의좌표계 - 공작물좌표계 공작물 ( 또는프로그램 ) 좌표계 : 공작물의원점을기준 밀링 : G92 X Y Z 좌표계원점에서공구의출발점위치를나타냄 복수의공작물이동시에있을때 G54-59까지추가설정가능 선반 : G50 X Z Z 공구출발점설정 G92 Xx Yy Zz 공구출발점설정 (1 번공구 ) G50 X150. Z100. T0100; Y X 기계원점 공작물좌표계원점 12
6.3 공작기계의좌표계 - 단위 / 좌표값기준 입력단위설정 : G21(mm)/G20(inch) G20 X10. F100 ; X 위치 10 inch, 이송속도 100 inch/min G21 X10. F100 ; X 위치 10 mm, 이송속도 100 mm/min 좌표값단위 소수점입력 (mm): X50. Y23.457 BLU 입력 ( 보통 1BLU= 0.001mm) : X50000 Y23457 절대 / 증분지령 : G90/G91 G90 X40. Y70. ( 절대값 ): 공작물좌표계원점기준 G91 X-60. Y40. ( 증분값 ): 현재공구위치기준 Y 혼합지령가능 : X,Y,Z와 U,V,W 혼용함 70.0 cf. G91은소수점오차누적가능성 직경지령 / 반경지령 선반의 X축좌표값은보통직경을사용 CNC 파라미터로설정가능 30.0 다음점현재점 X 0 40.0 100.0 13
6.4 NC 코드 - M 코드종합 miscellaneous function ( 보조기능 ) 서보제어외모든기계장치를 ON/OFF 제어함 M 코드기능 M00/01/02/30 M03/04/05 프로그램정지 / 선택정지 / 종료 /( 종료 +rewind) 주축정 (CW) 회전 / 역회전 / 정지 M06/19 공구교환 / 주축 orientation M07, M08/09 Oil mist, 절삭유 ON/OFF M20/21/22 Mirror image OFF/X/Z M31/32/33 칩컨베이어전진 / 후진 / 정지 M35/36 Front door 개 / 폐 M57/58 ATC door 개 / 폐 M68/69 주축공구 clamp/unclamp M76/77 Champer ON/OFF M98/99 보조프로그램호출 / 복귀 14
6.4 NC 코드 - G 코드종합 G 코드기능 G00/01 급속이송 ( 기계최대속도 )/ 직선보간 ( 이송속도, F) G02/03/G04* G17/18/19 원호보간 CW/CCW/ 일시공구이송정지 (dwell) XY/ZX/YZ 평면보간 G20/21 좌표값입력단위 inch/mm G27/28/30 G40/41/42 G43/44/49 G52/53/92 원점복귀체크 / 원점복귀 / 제2 원점복귀공구 ( 공구날끝 ) 반경보정취소 / 왼쪽 / 오른쪽공구길이보정 +/ - / 취소 Local 좌표계 / 기계좌표계 / 공작물좌표계 G65, G66/67 Macro 호출 /Custom Macro 호출 / 취소 G90/91,G94/95 지령입력 : 절대 / 증분, 이송속도분당 / 회전당 G96/97 원주속도일정제어 / 회전수일정제어 G98/99 고정사이클초기점복귀 /R 점복귀 one shot: 지령이있는블록에서만기능유효 (*) modal code: 다른그룹의 G 코드지령때까지계속유효 15
6.4 NC 코드 - 원점복귀 원점복귀 : G28 X Y Z ; (X,Y,Z) 점은경유점 기계원점은기계조작의기준이되고, 공구교환을하는곳 공구를기계원점으로급속이송 ( 경로상에충돌이예상되면경유점을추가 ) 전원투입후또는비상정지후정상작업때올바른기계좌표계설정에필요예 ) G28 X40. Y20. ; (40., 20.) 을경유하여원점으로복귀 16
6.4 NC 코드 - 급속이송 (G00)/ 직선보간 (G01) 급속이송 (G00:rapid positioning ) - 최고속도로이송, 경로제어없음 Y 5 2 (3, 2) (8, 5) G90 G00 X8. Y5. 또는 G91 G00 X5. Y3. 3 8 X 직선보간 (G01:linear interpolation ) 이송속도 (F_) 로직선가공이송 Y 5 (8, 5) 2 (3, 2) 100mm/min 3 8 X G90 G01 X8. Y5. F100 또는 G91 G01 X5. Y3. F100 17
6.4 NC 코드 - 원호보간 (G02/G03) 중심점지정방식 : G17 G02(G03) Xx Yy Ii Jj Ff ; 시계방향 (G02)/ 반시계방향 (G03), 이송속도 (F_) 로원호가공이송 i, j : 원호중심 ~ 종점 (x,y) 간의 X, Y 축증분값 1) CW 경로 - G90 G17 G02 X10. Y-6. I-8.66 J-5. F100 - G91 G17 G02 X-8.66 Y-15. I-8.66 J-5. F100 2) CCW 경로 - G90 G17 G03 X10. Y-6. I-8.66 J-5. F100 - G91 G17 G03 X-8.66 Y-15. I-8.66 J-5. F100 반경지정방식 : G17 G02(G03) Xx Yy Rr Ff; r 0: 원호 180 이하, r<0:180 이상 G90 G17 1 G02 X10. Y-6. R10. F100 2 G02 X10. Y-6. R-10. F100 3 G03 X10. Y-6. R10. F100 4 G03 X10. Y-6. R-10. F100 Y 4 G03,-10 G03 X (10, 4) 3 G03,+10 종점 (10, -6) 종점 (10, -6) 현재점 (18.66, 9) G02 현재점 (18.66, 9) 1 G02,+10 2 G02,-10 18
6.4 NC 코드 - 원호보간사례 가공궤적 : A B C D E F R 지령방식 G01 G90 Y20. F100; G03 X57. Y25. R5.; G02 X47. Y35. R10.; G03 X17. R15.; G02 X7. Y25. R-10.; G01 X0.; F E D C B A I, J 지령방식 G01 G90 Y20. F100; G03 X57. Y25. I-5.; G02 X47. Y35. J10.; G03 X17. I-15.; G02 X7. Y25. J-10.; G01 X0.; 19
6.4 NC 코드 - 일시이송정지 (dwell, G04) 일시이송정지 동작방향이바뀌는 (X Y) 위치에서품질을위해이송을일시정지 형식 : G04 Pxxxx(or X_), P 는 0.001 초, X/U 는소수점이초 G91 Z-50. G04 X1. Z50. 20
6.4 NC 코드 - 일시이송정지사례, 홈가공 G97 S700 M03; 주축회전수일정제어 700rpm 주축정회전 G00 X55. Z-15. T0303; 가공위치근처까지급속이송, 공구옵셋보정 G01 X45. F0.07; G04 P3000; 3초간일시이송정지 G01 X52. F0.1; G00 W2.; G01 X45. F0.07; G04 P2000; 2초간일시이송정지 G01 X52. F0.1; G00 X270. Z250. T0300; 공구초기위치로급속이송, 공구옵셋해제 21
6.4 NC 코드 - 모따기와코너 R 가공 선반에서직각으로교차하는두면사이를추가지령없이가공하는법 모따기가공 G01X(U)_C_{K_} : X축이동종점에서모따기 G01Z(W)_C_{I_ } : Z축이동종점에서모따기 코너 R 가공 G01X(U)_ R_ : X 축이동종점에서 R 가공 G01Z(W)_R_ : Z 축이동종점에서 R 가공 예 ) 가공사례 G01 Z-20. R5. F0.15; [A B] X40. K-2.; [B C] Z-36.; [C D] 22
6.5 CNC 프로그램 - 사례 ( 공구직경 16Φ ) 7(40,98) 6(43.437,97.877) % 8(-8,50) 40R 45 5(88,53.31 4) 1 G92X40.Y40.Z30.S1000M03 2 G90G00X-8.Y-8. 3 G01Z0.F100 111(40,40) 80 50 4 X88. 5 Y53.314 6 X43.437Y97.877 7 X40.Y98. 23910(-8,-8) 4(88,-8) 8 G03X-8.Y50.J-48. 9 G01Y-8. 10 G00Z30. 1 출발점 (40,40,30) 11 X40.Y40. 11 M30 % 23
6.5 CNC 프로그램 - 보조프로그램 동일프로그램이반복될때프로그램효율성을높이기위해활용 반복가공형상이나패턴을보조프로그램 (sub program) 으로작성 주프로그램 (main program) 의호출로실행되고종료되면주프로그램으로복귀 형식 : M98 P( 보조프로그램번호 ) L( 반복횟수 ); 24 24