cad/cam - contents.kocw.or.krcontents.kocw.or.kr/document/wcu/2012/junnam/leebongkee... ·...

14
Bong-Kee Lee School of Mechanical Systems Engineering Chonnam National University CAD/CAM 5. NC Programming School of Mechanical Systems Engineering CAD/CAM Basic NC Programming 파트 프로그램(part program) 또는 NC 데이터 설계 형상을 가공하기 위한 NC 프로그램 지령 위치로 공구를 이동시키거나 기계의 부가적인 기능 을 수행 수동 프로그래밍 자동 프로그래밍 입력 받은 설계 형상 및 가공 조건으로부터 소프트웨어가 자동으 로 NC 데이터를 생성 일반적인 자유곡면의 3차원 절삭가공을 위한 자동 프로그래밍이 요구됨

Upload: others

Post on 22-Feb-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CAD/CAM - contents.kocw.or.krcontents.kocw.or.kr/document/wcu/2012/JunNam/LeeBongKee... · 2012-08-20 · CAD/CAM School of Mechanical Systems Engineering Basic NC Programming 프로그램

Bong-Kee Lee School of Mechanical Systems Engineering

Chonnam National University

CAD/CAM

5. NC Programming

School of Mechanical Systems Engineering CAD/CAM

Basic NC Programming

파트 프로그램(part program) 또는 NC 데이터

– 설계 형상을 가공하기 위한 NC 프로그램

– 지령 위치로 공구를 이동시키거나 기계의 부가적인 기능을 수행

– 수동 프로그래밍

– 자동 프로그래밍 • 입력 받은 설계 형상 및 가공 조건으로부터 소프트웨어가 자동으

로 NC 데이터를 생성

• 일반적인 자유곡면의 3차원 절삭가공을 위한 자동 프로그래밍이 요구됨

Page 2: CAD/CAM - contents.kocw.or.krcontents.kocw.or.kr/document/wcu/2012/JunNam/LeeBongKee... · 2012-08-20 · CAD/CAM School of Mechanical Systems Engineering Basic NC Programming 프로그램

School of Mechanical Systems Engineering CAD/CAM

Basic NC Programming

프로그램 형식

– 명령어의 구분 • 공구 움직임 제어: 공구 기준점의 위치와 방향 등

• 기계장치 제어: on/off 제어

– NC 프로그램의 구성 • NC 프로그램 > NC 블록(block) > NC 워드(word): NC 어드레스

및 숫자 N01 G92 X0.0 Y0.0 Z0.0; N02 G91 G00 X70.0 Y40.0 M03; N03 G01 X70.0 F300 S2000; N04 Y40.0; N05 X20.0; N06 Y-40.0; N07 X40.0; N08 G17 G03 X40.0 Y40.0 J40.0; N09 G01 Y30.0; N10 G02 X-20.0 Y20.0 J20.0; N11 G01 X-150.0; N12 Y-100.0; N13 G00 X-70.0 Y-40.0 M05 M02;

N03 G01 X70.0 F300 S2000;

NC block

School of Mechanical Systems Engineering CAD/CAM

Basic NC Programming

프로그램 형식

– NC 어드레스(address)

기능 어드레스 의미

프로그램 번호 O

문 번호 N NC 블록 일련 번호

좌표값

X Y Z A B C I J K R

좌표값 기계 회전축 각도

원호의 중심점 좌표 벡터 원호의 반지름

이송 속도 F 이송 속도 (mm/min, inch/min)

주축 회전 속도 S 주축 회전 속도 (rpm)

공구 번호 T 공구 번호

준비 기능 G 동작 모드 지정

보조 기능 M 기계 제어 (on/off)

옵셋 번호 D H 옵셋 레지스터 번호

Page 3: CAD/CAM - contents.kocw.or.krcontents.kocw.or.kr/document/wcu/2012/JunNam/LeeBongKee... · 2012-08-20 · CAD/CAM School of Mechanical Systems Engineering Basic NC Programming 프로그램

School of Mechanical Systems Engineering CAD/CAM

Basic NC Programming

프로그램 형식

– NC 어드레스(address) • 직교 좌표계에서의 좌표값: (a, b, c)

– 좌표값의 표기: NC 공작기계의 BLU(basic length unit, 최소설정단위)에 따라 다른 값을 이용

; BLU=0.001 & (a, b, c)=(10.0, 20.1, 30.234)

Xa Yb Zc

X10. Y20.1 Z30.234 X10000 Y20100 Z30234 또는

School of Mechanical Systems Engineering CAD/CAM

Basic NC Programming

프로그램 형식

– NC 어드레스(address) • 공구의 이송 속도(F 코드) & 주축 회전 속도(S 코드)

– F 코드 단위: mm/min 또는 inch/min

– S 코드 단위: rpm

; 주축 회전수 5000rpm, 이송 속도 1000mm/min 으로 (a, b, c)로 공구를 이동시키는 경우

• 자동 공구 교환(M06)을 위한 공구 번호 지정(T 코드)

– ATC(automatic tool changer) 이용

; 공구 번호 49인 경우

Xa Yb Zc F1000 S5000

T49

Page 4: CAD/CAM - contents.kocw.or.krcontents.kocw.or.kr/document/wcu/2012/JunNam/LeeBongKee... · 2012-08-20 · CAD/CAM School of Mechanical Systems Engineering Basic NC Programming 프로그램

School of Mechanical Systems Engineering CAD/CAM

Basic NC Programming

프로그램 형식

– M 코드 • NC 기계장치의 on/off 등 보조기능 수행

구분 M 코드 기능

프로그램 끝 M00 M02 M30

프로그램 정지 프로그램 완료 재 수행 준비

주축 회전 M03 M04 M05

시계방향으로 주축 회전 반 시계방향으로 주축 회전

주축 회전 정지

공구 교환 M06 공구 교환 명령

절삭유 M08 M09

절삭유 on 절삭유 off

School of Mechanical Systems Engineering CAD/CAM

Basic NC Programming

프로그램 형식

– G 코드 • 공구 이송의 성격을 나타내는 어드레스

– one shot: 해당 블록에서만 유효 (*)

– modal: 값이 변경될 때 까지 유효

구분 G 코드 기능

공구 이동 형태

G00 G01 G02 G03

급속 이동 (위치 제어) 직선 보간 (주어진 속도로 직선 이동)

원호 보간 (시계 방향) 원호 보간 (반시계 방향)

공구 일시 정지(*) G04 지정된 시간만큼 공구 이동 정지

평면 설정 G17 G18 G19

XY 평면 ZX 평면 YZ 평면

좌표값 입력 단위 G20 G21

inch 입력 mm 입력

Page 5: CAD/CAM - contents.kocw.or.krcontents.kocw.or.kr/document/wcu/2012/JunNam/LeeBongKee... · 2012-08-20 · CAD/CAM School of Mechanical Systems Engineering Basic NC Programming 프로그램

School of Mechanical Systems Engineering CAD/CAM

Basic NC Programming

프로그램 형식

– G 코드

구분 G 코드 기능

공구 반경 보정 G40 G41 G42

반경 보정 취소 공구 진행 방향의 왼쪽으로 보정

공구 진행 방향의 오른쪽으로 보정

공구 길이 보정 G49 G43 G44

길이 보정 취소 더하기 보정 빼기 보정

좌표값 입력 형태 G90 G91

좌표의 절대값 입력 좌표의 증분값 입력

공작물 좌표계 설정(*) G92 공작물 좌표계 설정

School of Mechanical Systems Engineering CAD/CAM

Basic NC Programming

수동 프로그래밍

– 공작물 좌표계 설정 • 기계 좌표계: NC 공작기계의 원점을 기준으로 설정된 좌표계

• 공작물 좌표계: 가공 형상을 위한 좌표계로, 일반적으로 기계좌표계와 동일한 방향이 되도록 설정

기계 좌표계: 수직형 밀링 머신 좌표계 설정의 예: 2차원 윤곽 가공

Page 6: CAD/CAM - contents.kocw.or.krcontents.kocw.or.kr/document/wcu/2012/JunNam/LeeBongKee... · 2012-08-20 · CAD/CAM School of Mechanical Systems Engineering Basic NC Programming 프로그램

School of Mechanical Systems Engineering CAD/CAM

Basic NC Programming

수동 프로그래밍

– 좌표값 입력 설정 • 입력 단위: mm (G21) 또는 inch (G20)

• 입력 형태: 절대값 (G90) 또는 증분값 (G91)

– 공구 출발점 지정(G92 코드) • 공작물에 대한 좌표계의 원점을 알려 주는 지령

• 공작물 좌표계를 알고 있는 위치에 공구 기준점을 위치시킨 후, G92 지령을 실행

• 또는, 현재 공구가 위치한 지점을 공작물 좌표계의 원점으로 설정

G21 G90

G92 X0.0 Y0.0 Z0.0

School of Mechanical Systems Engineering CAD/CAM

Basic NC Programming

수동 프로그래밍

– 급속 이동(G00 코드) • 현재 지점에서 (a, b, c)의 위치까지 최대 속도로 이동할 경우

• 급속 이동의 경로는 현재 점과 이 점을 잇는 선분이 아닐 수 있음

G00 Xa Yb Zc

(a, b, c)

Page 7: CAD/CAM - contents.kocw.or.krcontents.kocw.or.kr/document/wcu/2012/JunNam/LeeBongKee... · 2012-08-20 · CAD/CAM School of Mechanical Systems Engineering Basic NC Programming 프로그램

School of Mechanical Systems Engineering CAD/CAM

Basic NC Programming

수동 프로그래밍

– 절삭 이송: 직선 보간(G01 코드) • 현재 지점에서 (a, b, c)의 위치까지, 직선으로 속도와 경로를 제어

하며 이동

– 절삭 이송: 원호 보간(G02, G03 코드) • 원호가 위치하는 평면, 원호의 방향, 원호 중심점 정보가 요구됨

– 평면: xy(G17), zx(G18), yz(G19)

– 원호의 방향: 시계 방향(G02), 반시계 방향(G03)

– 원호 중심점: 중심점 벡터(I, J, K) 혹은 원호 반지름(R)

G01 Xa Yb Zc

School of Mechanical Systems Engineering CAD/CAM

Basic NC Programming

수동 프로그래밍

– 절삭 이송: 원호 보간 • 중심점 벡터(I, J, K)

– I, J, K 코드의 경우, 절대값/증분값 지령 모드(G90, G91)에 관계없이, 현재점에서 중심점까지의 벡터 성분을 나타냄

- 시계방향 경로 G90 G17 G02 X10. Y-6. I-8.66 J-5. F100 G91 G17 G02 X-8.66 Y-15. I-8.66 J-5. F100 - 반시계방향 경로 G90 G17 G03 X10. Y-6. I-8.66 J-5. F100 G91 G17 G02 X-8.66 Y-15. I-8.66 J-5. F100

Page 8: CAD/CAM - contents.kocw.or.krcontents.kocw.or.kr/document/wcu/2012/JunNam/LeeBongKee... · 2012-08-20 · CAD/CAM School of Mechanical Systems Engineering Basic NC Programming 프로그램

School of Mechanical Systems Engineering CAD/CAM

Basic NC Programming

수동 프로그래밍

– 절삭 이송: 원호 보간 • 원호 반지름(R)

– r ≥ 0: 180° 이하의 원호

– r < 0: 180° 이상의 원호

(10,-6)

