MCT – Programming (G Code and M Code)


MCT – Programming (G Code and M Code)

(CNC: FANUC Series)

1. 머시닝센터(Machining Center)

범용 밀링기계에 CNC장치(주1) 를 장착한 기계를 CNC밀링이라 하고 CNC밀링기계에 공구 자동 교환장치(ATC:Automatic Tool Changer)를 부착하여 여러 공정의 연속적인 작업이 필요한 공작물을 자동으로 공구교환해 가면서 가공하는 공작기계를 머시닝센터라고 한다.

참고) CNC란? Computerized Numerical Control의 약자로 컴퓨터화된 수치제어장치라는 의미로 소형컴퓨터를 내장한 NC기계에 가공현상,가공조건,가공동작등의 데이터를 컴퓨터에 의해 프로그램밍하여 NC데이터를 펄스신호화된 상태로 보유하고 기계를 가동하는 장치를 말한다.

2. 어드레스(Address)의 의미

영문자 한자리수로 지령되며 뒤에 오는 Data(프로그램상의 숫자)의 의미를 규정하는 역할을 한다. FANUC Series에서는 어드레스의 의미가 다음과 같다.

Address (FANUC Series)

Address (FANUC Series)

3. 좌표계

3-1. 기계좌표계(Machine Coordinate System)

기계 메이커에서 정한 기계상에 기준이 되는 점을 기계원점이라고 하며 이점을 기준으로 하는 좌표계를 기계좌표계라 한다. ( 전원 투입후 수동 기계원점복귀후 NC에 미리 설정되어진 위치정보를 알려줌으로써 기계좌표계가 결정된다 )

3-2. 공작물 좌표계(Work Coordinate System)

작업자가 가공할 소재를 기준으로 설정한 점을 공작물원점 또는 프로그램원점이라고 하며 이점을 기준으로 하는 좌표계를 공작물(Work) 좌표계 또는 프로그램 좌표계라 한다. ( 공작물(Work)좌표계를 사용하기 위해서는 작업자가 그 위치를 미리 NC에 설정해 두워야 한다 )

3-3. 로컬 좌표계(Local Coordinate System)

