수치 제어

컴퓨터 수치 제어(computerized numerical control, CNC) 또는 CNC 가공은 컴퓨터에 의한 공작기계의 자동제어다. CNC는 수치 제어(nemerical control)의 진화된 형태로 공작 기계가 천공 카드, 천공 테이프 등 를 통해 직접 관리된다. 세계 최초의 NC공작기계는 기존의 공작기계기기에 종이테이프로 수치제어를 시스템에 입력, 수정, 제거하는 것으로 모터의 동작을 제어하도록 개조한 것이다. 1940년대부터 1950년대에 구축되어 초기의 서보메커니즘(servomechanism)에는 아날로그 컴퓨터나 디지털 컴퓨터가 부속 강화되어, CNC 공작기계가 되었고, 설계 공정을 일신시켰다.

 개요 
NC공작기계는 각각의 축이 독립한 메커니즘을 가져, 각각이 독립한 피드백 기구를 갖추고 있다. 예를 들면, XYZ축을 가지는 NC 프라이즈반이라면, X축, Y축, Z축 각각의 방향으로 슬라이드 축을 가져, 독립한 서보 기구를 가지고 있다. 즉 X방향으로 100.0mm 움직이는 지령이 나오면, X축의 엔코더(encoder)에 의해, X방향으로 100.0 mm 이동하는 것이 보증되고 있다.

공작기계를 자동적으로 동작시키기 위해, 프로그램을 해석하는 컴퓨터와 짜 합쳐지고 CNC로서 사용된다. 현재는 CNC가 아닌 NC공작기계라고 거의 없고, 단지 NC공작기계라고 부르는 경우는 CNC공작기계를 가리킨다. CNC로 사용되는 프로그래밍 언어를 NC프로그램이라고 한다.

 역사 
1801년에 프랑스의 자카르(Joseph Marie Jacquard)에 의하여 펀치 카드에 의한 직물 기계의 무늬 제작을 발명하면서 비롯되었다. 1947년 퍼슨(John T. Parsons)이 미국 공군의 헬리콥터 깃 윤곽을 검사하기 위한 게이지를 가공하는 기계를 개발하는 일에 종사하면서 자신의 고안한 NC 개념의 공작 기계 개발을 제안하였다.

미국 공군은 1948년 Parson 회사에 대해, NC에 관한 가능성을 검토하였고, 1949년 매사추세츠 공과대학의 연구팀이 3년 간의 연구 끝에 1952년 밀링 머신에 NC 장치를 설치한 것이 최초의 진공관식 NC(CNC) 공작 기계이다.

일본은 1957년 도쿄 공업대학에서 NC 선반 개발이 성공하였으며, 대한민국에서는 1973년 한국과학기술원에서 연구를 시작하여 1977년 국산 1호기가 출품되었다.

 CNC선반 
썸네일|CNC 공작기계(선반)
선반을 조합한 것으로 준비 기능(G기능), 주축 기능(S기능), 보조 기능(M기능), 이송 기능(F기능), 공구 기능(T기능) 등 외에 테이퍼절삭, 원호절삭, 나사절삭, 원점옵셋, 공구 위치 옵셋 등을 비치한 것이 많다. 미니 컴퓨터를 내장한 CNC 장치를 가진 것은 거친깎기의 시퀀스의 자동결정이나 공구 노즈 반경 보정의 기능을 비치한 것이 있다.

 준비기능 
준비기능(G기능)은 어드레스 "G" 이하 2단의 수치로서 구성되어 그 Block의 명령이나 어떤 의미를 지시한다.
 ONE Shot G-코드 : 지령된 Block에 한해서 유효한 가능 ("00" Group ; G04,G10)
 Modal G-코드 : 지령된 Block에 한해서 유효한 가능 ("00" 이외의 Group)
