커스텀 매크로로 공구 교체·중단 재개 매끄럽게 처리하기
일부 프로그래머는 커스텀 매크로가 복잡한 가공 작업 중간에서 프로그램 재시작을 어렵게 만든다며 사용을 꺼립니다. 이 우려는 약간의 계획으로 해소 가능. 사실 커스텀 매크로가 프로그램 재시작과 절삭 공구 가공 중간부터 실행을 더 쉽게 만들기도 합니다.
이 기법은 위스콘신주 카우카우나 미드 밸리 인더스트리즈 채드 클루스(Chad Kluth)에게서 영감받았습니다. 그가 볼트 서클 홀 가공 커스텀 매크로 다른 이슈 해결 도와달라 했고, 여기 포함시킵니다.
클루스 애플리케이션: 광산 업계용 매우 크고 단단한 4140 강철 부품 가공. 볼트 서클 패턴으로 직경 2인치 홀 최대 100개, 원형 면/플랜지에 6인치 깊이 드릴링. 공구 마모·파손 큰 이슈. 새 인서트 드릴도 사이클 완주 못 하고 마모 가능 — 90번째 홀에서 마모될 수도. 더 나쁘게는 원재료 경질 내포물로 드릴이 언제든 파손 가능.
클루스는 드릴링, 표준 탭핑, 리지드 탭핑, 리밍, 카운터보링 등 여러 홀 가공 연산 수행 가능한 범용 볼트 서클 커스텀 매크로 사용. 원래 이슈는 리지드 탭핑. '범용' 매크로라 M29 명령이 리지드 탭핑 외 연산 시 무시돼야 함. '비어 있는(vacant)' 로컬 변수로 해결.
홀 건너뛰기: 호출 명령 인수로 건너뛸 홀 수 지정. 예: 90번째 홀에서 드릴 마모면 이 인수 89로 설정. 캔드 사이클 명령 K워드(구형 팬욱에선 L워드)로 홀 가공 여부 지정. K=0(K0)이면 홀 건너뜀, K=1(K1)이면 가공.
샘플 프로그램(호출 명령 예 포함):
O0001
N005 G90 S500 M03
N010 G00 X0 Y0
N015 G43 H01 Z0.1
N020 G65 P9010 X0 Y0 Z0 C81.0 D6.0 R0.1 B12.0 A90.0 I100.0 F12.0 H89.0
N025 G91 G28 Z0
N030 M30
호출 명령 필수 인수:
- (X = X 중심)
- (Y = Y 중심)
- (Z = Z 표면)
- (D = 홀 깊이)
- (C = 사용할 사이클 — G81, G82, G83, G73, G84)
- (R = Z 급속 위치)
- (B = 볼트 서클 반경)
- (A = 시작 각도)
- (I = 홀 개수)
- (F = 이송률)
특수 경우만 필요한 인수:
- (T = G82 시 드웰 시간 지정 필요)
- (Q = G73 또는 G83 시 펙 깊이 지정 필요)
- (M29.0 = 리지드 탭핑 시 필요)
- (Sxxxx.x = 리지드 탭핑 시 스핀들 RPM 지정 필요)
- (H = 홀 건너뛸 때 건너뛸 홀 수 지정 필요)
커스텀 매크로:
O9010 (범용 볼트 서클 커스텀 매크로)
#101=1 (카운터 초기화)
#102=#1 (현재 각도 A로 초기화)
#103=360 / #4 (홀 간 증분 각도 거리)
#104=#26 + 0.1 (급속 접근 평면)
#105=#26 - #7 (홀 Z 바닥 위치)
#32=1 (건너뛴 홀 카운터 — H 포함 시 사용)
N1 IF[#101 GT #4] GOTO 99 (홀 가공 완료 테스트)
#110=#24 + COS[#102] * #2 (현재 홀 X 위치)
#111=#25 + SIN[#102] * #2 (현재 홀 Y 위치)
#33=1 (K워드 값, 다음 홀 가공 가정해 1로 설정)
IF[#11EQ#0] GOTO5 (H 포함됐나 테스트)
IF[#32GT#11] GOTO5 (홀 건너뛰기 완료 테스트)
#33=0 (다음 홀 건너뜀)
N5 M#13 S#19 (#13, #19 비어 있으면 실행 안 됨)
G#3 X#110 Y#111 R#104 Z#105 P#20 Q#17 F#9 K#33 (현재 홀 가공)
G80 (사이클 취소)
#101=#101 + 1 (카운터 증가)
#102=#102 + #103 (현재 각도 증가)
#32=#32+1 (건너뛴 홀 카운터 증가)
GOTO 1 (테스트로 복귀)
N99 M99 (끝)
커스텀 매크로 볼드체 항목 가이드:
- M#13 S#19 — CNC 워드에 비어 있는 로컬 변수 포함 시 CNC가 워드 무시. 리지드 탭핑 시 호출 명령에 M29.0과 Sxxxx.0(S는 리지드 탭핑 RPM 지정) 필수. 다른 연산 시 M, S 호출 명령서 제외.
- P#20 and Q#17 — 카운터보링(G82) 시 호출 명령에 T 포함해 드웰 시간 지정. 펙 드릴링(G73/G83) 시 Q 포함해 펙 깊이 지정.
- K#33 — 팬욱 캔드 사이클 두 프로그래밍 포맷. 최신 팬욱 CNC는 K로 가공 홀 수 지정. 구형은 L로 동일 목적. 이 매크로 작동 안 하면(홀 건너뛰기 안 되면) K#33을 L#33으로 변경.