프로그램 좌표계를 기준으로 프로그램안에서 새로 만든 좌표계를 로컬좌표계라 한다. ( G52지령에 의해 로컬좌표계가 설정된다 .

4. G CODE

4-1. G CODE 기능

  • G CODE 기능
    • G00 (위치결정)
    • G01 (직선보간)
    • G02, G03 (원호보간)
    • G04 (임의각도 면취, 코너 R기능, 휴지)
    • G28 (자동원점복귀)
    • G30 (제2,제3,제4원점 복귀)
    • G54~G59 (WORK 좌표계)
    • G40,G41,G42 (공구경보정)
    • G43,G44,G49 (공구길이보정)
  • 고정사이클
    • G73 (고속 펙드릴링 사이클)
    • G74 (역탭핑 사이클)
    • G76 (정밀보링 사이클:FINE BORING)
    • G81 (드릴링 사이클)
    • G82 (카운터보링)
    • G83 (펙드릴링 사이클)
    • G84 (탭 사이클), G84 (리지드탭:RIGID TAP)
    • G85 (보링 사이클/리이머)
    • G86 (보링 사이클)
    • G87 (백보링 사이클)
    • G88 (보링 사이클)
    • G89 (보링 사이클)
    • G80 (고정사이클 취소)
  • 서브 프로그램 호출(M98,M99)
  • 도형 COPY 기능
    • G72 회전복사, 평행복사
    • M코드 일람표

4-2. G CODE 일람표

  • G00 위치결정, 공구가 현재위치에서 지령한 좌표로 급속이송 속도로 이동한다. 급속이송속도 이동하므로 절삭시 사용하면 충돌할 위험이 있어 절삭하지 않는 부위에서 공구를 이동할때 주로 사용한다. (G00=G0 모두 사용 가능)
  • G01  직선보간
  • 원호보간(G02/G03) 공구가 지령한 좌표까지 지령된 이송속도로 원호가공한다.
    • G02 원호보간 CW/헬리컬 보간 CW
    • G03 원호보간 CCW/헬리컬 보간 CCW
  •  G04 휴지, Exact Stop-휴지 지령절에 지령된 시간만큼 일시 정지하는 기능
    • 예를 들어, 10초간 휴지할 경우 G04 X10. 또는, G04 P10000 (P는 소수점 사용이 불가능하므로 반드시 1/1000로 지령하여야 한다.)
  • G05 고속사이클 가공
  • G07(G107) 원통보간
  • G08 선행제어
  • G09 Exact Stop
  • G10 Programmable Data 입력
  • G11 Programmable입력 Mode Cancel
  • G15 극좌표 지령 Cancel
  • G16 극좌표 지령
  • G17 X Y 평면선택
  • G18 X Z 평면선택
  • G19 YZ 평면선택
  • G20 Inch 입력
  • G21 Metric 입력
  • G28 자동원점복귀, Reference점 자동 복귀-기계메이커에서 정한 기계상의 고유의 원점인 기계원점으로 지령한 축을 자동으로 복귀시키는 기능으로 주로 사용용도는 공구교환이나 파레트교환을 할때 이용한다.
  • G30 제2,제3,제4원점 복귀
  • G33 나사절삭
  • G40,G41,G42 (공구경보정) 프로그램 작성시 도면상의 치수를 공구이동할 좌표로 사용할 경우 공구는 공구 중심을 기준으로 이동하기 때문에 그림<1>과 같은 경우 과절삭이 발생되므로 공구 반경만큼을 이동시켜 공구경로를 만들어야 한다. 공구반경만큼 이동된 경로를 기준으로 프로그램을 작성시 형상이 복잡한 경우 좌표를 구하기가 어려우므로 프로그램상에 G41, G42지령에 의해 자동으로 공구경을 보정해 주는 기능을 이용하여 프로그램을 작성할 수 있다.
    • G40 공구경 보정 Cancel
    • G41 공구경 보정 좌 – 공구진행방향에서 봤을때 공구가 소재의 왼쪽에 있을때
    • G42 공구경 보정 우 – 공구진행방향에서 봤을때 공구가 소재의 오른쪽에 있을때
  • G43,G44,G49 (공구길이보정) 공구길이 보정이란? 한 프로그램안에 여러 개의 공구를 사용할 경우, 각 공구는 서로 다른 길이를 가지고 있어 공구길이에 맞추어 프로그램을 작성하는 것은 어려우므로 각 공구 길이를 측정하여화면에 입력한 후 프로그램상에서 공구길이보정 기능을 이용하여 프로그램 원점을 기준으로 프로그램을 작성하는 기능이다.
    • G43 공구길이보정 +
    • G44 공구길이보정 –
    • G49 공구길이보정 Cancel
  • G52 Local 좌표계 설정
  • G53 기계좌표계 선택
  • G54~G59 (WORK 좌표계)
  • G72.1 회전복사 도형- OPTION 서브프로그램으로 지령된 형상을 회전시켜 반복실행을 시킬 수 있다.
    • G17 G72.1 P__ L__ X__ Y__ R__
    • P: 서브 프로그램 번호 L: 반복횟수 X,Y,Z: 회전중심좌표 R: 회전각도(CCW: +, CW: -)
  • G72.2 평행복사 – OPTION 서브프로그램으로 지령된 형상을 평행 이동시켜 반복실행을 시킬 수 있다.
    • G17 G72.2 P__ L__ I__ J__
    • P: 서브 프로그램 번호 L: 반복횟수 I,J,K: X,Y,Z축 방향 이동량
    • ※주의사항 1)서브프로그램 가공경로는 절대지령 가능 2)공구경보정 사용 가능
  • G73 고속 펙드릴링 사이클, Perk Drilling Cycle
    • (G98 or G99) G73 (X__) (Y__) Z__ R__Q__ F__ (K__)
    • X: 가공구멍의 X좌표 Y: 가공구멍의 Y좌표 Z: 최종구멍깊이 Z좌표 R: R점(Clearance점) Q: 1회 절입량 F: 이송속도 K: 반복횟수(생략시 1회)
  • G74 역탭핑 사이클, 역 Tapping Cycle
    • (G98 or G99) G74 (X__) (Y__) Z__ R__(P__) F__ (K__)
    • X: 가공구멍의 X좌표 Y: 가공구멍의 Y좌표 Z: 최종구멍깊이 Z좌표 R: R점(Clearance점) F: 회전수 ×피치 P: 휴지시간(Dwell) (단위:SEC) K: 반복횟수
  • G76 정밀보링 사이, Fine Boring Cycle – G85,G86을 이용하여 보링작업을 할 경우, G85는 절삭이송속도로 절삭하며 R점 혹은 초기점 복귀, G76은 구멍바닥에서 주축정지 후 급속이송속도로 R점, 초기점 복귀 되므로 가공후엔 날이 멈춘위 치에 줄이 발생되므로 정도가 좋은 보링가공시 부적절하므로 G76 정밀보링기능을 이용하면 구멍바닥에 서 주축이 정지하여 공구가 소재에 닿지않게 이동 후 Z축으로 빠져나오므로 가공면이 좋은 보링작업 가능
    • (G98 or G99) G76 (X__) (Y__) Z__ R__ Q__ P__ F__ (K__)
    • X: 가공구멍의 X좌표 Y: 가공구멍의 Y좌표 Z: 최종구멍깊이 Z좌표 R: R점(Clearance점) Q: 공구 이동량(SHIFT량) P: 휴지시간(Dwell) F: 이송속도 K: 반복횟수(생략시 1회)
  • G80 고정 Cycle Cancel
  • G81 드릴링 사이클, Drill Cycle,Spot Boring Cycle
    • (G98 or G99) G76 (X__) (Y__) Z__ R__ Q__ P__ F__ (K__)
    • X: 가공구멍의 X좌표 Y: 가공구멍의 Y좌표 Z: 최종구멍깊이 Z좌표 R: R점(Clearance점) F: 이송속도 K: 반복횟수 (생략시 1회)
  • G82 카운터보링, Drill Cycle,Counter Boring Cycle
    • (G98 or G99) G82 (X__) (Y__) Z__ R__ (P__) F__ (K__)
    • X: 가공구멍의 X좌표 Y: 가공구멍의 Y좌표 Z: 최종구멍깊이 Z좌표 R: R점(Clearance점) F: 이송속도 P: 휴지시간 (단위:1/1000 SEC) K: 반복횟수 (생략시 1회)
  • G83 펙드릴링 사이클, Perk Drilling Cycle
    • (G98 or G99) G83 (X__) (Y__) Z__ R__Q__ F__ (K__)
    • X: 가공구멍의 X좌표 Y: 가공구멍의 Y좌표 Z: 최종구멍깊이 Z좌표 R: R점(Clearance점) Q: 1회 절입량 F: 이송속도 K: 반복횟수
  • G84 탭 사이클, Tapping Cycle, 리지드 탭:RIGID TA이란? G84 탭사이클의 경우 일반탭과 리지드 모드의 탭을 사용할 수 있다. 일반모드에서 탭을 사용할 경 우, 주축의 회전방향만 바꿔주는 형태로 작업을 수행하나, 정확한 탭을 내기 위해서는 주축의 회전에 동기하는 Z축 이송이 있어야 하며 이러한 작업의 수행은 리지드모드에서 가능하다. 리지드 모드에 의한 탭핑에서는 탭핑축의 일정이송(나사리드)마다 주축이 1회전한다. 그러므로 리지드모드를 이용한 탭은 Float Tap을 별도로 사용할 필요가 없고, 고속 고정도의 탭핑을 행할 수 있다.
    • G84 (X__) (Y__) Z__ R__(P__) F__ (K__)
    • X: 가공구멍의 X좌표 Y: 가공구멍의 Y좌표 Z: 최종구멍깊이 Z좌표 R: R점(Clearance점) F: 회전수 ×피치 P: 휴지시간(Dwell) (단위:SEC) K: 반복횟수
    • ※ 주의사항 1) 리지드 탭의 경우 F는 나사리드x 회전수를 지령 2) 리지드 탭의 경우 M03(주축정회전) 지령 불가 3) 역 탭핑의(역회전 절삭후 정회전 도피) 경우 G84 대신 G74로 지령
    • . (생략) G90G00 X__ Y__ G43 Z50. H01 M08 M29 S__ ——- RIGID TAP MODE G99G84 X__ Y__ Z__ R__ F__  G80G00 Z__ . (이하생략)
  • G85 보링 사이클, 리이머, Boring Cycle
    • (G98 or G99) G85 (X_) (Y_) Z_ R_ F_ (K_)
    • X: 가공구멍의 X좌표 Y: 가공구멍의 Y좌표 Z: 최종구멍깊이 Z좌표 R: R점(Clearance점) F: 이송속도 K: 반복횟수
  • G86 보링 사이클
    • (G98 or G99) G86 (X__) (Y__) Z__ R__ F__ (K__)
    • X: 가공구멍의 X좌표 Y: 가공구멍의 Y좌표 Z: 최종구멍깊이 Z좌표 R: R점(Clearance점) F: 이송속도 K: 반복횟수
  • G87 백보링 사이클, Back Boring Cycle
    • (G98 or G99) G87 (X__) (Y__) Z__ R__ Q__ F__ (K__)
    • X: 가공구멍의 X좌표, Y: 가공구멍의 Y좌표 Z: 최종구멍깊이 Z좌표 R: R점(Clearance점) Q: 공구 이동량(SHIFT량) K: 반복횟수(생략시 1회)
    • ※백보링 작업순서 ① 지령된 XY좌표점에 급속이송 ② 초기점에서 주축 오리엔테이션후 Q만큼 도피 ③ R점까지 급속이송 ④ Q만큼 복귀 후 주축 정회전 ⑤ R점에서 구멍최종점(Z점)까지 절삭이송 ⑥ 주축 오리엔테이션후 Q만큼 도피 ⑦ 초기점 복귀후 Q만큼 복귀후 주축 정회전
    • ※공구 이동량 Q의 SHIFT방향은 G76(정밀보링)과 동일한 방법으로 설정
  • G88 보링 사이클, Boring Cycle
    • (G98 or G99) G88 (X_) (Y_) Z_ R_ P_ F_ (K_)
    • X: 가공구멍의 X좌표 Y: 가공구멍의 Y좌표 Z: 최종구멍깊이 Z좌표 R: R점(Clearance점) P: 휴지시간(Dwell) F: 이송속도 K: 반복횟수
  • G89 보링 사이클
    • (G98 or G99) G89 (X_) (Y_) Z_ R_ P_ F_ (K_)
    • X: 가공구멍의 X좌표 Y: 가공구멍의 Y좌표 Z: 최종구멍깊이 Z좌표 R: R점(Clearance점) P: 휴지시간(Dwell) F: 이송속도 K: 반복횟수
  • G80 고정사이클 취소
    • ※고정사이클 사용시 주의사항
    • 1)고정사이클 실행블럭에 M,S,T,B기능은 지령불가(다른블럭에 지령)
    • 2)고정사이클 FORMAT중 소괄호 “( )” 안의 어드레스는 생략가능
    • 3)반복횟수(K)을 생략시 1번 실행하며 절대지령(G90)모드에서 반복횟수를 K2이상 지령시 동일구멍을 지령회수만큼 반복하므로 주의 반복회수 K을 지령할 경우, 증분(G91)모드라야 한다.
  • G90 Asolute 지령, 절대지령-프로그램원점을 기준으로 이동할점의 X,Y,Z축 좌표치 지령
  • G91 Incremental 지령, 증분지령-현재 공구위치를 기준으로 이동할점의 X,Y,Z축 이동량과 방향 지령 (현재공구위치가 항상 X0,Y0,Z0이 된다)
  • G92 Work 좌표계의 설정
  • G94 분당 이송
  • G95 회전당 이송
  • G96 주축 일정 제어
  • G97 주축 일정 제어 Cancel
  • G98 고정 Cycle Initial Level 복귀
  • G99 고정 Cycle R점 Level 복귀

