CNC (Computerized Numerical Control, 컴퓨터 수치제어) 를 이용한 컴퓨터 지원제조 (Computer Aided Manufacturing, CAM) 에서 자동제어 공작기계를 이용하여 공작물을 가공하기 위해서는 CNC G코드 즉, 가공 명령어를 프로그래밍해야 합니다. 이번 글에서는 자동제어 공작기계를 이용한 공작물 가공에 반드시 필요한 CNC G코드에 관한 모든 내용을 총정리 하였습니다. 1. CNC란?CNC란 Computerized Numerical Control의 약어로서 컴퓨터 수치제어를 의미합니다. 절삭, 소성가공, 전기적 가공법 등으로 각종 기계를 만드는 공작기계는 조금씩 개량되어 완전한 원이나 직선적인 것을 가공할 수 있는 형태로 발전을 계속하여 왔습니다. 최근에는 이러한 공작기계에 전자 장치를 도입하여 기계를 사용자가 입력한 명령어대로 가동시킬 수 있는 CNC 방식이 실현되어, 다품종 소량생산이라도 각종 작업을 자동적으로 할 수 있게 되었습니다. 오늘날 CNC는 컴퓨터 마이크로 프로세서를 내장한 수치제어 공작기계 및 이를 응용한 기계공작 전반을 의미하는 용어로 주로 사용되고 있습니다. 2. G코드란?머시닝센터, CNC, 선반 등 공작기계를 이용하여 공작물을 가공하기 위하여 가공 이전에 가공명령어들을 프로그래밍하는 것을 G코드라고 합니다. G코드는 CNC 가공의 핵심적인 요소 중 하나로서 대부분의 명령어는 전세계적으로 표준화되어 통일되어 있으나, 기계의 특성이나 공작기계 컨트롤러의 생산회사에 따라 약간의 차이가 있습니다. G코드 명령어는 한 개의 블록 단위로 구성되며 구성요소는,
등의 기능이 있습니다. 이 중에서 G (가공지령) 기능이 실제 공작물을 가공하는 지령이므로 가장 중요하며, G기능과 F 기능을 제외한 나머지 기능들은 공작기계가 발전함에 따라 그 특성에 맞게 조금씩 추가된 것들입니다. 3. CNC G코드 명령어 기능 총정리앞서 말씀드린 CNC G코드의 명령어 기능을 총정리하였습니다. 3.1 N코드명령어 블록의 번호를 부여하는 기능입니다. 일반적으로 생략이되지만, 사이클을 사용하는 경우와 같이 특정 블럭을 지정하는 경우에는 N10, N80 처럼 반드시 포함되어야 합니다. 기종에 따라서는 자동으로 넘버가 부여되는 경우도 있습니다. 3.2 T코드공구와 옵셋을 지정하는 기능입니다. ATC (Auto Tool Changer) 나 터닝센터의 공구대가 부착된 기계에서만 사용되는 기능으로서, 사용자가 필요에 따라 임의 장착한 공구를 호출하거나 수납할 때 각각의 공구에 번호를 부여하여 필요한 공구를 사용할 수 있게끔하는 기능입니다. 3.3 S코드주축의 회전을 제어하는 기능입니다.
의 3가지 용도로 주로 사용됩니다. 3.4 G코드실질적인 공작물의 가공을 지령하는 명령어 기능입니다. G00부터 G99까지의 명령어가 있으며, 실질적으로 사용되는 것은 20~30가지입니다. 대부분의 CNC에서 그 구성은 동일하나, 가공용도, 기종이나 제작회사에 따라 조금씩 차이가 있으며, 컴퓨터응용선반기능사와 같은 관련 자격증 준비자들이 반드시 숙지하여야 하는 기능입니다. 중요한 G코드의 명령어들을 정리하면 다음과 같습니다.
3.5 F코드이송 속도를 제어하는 기능입니다. G01, G02, G03 등 가공 및 보간 명령 이후 반드시 한번 이상은 지령되어야 하며, 한번 속도가 지령되면 다음 보간 명령에는 별도의 F 명령이 있지 않는 한 가장 최근에 입력된 가공 이송속도를 따릅니다. CNC 선반의 경우 공작물은 회전하고, 공구는 이송되기 때문에 공작물의 회전에 따라 F의 단위는 달라집니다. 공작물이 일정한 회전수를 가지는 G97에서는 통상 G99를 사용하고, 공작물의 직경 방향거리에 따라 회전수가 변화하는 G96에서는 일반적으로 G99나 G98을 프로그램에 따라 사용합니다. 3.6 M코드프로그램을 제어하거나, 기계의 보조장치들을 ON/OFF하는 역할을 하는 보조기능 입니다. 공작기계에 보조적으로 탑재되어 있던 장치들이 점점 자동화, 프로그램화 되면서 부가적으로 G코드에 포함된 기능입니다. 초반에는 그 수가 적었지만 CNC가 발전하면서 G기능 못지 않게 중요성이 부각된 기능입니다. M코드에서 M은 보조기능 (miscellaneous function) 의 머리 글자를 딴 것으로서, G코드와 마찬가지로 어드레스 M뒤에 00에서 99까지의 두 자리 숫자를 붙여 명령을 내립니다. 프로그램을 제어하는 M기능은 M00, M01, M02, M30, M98, M99 등이고, 기타 대부분의 M코드는 CNC 보조장치의 ON/OFF 기능을 담당합니다. M코드의 경우 공작기계를 만드는 제조사, 컨트롤러 시스템 회사마다 추가, 삭제 및 옵션으로 파라미터 조작에 의해 넣는 경우가 있으며, 코드가 공작기계회사, 시스템 회사마다 다른 경우가 있습니다. 중요한 M코드의 명령어들을 정리하면 다음과 같습니다.
4. CAM에서의 G코드 자동작성과거에는 앞선 G코드 명령어들을 일일이 프로그래밍하여 CNC 작업을 위한 가공 프로그램을 작성해야 했으나, 최근에는 기술의 발달로 CAD (Computer Aided Design and Drafting) 에서 자동으로 G코드를 추출해주는 프로그램들이 등장하였으며, 이러한 프로그램들을 CAM (Computer Aided Manufacturing) 이라고 합니다. CAM의 등장으로 인해 CNC 작업을 위한 상당수 G코드 작성의 시간을 단축시키기는 했지만 CNC G코드의 최적화 등을 위하여 실제 산업현장에서는 아직도 인력에 의한 G코드의 작성, 수정, 보완이 필요합니다. |