G90 G17 ① G02 X10. Y-6 R10. F100 ② G02 X10. Y-6 R-10. F100 ③ G03 X10. Y-6 R10. F100 ④ G03 X10. Y-6 R-10. F100

School of Mechanical Systems Engineering CAD/CAM

Basic NC Programming

수동 프로그래밍

– NC 프로그래밍 예 • 직경 20mm 엔드밀, 공구 출발점 (-20, -20, 50), 이송속도

200mm/min, 주축 회전속도 1000rpm, 공구 기준점 z값 0

O0001 (CUTTER = DIA 20) 주석문 G21 G40 G90 G17 G92 X-20. Y-20. Z50. ① F200 S1000 M03 G00 Z0. X-15. Y-10. ② G01 X20. ③ G03 X50. Y20. R30. ④ G01 Y30. ⑤ X-10. ⑥ Y-10. ⑦ G00 Z50. X-20. Y-20. ⑧ M00 %

Page 9: CAD/CAM - contents.kocw.or.krcontents.kocw.or.kr/document/wcu/2012/JunNam/LeeBongKee... · 2012-08-20 · CAD/CAM School of Mechanical Systems Engineering Basic NC Programming 프로그램

School of Mechanical Systems Engineering CAD/CAM

Basic NC Programming

수동 프로그래밍

– 공구 반경 보정(cutter radius compensation) • 공구 반지름을 0으로 두고 프로그램을 작성하며, 공구가 윤곽 곡

선의 한 방향(진행방향의 오른쪽 혹은 왼쪽)을 가공하는지를 지정하는 방식

• 즉,

– 공구 경로의 좌표는 윤곽곡선의 좌표를 그대로 사용

– NC 제어기는 미리 설정된 공구의 반지름(D 코드)을 옵셋하여 실제 공구 경로를 결정

School of Mechanical Systems Engineering CAD/CAM

Basic NC Programming

수동 프로그래밍

– 공구 반경 보정(cutter radius compensation) • G41: 공구 진행방향의 왼쪽으로 옵셋

• G42: 공구 진행방향의 오른쪽으로 옵셋

• G40: 공구 반경 보정의 취소

• 예,

– 옵셋 레지스터 1번에 저장된 공구 반지름을 이용하여, 공구 이동 경로의 오른쪽으로 옵셋하여 (a, b) 위치로 공구를 이동

G42 D01 G01 Xa Yb

Page 10: CAD/CAM - contents.kocw.or.krcontents.kocw.or.kr/document/wcu/2012/JunNam/LeeBongKee... · 2012-08-20 · CAD/CAM School of Mechanical Systems Engineering Basic NC Programming 프로그램

School of Mechanical Systems Engineering CAD/CAM

Basic NC Programming

수동 프로그래밍

– 공구 반경 보정(cutter radius compensation)

O0001(Tool Radius Compensation Example) (CUTTER = D01) 주석문 G21 G40 G90 G17 G92 X-20. Y-20. Z50. F200 S1000 M03 G00 Z0. G42 G01 X0. Y0. X20. G03 X40. Y20. R20. G01 X0. Y0. G00 Z50. G40 X-20. Y-20. M00 %

School of Mechanical Systems Engineering CAD/CAM

Basic NC Programming

자동 프로그래밍

– 공정 별 단위가공(UMO, unit machining operation) 계획 수립 후, 각 UMO에 대한 NC 프로그램을 생성

– CAD/CAM 소프트웨어를 이용하여 NC 프로그램을 생성하기 위한 일반적인 과정 및 요구되는 입력 데이터

설계 형상 정보

피삭재 형상 정보

영역 정보

공구 경로 형식

CAD 모델

CAD 모델

일부 영역의 가공: area 지정 일부 영역을 제외한 가공: island 지정

매개변수형, 직선형, 포켓팅, 등고선, 펜슬가공 등

