CNC 프로그램의 주요 G코드 및 M코드 사용방법 2탄
CNC(Computer Numerical Control) 머신에서 G코드와 M코드는 각각 기계의 작업 및 동작을 제어하기 위해 사용됩니다. G코드는 기계의 움직임과 관련된 명령을 포함하고, M코드는 보조 기능을 담당을 하며 싲레로 주요 G코드의 사용예시에 대해 알아보도록 하겠습니다.
노랗목차
참고 : CNC 프로그램과 NC코드 G코드 M코드 이해하기 1탄
1. 급속이송 (G00)
급속이송 기능은 CNC 가공에서 공구를 빠르게 이동시켜 작업 영역의 이동이나 공구 위치 조정을 신속하게 수행할 때 사용하는 명령어입니다. 이 명령어는 절삭 작업이 아닌 이동 작업에 사용됩니다.
이 기능을 통해 좌표값까지 45° 방향으로 이동한 후 직선으로 계속 이동하며, 이동의 시작과 끝에서 감속이 이루어집니다.
이송 속도는 G00
지령으로 결정되며, 각 축별 속도는 Parameter (No. 1420)에서 설정되어 있습니다.
프로그래밍에서는 별도로 속도를 지령할 필요가 없으며, 기계 조작반에서 스위치를 통해 급속이송 속도를 조절할 수 있습니다 (F0, F1, F50, F100 %의 Override 조정 가능).
지령 예시:
G21 ; 밀리미터 단위 설정
G90 ; 절대 좌표계 설정
G00 X0 Y0 ; 공구를 (0,0) 위치로 빠르게 이동
G01 X50 Y0 F100 ; X50 Y0 위치까지 직선으로 이동하며 절삭이송 수행
M30 ; 프로그램 종료
이 프로그램은 공구를 먼저 (0,0) 위치로 급속이송하고, 이후 G01 명령어를 사용하여 (50,0) 위치까지 절삭이송을 수행합니다.
G00 명령어를 사용할 때, 공구가 이동할 위치는 정확히 설정해야 합니다. 공구가 비정상적으로 빠르게 이동하면서 작업 영역에 영향을 줄 수 있기 때문에, 시작과 종료 위치를 정확히 설정해야 합니다.
G21 ; 밀리미터 단위 설정
G90 ; 절대 좌표계 설정
G00 Z5 ; Z축을 5mm 높이로 급속이송 (공구를 공작물 위로 이동)
G00 X10 Y10 ; X10 Y10 위치로 급속이송
G01 Z-2 F50 ; Z축을 -2mm로 절삭이송 (공작물 표면에 접근)
M30 ; 프로그램 종료
공구의 초기 위치 이동 예시로 이 프로그램은 Z축을 5mm로 이동시켜 공작물 위로 공구를 올리고, X10 Y10 위치로 공구를 급속이송한 후, Z축을 절삭이송으로 이동하여 가공을 시작합니다.
공구가 급속이송할 때 공작물과의 거리를 충분히 두어야 합니다. 공구가 공작물과 충돌할 경우 가공 품질에 영향을 미치거나 기계 손상을 초래할 수 있습니다.
그리고 G00 명령어는 공구를 최대 속도로 이동시키기 때문에, 이송 속도가 너무 빠르면 기계의 안정성에 영향을 줄 수 있습니다. 기계의 사양과 가공 환경에 따라 적절한 이송 속도를 설정하는 것이 중요합니다.
G00 명령어는 공구를 직접적인 절삭이송 없이 이동시키므로, 다른 G코드와 함께 사용할 때는 명확한 경로를 설정하여 이동 중 문제가 발생하지 않도록 해야 합니다.
2. 절삭이송 (G01, G02, G03)
절삭이송(Feed Cutting)은 CNC 가공에서 공구가 공작물 표면을 절삭하면서 이동하는 경로와 속도를 제어하는 명령어를 포함합니다. 절삭이송을 제어하기 위해 사용되는 주요 G코드는 G01, G02, G03입니다.
G01 – 직선 절삭이송
- 기능: G01 명령어는 공구를 직선 경로로 이동시키면서 절삭이송을 수행합니다. 이 명령어는 특정 속도(이송속도)를 설정하여 공구가 일정한 속도로 이동하면서 절삭을 진행하게 합니다.
- 용도: 공작물의 직선 부분을 가공할 때 사용됩니다. 절삭이송 속도를 설정하여 가공 품질을 조절할 수 있습니다.
G02 – 원호 절삭이송 (시계방향)
- 기능: G02 명령어는 공구를 시계방향으로 원호 형태로 이동시키면서 절삭이송을 수행합니다. 이 명령어는 원호의 중심 좌표와 반지름을 기준으로 공구의 경로를 결정합니다.
- 용도: 원형 또는 호형의 곡선을 절삭할 때 사용됩니다. 시계방향으로 원호를 가공할 때 사용합니다.
G03 – 원호 절삭이송 (반시계방향)
- 기능: G03 명령어는 공구를 반시계방향으로 원호 형태로 이동시키면서 절삭이송을 수행합니다. 원호의 중심 좌표와 반지름을 기준으로 공구의 경로를 설정합니다.
- 용도: 원형 또는 호형의 곡선을 절삭할 때 사용됩니다. 반시계방향으로 원호를 가공할 때 사용합니다.
이들은 각각 직선 절삭이송과 원호 절삭이송을 제어하는 명령어입니다.
이송 속도는 F 값으로 지령하며, 직선 가공은 G01
, 원호 가공은 G02
(시계 방향), G03
(반시계 방향)을 사용합니다. 절삭속도는 최대 상한치가 Parameter (No. 1422)로 설정되어 있으며, 속도가 이 상한치를 넘지 않도록 자동으로 조정됩니다.
직선 가공 예시
G21 ; 밀리미터 단위 설정
G90 ; 절대 좌표계 설정
G00 X0 Y0 ; 공구를 시작 위치로 이동
G01 X50 Y0 F100 ; 공구를 X축으로 50mm 이동, 이송 속도는 100mm/min
G01 X50 Y50 ; 공구를 Y축으로 50mm 이동
M30 ; 프로그램 종료
이 프로그램은 공구를 X축과 Y축 방향으로 직선으로 이동시키면서 절삭이송을 수행합니다.
G01 명령어를 사용할 때 이송속도(F) 값은 공구의 절삭 속도를 결정합니다. 과도한 속도는 공구의 마모를 초래할 수 있으므로 적절한 값을 설정하는 것이 중요합니다.
원호 가공 예시
G21 ; 밀리미터 단위 설정
G90 ; 절대 좌표계 설정
G00 X0 Y0 ; 공구를 시작 위치로 이동
G01 X10 Y0 F100 ; 직선으로 이동하여 X10 Y0 위치 도달
G02 X20 Y10 I10 J0 ; 공구를 (20,10) 위치까지 시계방향 원호로 이동, 원호의 중심은 (10,0)
M30 ; 프로그램 종료
이 프로그램은 공구를 (20,10) 위치까지 시계방향 원호로 이동시키며, 원호의 중심은 (10,0)입니다.
G02와 G03 명령어를 사용할 때는 원호의 중심 좌표(I, J)와 반지름(R)을 정확히 설정해야 합니다. 원호의 중심과 반지름이 잘못 설정되면 원호가 의도한 대로 형성되지 않을 수 있습니다.
절삭이송 명령어를 사용할 때는 좌표계를 올바르게 설정해야 합니다. G90 (절대 좌표계) 또는 G91 (상대 좌표계) 명령어를 사용하여 원하는 좌표계를 설정하고 가공을 진행해야 합니다.
G21 ; 밀리미터 단위 설정
G90 ; 절대 좌표계 설정
G00 X0 Y0 ; 공구를 시작 위치로 이동
G01 X10 Y0 F100 ; 직선으로 이동하여 X10 Y0 위치 도달
G03 X20 Y10 I10 J0 ; 공구를 (20,10) 위치까지 반시계방향 원호로 이동, 원호의 중심은 (10,0)
M30 ; 프로그램 종료
이 프로그램은 공구를 (20,10) 위치까지 반시계방향 원호로 이동시키며, 원호의 중심은 (10,0)입니다.
원호 가공을 할 때 시계방향(G02)과 반시계방향(G03)의 차이를 이해하고, 필요한 방향으로 명령어를 설정해야 합니다.
3. 일시 정지 (G04)
일시 정지 기능은 홈 가공이나 드릴 작업에서 칩을 제거하거나 표면 거칠기를 개선하는 데 사용됩니다. 지정한 시간 동안 기계를 멈추는 기능으로, 시간은 P, X, U로 설정할 수 있습니다.
지령 예시:
G04 P1500 ; (1.5초 동안 정지)
G04 X1.5 ; (1.5초 동안 정지)
4. 고속 사이클 가공 (G05)
고속 사이클 가공 (G05)은 CNC 가공에서 공구 이동을 극대화하여 가공 속도와 효율성을 높이기 위한 특별한 기능입으로 G05는 일반적으로 고속 이송 모드(High-Speed Machining)와 관련된 명령어로, CNC 기계가 정밀도를 유지하면서 빠른 속도로 가공할 수 있게 해줍니다. 이 기능은 주로 정밀 가공이 요구되는 고속 절삭 작업에서 유용합니다.
G05 코드: G05는 특정 CNC 기계나 제어기에서 고속 사이클 가공 모드를 활성화하는 명령어입니다. 이 코드는 기계의 소프트웨어 및 하드웨어에 따라 다를 수 있으며, 모든 CNC 기계에서 동일하게 작동하지 않을 수 있습니다.
목적: G05의 주요 목적은 가공 속도를 높이고, 공구 이동을 최적화하여 생산성을 향상시키는 것입니다. 이는 특히 대량 생산이나 시간 단축이 중요한 작업에서 유용합니다.
지령 예시:
G21 ; 밀리미터 단위 설정
G90 ; 절대 좌표계 설정
G05 ; 고속 사이클 가공 모드 활성화
G00 X0 Y0 Z0 ; 공구 이동을 위한 시작 위치 설정
G01 X100 Y100 F1000 ; 고속 이송 모드로 공구를 X=100, Y=100으로 이동
G05 ; 고속 사이클 가공 모드 비활성화
M30 ; 프로그램 종료
위 코드를 사용하면 G05를 활성화하여 고속 이송 모드로 공구를 이동시킨 후, G05 모드를 비활성화하고 프로그램을 종료하는 방법을 보여줍니다.
G05 고속 사이클 가공은 CNC 기계의 가공 속도와 효율성을 높이는 중요한 기능으로 이를 통해 생산성을 향상시키고, 작업 시간을 단축할 수 있습니다. 그러나, 이 기능을 사용할 때는 기계의 사양과 가공 품질을 고려하여 적절한 설정과 관리를 해야 합니다.
5. 원점 복귀 (G28, G29, G30)
원점 복귀 (G28, G29, G30)는 CNC 가공에서 기계의 공구를 원점으로 돌아가게 하거나 특정 위치로 복귀시키기 위한 명령어입니다. 이 명령어들은 각기 다른 목적과 사용 방법을 가지고 있으며, 공작물의 가공을 정밀하고 효율적으로 진행하는 데 도움을 줍니다.
G28 – 원점 복귀 (Return to Home)
- 기능: G28 명령어는 공구를 기계의 원점(홈 포지션)으로 이동시키는 명령어입니다. 이 명령어를 사용하면 기계의 기본 원점으로 공구를 안전하게 이동시킬 수 있습니다.
- 용도: 주로 기계의 시작 위치를 확인하거나, 작업 중 공구를 안전한 위치로 이동시키고자 할 때 사용됩니다.
G29 – 원점 복귀 취소 (Return from Home)
- 기능: G29는 G28 명령어로 이동한 원점 위치에서 다시 원래의 위치로 돌아오는 명령어입니다. 즉, G28으로 원점으로 이동한 후, G29를 사용하여 이전 작업 위치로 돌아갈 수 있습니다.
- 용도: 작업 중 공구를 원점으로 이동시키고, 그 후 작업 위치로 복귀할 때 사용됩니다.
G30 – 보조 원점 복귀 (Return to Secondary Home)
- 기능: G30 명령어는 기계의 보조 원점(세컨더리 홈 포지션)으로 공구를 이동시키는 명령어입니다. 일반적으로 기계에는 여러 개의 원점이 설정될 수 있으며, G30은 이 중 두 번째 원점으로 이동할 때 사용됩니다.
- 용도: 여러 개의 원점이 설정된 상황에서 공구를 다른 안전 위치로 이동시키거나, 다른 작업 영역으로 이동할 때 유용합니다.
G28은 제1 원점으로 복귀하며, G29는 복귀 후 지정된 위치로 이동합니다. G30은 제2, 제3, 제4 원점으로 이동할 수 있습니다.
지령 예시:
G28 X__ Y__ Z__ ; (제1 원점으로 복귀)
G29 X__ Y__ Z__ ; (지정된 위치로 이동)
G30 P2 X__ Y__ Z__ ; (제2 원점으로 복귀)
6. 공구 경 보정 (G41, G42)
공구 경 보정 (Tool Offset Compensation)은 CNC 가공에서 공구의 직경이나 형태에 따라 가공 경로를 자동으로 조정하여 원하는 치수를 정확하게 얻기 위한 기능입니다.
41 – 공구 경 보정 (Left)
- 기능: G41 명령어는 공구가 절삭 경로의 왼쪽에 위치하도록 보정합니다. 즉, 공구의 직경만큼 경로를 왼쪽으로 오프셋하여 가공합니다.
- 용도: 직경이 큰 공구를 사용할 때, 공구의 직경에 따라 경로를 왼쪽으로 이동시켜 공작물의 치수를 정확하게 맞출 때 사용됩니다.
G42 – 공구 경 보정 (Right)
- 기능: G42 명령어는 공구가 절삭 경로의 오른쪽에 위치하도록 보정합니다. 즉, 공구의 직경만큼 경로를 오른쪽으로 오프셋하여 가공합니다.
- 용도: 공구의 직경에 따라 경로를 오른쪽으로 이동시켜 공작물의 치수를 정확하게 맞출 때 사용됩니다.
공구 경 보정은 공구의 직경이나 형상에 따라 경로를 조정해 공작물의 치수를 정확히 맞추는 데 도움을 줍니다. G41과 G42는 공구 경 보정에 관련된 두 가지 주요 명령어입니다.
지령 예시:
G21 ; 밀리미터 단위 설정
G90 ; 절대 좌표계 설정
G00 X0 Y0 ; 공구를 시작 위치로 이동
G01 X50 Y0 F100 ; 공구를 직선으로 이동
G41 D1 ; 공구 경 보정 왼쪽, 공구 직경 오프셋 적용
G01 X100 Y0 ; 공구를 경로에 따라 가공
M30 ; 프로그램 종료
이 프로그램은 공구 경 보정(G41)을 적용하여 공구가 절삭 경로의 왼쪽에 위치하도록 합니다. D1
은 공구 경 보정의 오프셋 값을 정의합니다.
G21 ; 밀리미터 단위 설정
G90 ; 절대 좌표계 설정
G00 X0 Y0 ; 공구를 시작 위치로 이동
G01 X50 Y0 F100 ; 공구를 직선으로 이동
G42 D1 ; 공구 경 보정 오른쪽, 공구 직경 오프셋 적용
G01 X100 Y0 ; 공구를 경로에 따라 가공
M30 ; 프로그램 종료
이 프로그램은 공구 경 보정(G42)을 적용하여 공구가 절삭 경로의 오른쪽에 위치하도록 합니다. D1
은 공구 경 보정의 오프셋 값을 정의합니다.
G41과 G42 명령어는 CNC 가공에서 공구의 직경이나 형상에 따라 가공 경로를 자동으로 보정해 공작물의 치수를 정확히 맞출 수 있도록 도와줍니다.
G41은 공구 경로를 왼쪽으로, G42는 오른쪽으로 오프셋하여 가공합니다. 공구 경 보정을 적절히 활용하면 가공의 정확성을 높이고, 공작물의 품질을 향상시킬 수 있습니다. 공구 보정 데이터를 정확히 입력하고, 보정 기능을 올바르게 사용하여 최상의 가공 결과를 얻는 것이 중요합니다.
7. 좌표계 설정 (G52, G53)
좌표계는 공간 내에서 물체의 위치를 특정하는 시스템으로, 주로 다음과 같은 형태로 사용되며 총 3가지 종류가 있습니다.
- 직교 좌표계: 가장 일반적인 좌표계로, X, Y, Z 축이 서로 직각을 이루며 교차하는 시스템입니다. 이는 2차원 평면(평면 좌표계)이나 3차원 공간(공간 좌표계)에서 물체의 위치를 정의하는 데 사용됩니다.
- 극 좌표계: 평면 상의 점을 원의 중심으로부터의 거리와 각도로 정의하는 시스템입니다. 이는 원형 경로나 회전하는 물체를 정의할 때 유용합니다.
- 구면 좌표계: 3차원 공간에서 점의 위치를 구의 중심에서의 거리와 두 각도로 정의하는 시스템입니다. 주로 천문학적 위치나 3차원 공간에서의 위치를 정의하는 데 사용됩니다.
CNC 가공에서는 좌표계를 정확하게 설정하고 사용하는 것이 가공의 정확도와 효율성에 직접적인 영향을 미칩니다.
좌표계 중요성 CNC 기계는 작업물을 정밀하게 가공하기 위해 특정 위치에 공구를 정확히 배치해야 합니다. 좌표계를 사용하여 공구와 작업물의 위치를 명확히 지정할 수 있습니다.
좌표계를 이용하면 가공 경로를 정밀하게 계획할 수 있습니다. 예를 들어, 공구가 작업물의 특정 지점에서 시작하거나 끝나는 위치를 좌표계로 정의함으로써, 프로그램된 경로를 따라 효율적으로 가공할 수 있습니다.
복잡한 가공 작업에서는 다수의 공구와 여러 위치를 필요로 합니다. 좌표계를 활용하면 이러한 작업을 더 간단하고 체계적으로 관리할 수 있습니다. 예를 들어, 공구 변경 시마다 새로운 좌표계를 설정하면 각 공구가 작업물 내에서 정확히 원하는 위치에 작업을 수행할 수 있습니다.
CNC 기계에서는 원점을 설정하고 이를 기준으로 작업을 수행합니다. 좌표계를 통해 원점을 명확히 설정하고, 필요한 경우 원점 이동(G54, G55 등)으로 가공 작업을 조정할 수 있습니다.
G52는 지역 좌표계를 설정할 때 사용되며, G53은 기계 좌표계로 이동할 때 사용됩니다.
지령 예시:
G52 X__ Y__ Z__ ; (지역 좌표계 설정)
G53 X__ Y__ Z__ ; (기계 좌표계로 이동)
CNC 기계는 절대 좌표계(Absolute Coordinate System)와 상대 좌표계(Relative Coordinate System)를 지원합니다.
절대 좌표계는 고정된 원점을 기준으로 위치를 지정하는 반면, 상대 좌표계는 현재 공구의 위치를 기준으로 위치를 설정합니다. 이러한 모드는 작업의 필요에 따라 유연하게 사용할 수 있습니다.
이처럼 다양한 G 코드를 활용하여 CNC 기계를 효과적으로 제어하고, 원하는 가공 결과를 얻을 수 있습니다. 각 코드의 기능과 사용 방법을 숙지하고 적절히 활용하는 것이 중요합니다.