최근 수정 시각 : 2024-08-27 11:00:16

가공준비기능

G코드에서 넘어옴
'''[[기계공학|기계공학
{{{#!wiki style="font-family: Times New Roman, serif; font-style: Italic"
]]'''
{{{#!wiki style="margin: 0 -10px -5px; min-height: calc(1.5em + 5px);"
{{{#!folding [ 펼치기 · 접기 ]
{{{#!wiki style="margin: -5px -1px -11px; word-break: keep-all;"
기반 학문
물리학{고전역학(동역학 · 정역학(고체역학 · 재료역학) · 진동학 · 음향학 · 유체역학) · 열역학} · 화학{물리화학(열화학) · 분자화학(무기화학)} · 기구학 · 수학{해석학(미적분학 · 수치해석 · 미분방정식 · 확률론) · 대수학(선형대수학) · 이산수학 · 통계학}
공식 및 법칙
뉴턴의 운동법칙 · 토크 · 마찰력 · 응력(전단응력 · 푸아송 비 · /응용) · 관성 모멘트 · 나비에-스토크스 방정식 · 이상 기체 법칙 · 차원분석(버킹엄의 파이 정리)
<colbgcolor=#CD6906,#555> 기계공학 관련 정보
주요 개념 재료(강성 · 인성 · 연성 · 취성 · 탄성 · 경도 · 강도) · 백래시 · 피로(피로 파괴) · 페일 세이프(데드맨 스위치) · 이격(공차 · 기하공차) · 유격 · 자유도 · 방열 · 오버홀 · 열효율 · 임계열유속 · 수치해석(유한요소해석 · 전산유체역학 · 전산응용해석)
기계 공작기계 · 건설기계 · 농기계 · 수송기계(자동차 · 철도차량 · 항공기 · 선박) · 광학기기(영사기 · 카메라) · 로봇 · 시계
기계설계·기계제도 척도 · 표현 방식(입면도 · 단면도 · 투상도 · 전개도) · 도면(부품도 · 제작도 · 조립도) · 제도용구(제도판 · 샤프 · · 삼각자 · 컴퍼스 · 디바이더 · 템플릿) · CAD
기계요소 하우징 · 결합요소(나사 · 리벳 · · · ) · 동력 전달 요소(베어링 · 기어 · 톱니바퀴 · 체인 · 벨트 · 도르래 · LM · 가이드 · 볼스크류 · · 슬리브 · 커플링 · · 크랭크 · 클러치 · 터빈 · 탈진기 · 플라이휠) · 관용 요소(파이프 · 실린더 · 피스톤 · 피팅 · 매니폴드 · 밸브 · 노즐 · 디퓨저) · 제어 요소(브레이크 · 스프링) · 태엽 · 빗면
기계공작법 공작기계(선반(범용선반) · 밀링 머신(범용밀링) · CNC(터닝센터 · 머시닝 센터 · 3D 프린터 · 가공준비기능 · CAM)) · 가공(이송 · 황삭가공 · 정삭가공 · 드릴링 · 보링 · 밀링 · 워터젯 가공 · 레이저 가공 · 플라즈마 가공 · 초음파 가공 · 방전가공 ) · 공구(바이트 · 페이스 커터 · 엔드밀 · 드릴 · 인서트 · 그라인더 · 절삭유) · 금형(프레스 금형) · 판금
기관 외연기관(증기기관 · 스털링 기관) · 내연기관(왕복엔진(2행정 기관 · 4행정 기관) · 과급기 · 가스터빈 · 제트 엔진) · 유체기관(풍차 · 수차) · 전동기 · 히트펌프
기계공학 교육 · 연구
관련 분야 항공우주공학 · 로봇공학 · 메카트로닉스 · 제어공학 · 원자력공학 · 나노과학
학과 기계공학과 · 항공우주공학과 · 조선해양공학과 · 로봇공학과 · 금형공학과 · 자동차공학과 · 기전공학과 · 원자력공학과
과목 공업수학 · 일반물리학 · 4대역학(동역학 · 정역학 · 고체역학 · 유체역학 · 열전달) · 수치해석 · 프로그래밍 · 캡스톤 디자인
관련 기관 국가과학기술연구회(과학기술분야 정부출연연구기관)
자격증
기계제작 계열 기능사
컴퓨터응용선반기능사 · 컴퓨터응용밀링기능사 · 기계가공조립기능사 · 전산응용기계제도기능사 · 정밀측정기능사
산업기사 및 기사
컴퓨터응용가공산업기사 · 기계조립산업기사 · 기계설계산업기사 · 정밀측정산업기사 · 일반기계기사
기능장 및 기술사
기계가공기능장 · 기계기술사
항공 계열 기능사
항공기정비기능사 · 항공전기·전자정비기능사
산업기사 및 기사
항공산업기사 · 항공기사
기능장 및 기술사
항공기관기술사 · 항공기체기술사
기타
}}}}}}}}} ||||
1. 개요2. 구성
2.1. N2.2. T2.3. S2.4. G2.5. F2.6. M2.7. E2.8. 예시
2.8.1. CNC선반/터닝센터 프로그램2.8.2. CNC밀링/머시닝센터 프로그램
3. CAM