5. 보조기능(M코드)

M코드란? Address M에 이은 수치로 지령되며, 기계측에서의 ON/OFF제어에 사용된다. M코드는 1 BLOCK에 통상 하나만 유효하며 (단, 기계에 따라 여러 개를 지령할 수 있는 경우도 있다) 기계 메이커에 의해 정해지므로, 기계 메이커의 사용설명서를 참조해서 사용하여야 한다.

참고) M은 Miscellaneous(보조적인)의 약어로 기계상의 보조적인 역할을 한다는 의미로 사용된다.

5-1. M Code 일람표

  • M00 프로그램 정지
  • M01 선택정지(OPTIONAL STOP)
  • M02 프로그램 종료/서브 프로그램 종료
  • M03 주축 정회전(CW:시계방향)
  • M04 주축 역회전(CCW:반시계방향)
  • M05 주축 정지
  • M06 자동 공구 탐색
  • M07 공구 관통 절삭유 ON (OPTION)
  • M08 표준 절삭유 ON
  • M09 절삭유 OFF
  • M10 테이블 클램프
  • M11 테이블 언클램프
  • M13 간헐 절삭유 ON (OPTION)
  • M19 주축 오리엔테이션(ORIENTATION)
  • M30 프로그램 종료 & 프로그램 선두복귀
  • M33 공구교환 준비지령
  • M34 공구 그리퍼 OPEN
  • M35 공구 그리퍼 CLOSE
  • M48 OVERRIDE 취소
  • M49 OVERRIDE 취소 해제
  • M60 테이블 1회 교환
  • M61 # 1 테이블로 교환
  • M62 # 2 테이블로 교환
  • M68 주축 공구 클램프
  • M69 주축 공구 언클램프
  • M80 MIRROR IMAGE OFF
  • M81 X축 MIRROR IMAGE ON
  • M82 Y축 MIRROR IMAGE ON
  • M84 주축 정지시 축이송 ON
  • M85 주축 정지시 축이송 OFF
  • M98 서브 프로그램 호출
  • M99 서브 프로그램 종료(주프로그램으로 복귀)

5-2. 서브 프로그램 호출(M98,M99)

하나의 프로그램안에 동일한 내용이 여러블럭 반복지령될 경우 이것을 서브(SUB)프로그램으로 사전에 메모리에 등록하여 놓으면 프로그램을 간단하게 할 수 있다. 서브 프로그램은 메인(MAIN) 프로그램으로부터 호출할 수 있으며 이것을 서브 프로그램 호출이라 한다.

  • M98(서브프로그램 호출) PXXX(반복횟수) OOOO (서브프로그램 번호)
  • (주의사항)
    • ※반복횟수 생략시 1회 실행
    • ※ FANUC Series에 따라 반복횟수는 4자리까지 지령할 수 있는 것도 있다.
    • ※M99: 서브 프로그램 종료(메인 프로그램으로 자동복귀)
  • 호출된 서브프로그램이 또다른 서브프로그램 호출이가능하며 이것을 다중호출이라 하며, 4중 호출까지 가능하다.
서브 프로그램 호출(M98,M99)

서브 프로그램 호출(M98,M99)

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: