본문 바로가기

자동제어/CNC

CNC 선반 프로그래밍 4일차 (200518) - 좌표설정

반응형

CIMCO에서 아래의 코드를 입력해본다.

 

% (전송시작) 
O0518 (G01TEST) 
G28U0.W0. (X축 X축 자동 원점 복귀)  
T0100 (DNMG 정삭바이트 공구 호출) 
G50S1800 (최고 회전수RPM 제한) 
G96S120 M03 (절삭속도를 120mm/min로 일정제어) 
G00X150.Z150.T0101 (정확한 위치 오프셋T0101_보정을 해서 움직인다) 
       X50. Z5. (실제 절삭이 일어나는 가까운 위치로 급속 이동) 
G01X40.Z0.F0.2 (절삭이동을 회전당 0.2로 움직인다) 
G01X80.Z-120.F0.2 (경로에 해당 G01 F0.2??생략가능) 
      X100. (X100만큼 올라갔다가) 
G00 X150. Z150. T0100 (급속으로 XZ로 이동, 보정취소) 
M05 (정지) 
M02 (프로그램 종료) 
%

 


G28 U0 W0 (X축 X축 자동 원점 복귀) - 가장 안전한 위치로 간다.

기계 원점과 공작물 원점이 있는 상태에서 

명령 G28 U0 W0 을 만나면

공구인선 끝이 기계원점으로 간다.

 

G28 X0 X0

공작물원점을 경유해서 간다는 것이다.

때려박는다.

증분은 현재 위치에서 간다는 것이고

절대는 공작물원점을 경유한다 (위험)

 

 

 

T0100

공구호출(01), 오프셋번호(00)

오프셋번호(00) : 기준공구와의 위치의 편차값을 저장해 놓는다.

 

 

 

절삭속도V = 파이DN / 1000 (D: X의 절대값, N: RPM)

 

 

 

G00 X150 Z150 : 공구 교환위치 , 복귀점, 안전한 위치

 

공구보정이란 : 

터렛(공구대)에서 공구 장착은 원형으로 되어 있다.

공구마다 돌출길이가 다르다.

기준공구로 공작물 원점을 잡았던 것을 새로운 공구로 교체하면 원점을 다시 잡아야 한다.

기준공구와의 차이값(보정값)을 기계에 입력해 놓는다.

그 값이 T0101에서 01이다

01에 0을 입력해 놓고 

X, Z의 값을 불러온다.

하나의 공구를 사용할 때에는 T0101 T0100를 사용하지 않아도 되고 처음의 T0100만 쓰면 되겠다.

 

 


빽플롯창을 보면 이동 경로를 볼 수 있다.

화면에서 노란색은 급속(G00)이동을 나타낸다.

 

코드에서 빨간색은 급속이동, 초록색은 안전한 이동

위로 올라갈때는 급속이 아닌 절삭속도로 이동한다.

 

 

 

저장하고 NCWare에서 불러오겠다.

실제는 저장장치에 기록하고 기계에 넣는다

그리고 기계에서 불어온다.

NCWare는 관리자 권한으로 실행시킨다.

 

 

Step1. 

프로그램이 실행되면 파워를 누르고 EMG해제(EMG를 누르고 machine ready를 누른다.)를 한다.

 

 

Step2. 공구를 추가한다.

001번을 수정해서 인서트 팁의 각도를 75도로 수정하고 

툴 터릿에 추가한다.

 

왼족 1번에 공구가 설치된 모습

Step3. 공작물을 장착한다.

공작물의 두께, 길이 (200x40)

 

 

 

Step4. 수동으로 기계 원점복귀를 한다.

POS (현재의 공구 위치 본다) - ALL - machine 좌표 확인해본다.

-100정도 가게끔 핸들로 이동시킨다.

 

Handle클릭

 

 

수동원점복귀 모드 클릭

 

 

 

 

 

수동원점 복귀를 하면

자동모드가 된다. 그러면 반자동모드(MDI)에서도 명령이 먹힌다.

MDI : manual Data Input

MDI : 그때 그때 명령을 넣는다.

 

Step5. 주축(공작물)을 회전해 본다.

MDI(반자동) 클릭 - PROG - M03S1000 입력 - EOB - INSERT 클릭하면 화면에 입력이 된다.

 

M05;는 주축정지.

위와 같이 주축회전 기능이 되려면 수동으로 원점 복귀가 되어 있어야 한다.

 

주축이 돌아가는 상태에서 공구인선을 가져다 대어야 한다.

안 그러면 충돌해서 터진다. ALAM이 뜬다.

 

 

 

이번에는 조그모드를 써본다.

 

POS

REL 그때그때 이동한 량을 표시한다. 현재 위치에서 움직인량을 나타낸다.

조그모드로 공작물과 가까이 간다.

 

가까이 가면 핸들모드로 작업한다.

X외경을 터치해본다.

 

 

공작물 원점위치를 찾으려고 한다.

U를 80으로 바꾼다.

 

터치패드의 U를 누르면 U가 깜박거린다.

U80. PRESET 또는 ORIGIN 0으로 한다.

 

 

 

 

터치한 지점이 원점에서 80이다. 

그곳에서 80만큼 내려오면 원점이 되겠다 ^^

 

X축의 원점방향으로 내려본다. 공작물이 절삭이 될 것이다.

 

U가 0이 되면 원점에 온 것이다.

 

 

W를 0으로 기준으로 잡아보자

 

 

여기까지는 무조건 해야 공작물을 가공할 수 있다.

현재 상대좌표는 0, 0으로 잡혔다

 

현재의 절대좌표가 00으로 바꿔야 한다. (좌표게 설정이라 하고 G50으로 한다.)

G50 X0.Z0.S1800;  현재위치의 절대좌표를 X0 Z0로 하라

반자동에서 G50 X0.Z0.S1800; 를 실행하면 절대좌표가 0 0으로 바뀐다.

현재의 절대좌표를 확인해 본다. 

POS 엔터 - 화살표로 ABS보이게 한다음 - 버튼 클릭해주면 아래 절대좌표가 나온다.

 

 

 

MDI를 클릭-PROG-ㅡMDI클릭-사이클 스타트를 누르면

현재위치를 절대좌표로 이동하는 명령(G50 X0.Z0.)을 준다.

명령(G50 X0.Z0)을 입력하고 Cycle Start를 눌러준다.

 

 

 

절대좌표를 확인해 본다.

 

 

 

 

이상으로 좌표계설정이 끝났다.

 


외부의 프로그램 코드가 있는 파일을 불러오기 전에 

직접 프로그램 방을 만들어서 코딩을 해본다.

 

Edit - Prog - DIR 상태에서

O0518 입력하고 INSERT를 누르면 프로그램 방이 만들어진다. (EOB를 누르면 안된다)

 

그리고 커서를 오른쪽으로 해서 주석문(G01TEST)를 넣는다.

(G1TEST)를 넣고 ALTER를 눌러 입력한다.

 

제목 아래에 프로그램 코드를 입력한다.

 

 

*******

모든 코드를 입력하고 나서 아래와 같이 경로가 나타났는데

왜 나타났는지 모르겠다.

 

 

******

 

 

입력후 Memory(자동모드) 버튼을 누르면 절삭경로가 나타난다.

 

 

 

 

 

 

 

이제 실제 절삭을 해본다.

 

 

 

 

 

 

앞부부의 단면을 쳐주어야 한다.

프로그램 코드를 추가로 입력해서 재작업을 해본다.

 

** 수정을 할때에는 왼쪽에 'Edit' 버튼을 누르고 

빨간색 부분에 아래 코드를 입력

 

여기서는 G00입력 안함

 

 

 

 

 

공작물을 교체하고 '싱글블록 Single Block' 방식으로 절삭을 해본다.

 

싱글 블록 작업시 Cycle Start를 동작단위마다 눌러주어야 한다.

위의 영상은 버튼을 재 타이밍에 눌러주지 않아서 매끄럽지 않다.

 

 

공작물 교환시 스핀들 모터가 돌고 있으면 교환이 되지 않는다.

스핀들 모터를 정지해야 한다.

 

 

 

 

** 다시 한번 반복해본다.

** 공작물만 회전하게 하려면 