어드레스
 O - 프로그램 번호
 N - 블록이름(시궨스 번호)
 S - 주축기능
 F - 이송기능
 M - 보조기능
 T - 공구기능

 G코드 

 G00 : 급속위치 결정
 G01 : 직선보간 (절삭)
 G02 : 원호보간 (시계방향)
 G03 : 원호보간 (반 시계방향)
 G04 : 드웰 (정지시계 지령)
 G10 : 데이터 설정
 G20 : Inch 입력
 G21 : Metric 입력
 G22 : 금지영역 설정
 G23 : 금지영역 설정 무시
 G25 : 주축 변동 검출 OFF
 G26 : 주축 변동 검출 ON
 G27 : 원점복귀 Check
 G28 : 기계원점 복귀

 G30 : 제 2, 3, 4 원점 복귀
 G31 : Skip 기능
 G32 : 나사절삭
 G36 : 자동공구 보정(X)
 G37 : 자동공구 보정(Z)
 G40 : 인선 R보정 무시
 G41 : 인선 R보정 좌측
 G42 : 인선 R보정 우측
 G43 : 공구길이 보정 '+'
 G44 : 공구길이 보정 '-'
 G49 : 공구길이 보정취소
 G50 : 공작물 좌표계 설정/주축 최고회전수 지정
 G68 : 대향공구대 자표 ON
 G69 : 대향공구대 자표 OFF
 G70 : 정삭 싸이클

 G71 : 내외경황삭 싸이클
 G72 : 단면황삭 싸이클
 G73 : 모방 싸이클
 G74 : 단면홈가공 싸이클
 G75 : 내외경홈가공 싸이클
 G76 : 자동나사가공 싸이클
 G90 : 내외경 절삭 싸이클
 G92 : 나사 절삭 싸이클
 G94 : 단면 절삭 싸이클
 G96 : 주속 일정 제어
 G97 : 주속 일정 제어 무시
 G98 : 분당 이송
 G99 : 회전당 이송

 보조기능 
보조기능(M기능)은 기계측의 보조장치들을 제어하는 기능으로 내부적인 것과 외부적인 것이 있다. Address "M"과 2자리 수치로 지령한다.

 M코드 

 M00 : 프로그램 정지 (실행중인 프로그램을 일시정지)
 M01 : 선택 프로그램 정지 (조작판의 M01 스위치가 ON인 경우)
 M02 : 프로그램 끝
 M03 : 주축 정회전 (CW)
 M04 : 주축 역회전 (CCW)
 M05 : 주축 정지
 M06 : 공구교환
 M08 : 절삭유 ON
 M09 : 절삭유 OFF

 M12 : 척 물림
 M13 : 척 풀림
 M14 : 심압대 스핀들 전진
 M15 : 심압대 스핀들 후진
 M30 : 프로그램 끝 & Rewing(프로그램 선두에서 정지하는 경우와 재실행을 파라메타로 결정한다.)
 M98 : 보조 프로그램 호출
 M99 : 보조 프로그램 종료(보조 프로그램에서 주 프로그램으로 되돌아 간다.)

 지령 

 O
 G28 U0. W0.
 G50 X Z S T
 G96 S M03
 GOO X Z T0101 M08
 G71 P10 Q10 U W D F
 N10 G X
 G01 Z

 N20 Z
 G28 U0. W0. M09
 M05
 T0300
 G97 S2000 M03
 G00 X Z T0303 M08
 G70 P10 Q20 F0.05

 G28 U0. W0.
 M05
 T0500
 G97 S500 M03
 GOO X Z T0505 M08
 G01 X F0.07
 G04 P1000

 G04 U1.

 G28 U0. W0. M09
 M05
 T0700
 G97 S500 M03
 G00 X Z T0707 M08

 G28 U0. W0. M09
 M05
 M30

 SENTROL 시스템 
 컴퓨터수치제어(CNC) 모델인 '센트롤(SENTROL)3'를 개발했다.

 CNC밀링머신 
썸네일|CNC밀링머신

수치 제어 기능이 추가된 밀링 머신,

 준비기능 
준비기능(G기능)은 어드레스 "G" 이하 2단의 수치로서 구성되어 그 Block의 명령이나 어떤 의미를 지시한다.
 ONE Shot G-코드 : 지령된 Block에 한해서 유효한 가능 ("00" Group ; G04,92,27,28,30,31)
 Modal G-코드 : 지령된 Block에 한해서 유효한 가능 ("00" 이외의 Group)