Page 11: CAD/CAM - contents.kocw.or.krcontents.kocw.or.kr/document/wcu/2012/JunNam/LeeBongKee... · 2012-08-20 · CAD/CAM School of Mechanical Systems Engineering Basic NC Programming 프로그램

School of Mechanical Systems Engineering CAD/CAM

Basic NC Programming

자동 프로그래밍

가공 방식

공구 정보

NC 기계 및 제어기

가공 조건

3축, 4축, 고정형 5축, 동시 5축 등

공구 형태(볼/라운드/평엔드밀/기타) 공구 크기(직경, 코너반경, 길이) 공구 홀더 정보

급속 이송속도 절삭 이송속도 스핀들 회전속도 가공 여유(절삭 깊이) 공구 접근 및 빠짐(길이, 방향 등) 안전 높이(절대 높이, 상대 높이) 가공 정밀도(커슾 높이 등), 진행거리, 경로 간격 공구 출발점 좌표

제어기 형식(FANUC, Heidenhain 등) 허용 축값 범위(4-5축 가공의 경우)

School of Mechanical Systems Engineering CAD/CAM

Basic NC Programming

자동 프로그래밍

– CATIA V5 R18을 이용한 NC 프로그램 생성 예

Page 12: CAD/CAM - contents.kocw.or.krcontents.kocw.or.kr/document/wcu/2012/JunNam/LeeBongKee... · 2012-08-20 · CAD/CAM School of Mechanical Systems Engineering Basic NC Programming 프로그램

School of Mechanical Systems Engineering CAD/CAM

Basic NC Programming

자동 프로그래밍

– CATIA V5 R18을 이용한 NC 프로그램 생성 예

School of Mechanical Systems Engineering CAD/CAM

Basic NC Programming

Integrated CAD/CAM software: PowerMill

– 5축 가공 적용의 예

Page 13: CAD/CAM - contents.kocw.or.krcontents.kocw.or.kr/document/wcu/2012/JunNam/LeeBongKee... · 2012-08-20 · CAD/CAM School of Mechanical Systems Engineering Basic NC Programming 프로그램

School of Mechanical Systems Engineering CAD/CAM

Basic NC Programming

(참고) APT(automatically programmed tools)

– (example 1) drilling of two holes

0.5 z=0

+z

P1 P2

P0 (0, 3, 0.1)

2

x

y 1 1

P0 = POINT/0.0, 3.0, 0.1 P1 = POINT/1.0, 1.0, 0.1 P2 = POINT/2.0, 1.0, 0.1 FROM/P0 GOTO/P1 GODLTA/0, 0, -0.7 GODLTA/0, 0, 0.7 GOTO/P2 GODLTA/0, 0, -0.7 GODLTA/0, 0, 0.7 GOTO/P0

School of Mechanical Systems Engineering CAD/CAM

Basic NC Programming

(참고) APT(automatically programmed tools)

– (example 2)

FROM/SP GO/TO, L1, TO, PS, ON, L4 GORGT/L1, PAST, L2 GOLFT/L2, PAST, L3 GOLFT/L3, PAST, C1 GOLFT/C1, PAST, L3 GOLFT/L3, PAST, L4 GOLFT/L4, PAST, L1 GOTO/SP x

y

SP

L1

L2

L3

C1

L3

L4

Page 14: CAD/CAM - contents.kocw.or.krcontents.kocw.or.kr/document/wcu/2012/JunNam/LeeBongKee... · 2012-08-20 · CAD/CAM School of Mechanical Systems Engineering Basic NC Programming 프로그램

School of Mechanical Systems Engineering CAD/CAM

Basic NC Programming

(참고) APT(automatically programmed tools) • Example: motion statement

– GO/{TO}, Drive surface, {TO}, Part surface, {TO}, Check surface

– modifier: TO, PAST, ON ~ indicate the desired location of the cutter with respect to the associated control surface

drive surface

part surface

check surface

TO

DS

CS

ON

DS

CS

PAST

DS

CS