CNC 서브프로그래밍 필수 가이드: 머시니스트를 위한 완전 정복
서브프로그래밍이란?
CNC 프로그래머와 머시니스트는 다양한 부품과 가공 작업을 다룹니다. 서브프로그래밍(Sub-programming)은 M98, M99 같은 간단한 명령으로 더 큰 유연성과 효율을 얻는 가장 널리 쓰이는 기법입니다.
정의
서브프로그램은 메인 프로그램에서 호출되어 반복적인 가공 작업을 수행하는 일반 CNC 프로그램입니다.
서브프로그래밍 관련 예제
- Fanuc 서브 프로그래밍
- Fanuc 서브프로그램 예제
- Fanuc G76 나사 사이클을 이용한 다중 시작 나사 가공
CNC 서브 프로그래밍 기초
특별한 새 기술 불필요
새로운 G코드나 프로그래밍 스타일을 배울 필요 없습니다. 이미 알고 있는 CNC 프로그래밍 지식만으로 서브프로그램을 작성/수정/삭제할 수 있습니다. 서브프로그램은 우리가 매일 다루는 일반 프로그램과 동일합니다.
서브프로그램은 M99로 끝남
메인 프로그램과 서브프로그램의 결정적 차이:
- 메인 프로그램: M30으로 종료
- 서브프로그램: M99로 종료 (호출한 프로그램으로 제어권 반환)
서브프로그램 명명
서브프로그램도 일반 CNC 프로그램이므로 O0001, O0005 같은 방식으로 번호 부여. 생성 방법도 일반 프로그램과 동일.
서브프로그램 호출
- 메인 프로그램에서 여러 위치, 여러 번 호출 가능
- 서브프로그램이 다른 서브프로그램 호출 가능 (중첩)
- 일반적으로 최대 4단계까지 중첩 가능
- 호출 방법: Fanuc 서브 프로그래밍 참조
서브프로그램 종료와 제어권 반환
서브프로그램이 M99로 끝나면 제어권이 호출 프로그램(메인)으로 반환되며, 호출 다음 블록부터 실행을 계속합니다.
중첩 호출 예시
메인(O0001) → 서브1(O0002) → 서브2(O0003) 호출 시:
O0003 완료(M99) → O0002로 복귀 → O0002 완료(M99) → O0001로 복귀 → O0001 계속 실행 → M30으로 전체 종료