어드레스
 D - 공구지름보정
 H - 길이보정

 G코드 

 G00 : 공구의 급속 이송
 G01 : 절삭이송에 의한 가공
 G02 : 원호보간 (CW)
 G03 : 원호보간 (CCW)
 G04 : 드웰 (Dwell, 정지시계 지령)
 G09 : Exact Stop
 G10 : 데이터 설정
 G16 : 극좌표 지령
 G17 : X Y 평면설정(기본설정되어 있음)
 G18 : Z X 평면설정
 G19 : Y Z 평면설정
 G20 : Inch 입력
 G21 : Metric 입력
 G22 : 금지영역 설정
 G27 : 원점복귀 Check
 G28 : 기계원점 복귀
 G30 : 제 2, 3, 4 원점 복귀
 G31 : Skip 기능
 G33 : 나사절삭

 G40 : 공구경 보정 취소
 G41 : 공구경 보정 좌축
 G42 : 공구경 보정 우측
 G43 : 공구길이 보정 "+"
 G44 : 공구길이 보정 "-"
 G49 : 공구길이 보정 취소
 G51 : Scaling, Mirror
 G52 : 로컬좌표계 설정
 G53 : 기계좌표계 설정
 G54~59 : 공작물 좌표계 1~6번 선택
 G60 : 한방향 위치결정
 G61 : Exact Stop Mode
 G62 : 자동 Corner Override
 G63 : Tapping Mode
 G65 : Macro 호출
 G66 : Macro Modal 호출
 G68 : 좌표회전
 G70 : 정삭 싸이클
 G73 : 고속 심공드릴 Cycle
 G74 : 역 Tapping Cycle

 G76 : Fine Boring Cycle
 G80 : 고정 사이클 취소
 G81 : Drill Cycle, Spot Boring Cycle
 G82 : Drill Cycle, Counter Boring Cycle
 G83 : 심공드릴 Cycle
 G84 : Tapping Cycle
 G85 : Boring Cycle
 G86 : Boring Cycle
 G87 : Back Boring Cycle
 G88 : Boring Cycle
 G89 : Boring Cycle
 G90 : 절대지령 지령
 G91 : 증분지령 지령
 G92 : 공작물 좌표계의 설정
 G94 : 분당 이송
 G95 : 회전당 이송
 G96 : 주속 일정 제어
 G97 : 주속 일정 제어 무시
 G98 : 고정 Cycle Initial Level 복귀
 G99 : 고정 Cycle R점 Level 복귀

 보조기능 
보조기능(M기능)은 기계측의 보조장치들을 제어하는 기능으로 내부적인 것과 외부적인 것이 있다. Address "M"과 2자리 수치로 지령한다.

 M코드 

 M00 : 프로그램 정지 (실행중인 프로그램을 일시정지)
 M01 : 선택 프로그램 정지 (조작판의 M01 스위치가 ON인 경우)
 M02 : 프로그램 끝
 M03 : 주축 정회전 (CW)
 M04 : 주축 역회전 (CCW)
 M05 : 주축 정지

 M06 : 공구 교환
 M08 : 절삭유 ON
 M09 : 절삭유 OFF
 M10 : Table Clamp
 M11 : Table Unclamp
 M19 : 주축 Orientation
 M30 : Program End & Rewind (프로그램 선두에서 정지하는 경우와 재실행을 파라메타로 결정)

 M48 : Override 100% Clamp
 M49 : Override 100% Unclamp
 M98 : Sub Program 호출
 M99 : Sub Program End (Main Rrogram으로 복귀)

 지령 

 O
 G00 G90 X Y;
 Z ;
 Z ;
 G01 Z F ;
 G01 G91 X Y ;
 G01 G91 X ;
 G01 G91 Y ;
 G01 G91 X Y ;

 G01 G91 X ;
 G01 G91 X Y;
 G01 Z ;
 G01 G91 X Y ;
 G01 Z F ;
 G01 G91 Y ;
 G01 G91 X Y ;
 G01 G91 Y ;
 G01 Z ;
 G01 G91 X Y ;
 G01 Z F ;

 G01 G91 X Y ;
 G01 G91 X ;
 G01 G91 X Y ;
 G01 G91 Y ;
 G01 G91 X Y ;
 G01 G91 X ;
 G01 G91 X Y ;
 G01 Z ;
 G01 Z;
 M05 ;
 M02 ;

 참고 문헌 

 《기초에서 현장응용까지 CNC 선반》 장진석 지음 (1992년 초판)
 《고등학교 기계공작법》한국직업능력개발원 편찬, 교육과학기술부 저자
 

 같이 보기 

 컴퓨터 지원 설계 (CAD)
 컴퓨터 이용 공학 (CAE)
 컴퓨터 지원 제조 (CAM)

분류:컴퓨터 이용 공학