수동모드(Manual Data Input) 클릭 - M03; 입력 - Cycle Start 누르면 회전한다.

 

프로그램 되어 있는 코드를 불러와야 하기 때문에 자동(Memory)버튼을 클릭하면 

화면에 프로그램 코드가 표시된다.

 

 

 

왼쪽의 트리에 빨간색으로 작업과정이 표시되지 않으면 

'G코드 트래킹'을 해준다.

 

최종적으로 프로그램 수정한 것을 적용하면 

% (전송시작) 
O0518 (G01TEST) 
G28U0.W0. (X축 X축 자동 원점 복귀)  
T0100 (DNMG 정삭바이트 공구 호출) 
G50S1800 (최고 회전수RPM 제한) 
G96S120 M03 (절삭속도를 120mm/min로 일정제어) 
G00X150.Z150.T0101 (정확한 위치 오프셋T0101_보정을 해서 움직인다) 
       X50. Z5. (실제 절삭이 일어나는 가까운 위치로 급속 이동) 
G01X40.Z0.F0.2 (절삭이동을 회전당 0.2로 움직인다) 
G01X80.Z-120.F0.2 (경로에 해당 G01 F0.2??생략가능) 
      X100. (X100만큼 올라갔다가) 
G00X50.Z0. (급속으로 가도 된다 G00추가)
G01X-1.F0.2
Z10.
G00 X150. Z150. T0100 (급속으로 XZ로 이동, 보정취소) 
M05 (정지) 
M02 (프로그램 종료) 
%

 

절삭속도를 빠르게 하고 최종적으로 동작을 확인해보자

X50.Z0 -> G00X50.Z0

절삭이 끝나고 X축 방향으로 들어올려진 시점에서 공작물 끝점까지 빠르게 이동한다.

 

 

 

 

 

 

 

코드를 수정해서 원호가공을 해본다.

 

% (전송시작) 
O0518 (G01TEST) 
G28U0.W0. (X축 X축 자동 원점 복귀)  
T0100 (DNMG 정삭바이트 공구 호출) 
G50S1800 (최고 회전수RPM 제한) 
G96S120 M03 (절삭속도를 120mm/min로 일정제어) 
G00X150.Z150.T0101 (정확한 위치 오프셋T0101_보정을 해서 움직인다) 
       X30. Z5. (실제 절삭이 일어나는 가까운 위치로 급속 이동) 
G01X30.Z0.F0.2;
G01Z-20.F0.2;
G02X70.Z-40.R20.;
G01X100.;(X100만큼 올라갔다가) 
G00X50.Z0.; (급속으로 가도 된다 G00추가)
G01X-1.F0.2;
Z10.;
G00 X150. Z150. T0100; (급속으로 XZ로 이동, 보정취소) 
M05; (정지) 
M02; (프로그램 종료) 
%

 

 

 

% (전송시작) 
O0518 (G01TEST) 
G28U0.W0. (X축 X축 자동 원점 복귀)  
T0100 (DNMG 정삭바이트 공구 호출) 
G50S1800 (최고 회전수RPM 제한) 
G96S120 M03 (절삭속도를 120mm/min로 일정제어) 
G00X150.Z150.T0101 (정확한 위치 오프셋T0101_보정을 해서 움직인다) 

X60.Z5.
G01Z-34.
G00X62.Z-33.
Z5.
X50.

G01Z-30.
G00X52.Z-29.
Z5.
X40.

G01Z-25.
G00X42.Z-24.
Z5.
       X30. Z5. (실제 절삭이 일어나는 가까운 위치로 급속 이동) 
G01X30.Z0.F0.2;
G01Z-20.F0.2;
G02X70.Z-40.R20.;
G01X100.;(X100만큼 올라갔다가) 
G00X50.Z0.; (급속으로 가도 된다 G00추가)
G01X-1.F0.2;
Z10.;
G00 X150. Z150. T0100; (급속으로 XZ로 이동, 보정취소) 
M05; (정지) 
M02; (프로그램 종료) 
%

 

CIMCO Edit로 작성된 NC프로그램 - 빽슬롯장

 

응용동작2.mp4
0.65MB