이 블로그 게시물에서는 숙련된 기계 엔지니어가 Fanuc CNC 선반 명령을 마스터하기 위한 내부 팁과 기술을 공유합니다. CNC 프로그래밍 기술을 최적화하고 생산성을 높이며 가공 프로젝트를 한 단계 더 발전시키는 방법을 알아보세요.
G00▲: 빠른 포인트 위치 지정
G00 X__Z__
G01: 선형 보간
G01 X__Z__F__
G01: 베벨 또는 필렛 명령
G01 X(U) Z(W) C
G01 X(U) Z(W) R
X(U) 및 Z(W) 값은 공작물 좌표계 내에서 인접한 선 AD와 DE 사이의 가상 교차점 좌표를 나타내며, 여기서 X 및 Z는 절대 좌표 값이고 U 및 W는 증분 좌표 값입니다. C 값은 모따기 시작점을 기준으로 한 거리를 나타냅니다. R 값은 필렛 호의 반지름을 나타냅니다.
G02: 시계 방향 아크 보간
G02X__Z__R__F__
G02X__Z__ I__K__ F__
R은 호의 반지름을 나타냅니다. 호의 중심각이 0°에서 180° 사이인 경우 R은 양수 값을 취하고, 180°에서 360° 사이의 중심각은 음수 값을 취합니다. I와 K는 호의 시작점에서 X축과 Z축을 기준으로 한 호 중심의 증분 좌표, 즉 중심 좌표에서 시작점 좌표를 뺀 값을 나타냅니다(I는 반지름 값으로 표시됨). I와 K가 0이면 생략할 수 있습니다.
G03: 시계 반대 방향 아크 보간
G03 X__Z__R__F__
G03X__Z__ I__K__ F__
G02와 동일합니다.
G04: 일시 중지
G04 X1.5; 또는 G04 P1500; 소수점이 없는 P입니다.
G07.1(G107): 원통형 보간
G07.1IPr(유효); G07.1IP0(취소);
G10▲: 프로그래밍 가능한 데이터 입력
G10 P __X__ Z__R__ Q__
G11: 프로그래밍 가능한 데이터 입력 취소
G12.1(G112): 극좌표 지침
G13.1▲: 극좌표 취소
G17: XY 평면 선택
G18▲: XZ 평면 선택
G19: YZ 평면 선택
G20: 인치 입력
G21: 밀리미터 입력
G22: 저장된 스트로크 감지 활성화
G23: 저장된 스트로크 감지 비활성화
G27: 기준점 반환 확인
G27 X(U) Z(W)
G00 명령을 사용하여 도구가 프로그램에서 지정한 X, Z 좌표로 돌아오는지 확인합니다. 복귀가 정확하면 표시등이 켜집니다. 그러나 불일치하면 공작 기계에서 시스템 경보가 발생합니다.
G28: 기준점으로 자동 복귀
G28 X(U) Z(W); X와 Z는 반환 프로세스 중에 전달된 점입니다.
G29: 기준점으로 돌아가기
G29 X(U) Z(W)
기준점에서 중간점을 통과하여 지정된 X 및 Z 위치로 이동하면 중간점은 G28에서 지정한 지점이므로 이 명령은 G28 이후에만 나타날 수 있습니다.
G30: 설정 지점으로 돌아가기
G30 P2/P3/P4 X Z
P2, P3, P4는 각각 두 번째, 세 번째, 네 번째 기준점을 나타내며, X와 Z는 중간 지점입니다.
의미: 도구가 중간 지점을 통과하여 두 번째, 세 번째 및 네 번째 기준점의 위치에 도달합니다.
G31: 점프 기능
G32: 동일 피치 스레딩
G32X(U)_Z(W)_F_Q_
G32 Z(W) F; (원통형 나사산)
G32 X(U) F; (끝면 나사산)
G32 X(U) Z(W) F; (원추형 나사산)
참고:
1. 프로그래밍할 때 컷인 및 컷아웃 세그먼트는 나사산 선삭 프로그램에 통합되어야 합니다.
2. 원추형 나사 가공의 경우 각도 α가 45도 이하인 경우 나사산 리드는 Z축 방향으로 지정되고, 각도 α가 45도 이상 90도 이하인 경우 나사산 리드는 X축 방향으로 지정됩니다.
3. Q는 소수점이 없는 스레드의 시작 각도를 나타내며 단위는 0.001°입니다.
G34: 가변 피치 스레드
G34 X(U) Z(W) F K ; (원추형 나사산)
K는 회전당 피치의 증분(양수 값) 또는 감소(음수 값)를 나타내며, 나머지는 G32와 동일합니다.
G36: 자동 도구 보정 X
G36 X
G37: 자동 도구 보정 Z
G37 Z
G40: 팁 반경 보정 취소
G41: 도구 팁 반경의 왼쪽 오프셋
G41(G42)G01(G00) X Z F
G40 G01(G00) X Z F
전면 공구 홀더의 경우 외부 원은 위치 번호가 3인 G42이고 보링 홀은 위치 번호가 2인 G41입니다. 다음 그림은 전면 공구 홀더의 위치 번호와 후면 공구 홀더의 위치 2와 3, 1과 4의 위치가 바뀌고 나머지는 동일하게 유지되는 것을 보여줍니다.
G42: 도구 팁 반경에 대한 오른쪽 오프셋
G50: 좌표계 설정 또는 최대 속도 제한
G50 X Z 또는 G50 S
G50.3: 공작물 좌표계 사전 설정
G50.2: 다각형 회전 취소
G51: 다각형 회전
G52: 로컬 좌표계
G52 X20 Z20: X\Z 값은 원래 공작물 좌표계 내에서 로컬 좌표계 원점의 위치를 나타냅니다.
G52 X0 Z0: 로컬 좌표계를 취소하고 원래 좌표계 원점으로 복원합니다.
G53: 공작 기계 좌표계 선택
공작물 좌표계를 선택 해제하고 공작 기계 좌표계를 선택합니다.
(G90) G53 X_ Y_ Z_: 절대 명령(G90)에서는 유효하지만 증분 명령(G91)에서는 유효하지 않습니다.
참고:
(1) 공구 직경 오프셋, 공구 길이 오프셋 및 공구 위치 오프셋은 G53 명령을 할당하기 전에 취소해야 합니다. 그렇지 않으면 공작 기계가 할당된 오프셋 값에 따라 이동합니다.
(2) G53 명령을 실행하기 전에 수동으로 또는 G28 명령을 사용하여 공작 기계를 원점으로 되돌립니다. 이는 G53 명령을 실행하기 전에 공작 기계 좌표계를 설정해야 하기 때문입니다.
G54▲: 공작물 좌표계 선택 1
G54; 기본적으로 전원이 켜집니다.
G55-59: 공작물 좌표계 선택 2-6
G65: 매크로 프로그램의 비모드 호출
클래스 A는 FANUC 0TD 시스템을 사용하고 클래스 B는 FANUC 0I 시스템을 사용합니다.
로컬 변수는 #1-#33, 공유 변수는 #100-#149, #500-#549, 시스템 변수는 #1000 이상입니다.
매크로 프로그램은 M99로 끝나며, M98 또는 "G65 P(프로그램 번호)L(개수)"로 호출할 수 있습니다.
클래스 A 프로그램의 형식은 다음과 같습니다: G65 H(a)P(b)Q(c)R(d)에서 a는 H 코드, b는 결과 변수, c, d는 두 개의 연산 변수입니다.
클래스 B 매크로 프로그램 작동 명령.
할당 | #i=#j | 바닥 기능 | #i=FUP[#j] |
추가 | #i=#j+#k | 자연로그 | #i=LN[#j] |
빼기 | #i=#j-#k | 지수 함수 | #i=EXP[#j] |
곱셈 | #i=#j*#k | 또는 | #iOR#j |
부서 | #i=#j/#k | 독점 또는 | #iXOR#j |
사인 | #i=SIN[#j] | 그리고 | #iAND#j |
역 사인 | #i=ASIN[#j] | BCD에서 BIN으로 변환 | #i=BIN[#j] |
코사인 | #i=CON[#j] | BIN에서 BCD로 변환 | #i=BCD[#j] |
역 코사인 | #i=ACON[#j] | 같음 | EQ |
탄젠트 | #i=TAN[#j] | 다음과 같지 않음 | NE |
역 탄젠트 | #i=ATAN[#j]/[#k] | 보다 큰 | GT |
제곱근 | #i=SQRT[#j] | 다음보다 크거나 같음 | GE |
절대 가치 | #i=ABS[#j] | 미만 | LT |
반올림 | #i=ROUND[#j] | 다음보다 작거나 같음 | LE |
천장 | #i=FIX[#j] |
제어 명령: GOTO n - 무조건 점프
IF [조건 표현식] GOTO n - 조건 점프 문
WHILE [조건 표현식] DO m (m=1, 2, 3...) - 루프 명령어
...
END m;
G66: 매크로 프로그램 모달 호출
G67: 매크로 프로그램 모달 호출 취소
G70: 내부 및 외부 원통형 미세 선삭 컴파운드 고정 사이클
프로그래밍 형식: G70 P(ns) Q(nf)
Where:
참고:
(1) G70 명령은 독립적으로 사용할 수 없으며, 정밀 가공 고정 사이클을 완료하려면 G71, G72, G73 명령과 결합해야 합니다. 즉, G71, G72, G73 명령으로 공작물을 황삭 선삭한 후 G70을 사용하여 정밀 가공 고정 사이클을 지정하여 황삭 선삭으로 남은 여유를 제거합니다.
(2) 이 경우 G71, G72, G73 프로그램 세그먼트의 F, S, T 명령은 유효하지 않으며 ns~nf 프로그램 세그먼트의 F, S, T만 유효합니다. ns~nf 프로그램 세그먼트에 F, S, T 명령이 지정되지 않은 경우 황삭 선삭 사이클의 F, S, T가 유효합니다.
G71: 내부 및 외부 원통형 미세 선삭 컴파운드 고정 사이클
프로그래밍 형식: G71U (△d) R(e);
G71 P(ns) Q(nf) U (△u) W(△w) F S T ;
Where:
(1) 위의 지시를 공작물의 내부 윤곽 가공에 사용하는 경우 △u는 음수 값이어야 합니다.
(2) 황삭에 G71을 사용하는 경우 G71 프로그램 세그먼트에 포함된 F, S, T 기능만 유효합니다. ns~nf 프로그램 세그먼트에 포함된 F, S, T 기능은 지정되어 있어도 황삭 사이클에는 적용되지 않습니다. 공구 보정을 수행할 수 있으며, 공구 팁 반경 보정은 일반적으로 시작점에 접근하는 모션에 통합되는 G70 이전에 프로그래밍할 수 있습니다. 예를 들어 G42G00X55Z2; G70P10Q20; G40G00X100Z50;
(3) 이 명령은 Z 좌표가 단조롭게 증가 또는 감소하고 X 좌표도 단조롭게 변화하는 경우에 적용됩니다. Ns 프로그램 세그먼트는 X축을 따라 진행해야 하며 Z 값이 나타나지 않아야 합니다.
G72: 끝단면 거친 선삭 복합 고정 사이클
프로그래밍 형식: G72W (△d) R(e);
G72 P(ns) Q(nf) U (△u) W(△w) F S T ;
2. d: Z 방향 후방 절삭량, 부호 없음; 다른 파라미터는 G71과 동일합니다. Ns 프로그램 세그먼트는 Z 방향으로 이송되어야 하며 X 값을 포함할 수 없습니다. 위의 명령을 공작물의 내부 윤곽 가공에 사용하는 경우 △u는 음수 값이어야 합니다.
예시: 그림과 같이 프로그램 목록은 다음과 같습니다:
G73: 윤곽 복제 주기
프로그래밍 형식: G73 U(△i) W(△k) R(d);
G73 P(ns) Q(nf) U (△u) W(△w) F S T ;
d: 황삭의 사이클 수(레이어 수)를 나타냅니다;
△i: 황삭 선삭 시 X축 방향으로 제거할 총 여유량(공구 인출량) 및 방향, 반경 값입니다. 즉, 원시 크기에서 가장 작은 공작물 크기를 2로 나눈 값. 구멍은 음수 값입니다.
△k: 황삭 선삭 시 Z축 방향(공구 인출량) 및 방향으로 제거할 총 여유량; △k는 일반적으로 0입니다. 나머지는 G71 명령과 동일합니다.
G74: 끝면 그루브 주기 / 드릴링 주기
G75: 방사형 그루빙 주기
프로그래밍 형식: G75R(e);
G75 X (U) Z (W) P (Δi) Q (Δk) R (d)F;
참고:
1. 최종 깊이와 최종 Z 방향 오프셋은 시스템 자체에서 계산합니다.
2. Δi, Δk는 최소 프로그래밍 단위입니다(예: P1500은 절단 깊이 1.5mm를 의미).
G76: 나사 절삭 복합 사이클
G76 P(m)(r) (α) Q(△d min) R(d)
G76 X(U) Z(W) R(i) P(k) Q(△d) F(L)
G90: 원통형/원뿔형 표면 단일 고정 사이클
G90 X(U) Z(W) R F;
R은 원뿔형 표면 절단의 시작점의 X 좌표와 끝점의 X 좌표 사이의 차이의 절반을 나타냅니다. 음수일 수 있으며, 음수는 일반 원뿔을 나타내고 양수는 역원뿔을 나타냅니다. R이 없으면 원통형 절단입니다. 절단 속도: G00 - G01 - G01 - G00.
G92: 스레드 절단 주기
G92 X(U) Z(W) F R;
R = (X 시작점 - X 끝점) / 2. R은 모달이 아니며 모든 문장에 포함되어야 합니다.
G94: 끝면 절단 주기
명령 형식: G94 X(U) Z(W) F;
테이퍼 끝면 절단 명령 형식: G94 X(U) Z(W) K F
여기서, X, Z는 절단 세그먼트 끝점의 절대 좌표값을 나타냅니다;
U, W는 사이클 시작점에 대한 절삭 세그먼트 끝점의 좌표 증분값을 나타내고, F는 이송 속도를 나타냅니다. K는 절단 세그먼트의 시작점과 끝점 사이의 Z 좌표 값의 차이(일반적으로 음수 값)를 나타냅니다(즉, K=Z 시작점 - Z 끝점).
G96: 일정한 선형 속도 실행
M3S300; 초기 속도
G50S1000; 최대 속도 제한 1000
G96S100; 스핀들 속도 100m/min
…
G97▲: 일정한 선형 속도 취소, 속도 종료.
G97 S300; 일정한 선형 속도 취소, 속도는 300r/min입니다.
G98: 분당 피드
단위: mm/min 예시: G98 G01 X20 F200
G99▲: 회전당 이송량
단위: mm/rev 예시: G99 G01 X20 F0.2;
M00: 모든 작업이 중지됩니다.
M01: 프로그램 선택 중지
반드시 눌러야 합니다: M00에 해당하는 중지 키를 선택해야 효력이 발생합니다;
M02: 프로그램 종료
커서가 반환되지 않습니다.
M03/M04: 스핀들 전진(시계 방향)/후진(반시계 방향)
M03 S300;
M05: 스핀들 스톱
M08/09: 냉각수 켜기/끄기
M30: 프로그램 종료
커서가 프로그램 시작으로 돌아갑니다.
M98: 서브루틴 호출
프로그래밍 형식: M98 PxxxxL ;
또는 M98 Pxxxxxx ;
M99: 메인 프로그램으로 돌아가기
여기서 호출 후 P 주소 뒤의 네 자리는 서브루틴 번호를 나타내고, L 주소 뒤의 호출은 호출 횟수를 나타냅니다. 통화 횟수가 1이면 생략할 수 있으며, 허용되는 반복 통화 횟수는 최대 999회까지입니다. P 주소 뒤에 오는 8자리 숫자는 처음 4자리는 통화 시간을 나타내고 마지막 4자리는 서브루틴 번호를 나타냅니다. 통화 횟수가 1이면 생략할 수 있습니다.
M99 P100; 이 메인 프로그램 N100 프로그램 세그먼트로 돌아가는 것을 나타내는 경우, 서브루틴이 M99 L2를 수행하면 메인 프로그램의 요청 횟수에 관계없이 서브루틴이 강제로 두 번 실행된다는 의미입니다.
T××××: 도구 명령
T0101에서 처음 두 자리는 공구 번호를 나타내고 마지막 두 자리는 공구 보정 번호를 나타냅니다.