1. 개요

preparatory function

머시닝센터, CNC, 선반 등 공작기계에 가공을 하기 위해 가공 사전에 가공명령어들을 프로그래밍하는 것으로 흔히 G 코드라고 한다. 3D 프린터의 제어 코드 또한 G코드라고 부른다.CNC 가공의 핵심적인 요소 중 하나로 대체적인 명령어는 전세계적으로 통일되어 있으나, 기계의 특성이나 공작기계의 생산회사(정확히는 컨트롤러의 생산회사)에 따라 약간의 차이가 있다.

명령어는 한 개의 블록 단위로 구성되며 구성요소는
N(블록 넘버)
T(공구 지정)
S(주축 회전과 관련된 기능)
G(가공지령)
F(가공 속도 제어 기능)
M(보조 기능)

등이 있다.

이 중 G기능이 가장 중요하며 G와 F를 제외한 나머지들은 공작기계가 점점 발달함에 따라 조금씩 추가된 것들이다(특히 M). 그래서 가공준비기능을 G코드라고 통상적으로 부르는 것이다.

블록의 형태는 N, (T, S,) G, F, M의 형식을 주로 취한다.

2. 구성

2.1. N

블록에 넘버를 부여한다. 보통은 생략되나 사이클을 사용할 경우 N10, N90 처럼 특정 블럭을 지정해야 할 때는 생략할 수 없다. 기종에 따라 자동으로 넘버가 부여되는 경우도 있다.

2.2. T

공구와 오프셋을 지정한다. ATC(Auto Tool Changer)나 터닝센터의 공구대(Tool post)가 부착된 기계에만 있다. 사용자가 필요에 따라 임의 장착한 공구를 호출하거나 수납할 때 사용되는 명령으로 각각의 공구에 번호를 부여하여 필요한 공구를 사용하게끔 하는 기능.

2.3. S

주축의 회전을 제어하는 기능으로 주축의 회전 수 지정, 주축의 최대 회전 수 지정, 주축의 일정가공 속도 지정)의 3가지의 용도로 주로 사용된다.

2.4. G

실질적인 가공지령을 하는 명령어로 G00부터 G99까지의 명령어가 있다.[1] 하지만 실질적으로 사용되는 것은 20~30가지로 그 구성은 대부분 동일하나 가공용도, 기종이나 제작회사에 따라 조금씩의 차이가 있다. 가공준비기능의 핵심을 담당하며 관련 자격증 준비자들을 좌절로 빠뜨리는 주범이기도 하다.
중요한 G 코드의 명령어들은 다음과 같다.
G00 - 급속이송, 위치결정이라고도 한다. 가공과 가공사이 공구를 빠르게 이송시키는 역할을 한다.
G01 - 직선보간, 일직선을 가공할 때 사용하는 명령어
G02 - 시계방향의 원호 가공
G03 - 반시계방향의 원호 가공
G04 - 휴지(dwell) 이송 일시 정지 기능
G17 - X-Y평면 설정(머시닝센터)
G18 - X-Z평면 설정(머시닝센터)
G19 - Y-Z평면 설정(머시닝센터)
G28 - 기계 원점으로 복귀
G30 - 제2 원점(공구 교환 지점)으로 복귀
G40 - 공구 경보정 취소
G41 - 공구 좌측 경보정
G42 - 공구 우측 경보정
G43 - 공구 길이 보정+
G44 - 공구 길이 보정-
G49 - 공구 길이 보정 취소
G50 - 주축 최대 회전수 제어/공작물 좌표계 설정(선반) S 명령어가 반드시 따라와야 한다.
G54 - 공작물 좌표계 1번 선택
G55 - 공작물 좌표계 2번 선택
G56 - 공작물 좌표계 3번 선택
G57 - 공작물 좌표계 4번 선택
G70 - 정삭 사이클(선반) 사이클 과정이 될 N을 반드시 지정해야 한다
G71 - 내, 외경 황삭 사이클(선반) N지정 필요
G73 - 고속 심공 드릴 사이클
G74 - 왼나사 태핑 사이클
G76 - 나사 사이클(선반),정밀 보링 사이클(머시닝센터)
G80 - 사이클 취소
G81 - 드릴 사이클(머시닝센터)
G82 - 카운터 보링 사이클(머시닝센터)
G84 - 태핑 사이클(머시닝센터), 암나사를 내기 위한 사이클
G90 - 내, 외경 황삭 사이클(선반), 절대 좌표 지령(머시닝센터)
G91 - 증분 지령/상대 좌표 지령
G92 - 나사 절삭 사이클(선반)/공작물 좌표계 설정(머시닝센터)
G94 - 단면 절삭 사이클(선반)/분당 이송 지령(머시닝센터)
G96 - 스핀들 주속 일정 제어(선반)
G97 - 스핀들 회전수 일정 제어(주속 일정 제어 취소)
G98 - 분당 일정 속도 이송 지령
G99 - 회전당 일정 속도 이송 지령

