수치 제어 (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 를 개발했다. CNC밀링머신 준비기능 (G기능)은 어드레스 "G" 이하 2단의 수치로서 구성 되어 그 Block의 명령이나 어떤 의미를 지시한다. ONE Shot G-코드 지령된 Block에 한해서 유효한 가능 ("00" Group G04,92,27,28,30,31) Modal G-코드 지령된 Block에 한해서 유효한 가능 ("00" 이외의 Group) 어드레스 D - 공구지름보정 H - 길이보정 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년 초판) 《고등학교 기계공작법》한국직업능력개발원 편찬, 교육과학기술부 저자 컴퓨터 지원 설계 (CAD) 컴퓨터 이용 공학 (CAE) 컴퓨터 지원 제조 (CAM) 분류:컴퓨터 이용 공학