수치 제어 (numerical control)과 컴퓨터 수치 제어 (computerized numerical control)은 현장에 보급된 기계 들은 거의 대부분 NC 기계를 약해서 CNC 라 부르고 있다. 세계 최초의 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 공작기계(선반) 선반 을 조합한 것으로 준비 기능(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 - 공구기능 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자리 수치 로 지령한다.
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
컴퓨터수치제어(CNC) 모델인 '센트롤(SENTROL)3'를 개발했다.[ 1] CNC밀링머신 이 문단은 아직 미완성입니다. 여러분의 지식으로 알차게 문서를 완성해 갑시다.
수치 제어 기능이 추가된 밀링 머신 ,
준비기능 (G기능)은 어드레스 "G" 이하 2단의 수치 로서 구성되어 그 Block의 명령 이나 어떤 의미를 지시한다.
ONE Shot G-코드 : 지령된 Block에 한해서 유효한 가능 ("00" Group ; G04,92,27,28,30,31) Modal G-코드 : 지령된 Block에 한해서 유효한 가능 ("00" 이외의 Group) 어드레스 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자리 수치 로 지령한다.
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년 초판) 《고등학교 기계공작법》한국직업능력개발원 편찬, 교육과학기술부 저자 배종외 (2010년 7월 14일). 《CNC 선반 프로그램과 가공》. 성안당. 389쪽. ISBN 978-89-315-0400-2(교보문고) .