2.5. F

이송 속도를 제어하는 기능. G01, G02, G03 등 가공(보간) 명령 이후 반드시 한 번 이상은 지령되어야 하며 한 번 속도가 지령되면 다음 보간 명령에는 별도의 F 명령이 있지 않은 한 맨 마지막에 입력된 가공 이송 속도를 따라간다.

CNC선반의 경우 공작물은 회전하고 공구는 이송되므로 공작물의 회전에 따라 F의 단위가 변화한다. 공작물이 일정한 회전수를 가지는 G97에서는 통상 mm/rev(G99)을 사용하고[2] 공작물의 직경 방향 거리(통상 X축)에 따라 회전수가 변화하는 G96[3] 에서는 mm/rev(G99)나 m/min(G98)를 프로그램에 따라 사용한다.

머시닝센터는 가공시 공작물은 가만히 고정되어 있고 공구가 회전과 이송을 모두 담당하기 때문에 mm/min를 대부분 사용한다. 다만 암나사 작업 등 예외는 있다.

예)
G97 S120 M03 = 주축을 120 RPM 으로 정회전시킨다.
G99 G01 Z10. F0.2(선반)= 현재 위치로부터 Z10 .지점까지 1회전당 0.2밀리미터의 이송속도로 절삭한다.

예2)
G50 S2000= 주축의 RPM이 2000을 넘지 않도록 한계를 설정한다.
G96 S1200 M03= 주축을 공구의 위치에 따라 1200mm/min의 절삭속도를 유지하도록 정회전시킨다.
G98 G01 X10. Z10. F0.2(선반) = 현재 위치로부터 X10. Z10. 지점까지 분당 0.2미터의 속도로 절삭한다.

예3)
G98 G02 X10. Y10. R10. F200(머시닝센터) 현재 위치에서 X10. Y10.의 지점까지 1분에 200밀리미터의 이송속도로 시계방향으로 10.의 반지름을 가진 원호를 그리며 절삭한다.

2.6. M

보조 기능, 공작기계에 보조적으로 붙어있던 장치들이 점점 자동화, 프로그램화 되면서 부가적으로 들어간 기능들이다. 초반에는 그 수가 적었지만 공작기계가 점점 발달하면서 G기능 못지않게 중요성이 부각된 기능들로 대체적으로 다음과 같이 구성되어 있다.

M코드 의경우 공작기계회사, 시스템회사마다 추가,삭제,옵션으로 넣는경우가있으며(파라메타조작) 코드가 공작기계회사,시스템회사마다 다른경우가 있다. 아래는 공통적으로 사용하는 M코드 목록.
M00 프로그램 정지.
M01 프로그램 일시 정지.
M02 프로그램 종료.
M03 주축 정회전
M04 주축 역회전
M05 주축 정지
M06 공구 교환(머시닝센터) 호출할 공구 번호 T가 필요하다.
M08 절삭유 ON
M09 절삭유 OFF
M16 공구 수납(머시닝센터) 현재 사용중인 공구를 툴 매거진에 수납한다.
M30 프로그램 종료 후 프로그램 맨 선두로 되돌린다.
M98 보조 프로그램 호출
M99 보조 프로그램 종료

그외 M기능은 기계 제조사에서 별도로 지정한 기능이 있을수 있는데 그 예로 국내 H사 머시닝센터의 경우 M200 을사용하면 공구 길이 보정을 자동으로 실행한다.[4]

