T코드로 공구 길이 확인 자동화해 셋업 시간 단축하기
공구 길이 보상은 프로그래밍을 단순화하고 셋업·생산 런 중 시험 가공과 치수 조정을 향상시킵니다. 오프라인 공구 길이 측정 장치로 절삭 공구 길이를 조립·측정하는 것도 가능하게 합니다.
하지만 공구 길이 보상엔 단점도 있습니다.
공구 길이 보상의 단점은?
1) 절삭 공구가 프로그래밍된 절삭 조건으로 가공할 만큼 충분히 강성 있어야 하고, 2) 공구가 가장 깊은 가공면에 닿을 만큼 충분히 길면서 공구 교환 시 장애물과 충돌할 만큼 너무 길지 않아야 합니다.
일부 회사는 절삭 공구 조립 부품과 허용 길이 범위를 지정합니다. 하지만 많은 회사는 공구 이름과 크기만 지정해 조립을 셋업 담당자 판단에 맡깁니다. 셋업 담당자가 각 공구의 강성 확보 여부나 길이 허용 범위 내 여부를 확신 못 할 수 있습니다.
강성 확보는 어렵지만, 커스텀 매크로로 절삭 공구 길이 범위 문제는 해결 가능합니다.
기본 매크로 설정
이 기법은 Z축 이동이 제한된 기계(소형 수직 머시닝 센터, 많은 수평 머시닝 센터)에 특히 유용합니다. 팬욱 커스텀 매크로 시스템 변수로 오프셋 관련 데이터 접근, 예제는 기계가 팬욱 표준 6개 픽스처 오프셋을 갖고 사용자가 절삭 공구 길이를 공구 길이 보상 형상 오프셋 값으로 설정할 계획이라고 가정.
#2200번대 변수가 공구 길이 형상 오프셋 접근, #5200번대가 픽스처 오프셋 접근. 예제는 관련 시스템 변수 값을 '세컨드 레퍼런스'로 사용. 테스트 공구 길이 값:
#149=4.0
#2=#[2200+#149] (현재 공구 길이)
공통 변수 #149=4.0이면 2200+#149=2204. 바깥 파운드 기호(#)로 시스템 변수 #2204가 되어 공구 길이 형상 오프셋 4번 값 접근. 픽스처 오프셋 Z 레지스터 현재 값 접근에도 유사 기법 사용. 시스템 변수 #4014로 현재 설정된 픽스처 오프셋 값(54~59) 접근.
다음 그림 참조.
입력 데이터는 오프셋, 시스템 상수(#500번대 영구 공통 변수), 프로그램 내 지정 값에서 옵니다. 오프셋엔 픽스처 오프셋 Z값과 공구 길이 보상 형상 오프셋에 입력된 공구 길이가 포함.
사용자가 한 번만 입력하면 되는 시스템 상수:
- #511: 공구 교환용 클리어런스.
- #512: 공구 교환기 풀아웃 양(기계 제작사 문서 참조).
- #513: Z축 이동량(기계 제작사 문서 참조).
이 값들은 CNC 프로그램의 다음 변수와 매칭:
- #100: Z영점 면에서 최고 장애물(클램프 등)까지 거리.
- #101: Z영점 면에서 최대 가공 깊이까지 거리. 공구 교환 전 지정 가능.
이 기법은 사용자 정의 T코드 프로그램에서 작동. 파라미터(#6001, 최신 팬욱 CNC에선 비트 5)를 1로 설정하면 CNC가 T코드를 볼 때마다 T값을 공통 변수 #149에 저장하고 프로그램 O9000 실행.
자동 공구 교환 시스템엔 두 가지 일반적인 스타일이 있습니다.
자동 공구 교환 시스템의 일반적인 스타일은?
하나는 T코드만으로 공구 교환 완료. 다른 하나는 T코드가 툴 캐러셀만 회전시켜 공구를 대기 스테이션으로 가져오고 M06 명령이 공구 교환 수행. 다음 예제 프로그램은 둘 다 잘 작동하나, 사용자는 프로그램이 제대로 실행되게 T코드와 M06을 두 명령으로 분리해야 할 수 있습니다.
샘플 프로그램
관련 명령만 보이도록 메인 프로그램(O6001) 축약:
O6001 (메인 프로그램)
G54 (픽스처 오프셋 선택)
#100=2.0 (픽스처 오프셋 Z영점 면에서 최고 장애물/피처 높이)
#101=2.5 (공구 4의 최대 가공 깊이)
(.)
(프로그램 시작 명령)
(.)
T04 (사용자 정의 T코드 커스텀 매크로 O9000 호출)
M06 (공구 길이가 범위 내면 공구 교환 발생)
(.)
(공구 스테이션 4로 가공)
(.)
#101=1.0 (공구 5의 최대 가공 깊이)
(공구 시작 명령)
(.)
T5 (사용자 정의 T코드 커스텀 매크로 호출)
M06 (공구 길이가 범위 내면 공구 교환 발생)
(공구 5로 가공)
(.)
(나머지 가공 프로그램)
(.)
M30
O9000 (공구 체크 커스텀 매크로)
#1=ABS[#[5203+[#4014-53]*20]] (현재 픽스처 오프셋 Z값)
#2=#[2200+#149] (현재 공구 길이)
IF[[#1-#2-#511-#512-#100]GT0]GOTO5 (공구 길이가 괜찮은가?)
#3000=100(TOOL IS TOO LONG)
N5 #3=#1+#101 (최대 깊이)
#4=#513+#2 (공구 도달 범위)
IF[[#4-#3]GT0]GOTO10 (공구가 최심면까지 닿는가?)
#3000=101(TOOL TOO SHORT)
N10 T#149 (공구 대기 위치로 회전)
M99