2.7. E

FDM 방식3D 프린터의 움직임을 가만히 보면 2.5D 밀링머신과 그 방식이 같다는 것을 알아낼 수 있는데, 그 제어 방식 역시 비슷하다. 다만 3D 프린터의 프로그램에는 출력에 해당하는 E코드가 존재해 소재를 압출[5]하는 양을 조절하게 된다.

2.8. 예시

2.8.1. CNC선반/터닝센터 프로그램

2.8.2. CNC밀링/머시닝센터 프로그램

G40 G80 G49 G90; (경보정 취소, 반복사이클 취소, 길이보정 취소, 절대좌표 지령)
G91 G28 Z0.; (Z축 원점복귀)
(G91) G30 X0.Y0.Z0..(공구 교환지점으로 이송)
M06 T01; (현재 공구를 1번공구로 교환, CNC밀링은 ATC[6]가 없으므로 오류발생)
G90 G54 G00 X10. Y10. M03 S3000; (G54좌표계 절대좌표 x10,y10 으로 이동하면서 3000RPM으로 주축회전)
G43 Z50. H01 M08; (길이보정 1번을 적용시켜 Z좌표50으로 이동. 절삭유분사)
G04 P3000; (3초간 대기)
G98 G83 Z-22. Q3. R2. F500; (Z2.까지 급속이송 내려간 후 팩드릴링 사이클로 1회3mm 분당500mm로 z-22.까지 가공. 가공후 초기점 복귀)
G80 M09; (반복사이클 취소, 절삭유급유 정지)
G91 G30 Z0.; (공구 교환지점으로 이송)
M06 T02; (2번공구 교환)
G90 G54 G00 X10. Y10. M03 S800; (G54좌표계 절대좌표 x10,y10 으로 이동하면서 800RPM으로 주축회전)
G43 Z50. H02 M08; (길이보정 2번을 적용시켜 Z좌표50으로 이동. 절삭유분사)
G04 P3000; (3초간 대기)
G98 G84 Z-20. R2. F1200; (Z2.까지 급속이송 내려간 후 태핑 사이클로 분당1200mm로 z-20.까지 가공. 가공후 초기점 복귀)
G80 M09; (반복사이클 취소, 절삭유급유 정지)
M05; (주축정지)
G91 G28 Z0.; (Z원점복귀)
G91 G28 x0. y0.;(x,y 원점복귀)
M30; (프로그램 종료)

어느정도 경험이 있다면 드릴(1번공구)직경이 6.8mm / 2번공구가 M8x1.25 탭 이라는 것을 짐작할수 있다.

3. CAM

과거에는 저 명령어들을 일일이 외워 많게는 수백, 수천줄에 달하는 명령어를 직접 입력하여 가공 프로그램을 작성해야 했으나 기술의 발달로 CAD에서 알아서 G코드를 추출해 주는 프로그램들이 속속히 등장했는데 이것을 CAM(Computer Aided Manufacturing)[7]이라고 한다. 그러나 CAM만으로는 기계가 알아서 움직여 주는 것은 또 아니며, 최적화의 문제도 있기 때문에 현재의 산업 현장에서는 과거 공작기계의 모든 부분을 전담하던 오퍼레이터가 CAM만을 전문으로 추출하는 CAD 직원과 CAM이 실질적으로 기계에 사용될 수 있도록 기계를 세팅하는 세팅맨으로 점점 분화되고 있는 추세이다.


[1] 최신 기계는 3자리 수 이상의 G코드가 있기도 한다.[2] G97과 G99를 꼭 쌍으로 쓰라는 법은 없다[3] 공작물의 직경이 달라질 때 같은 회전수를 가지고 있다면 직경에 따른 원주의 변화로 같은 가공값을 기대하기 힘들기 때문에 G96을 사용한다. G96을 사용하면 공작물의 직경이 작아질수록 회전수가 빨라진다. 단 이렇게 되면 공구가 X0. 즉 공작물의 중심에 가까워질수록 회전수가 기하급수적으로 빨라지기 때문에 반드시 G50(주축 최고 회전수 지정)을 지정하여 그 이상 회전하지 않도록 해야 한다.[4] 테이블에 이를 위한 센서가 장착되어 있다.[5] 이를 담당하는 부속품을 Extruder 라고 부르며, 이에 따라 명령어가 E로 명명되었다.[6] 자동공구교환장치[7] 물론 CAM이 이것만을 의미하는 것은 아니지만 가장 많이 사용되는 것은 이것이다.