CAFE

가공

CNC연삭기3-PLC

작성자하늘|작성시간06.07.24|조회수876 목록 댓글 0

PLC

1. 개 요

  PLC(Programmabl Logic Controller)는 제어장치의 일종으로 미리 정해진 순서로 입력과 출력의 조건에 따라 기계를 작동시켜 나가도록 기능을 하는 기기서 범용컴퓨터와 같은 원리로 작동하며 제품모델 변경에 따른 제어프로그램의 변경이 손쉽고, 대규모 제어가 가능하여 유연성을 가진 산업현장의 각종 기계와 공정을 제어하도록 되어 있는 디지털 조작형의 전자 장치를 말한다.

 

2. PLC의 특징

  (1) 열악한 환경(먼지, 소음, 진동, 충격, 전자파장애 등)에 잘 견딘다.

  (2) 입 출력 장치의 교체 및 증설이 용이하도록 모듈 장착 구조로 되어 있다.

  (3) 입출력 신호(I/O Signal)와 그 접속이 표준화 되어 있다.

  (4) 제어 내용의 변경이 프로그램 변경만으로 실현된다.

  (5) 고기능, 대규모의 제어를 소형으로 실현한다.

  (6) 무접점으로 고신뢰성, 고속제어가 가능하다.

  (7) 시스템의 확장이 용이하고 보수비용이 적다.

 

3. PLC의 구성

  (1) PLC의 모든 동작을 관리 제어하며, 메모리의 프로그램을 읽어 내어 수행한다. 대개 CPU로서는 마이크로 프로세서(Micro Processor)를 채택하여 그것의 비트수나 클럭속도에 따라 PLC의 성능이 결정된다.

  (2) 메모리부

     프로그램을 기억해두는 장소로서 통상 반도체 메모리(집적회로)가 사용되며, 프로그램 보존을 위해 플로피 드스크가 많이 사용된다.

  (3) 입출력부

     PLC와 기계, 설비장치 간의 인터페이스(Interface)로서 사용자가 외부 기기의 갯수에 따라 필요한 입출력 장치를 결정한다.

 

<컴퓨터와 PLC의 비교>

구분

컴퓨터

PLC

하드

입        력

  • 키 보드
  • 테이프 리더
  • 마우스
  • 스캐너
  • 스위치
  • 리미트 스위치
  • 센서
  • 전압신호

출         력

  • Printer
  • CRT
  • 테이프
  • 모터
  • 솔레노이드등 제어장치
  • 카운터
  • 표시등
  • 타이머

 

사용   장소

  • 사무실
  • 공장

소프트

사   용  자

  • 오퍼레이터
  • 프로그래머
  • 현장 작업자

프로그램 언어

  • 컴퓨터 언어
  • 시퀀스(Sequence)를 주체로 한 언어

 

 

.공구 경로 제어 방식에 따른 구분

NC에 의한 공구 경로 제어 방식은 일반적으로 아래의 3가지로 구분한다.

 

1) 위치 결정 제어 (Positioning 또는 Point-to-Point Control : G00)

중간 경로에 무관한 제어로 현 위치에서 지정한 위치로의 이동만 할 수 있도록 공구 경로를 제어한다.

예를 들면, 한 구멍 드릴 가공후 공작물 밖으로 드릴이 빠져나와 있는 상태에서 다음 구멍 가공할 위치로 이동하는 경우 등을 생각할 수 있다.

이동 속도 지정은 불필요하며 일반적으로 기계가 움직일 수 있는 최대한 빠른 속도로 이동한다.

 

2) 직선 절삭 제어 (Linear Interpolation : G01)

경로가 직선인 제어로 현 위치에서 지정한 위치로 직선으로 이동할 수 있도록 공구 경로를 제어한다.

이동 속도(이송률 : Feedrate)를 반드시 지정해 주어야 된다.

 

3) 윤곽 제어 (Contouring : G02, G03 등)

경로가 곡선인 제어로, 일반적으로 실용화되어 있는 윤곽 제어는 현 위치에서 지정한 위치로 원호를 따라 이동할 수 있도록 공구 경로를 제어하는 원호 보간(Circular Interpolation)이다.

포물선 보간, 너브스 보간 등이 일부 NC의 기능으로 추가되어 있는 경우가 있지만 보편화되어 있지는 않으며, 아직은 많이 사용되지 않는다.

 

일반적으로 자유 곡선을 따라 공구가 이동할 필요가 있는 경우에는, NC 컨트롤러에서 공구 경로를 계산하도록 하지 않고, 미리 APT나 기타 CAM 시스템에서 계산한 결과치를 NC에 입력해 제어하는 방식을 사용한다.

APT나 기타 CAM 시스템은 자유 곡선 경로를 지정한 공차 범위를 만족하는 여러개의 직선으로 구성된 경로로 바꾸어 계산해 주는 역할을 한다.

NC가 자유 곡선 경로를 직선 경로로 변환하는 계산을 하면서 동시에 가공을 진행시키도록 할 수도 있으나, 일반적으로 이 계산 과정에 많은 시간이 소요되기 때문에, APT나 기타 CAM 시스템에서 NC 가공 이전에 공구 위치 정보를 계산해 주도록 하는 것이 훨씬 더 효율적이라고 할 수 있다.

 

윤곽 제어도 이동 속도(이송률 : Feedrate) 지정이 반드시 필요하다.

 

 

2.공구 위치 제어 방식에 따른 구분

NC는 공구가 지정한 경로를 따라 정확하게 이동하고 있는지, 또는 지정한 위치에 정확하게 도달했는지를 확인하고 보정해 줄 필요가 있다.

이 위치 제어 방식은 아래의 3가지로 구분할 수 있다.

 

1) Open Loop 제어 방식

NC는 공구 이동 명령만 내보내고 제대로 이동하는지는 확인하지 않는 제어 방식이다.

정밀도가 별로 요구되지 않는 시스템에 주로 적용되며, 실지 NC 선반, MCT 등 정밀도가 요구되는 NC 공작 기계에는 많이 사용되지 않는다.

구동 장치는 일반적으로 스테핑 모터가 사용된다.

 

2) Closed Loop 제어 방식

공구가 제대로 이동하는지 또는 이동했는지를 실지 공구 위치를 측정해 확인하고 보정해주는 피드백 시스템 제어 방식이다.

측정에는 주로 인덕토신(Inductosyn : Farrand Controls 사의 상품명), 광학 스케일 등이 사용된다.

인덕토신은 아날로그 신호, 광학 스케일은 일반적으로 디지털 신호를 생성한다.

아래의 Semi-Closed Loop 제어 방식에 비해 훨씬 정밀도가 우수하지만, 아주 고가이므로 고정도의 정밀 가공을 필요로 하는 장비에만 제한적으로 사용된다.

실지 공작 기계에 적용시는 Semi-Closed Loop 제어 방식에 의한 피드백 정보와 실지 공구 위치 측정 결과를 동시에 확인하고 보정하는 하이브리드 방식이 일반적으로 사용된다 (스케일에서 측정한 피드백 값은 미세 보정에만 사용).

 

3) Semi-Closed Loop 제어 방식

볼 스크류나 서보 모터의 회전 각도를 측정해 간접적으로 실지 공구 위치를 추정하고 보정해주는 간접 피드백 시스템 제어 방식이다.

서보 모터가 기어를 통하지 않고 볼 스크류에 직접 연결될 경우, 신뢰할 수 있는 수준의 정밀도를 얻을 수 있고, 비교적 가격도 저렴해, 일반적인 NC 공작 기계에는 대부분 이 방식이 적용된다.

리졸버(Resolver : 아날로그 방식)와 엔코더(Encoder : 디지털 방식) 2종류가 주로 사용되며, 서보 모터에 내장된 형태로 제작되는 경우가 많다.

 

수치제어란 공작기계를 대상으로 하여 생각하면 공작물에 대한 공구의 위치를 그에 대응하는 수치정보를 지령하는 제어를 말한다. 수치정보는 종이 테이프나 자기디스크 등에 기억하여 두고, 필요할 때에 꺼내서 이용한다. 제어의 종류에는 공작물에 대하여 공구가 주어진 목적위치에 달할 것이 요구되고 이동중의 경로의 제어가 없는 위치결정제어, 하나의 축에 따라서 공작물에 대한 공구의 운동을 제어하는 직선절삭제어 및 2개 이상의 축의 운동을 끊임없이 제어하는 윤곽제어가 있다. 수치제어계에는 그림과 같은 폐루프계(a)(b)와 개루프계(c)가 있다. 수치제어는 공작기계를 대상으로 하여 사용되는 수가 많지만 제도, 포선, 검사 등에도 사용되고 있다. [자동프로그래밍]프로그램 언어로 쓴 부품 가공을 위한 퍼트 프로그램을 전자계산기를 사용하여 수치제어 공작기계의 입력인 수치정보로 고쳐서 이것을 정해진 테이프 포맷으로 하여 종이테이프 또는 자기테이프에 입력한 것. 2차원의 자유곡선을 절삭하고 싶을 경우에 메뉴얼 프로그래밍에서는 대단히 큰 일이지만 자동프로그래밍을 사용하므로써 대단히 용이하게 실시된다.

복합 공작 기계의 경우 1대가 구멍을 뚫고, 나사를 깎고, 파고 면을 절삭하는 등 각종 공작 기능을 갖고 있는데 이를 위한 공구를 필요에 따라 자동적으로 교환하는 장치를 말한다. 최근에는 3백개의 공구를 임의 선택할 수 있는 것도 출현하고 있다. NC(numerical control) 와 연동시킬 수 있어 완전 무인화가 가능하다.

NC 공작 기계의 제어축과 좌표계는 일반적으로 공작 기계의 종류와 특성에 따라 정해진다.

주요 NC 공작 기계의 제어축은 일반적으로 아래와 같이 구성되어 있다.

 

장비 구분

직선축

회전축

NC 선반

X, Z

-

수직형 MCT

X, Y, Z

-

수평형 MCT

X, Y, Z

B

5축 MCT

X, Y, Z

A, B, C 중 2축

 

 

1.3.1 NC 선반

선삭은 회전하는 공작물을 회전하지 않는 공구가 이송하며 불필요한 부분을 깍아내는 가공이므로, 공구는 주축의 중심선을 포함하는 정해진 2차원 평면 상에서만 움직인다.

따라서, 공구 위치는 2개의 직교하는 직선축으로 구성된 직교 좌표계 상의 좌표값으로 정의될 수 있다.

 

ISO에서는 원주 방향 직선축(X축)과 축방향 직선축(Z축)의 2축으로 NC 선반의 제어축을 규정하고 있다.

일반적으로 공작물에서 멀어지는 방향이 양의 방향('+' 방향)으로 지정된다.

 

1) 좌표계 원점 설정

 

제어축

원점 설정

비고

X축

- 공작물 또는 주축(Main Spindle) 중심축선

 

Z축

- 공작물의 앞부분 또는 뒷부분(선반 척에 고정시 기준이 되는 면)

 

 

Z축 원점 위치 설정 방법은 위의 표에서처럼 2가지가 주로 사용된다.

서로 장단점이 있으며 자세한 내용은 뒤의 NC 선반 프로그램 작성에서 설명하기로 한다.

 

밀링 기능이 결합되어 있는 장비, 또는 2개 이상의 공구대(Tool Post)로 동시에 가공을 할 수 있는 장비 등의 경우에는 제어축이 3개 이상이 될 수 있으나 기본적인 개념은 같다.

 

 

1.3.2 수직형 NC 밀링 (또는 수직형 MCT)

수직형 밀링 장비에서 공구는 공작 기계 베드(또는 테이블)에 평행한 2차원 평면과 공구축 방향 1차원 직선축으로 구성된 3차원 공간상에서 움직인다.

3차원 공간 상의 공구 위치는 3개의 직교하는 직선축으로 구성된 직교 좌표계 상의 좌표값으로 정의될 수 있다.

ISO에서는 베드(또는 테이블)에 평행한 2차원 평면상의 2개의 직교하는 직선축(X, Y축)과 공구축 방향 직선축(Z축)의 3축으로 수직형 NC 밀링(또는 MCT)의 제어축을 규정하고 있다.

 

① X축과 Y축

일반적으로 베드(또는 테이블)에 도면을 펼쳐 놓았다고 가정할 때 작업자가 보는 방향을 기준으로 지정된다.

보통 좌우 방향 행정(Stroke)이 길며, 이 축을 X축으로 한다.

테이블이 이송하는 형태의 장비와 공구가 이송하는 형태의 장비의 경우 양의 방향이 반대로 되지만, 항상 공구가 이동하는 경우를 기준으로 생각하면 된다.

 

② Z축

공구축으로 지정되며 공작물에서 멀어지는 방향을 양의 방향('+' 방향)으로 한다.

  

 

1.3.3 수평형 NC 밀링 (또는 수평형 MCT)

수평형 NC 밀링 장비는 3개의 직선축 외에 일반적으로 공작물의 양 측면과 뒷면 가공 등을 위한 테이블 회전축이 추가된다.

ISO에서는 테이블 회전축을 B축(Y축에 대한 회전축)으로 규정하고 있다.

 

① X축과 Y축

일반적으로 작업자가 보는 방향(보통 주축 방향)에서 도면을 세워 놓고 본다고 가정할 때를 기준으로 지정된다.

보통 좌우 방향 행정(Stroke)이 길며, 이 축을 X축으로 한다.

양의 방향은 공구 이동 방향을 기준으로 생각하면 된다.

 

② Z축

공구축으로 지정되며 공작물에서 멀어지는 방향을 양의 방향('+' 방향)으로 한다.

 

③ B축

Y축에 대한 회전축으로 지정되며, 회전 방향은 오른손 좌표계가 적용된다.

따라서 공구가 이동할 경우 반시계 방향(CCW)이, 테이블이 회전할 경우 시계 방향(CW)이 각각 양의 방향('+' 방향)이 된다.

 

소재 좌표계상의 공구 위치

공구 위치 좌표값에 X축 방향과 Z축 방향 벡터값이 추가되어 표시된다.

테이블이 일어서지(Tilting) 않을 경우, Y축 방향 벡터값은 항상 '0' 이 된다.

예) Xp_  Yp_  Zp_ I_  J0   K_

 

 

1.3.4  5축 NC 장비

5축 NC 장비의 제어축은 3개의 직선축과 2개의 회전축으로 구성된다.

ISO에서는 회전축의 명칭을 아래와 같이 규정하고 있다.

 

회전축 명칭

설명

비고

A축

- X축에 대한 회전축

 

B축

- Y축에 대한 회전축

 

C축

- Z축에 대한 회전축

 

 

소재 좌표계상의 공구 위치 좌표값과 벡터값으로 표시된 공구 위치에 공구를 위치시키기 위해서는 3개의 직선축과 2개의 회전축만 있으면 된다.

일반적으로 회전축은 수직형 장비인 경우 공구가, 수평형일 경우 테이블이 움직이는 구조로 제작되며, 보통 A축과 B축을 가진 5축 NC 장비가 대부분이다.

이외에 다양한 형태의 5축 장비가 있지만 기본적인 개념은 마찬가지로 볼 수 있다.

 

 

1) 수직형 장비 적용시

5축 수직형 NC 장비는 일반적으로 주축이 A축과 B축으로 틸팅하는 구조로 제작된다.

대형 장비의 경우 기계 구조상 회전할 수 있는 각도에 한계가 있는 경우가 많다.

이 공구가 틸팅하는 형태의 5축 장비에서는 일반적인 방법으로 공구 길이 옾셑(Offset) 기능을 사용할 수 없으며 공구 설치 길이를 정확하게 맞춰 사용해야 된다.

 

예) Cincinnati Milacron 사의 5 Axis 3 Spindle Gantry Profiler 장비의 A, B 축 회전 각도

      : ± 25°

 

2) 수평형 장비 적용시

일반적인 5축 수평형 NC 장비는 B축이 있는 수평형 MCT에 테이블 틸팅축(A축)이 추가된 형태로 제작된다.

마찬가지로 오른손 좌표계가 적용되므로 테이블이 공구 쪽으로 틸팅하는 것이 음의 방향('-' 방향)이 된다.

이 테이블이 틸팅하는 형태의 5축 장비에서는 일반 MCT와 동일한 방법으로 공구 길이 옾셑(Offset) 기능을 사용할 수 있다.

 

예) 테이블 틸팅 5축 MCT의 회전축 좌표계 변환

위치 구분

소재 좌표계

기계 좌표계

Xp

Yp

Zp

I

J

K

Xm

Ym

Zm

A

B

위치#1

xp1

yp1

zp1

0

0

1

xm1

ym1

zm1

0

0

위치#2

xp2

yp2

zp2

0

1

0

xm2

ym2

zm2

-90

0

위치#3

xp3

yp3

zp3

1

0

0

xm3

ym3

zm3

0

90

위치#4

xp4

yp4

zp4

0

0

-1

xm4

ym4

zm4

0

-180

위치#5

xp5

yp5

zp5

-1

0

0

xm5

ym5

zm5

0

-90

 

포스트 프로세서 (Post-Processor)

포스트 프로세서는 소재 좌표계 상의 공구 위치 정보(CLDATA : Cutter Location Data)를 기계 좌표계 상의 공구 위치 정보(MCD : Machine Control Data)로 변환해주는 프로그램을 말하며, 5축 NC 장비의 경우는 반드시 이 프로그램을 필요로 한다.

 

일반 MCT의 경우는 범용 포스트 프로세서를 사용하는 경우가 많지만, 5축 장비의 경우는 일반적으로 해당 공작 기계 제작사에서 만든 전용 포스트 프로세서를 사용한다.

 

 - 포스트 프로세서 입력 정보

   : CLDATA와 포스트 명령 (사용 APT 또는 CAD/CAM 시스템에서 만들어지며 시스템에 따라 다름)

 

 - 포스트 프로세서 출력 정보

   : MCD (사용하는 기계 구조와 NC Unit에 맞춰 출력 필요)

 

 - 선형화 (Linearization)

   : CLDATA를 그대로 MCD로 변환해 가공할 경우 기계 구조나 설치된 공구 길이에 따라 언더컷

     (Under-cut)이나 오버컷(Over-cut)이 발생할 수 있으며, 이의 방지를 위해서는 공구 끝점의

     궤적이 지정된 공차 범위내에서 움직이도록 분할해 계산해줄 필요가 있다.

     이 기능을 선형화라고 하며 포스트 프로세서의 주요 기능 중 하나이다.

 

 

1.3.5 기타

이외에 여러 개의 공구대나 주축을 사용하거나, 기계 구조상 추가한 부가축 등으로 제어축수가 5개가 넘는 장비도 있으나 기본적인 개념은 마찬가지다.

NC의 작동 모드는 일반적으로 자동(Auto) 수동(Manual) 모드로 구분한다.

제조 업체나 기계 특성에 따라 약간씩 다른 경우가 많으므로, 여기서는 특정 컨트롤러나 장비를 대상으로 하지 않고 보편적으로 사용되는 일반 사항에 대해서만 설명하기로 한다.

 

1.4.1 자동 모드

편의상 사이클 스타트 단추(Cycle Start Button)를 눌러 기계가 파트 프로그램에 기록된 정보에 따라 일련의 작업을 수행하도록 하는 경우를 자동 모드로 구분한다.

 

1) 자동 모드 종류 및 특성

파트 프로그램 정보가 기록되어 있는 위치와 사용 방법에 따라 테이프, 메모리, DNC, MDI 등으로 구분할 수 있다.

 

① 테이프 모드

종이 테이프에 천공된 정보를 읽으면서, 그 정보에 따라 기계를 제어하는 작동 모드를 말한다.

종이 테이프 규격은 폭 1 inch, 글자 간격 0.1 inch로 되어 있다.

단, 공구경 보정(NC 선반의 경우는 인선 반경 보정) 기능 등을 사용하기 위해서는 현재 진행중인 블록(Block) 정보만으로는 불충분하므로, 사전에 뒤의 몇 블록 정보를 미리 읽어 NC 자체의 기억 장치(보통 Buffer Memory) 안에 기억시켜 두는 형태로 사용되는 경우가 많다.

 

종이 테이프 천공 코드는 ISO와 EIA(미국 전기 공업회 규격) 코드가 주로 사용된다.

천공되는 구멍 수는 ISO는 짝수, EIA는 홀수로 되어 있으며, 수평 방향 패리티 체크를 위한 채널로 ISO는 8번째 채널, EIA는 5번째 채널을 각각 이용한다(그 채널에 구멍을 뚫거나, 그대로 두어 천공 구멍 수를 짝수, 또는 홀수로 맞춤).

NC의 개발이 미국에서 이루어진 관계로 초기의 NC 장치에서는 EIA 코드만을 사용하는 경우가 많았지만, 지금은 거의 모든 NC 장치가 2가지 코드를 모두 사용할 수 있도록 되어 있다.

 

종이 테이프 판독기(Paper Tape Reader)는 종이 테이프 천공 상태 등에 따라 잘못 읽는 경우가 많아 이의 방지를 위해 읽는 과정에서의 수평 방향과 수직 방향의 오류 확인을 하는 것이 일반적이다.

 - 수평 방향 확인(TH Check) : 각 문자의 천공 구멍수 확인(짝수 혹은 홀수 : EIA 와 ISO 규격 다름)

 - 수직 방향 확인(TV Check) : 한 블록 안의 문자수를 확인(일반적으로 짝수 : 파트 프로그램 작성시

     글자수가 홀수개인 블록에는 빈칸을 넣어 짝수개로 맞추어 주어야 됨 - Even Parity Check)

 

종이 테이프는 플로피 디스크 등 이후 개발된 다른 정보 전달 매체에 비해 사용이 불편하고 부피가 크며, 시간이나 비용 면에서도 불리해 사용이 점차 줄어들고 있다.

 

② 메모리 모드

NC 장치의 자체 기억 장치에 미리 기억시켜 둔 파트 프로그램 정보에 따라 기계를 제어하는 작동 모드를 말한다.

주로 휘발성 메모리인 RAM을 사용하므로 전원이 꺼졌을 때도 지워지지 않도록 보조 전원을 필요로 한다.

 

아래의 방법들이 일반적으로 메모리에 파트 프로그램을 입력하기 위해 사용된다.

 - 손으로 입력 : 파트 프로그램 길이가 짧은 단순 작업

 - 종이 테이프 리더 이용 입력 : 종이 테이프에 기록된 정보를 종이 테이프 리더로 읽어서 입력

 - 휴대용 플로피 디스크 드라이버 이용 : 보통 NC 장치에 부착된 RS232C 직렬 포트에 연결해 입력

 - 네트워크 이용 : CAD/CAM 시스템이나 DNC 시스템에 연결된 네트워크 통신망을 이용하는 방법

    으로 주로 RS232C 직렬 포트나 종이 테이프 리더 연결 포트(RS422)에 연결해 사용.

 

③ DNC (Distrbuted NC) 모드

중앙 통제 컴퓨터에 등록되어 있는 파트 프로그램 정보를 읽어 그 정보에 따라 기계를 제어하는 작동 모드를 말한다.

과거, 컴퓨터가 아주 고가이던 시절, 컴퓨터 한 대에 여러대의 NC 공작기계를 연결하여 사용하던 DNC (Direct NC)와는 다른 개념이며, 일반적으로 FMS 또는 CIM 등 자동화 시스템 구축시 적용된다.

 

④ MDI (Manual Data Input) 모드

한 블록 또는 몇 블록의 일회성 단순 작업 수행시 손으로 키보드를 통해 정보를 입력하고 그 정보에 따라 기계를 제어하는 작동 모드를 말한다.

기계 작동후 입력했던 정보는 기억되지 않고, 바로 지워지는 경우가 일반적이다.

 

 

2) 기타 자동 모드에 사용되는 버튼 및 기능

각 NC 공작 기계 특성에 따라 약간씩 차이가 있으므로, 일반적으로 사용되는 버튼 및 기능에 대해서만 설명하기로 한다.

 

① 사이클 스타트 버튼 (Cycle Start Button)

자동 운전 개시 단추이다.

이송 정지나 싱글 블록으로 일시 정지해 있는 상태에서 다시 자동 운전을 시작할 때에도 사용한다.

 

② 이송 정지 (Feed Hold)

자동 운전 도중에 이송만 일시 정지시키는 기능이며, 사이클 스타트 버튼을 누르면 다시 자동 운전을 시작한다.

단, 나사 가공 중에는 바로 멈추지 않고 가공을 끝낸 후 정지한다.

 

열전도가 잘 되지 않는 티타늄 합금 등의 경우에는 공구가 공작물과 접촉한 상태에서 공회전하면 국부적인 과열로 공구나 공작물에 손상이 생길 수 있으며, 정삭면에는 공구 흔적이 생길 수 있으므로, 공구와 공작물이 접촉하고 있는 상태에서는 가급적 사용하지 않는 것이 좋다.

 

③ 비상 정지 (Emergency Stop)

기계의 모든 동작을 정지시키는 단추이다.

'이송 정지' 단추는 단지 각 제어축 이송만 정지시키지만 '비상 정지'는 모든 기능을 정지시킨다.

주로, 비상시 또는 기계를 끌 때 사용한다.

 

④ 싱글 블록 (Single Block)

한 블록의 실행이 종료될 때마다 자동 운전이 정지되도록 하는 기능이다.

주로 시제 가공(Trial Run)시 프로그램을 확인하며 작업할 때 사용한다.

정지 상태에서 다시 사이클 스타트 단추를 누르면 다음 블록의 명령이 수행된다.

 

⑤ 선택 정지 (Optioal Stop)

'M01' 명령에서 선택적으로 정지할 수 있도록 하는 기능이다.

선택 정지 기능이 'ON'으로 되어 있는 상태에서 파트 프로그램에 'M01'이 나오면 기계는 정지하며, 사이클 스타트 단추를 눌러야 다시 자동 운전이 시작된다.

보통 'M01' 명령은 파트 프로그램에서 하나의 공구로 가공이 끝나는 위치마다 삽입하는 것이 일반적이다.

 

⑥ 선택적 블록 건너뛰기 (Optional Block Skip)

'/' 로 시작하는 블록은 실행하지 않고 건너 뛸 수 있도록 하는 기능으로, 필요한 경우에만 실행이 되도록 할 수 있다.

주로, 첫 제품 가공시나 공구 변경시 등에만 수행하고 그 다음부터는 무시해도 되는 작업에 적용한다.

 예) 보링바를 이용한 정밀 가공시 측정을 위한 구멍 선단부 일부 가공,

      공구 길이 및 직경 확인을 위한 매크로 프로그램(Fool Proof Pin Check) 등

 

⑦ 이송 속도 오버라이드 (Feedrate Override)

파트 프로그램에서 지정한 이송 속도보다 빠르거나 느리게 공구가 움직이도록 하는 기능이다.

자동 운전중 절삭 이송 속도를 약간 빠르거나 느리게 할 경우, 또는 시제 가공(Trial Run)시 급속 이동(G00)으로 공작물에 공구가 접근할 때 파트 프로그램 오류, 공구 옾셑 입력 오류 등으로 인한 충돌 방지 등을 위해 약간 이동 속도를 느리게 할 때 이 기능이 사용된다.

 

( 사례 )

시제 가공시 사이클 스타트 단추를 눌러 공구가 공작물에 접근하도록 할 때는 이송 속도 오버라이드 스위치를 약간 느리게 해 두고 절삭유는 꺼두는 것이 좋다.

급속 이동으로 공작물에 접근시 처음 움직이기 시작할 때 이동 속도가 너무 빠르고 갑자기 절삭유가 나오게 되면 당황해서 비상 조치를 제대로 하지 못할 수 있으므로, 처음에 느리게 출발하고 점차 속도를 빠르게 했다가 가까이 접근했을 때 다시 속도를 줄여주도록 한다.

필자도 그런 경험을 했던 적이 있으며, 숙달된 NC 장비 작업자들은 대부분 이런 식으로 작업을 한다.

보통 처음에 빠르게 움직이고, 공작물에 가까이 접근했을 때 속도를 줄이면 될 것으로 생각하기 쉽지만, 오류가 있을 경우 사이클 스타트 버튼을 누른 후 충돌시까지 시간은 일반적으로 영점 몇초에 불과하며, NC 공작기계의 고속화 추세로 그 시간은 더욱 단축되고 있다. 

 

⑧ 기계 잠금 (Machine Lock)

프로그램 테스트를 위해 기계 각 축의 이송 없이 파트 프로그램을 실행시키는 기능이다.

가공 상태 확인 없이 프로그램 자체의 오류만을 점검하는 경우에 사용하며, 보통 '보조기능 잠금' 기능과 같이 사용한다.

 

⑨ 보조기능 잠금 (Aux. Lock)

프로그램 테스트를 위해 보조기능(M, S, T 등)을 무효로 하고 기계가 자동 운전되도록 하는 기능이다.

보통 '기계 잠금' 기능과 같이 사용한다.

 

⑩ 드라이 런 (Dry Run)

파트 프로그램에서 지정된 이송 속도를 무시하고, 별도로 지정한 이송 속도로 기계가 움직이도록 하는 기능이다.

파트 프로그램 신규 작성후 프로그램 테스트 등에 이용한다.

 

 

1.4.2 수동 모드

NC 장치 메모리를 통하지 않고 핸들, 레버, 버튼 등의 수동 조작으로 기계를 작동시키는 것을 수동 모드로 구분한다.

 

1) 핸들 (Handle 또는 MPG : Manual Pulse Generater)

다이얼 식으로 되어 있는 핸들을 돌려서 지정된 축방향으로 기계를 이동하도록 한다.

비교적 가까운 거리 이동시에 사용하며, 한 눈금당 이동 거리를 선택할 수 있는 형태로 제작되는 경우가 많다.

 

2) 조그 (Jog)

보통, 레버나 버튼으로 되어 있으며 비교적 먼 거리 이동시에 사용한다.

이동할 축 방향을 선택하고 레버나 버튼을 조작하면 해당 축 방향으로 기계가 이동한다.

이동 속도는 보통 이송속도 오버라이드 스위치로 조절한다.

 

3) 기계 원점 복귀 (Machine Home Return)

기계를 처음 켤(Power On) 때는 기계 원점 위치를 NC Unit에 알려줄 필요가 있으며, 이 작업을 위해 기계 원점 복귀 기능이 사용된다.

일반적으로 기계 원점 복귀는 충돌 위험을 피하기 위해 이동하는 축 순서가 정해진다.

예를 들면, NC 선반의 경우는 X축, MCT의 경우는 Z축이 먼저 움직이고 다음에 나머지 축방향 이동이 행해진다.

NC 공작 기계

 NC는 제어 장치에 의한 공구 경로 제어 기술을 의미한다.

그런 의미에서 거의 모든 공작 기계에 NC는 적용이 가능하다고 할 수 있다.

예를 들어 범용 선반에 NC를 적용하면 NC 선반이 되고, 내경 연마기에 NC를 적용하면 NC 내경 연마기가 된다.

 

공작물의 형상이 복잡할수록, NC 장비는 전용기나 범용 장비에 비해 장점을 가진다.

NC 프로그램 작성 소요 시간 등 고려시, NC 장비는 중간 정도 로트 크기와 아주 복잡한 가공에 적합하다고 할 수 있다.

형상이 복잡하고, 가공 난이도가 높을수록 실지 가공 소요 시간 단축 효과는 더 크게 나타난다.

실지로 로트 크기가 작고, 아주 단순한 가공의 경우 오히려 범용 장비가 더 유리할 수 있으며, 로트 크기가 아주 클 경우는 약간 형상이 복잡하더라도 전용기가 더 유리할 수 있다.

 

NC 장비의 또 다른 장점은 유연성(Flexibility)이다.

다품종 혼류 생산 방식에서는 NC 장비로 구성된 FMS 라인이 최적의 선택이라고 할 수 있다.

 

대표적인 NC 공작 기계는 NC 선반과 MCT라고 할 수 있지만, 기타 EDM Wire Cutter, NC 연마기, NC 레이저 가공기, 3차원 측정기(CMM : Coordinate Measuring Machine) 등 다른 여러 가지 형태의 NC 장비가 있으며, 계속 적용 범위가 증가하고 있다.

 - 알루미늄 쉬트 라우팅, 리베팅 등 기존의 수작업으로도 큰 어려움 없이 수행이 가능한 작업들도

   생산성, 3D 작업 기피 등의 문제로 NC를 적용한 자동화 증가

 

 

1.5.2 제조 시스템(Manufacturing System) 자동화

제조 시스템은 원자재를 가공, 조립하여 제품을 만들어 내는 단위 체계를 하나의 시스템으로 정의한 것이라고 할 수 있다.

좁은 의미로는 1대 또는 수대의 장비와 관련 장치로 구성된 시스템으로 정의할 수 있으며, 넓은 의미로는 공장 전체를 하나의 제조 시스템으로 볼 수 있다.

생산 기술, 제어 기술, 관리 기술 등 각 요소 기술의 발전으로 제조 시스템 자동화는 상당히 빠른 속도로 진전되어 왔다.

  

1) FMC (Flexible Manufacturing Cell)와 FMS (Flexible Manufacturing System)

좁은 의미의 제조 시스템에 대한 자동화를 의미하며 1대 이상의 가공 설비와 자동 운송 시스템 등을 서로 연결시켜 제어하는 시스템을 말한다.

단, 유연(Flexible) 제조 시스템으로 다품종 혼류 생산이 가능한 시스템을 의미하며, 전용 라인과는 성격이 다르다.

NC 가공 설비와 관련 시스템으로 구성된 시스템이 대부분이지만 다른 공정에 적용되는 경우도 많다.

자동차 산업에서는 도장, 차체 용접이나 조립 라인, 엔진 부품 가공이나 조립 공정 등에 혼류 생산이 가능한 유연 제조 시스템이 일찍부터 적용이 되었다.

최근에는 특별한 경우 외에는 Batch Size가 항상 '1'인 금형 가공 분야에도 적용이 증가하고 있다.

 

 (FMS의 구성 요소)

 - 소재 설치 및 탈거 시스템

   소재 장탈착 로봇, 자동 팔레트 교환 장치 등

 - 소재 운반 시스템

   무인 대차, 컨베어 등을 이용한 자동 운송 시스템

 - 공구 관리 시스템

    자동 공구 교환 장치, 자동 공구 매거진 교환 장치, 공구 ID 및 수명 관리 시스템,

    공구 길이 및 직경 확인을 위한 장치 등

 - 기타

    3차원 측정 시스템, 생산 일정 관리 시스템 등

 

FMC와 FMS의 명확한 구분 기준을 정하는 것은 별로 큰 의미가 없다고 할 수 있다.

다만, 일반적으로 시스템을 구성하는 가공 설비의 수가 적고 시스템 전체를 관리하는 중앙 통제 시스템이 없는 소형 시스템을 FMC로, 상대적으로 구성하는 가공 설비의 수가 많고 시스템 전체를 관리하는 중앙 통제 시스템이 있는 복잡한 시스템을 FMS로 구분할 수는 있다.

 

2) CIM (Computer Integrated Manufacturing)과 FA (Factory Automation)

넓은 의미의 제조 시스템(공장)에 대한 자동화를 의미하며 제조 시스템의 각 구성 요소(생산관리, 공구관리, 생산기술, 자재관리. 영업 등) 들을 통합하여 운영하는 시스템을 말한다.

FA는 공장 자동화, CIM은 컴퓨터를 이용한 공장 통합 관리를 의미하지만, 명확한 구분은 어렵고 보통 같은 의미로 사용된다.

다만, 용어 자체의 의미로 볼 때, FA는 하드웨어, CIM은 소프트웨어의 성격이 강하다고 할 수 있지만, 자동화에 컴퓨터의 활용은 거의 필수적이라고 할 수 있으므로, CIM으로 통칭해도 큰 무리는 없을 것으로 생각된다.

공작물 형상이 단순할 경우에는 보통 수작업으로 파트 프로그램 작성이 가능하고, 오히려 이것이 효율적일 수 있다.

그러나 형상이 아주 복잡하거나, 곡면 가공이나 5축 가공이 필요할 경우에는 파트 프로그램 작성에 소요되는 시간이 너무 길어지게 되므로 전용 CAD/CAM SYSTEM을 사용해야 된다.

실지로 5축 가공이나, 곡면 가공을 위한 파트 프로그램은 수작업으로 작성하는 것이 거의 불가능하다고 할 수 있다.

 

여기서는 파트 프로그램 작성에 관한 일반 사항민 설명하고, 자세한 내용은 뒷 장에서 NC 선반과 MCT로 구분해 설명하기로 한다.

 

1.6.1 NC 프로그램 작성 순서

1) 도면 검토

 - 칫수 및 공차, 현 보유 설비로 가공이 어렵거나 불가능한 형상이 있는지 등 검토

 - 필요시 설계 담당자와 협의 설계 변경

   : 설계 초기 단계에서 같이 참여하는 것이 유리 - 동시공학(CE/SE), 사전 제품 품질계획 적용

 

2) NC 가공 공정 설계

 - 가공 순서 및 가공 장비 선정

   : 월평균 생산량, 예상 가공 소요 시간, 각 장비별 생산 계획 등 고려하여 결정

 - 위치 결정 및 고정 방법 결정

   : 생산성, 품질 등에 큰 영향을 미치므로 신중하게 결정

 - 치공구 개념 설계(Concept Design)

   : 월평균 생산량, 각 장비별 생산 계획 등 고려하여 유압 클램프 등 사용 여부 결정

   : 필요시 제작 의뢰, 또는 상세 설계 및 제작(소요 자재 확보 등 포함)

 - 절삭 공구 선정 및 확인

   : 생산량, 공차 등 고려하여 선정

   : 필요시 특수 공구 또는 미확보 공구 발주 또는 구매 의뢰

 

3) NC 프로그램 작성

 - 절삭 조건 등 가공 정보, 공구 이동 명령 등

 

4) 시제 가공 (Trial Run) 및 측정

 - 시제 가공 중에 공정이 안정적인지, 절삭 조건은 적절한지 등 관찰, 확인

 - 가공 완료된 시제 가공품 측정 및 확인

   : 필요시 품질 관리 부서에 정밀 측정 의뢰 및 측정 결과 분석

 - 이상이 있을 경우 프로그램 수정 및 재가공

 

5) 양산 승인

 - 부품의 품질 상태, 공정의 안정성, 가공 소요 시간 및 장비 부하 계획 등을 상세 검토 분석하고

    양산 승인

 

 

1.6.2 NC 프로그램의 구성

NC 프로그램은 사용할 NC 장치가 읽고 해석할 수 있는 언어로 작성되어야 한다.

각 NC 공작기계의 구조, NC Unit 종류, 제작사 등에 따라 NC 프로그램 언어는 약간 차이가 있을 수 있으며, 동일한 가공이라도 가공 장비가 바뀌면 NC 프로그램도 수정해야 되는 것이 일반적이다.

CAD/CAM 시스템 사용시는 각 NC 장비별 포스트 프로세서가 해당 장비에 맞는 MCD(Machine Control Data)로 수정해 주는 역할을 하지만, 수작업으로 프로그램 작성시는 손으로 수정해 주어야 된다.

 

NC 프로그램 언어는 일종의 어셈블러 언어(Assembler Language)라고 할 수 있으며, NC 장치나 공작기계 제작사별 차이를 줄일 수 있도록, ISO 규격과 EIA 규격에서 일반적인 사항을 규정하고 있다.

여기서는 특정 업체 규격이 아닌 일반적인 사항에 대해서만 설명하기로 한다.

 

1) 단어 (Word)

 - 단어는 주소(Address)와 수치(Data)로 구성된다.

예)

G

01

 

Address

Data

 

 - 주소는 영문자 하나로만 지정하고, 수치값의 지령치 범위는 주소에 따라 결정된다.

 - 특수 문자는 일반적으로 하나의 단어로 인식한다 ( / , EOB 등)

 

 (주소 일람표)                                                                   EIA RS-274-D

주소

설명

비고

A

 X축에 대한 회전축

 

B

 Y축에 대한 회전축

 

C

 Z축에 대한 회전축

 

D

 특수축에 대한 회전축, 세 번째 이송 기능,

 또는 공구경 보정을 위한 공구 기능

 

E

 특수축에 대한 회전축, 또는 두 번째 이송 기능

 

F

 이송 기능 주소 코드

 

G

 준비 기능 주소 코드

 

H

 미지정(보통, 공구 길이 보정을 위한 공구 기능으로 사용)

 

I

 원호보간 파라메터, 또는 X축에 평행한 나사의 리드(Lead)

 

J

 원호보간 파라메터, 또는 Y축에 평행한 나사의 리드(Lead)

 

K

 원호보간 파라메터, 또는 Z축에 평행한 나사의 리드(Lead)

 

L

 미지정

 

M

 보조 기능 주소 코드

 

N

 일련번호(Sequence Number)

 

O

 프로그램 번호

 

P

 세번째 급속이동 치수, 또는 X축에 평행한 제3의 이동 치수

 

Q

 두번째 급속이동 치수, 또는 Y축에 평행한 제3의 이동 치수

 

R

 첫번째 급속이동 치수, Z축에 평행한 제3의 이동 치수,

 또는 일정 표면 속도 계산을 위한 반경값

 

S

 주축 속도 기능

 

T

 공구 기능

 

U

 X축에 평행한 제2의 이동 치수

 

V

Y축에 평행한 제2의 이동 치수

 

W

Z축에 평행한 제2의 이동 치수

 

X

 첫 번째 X축 이동 치수

 

Y

 첫 번째 Y축 이동 치수

 

Z

 첫 번째 Z축 이동 치수

 

 

2) 블록 (Block)

NC 프로그램에서 한줄 한줄의 명령을 블록이라고 한다.

각 블록은 EOB(End Of Block)로 나누어지며, NC 장치는 블록 단위로 명령을 실행한다.

 

EOB는 EIA와 ISO가 아래와 같이 다르게 지정하고 있다.

EIA

ISO

CR (Carriage Return)

NL (New Line), LF (Line Feed)

 

 

1.6.3  NC 프로그램 구성 주요 기능

여기서는 특정 NC 장치 규격보다 ISO 또는 EIA 규격에 따라, NC 프로그램에서 사용되는 주요 기능에 대해 설명하기로 한다.

단, NC 장치나 NC 공작기계 제작사별로 차이가 많으므로 제작사에서 제공하는 매뉴얼을 사전에 충분히 검토할 필요가 있다.

 

1) 준비 기능 (Preparatory Function)

영문자 "G"와 2자리 숫자로 지정된다.

일반적으로 기계를 바로 움직이도록 하는 명령은 아니며, 주로 뒤에 나오는 명령을 실행하는 방법을 지정한다.

 

 (G 코드 일람표)                                                                              ISO R 1056

코드

설명

그룹 구분

적용

G00

급속 이동, 위치 결정 제어

01

M,L

G01

직선 보간(Linear Interpolation)

M,L

G02

원호 보간(Circular Interpolation), 시계 방향(CW)

M,L

G03

원호 보간(Circular Interpolation), 반시계 방향(CCW)

M,L

G04

일시 정지(Dwell), 프로그램에 지정된 시간 동안 일시 정지

*

M,L

G05

미지정

*

 

G06

포물선 보간(Parabolic Interpolation)

*

M,L

G07

미지정

 

 

G08

가속 : 프로그램에 지정된 속도까지 이송속도를 자동으로 부드럽게 증가시키는 모드

*

M,L

G09

감속 : 프로그램에 지정된 점에 가까워지면 이송속도를 자동으로 부드럽게 감소시키는 모드

*

M,L

G10

~G11

미지정 (일부 NC 장치에서 데이터 설정 기능으로 사용함)

 

 

G12

~G16

미지정

 

 

G17

XY 평면의 선택(원호보간이나 공구경 보정 등을 위해 선택)

02

M,L

G18

ZX 평면의 선택(원호보간이나 공구경 보정 등을 위해 선택)

M,L

G19

YZ 평면의 선택(원호보간이나 공구경 보정 등을 위해 선택)

M,L

G20

~G29

미지정

 

 

G33

리드가 일정한 나사(Constant Lead) 절삭

01

L

G34

리드가 균일하게 증가하는 나사(Increasing Lead) 절삭

L

G35

리드가 균일하게 감소하는 나사(Decreasing Lead) 절삭

L

G36

~G39

미지정

 

 

G40

공구 지름 보정 및 공구 위치 옾셋 취소

07

M

G41

공구 지름 보정, 왼쪽(Cutter Compensation, Left)

 :공구 진행 방향 기준으로 공구가 공작물의 왼쪽에 있음

M

G42

공구 지름 보정, 오른쪽(Cutter Compensation, Right)

 :공구 진행 방향 기준으로 공구가 공작물의 오른쪽에 있음

M

G43

공구 옾셋(Cutter Offset), 주로 공구 길이 보정에 사용

08

M,L

G44

공구 옾셋 취소

M,L

G45

~G52

미지정 (일부 NC 장치에서 공구경 보정을 위한 공구 위치 정보 지정을 위해 사용)

*

 

G53

데이텀 쉬프트 취소(Datum Shift Cancel)

14

M,L

G54

~G59

데이텀 쉬프트(Datum Shift)

각각 X축, Y축, Z축, XY면, ZX면, YZ면의 순서로 적용

M,L

G60

~G62

미지정 (일부 NC 장치에서 한방향 위치 정하기, 코너부 자동 감속 기능 등으로 사용)

 

 

G63

~G69

미지정

 

 

G70

인치 단위 프로그래밍(Inch Programming)

 

M,L

G71

메트릭 단위 프로그래밍(Metric Programming)

 

M,L

G72

~G79

미지정 (일부 NC 장치에서 고정 사이클 기능으로 사용)

 

 

G80

고정 사이클(Fixed Cycle) 취소

09

M,L

G81

~G89

고정 사이클

구멍 뚫기/나사 가공/보링 등

M,(L)

G90

절대 좌표 치수 입력(Absolute Dimension Input)

03

M,L

G91

증분 좌표 치수 입력(Incremental Dimension Input)

M,L

G92

좌표계 설정

*

M,L

G93

시간의 역수로 이송률 표시(Inverse Time Feedrate)

05

M,L

G94

분당 이동거리로 이송률 표시(mm/min 또는 inch/min)

M,L

G95

주축 1회전당 이동거리로 이송률 표시(mm/rev 또는 inch/rev)

M,L

G96

원주 속도 일정 제어(m/min 또는 feet/min : 공구와 공작물 접촉점에서의 절삭속도를 일정하게 유지)

13

L

G97

"G96" 취소, 주축 회전수로 주축 속도 지정(rpm)

M,L

G98

~G99

미지정 (일부 NC 장치에서 고정 사이클 복귀 위치 지정을 위해 사용)

10

 

 주기) 1. 그룹 구분란에 "*"로 표시된 기능은 그 블록 내에서만 유효하고 다음 블록에는 영향을

             미치지 않는 명령임(One Shot 명령)

         2. 그룹 구분란에 숫자로 표시된 기능은 같은 그룹의 다른 명령이 나올 때까지 계속

            유효한 명령임(Modal 명령)

         3. 적용란의 "M"은 밀링 또는 MCT, "L"은 NC 선반에 각각 적용됨을 의미함.

 

2) 보조 기능 (Miscellaneous Function)

영문자 "M"와 2자리 숫자로 지정된다.

일반적으로 NC 공작기계의 서보 모터 이외의 모터나 솔레노이드 밸브 등을 작동시켜 실지로 기계가 동작을 하도록 한다

 

 (M 코드 일람표)                                                                  EIA RS-274-D

코드

기 능

의       미

기능 개시

기능 계속

M00

프로그램 정지

 주축, 절삭유를 포함한 프로그램 운행 중단

실행 완료후

블록내

M01

프로그램

선택적 정지

 이 기능이 유효하도록 스위치를 켜두었을  때만 "M00"와 동일한 기능

실행 완료후

블록내

M02

프로그램 끝

End Of Program

 주축, 절삭유를 포함한 기계 작동 정지

 테이프 되감기 명령 포함 가능

실행 완료후

블록내

M03

주축 정회전

 주축 정회전(시계 방향)

시작과 동시

계속

M04

주축 역회전

 주축 역회전(반시계 방향)

시작과 동시

계속

M05

주축 정지

 주축 정지

실행 완료후

블록내

M06

공구 교환

 수동, 자동 관계없이 공구 교환

 단, 공구 선택 기능은 포함하지 않음

미지정

블록내

M07

M08

절삭유제 켜짐

 보통, "M07" 은 Mist Coolant, "M08"은 Flood Coolant로 사용한다.

시작과 동시

계속

M09

절삭유제 꺼짐

 절삭유제 꺼짐

실행 완료후

계속

M10

M68

M78

클램프

(Clamp)

 기계의 슬라이드, 공작물, 고정구, 주축 등

 을 클램프하거나 언클램프하는 명령

 클램프 대상이 여러개 있을 경우, M10, M68,M78의 순서로 사용

미지정

계속

M11

M69

M79

언클램프

(Unclamp)

M15

양의 방향 이송

 급속 이송 또는 절삭 이송 방향 선택

 절대좌표 계측 시스템을 가진 회전 테이블에도 적용

시작과 동시

블록내

M16

음의 방향 이송

M19

정위치 주축정지

 Spindle Orientation Stop

 주축이 정해진 각도 위치에서 멈추도록 함

실행 완료후

계속

M30

테이프 끝

End Of Tape

 "M02"와 유사하나 테이프 되감기가 포함됨

자동으로 제2 테이프 리더로 이동 가능

실행 완료후

블록내

M31

인터록 무시

 통상 걸려 있는 인터록을 일시적으로 무시

미지정

블록내

M40

~

M45

주축 기어 변환

 주축 기어 변환(저속/중속/고속/초고속 등)

미지정

미지정

M49

오버라이드 무시

 주축 속도 또는 이송 속도 오버라이드를 무시하고 프로그램에 지정된 속도로 동작시킴

"M48"로 취소시킴

시작과 동시

(M48은 실행 완료후)

계속

 주기) 1. 기능 개시란의 "실행 완료후" : 해당 블록에 있는 다른 명령들을 먼저 실행한 후에

             이 기능 수행

         2. 기능 개시란의 "시작과 동시" : 해당 블록에 있는 다른 명령들과 동시에 이 기능 수행

         3. 기능 계속 "블록내" : 지령된 블록 내에서만 유효(One Shot 명령)

         4. 기능 계속 "계속" : 취소 또는 변경시까지 계속 유효(Modal 명령)

 

3) 이송 기능 (Feed Function)

영문자 "F"와 수치값으로 지정되며, 공구의 이송 속도를 선택한다.

NC 선반에서는 나사 가공시 좀 더 이송률을 정확하게 지정하기 위해 "E"를 사용할 수도 있다.

 

일반적으로 가공 특성에 따라, NC 선반과 MCT에서 서로 다른 단위를 사용한다. 

구분

단위

내용

NC 선반

mm/rev, inch/rev

공작물 1회전당 공구 이동거리

MCT

mm/min, inch/min

분당 공구 이동거리

 

실지 파트 프로그램 작성시는 공작물에 요구되는 표면 거칠기 등을 고려하여 날당, 회전당 이송률을 결정해줄 필요가 있다 (뒤의 NC 선반, MCT 프로그램 작성 참조).

 

 

4) 주축 기능 (Spindle Function)

영문자 "S"와 수치값으로 지정된다.

주축의 회전수를 선택하는 기능을 하며, 이 명령만으로 실지 주축이 회전하지는 않는다.

보통 수치값은 주축 회전수(rpm)를 나타내지만, NC 선반에서 원주 속도 일정 제어 기능(G96)이 유효할 경우에는 공구와 공작물 접촉점에서의 절삭 속도(m/min 또는 feet/min) 값이 된다.

 

실지 파트 프로그램 작성시는 공구 수명, 가공 상태 등을 고려하여 주축 회전수를 결정해줄 필요가 있다 (뒤의 NC 선반, MCT 프로그램 작성 참조).

 

 

5) 공구 기능 (Tool Function)

영문자 "T"와 수치값으로 지정된다.

일반적으로 NC 선반에서는 수치값을 두 부분으로 나누어, 앞부분은 공구 번호를, 뒷부분은 공구 옾셋 번호를 표시하도록 한다.

 

 

1.6.4 CAD/CAM 시스템

1) APT (Automatically Programmed Tool) 개요

APT는 일종의 CAM 전용 고급 언어(High Level Language)라고 할 수 있으며, FORTRAN 등 다른 고급 언어와 유사한 운명을 맞고 있다.

처음 개발은 미국 MIT에서 되었으나, 각 국가 또는 업체별로 계속 기능을 추가하고 발전을 시켜 왔기 때문에 지금은 엄청나게 많은 종류의 APT 시스템이 있다.

요즘은 CATIA 등 대화형 그래픽 CAD/CAM 시스템 사용 증가로 별로 많이 사용되지 않는다.

다만 대부분의 기업에서 기존의 NC 프로그램들이 주로 APT를 이용하여 작성이 되어 있기 때문에, 해당 제품에 대한 사후 관리 목적으로 아직도 일부 사용하고 있다.

 

여기서도 자세한 설명은 생략하고 일반적인 사항만 설명하기로 한다.

APT 시스템에 따라 명령어 등에 차이가 있으므로, 실지 프로그램 작성시는 사전에 설명서를 충분히 검토할 필요가 있다.

 

2) APT Source Program의 구성

APT 원시 프로그램(Source Program)은 아래와 같이 크게 세가지 형태의 명령으로 구성된다.

CATIA 등 대화형 그래픽 CAD/CAM 시스템의 경우도 기본적인 프로그램 작성 패턴은 유사하다.

 

① 도형 정의

일반적으로 원시 프로그램 작성시는 뒤의 공구 이동 명령부 작성, 또는 나중에 프로그램을 수정할 때 확인이 용이하도록 부품 도면에 정의할 도형의 이름을 미리 적어두고 작업을 하게 된다.

이 도면을 보통 "Road Map"이라고 하는데, 여기 사용하는 도형의 이름은 알기 쉽게 해주는 것이 좋다.

예를 들면 점 도형의 이름은 P1, P2, P3 등으로, 평면 도형의 이름은 PL1, PL2, PL3 등으로, Ruled Surface의 이름은 RS1, RS2, RS3 등으로 정의하는 것이 나중에 확인할 때 편리하다.

 

(도형 정의 예)

P1 = POINT/0,0

P2 = POINT/0,100

P3 = POINT/100,100

P4 = POINT/100,0

L1 = LINE/P1,P2

L2 = LINE/P2,P3

L3 = LINE/P3,P4

L4 = LINE/P4,P1

PS1 = PLANE/0,0,1,0

 

보통은 "SYNONYM(동의어)" 명령으로 약자를 지정해 사용한다.

예) PLANE은 PL, POINT는 PT, LINE은 LN 등

 

② 공구 이동

공구 이동 명령을 위해서는 아래의 세가지 Surface를 필요로 한다.

 - Part Surface

가공시 바닥면을 말한다.

공구의 바닥날이 이면을 지나가는 형태는 "TLONPS", "TLOFFPS" 등의 명령으로 지정한다.

 

 - Drive Surface

공구가 따라가는 면을 말한다.

보통, Drive Surface에 대한 공구 위치 지정을 위해 "TLRGT", "TLLFT", "TLON" 등과 같이 사용된다.

예를 들어 공구가 Drive Surface의 왼쪽에서 움직이면 "TLLFT"로 지정한다.

 

공구 이동 방향은 "GOFWD", "GORGT", "GOLFT", "GODLTA" 등으로 지정한다.

예를 들어 공구가 이동해온 방향에서 오른쪽으로 Drive Surface의 왼쪽에서 움직이면 "TLLFT,GORGT"로 지정한다.

 

황삭(Rough Cutting)이나 중삭(Semi-finishing)을 할 경우, "THICK" 문을 사용하는 것이 해당 Drive Surface에서 가공 여유만큼 옾셋된 Surface를 따로 지정하는 것보다 편리하다.

이송률도 RF, F1, F2, F3 등으로 미리 지정해두고 사용하면 프로그램 수정시 좀 더 편리하다.

 

 - Check Surface

해당 공구 이동 명령에서 공구가 가야 되는 목적지 면을 말한다. 보통은 이 면이 다음 공구 이동 명령에서 다시 Drive Surface가 된다.

"PAST", "ON", "TO" 의 세가지 형태로, 공구가 Check Surface에 도달하는 방법을 지정한다.

예를 들어 공구가 Check Surface를 지나가야 되면 "PAST"로 지정한다.

 

(공구 이동 명령 예)

이해를 돕기 위해 여기서는 동의어 지침에 미리 약자를 지정해 놓은 것으로 가정하고 작성한다.

 

SYNONYM/ GORGT,GR, GOTO,GT,TLLFT,TL......       : 동의어 지정

FROM/SP

RAPID,GT/-15,-15,20        : 가공 시작점으로 급속 이동, 공구는 지름 25mm 엔드밀 사용

GO/PS1,TO,L1,F1            : PS1, L1에 접하는 위치에 F1 속도로 공구 이동, "TO"는 생략 가능

TL,GL/L1,PAST,L2,F2       : L1을 따라 F2의 속도로 L2를 지날 때까지 이동, "PAST,L2"는 생략 가능

TL,GR/L2,PAST,L3,F2       : L2를 따라 이동, "TL", "PAST,L3", 'F2"는 생략 가능

GR/L3                             : L3를 따라 이동, "TL", "PAST,L4", 'F2"는 생략했음

GR/L4,PAST,L1               : L4를 따라 L1을 지날 때까지 이동, 마지막 공구 이동이므로 "PAST,L1"은

                                       생략하면 안됨.

GD/0,0,20,RF                   : Z축 방향으로 RF 속도로 이동

RAPID,GT/SP

 

③ 가공 정보를 포함한 포스트 명령

주축 회전, 절삭유, 공구 정보 등 가공 정보와 선형화 공차 등 포스트 프로세서에서 처리할 명령어 등을 말한다.

 

(가공 정보를 포함한 포스트 명령 예)

MACHIN/CINAC6....

FROM/SP

CUTTER/25,3                  : 공구 직경, 구석R(Corner Radius) 등 지정

SPINDL/2000,CLW           : 주축 2000rpm으로 정회전

COOLNT/ON                  : 절삭유제 켜짐

LINTOL/ON,0.01              : 선형화(Linearize) 공차 지정, 선형화는 뒤의 5축 가공 참조

 

 

3) CAD/CAM 시스템 업무 흐름

APT 또는 대화형 그래픽 CAD/CAM 시스템을 사용하여 파트 프로그램을 작성할 때의 업무 흐름은 아래와 같다.

 

MANUAL

APT 프로그램 작성

 

APT SOURCE

RROGRAM

대화형 GRAPHIC

CAD/CAM SYSTEM

 

 

 

   

 

 

APT

PROCESSOR

 

 

 

 

 

 

CLDATA

(Cutter Location Data)

CAD/CAM SYSTEM

자체 PROCESSOR

 

 

 

 

 

 

각 장비별

POST-PROCESSOR

 

 

 

 

 

 

 

 

각 장비별 MCD

(Machine Control Data)

 

 

 

① APT SOURCE 프로그램 작성

APT SOURCE 프로그램은 일반적으로 APT 언어를 사용하여 손으로 작성한다.

일부 대화형 그래픽 CAD/CAM 시스템에서는 자체 프로세서에서 APT SOURCE 프로그램 형태의 데이터를 만들어 주기도 한다.

 

② APT PROCESSOR

APT 프로세서는 APT SOURCE 프로그램을 읽고 번역 및 계산 과정을 거쳐 CLDATA(Cutter Location Data)를 만들어 준다.

CLDATA는 점좌표값, 벡터(Vector)값, 이송률로 구성된 공구 위치 정보와 포스트 명령으로 구성되어 있다.

예) GOTO/x1,y1,z1,i1,j1,k1,f1

     GOTO/x2,y2,z2,i2,j2,k2,f2

 

③ POST-PROCESSOR

포스트 프로세서는 CLADTA을 읽고 계산 과정을 거쳐 각 NC 장비 입력 정보인 MCD(Machine Control Data)를 만들어 준다.

장비 형태나 NC 장치 종류 등에 따라 MCD 패턴은 약간씩 차이가 있으므로 각 장비별로 별도의 포스트 프로세서를 필요로 한다.

특히, 5축 NC 장비의 경우는 장비 형태에 따라 선형화, 이송률 계산 방법 등이 차이가 많다.

일부 대화형 그래픽 CAD/CAM 시스템에서는 자체 프로세서에서 포스트 프로세서에 바로 입력 정보로 사용할 수 있는 형태의 CLDATA 형태의 데이터를 만들어 주기도 한다.

 

 

4) 대화형 그래픽 CAD/CAM 시스템

 CATIA(Computer Aided Three Dimensional Interactive Application) 등 대화형 그래픽 CAD/CAM 시스템에서는 도형 정의, 또는 공구 이동 명령을 그래픽 화면에서 대화형으로 바로 입력할 수 있다.

도형 정의시 설계 담당자에게서 넘겨 받은 CAD Data를 바로 수정해 사용할 수 있어 시간을 줄일 수 있으며, 화면에서 직접 눈으로 보면서 파트 프로그램 작성을 하게 되므로 실수를 줄일 수 있는 장점이 있다.

기본적인 파트 프로그램 작성 패턴은 APT 사용시와 거의 유사하다.

 

 (파트 프로그램 사전 검증)

파트 프로그램 작성 실수로 인한 충돌이나 불량 방지를 위해서는 사전에 컴퓨터 시뮬레이션을 통해 검증(Verification)을 해보는 것이 유리하다.

 

이를 위한 소프트웨어도 많이 나와 있으므로 각자의 공장 현실에 맞는 시스템을 선택하여 사용하도록 하는 것이 좋다.

보통은 큰 사고가 발생한 후에 투자 검토를 시작하는 경우가 많지만, 시제 가공 횟수를 줄이고 충돌 사고를 사전에 예방할 수 있는 효과도 크므로 복잡한 대형 공작물 가공이 많을 경우 사전에 검토할 필요가 있다.

공작물 형상이 단순할 경우에는 보통 수작업으로 파트 프로그램 작성이 가능하고, 오히려 이것이 효율적일 수 있다.

그러나 형상이 아주 복잡하거나, 곡면 가공이나 5축 가공이 필요할 경우에는 파트 프로그램 작성에 소요되는 시간이 너무 길어지게 되므로 전용 CAD/CAM SYSTEM을 사용해야 된다.

실지로 5축 가공이나, 곡면 가공을 위한 파트 프로그램은 수작업으로 작성하는 것이 거의 불가능하다고 할 수 있다.

 

여기서는 파트 프로그램 작성에 관한 일반 사항민 설명하고, 자세한 내용은 뒷 장에서 NC 선반과 MCT로 구분해 설명하기로 한다.

 

1.6.1 NC 프로그램 작성 순서

1) 도면 검토

 - 칫수 및 공차, 현 보유 설비로 가공이 어렵거나 불가능한 형상이 있는지 등 검토

 - 필요시 설계 담당자와 협의 설계 변경

   : 설계 초기 단계에서 같이 참여하는 것이 유리 - 동시공학(CE/SE), 사전 제품 품질계획 적용

 

2) NC 가공 공정 설계

 - 가공 순서 및 가공 장비 선정

   : 월평균 생산량, 예상 가공 소요 시간, 각 장비별 생산 계획 등 고려하여 결정

 - 위치 결정 및 고정 방법 결정

   : 생산성, 품질 등에 큰 영향을 미치므로 신중하게 결정

 - 치공구 개념 설계(Concept Design)

   : 월평균 생산량, 각 장비별 생산 계획 등 고려하여 유압 클램프 등 사용 여부 결정

   : 필요시 제작 의뢰, 또는 상세 설계 및 제작(소요 자재 확보 등 포함)

 - 절삭 공구 선정 및 확인

   : 생산량, 공차 등 고려하여 선정

   : 필요시 특수 공구 또는 미확보 공구 발주 또는 구매 의뢰

 

3) NC 프로그램 작성

 - 절삭 조건 등 가공 정보, 공구 이동 명령 등

 

4) 시제 가공 (Trial Run) 및 측정

 - 시제 가공 중에 공정이 안정적인지, 절삭 조건은 적절한지 등 관찰, 확인

 - 가공 완료된 시제 가공품 측정 및 확인

   : 필요시 품질 관리 부서에 정밀 측정 의뢰 및 측정 결과 분석

 - 이상이 있을 경우 프로그램 수정 및 재가공

 

5) 양산 승인

 - 부품의 품질 상태, 공정의 안정성, 가공 소요 시간 및 장비 부하 계획 등을 상세 검토 분석하고

    양산 승인

 

 

1.6.2 NC 프로그램의 구성

NC 프로그램은 사용할 NC 장치가 읽고 해석할 수 있는 언어로 작성되어야 한다.

각 NC 공작기계의 구조, NC Unit 종류, 제작사 등에 따라 NC 프로그램 언어는 약간 차이가 있을 수 있으며, 동일한 가공이라도 가공 장비가 바뀌면 NC 프로그램도 수정해야 되는 것이 일반적이다.

CAD/CAM 시스템 사용시는 각 NC 장비별 포스트 프로세서가 해당 장비에 맞는 MCD(Machine Control Data)로 수정해 주는 역할을 하지만, 수작업으로 프로그램 작성시는 손으로 수정해 주어야 된다.

 

NC 프로그램 언어는 일종의 어셈블러 언어(Assembler Language)라고 할 수 있으며, NC 장치나 공작기계 제작사별 차이를 줄일 수 있도록, ISO 규격과 EIA 규격에서 일반적인 사항을 규정하고 있다.

여기서는 특정 업체 규격이 아닌 일반적인 사항에 대해서만 설명하기로 한다.

 

1) 단어 (Word)

 - 단어는 주소(Address)와 수치(Data)로 구성된다.

예)

G

01

 

Address

Data

 

 - 주소는 영문자 하나로만 지정하고, 수치값의 지령치 범위는 주소에 따라 결정된다.

 - 특수 문자는 일반적으로 하나의 단어로 인식한다 ( / , EOB 등)

 

 (주소 일람표)                                                                   EIA RS-274-D

주소

설명

비고

A

 X축에 대한 회전축

 

B

 Y축에 대한 회전축

 

C

 Z축에 대한 회전축

 

D

 특수축에 대한 회전축, 세 번째 이송 기능,

 또는 공구경 보정을 위한 공구 기능

 

E

 특수축에 대한 회전축, 또는 두 번째 이송 기능

 

F

 이송 기능 주소 코드

 

G

 준비 기능 주소 코드

 

H

 미지정(보통, 공구 길이 보정을 위한 공구 기능으로 사용)

 

I

 원호보간 파라메터, 또는 X축에 평행한 나사의 리드(Lead)

 

J

 원호보간 파라메터, 또는 Y축에 평행한 나사의 리드(Lead)

 

K

 원호보간 파라메터, 또는 Z축에 평행한 나사의 리드(Lead)

 

L

 미지정

 

M

 보조 기능 주소 코드

 

N

 일련번호(Sequence Number)

 

O

 프로그램 번호

 

P

 세번째 급속이동 치수, 또는 X축에 평행한 제3의 이동 치수

 

Q

 두번째 급속이동 치수, 또는 Y축에 평행한 제3의 이동 치수

 

R

 첫번째 급속이동 치수, Z축에 평행한 제3의 이동 치수,

 또는 일정 표면 속도 계산을 위한 반경값

 

S

 주축 속도 기능

 

T

 공구 기능

 

U

 X축에 평행한 제2의 이동 치수

 

V

Y축에 평행한 제2의 이동 치수

 

W

Z축에 평행한 제2의 이동 치수

 

X

 첫 번째 X축 이동 치수

 

Y

 첫 번째 Y축 이동 치수

 

Z

 첫 번째 Z축 이동 치수

 

 

2) 블록 (Block)

NC 프로그램에서 한줄 한줄의 명령을 블록이라고 한다.

각 블록은 EOB(End Of Block)로 나누어지며, NC 장치는 블록 단위로 명령을 실행한다.

 

EOB는 EIA와 ISO가 아래와 같이 다르게 지정하고 있다.

EIA

ISO

CR (Carriage Return)

NL (New Line), LF (Line Feed)

 

 

1.6.3  NC 프로그램 구성 주요 기능

여기서는 특정 NC 장치 규격보다 ISO 또는 EIA 규격에 따라, NC 프로그램에서 사용되는 주요 기능에 대해 설명하기로 한다.

단, NC 장치나 NC 공작기계 제작사별로 차이가 많으므로 제작사에서 제공하는 매뉴얼을 사전에 충분히 검토할 필요가 있다.

 

1) 준비 기능 (Preparatory Function)

영문자 "G"와 2자리 숫자로 지정된다.

일반적으로 기계를 바로 움직이도록 하는 명령은 아니며, 주로 뒤에 나오는 명령을 실행하는 방법을 지정한다.

 

 (G 코드 일람표)                                                                              ISO R 1056

코드

설명

그룹 구분

적용

G00

급속 이동, 위치 결정 제어

01

M,L

G01

직선 보간(Linear Interpolation)

M,L

G02

원호 보간(Circular Interpolation), 시계 방향(CW)

M,L

G03

원호 보간(Circular Interpolation), 반시계 방향(CCW)

M,L

G04

일시 정지(Dwell), 프로그램에 지정된 시간 동안 일시 정지

*

M,L

G05

미지정

*

 

G06

포물선 보간(Parabolic Interpolation)

*

M,L

G07

미지정

 

 

G08

가속 : 프로그램에 지정된 속도까지 이송속도를 자동으로 부드럽게 증가시키는 모드

*

M,L

G09

감속 : 프로그램에 지정된 점에 가까워지면 이송속도를 자동으로 부드럽게 감소시키는 모드

*

M,L

G10

~G11

미지정 (일부 NC 장치에서 데이터 설정 기능으로 사용함)

 

 

G12

~G16

미지정

 

 

G17

XY 평면의 선택(원호보간이나 공구경 보정 등을 위해 선택)

02

M,L

G18

ZX 평면의 선택(원호보간이나 공구경 보정 등을 위해 선택)

M,L

G19

YZ 평면의 선택(원호보간이나 공구경 보정 등을 위해 선택)

M,L

G20

~G29

미지정

 

 

G33

리드가 일정한 나사(Constant Lead) 절삭

01

L

G34

리드가 균일하게 증가하는 나사(Increasing Lead) 절삭

L

G35

리드가 균일하게 감소하는 나사(Decreasing Lead) 절삭

L

G36

~G39

미지정

 

 

G40

공구 지름 보정 및 공구 위치 옾셋 취소

07

M

G41

공구 지름 보정, 왼쪽(Cutter Compensation, Left)

 :공구 진행 방향 기준으로 공구가 공작물의 왼쪽에 있음

M

G42

공구 지름 보정, 오른쪽(Cutter Compensation, Right)

 :공구 진행 방향 기준으로 공구가 공작물의 오른쪽에 있음

M

G43

공구 옾셋(Cutter Offset), 주로 공구 길이 보정에 사용

08

M,L

G44

공구 옾셋 취소

M,L

G45

~G52

미지정 (일부 NC 장치에서 공구경 보정을 위한 공구 위치 정보 지정을 위해 사용)

*

 

G53

데이텀 쉬프트 취소(Datum Shift Cancel)

14

M,L

G54

~G59

데이텀 쉬프트(Datum Shift)

각각 X축, Y축, Z축, XY면, ZX면, YZ면의 순서로 적용

M,L

G60

~G62

미지정 (일부 NC 장치에서 한방향 위치 정하기, 코너부 자동 감속 기능 등으로 사용)

 

 

G63

~G69

미지정

 

 

G70

인치 단위 프로그래밍(Inch Programming)

 

M,L

G71

메트릭 단위 프로그래밍(Metric Programming)

 

M,L

G72

~G79

미지정 (일부 NC 장치에서 고정 사이클 기능으로 사용)

 

 

G80

고정 사이클(Fixed Cycle) 취소

09

M,L

G81

~G89

고정 사이클

구멍 뚫기/나사 가공/보링 등

M,(L)

G90

절대 좌표 치수 입력(Absolute Dimension Input)

03

M,L

G91

증분 좌표 치수 입력(Incremental Dimension Input)

M,L

G92

좌표계 설정

*

M,L

G93

시간의 역수로 이송률 표시(Inverse Time Feedrate)

05

M,L

G94

분당 이동거리로 이송률 표시(mm/min 또는 inch/min)

M,L

G95

주축 1회전당 이동거리로 이송률 표시(mm/rev 또는 inch/rev)

M,L

G96

원주 속도 일정 제어(m/min 또는 feet/min : 공구와 공작물 접촉점에서의 절삭속도를 일정하게 유지)

13

L

G97

"G96" 취소, 주축 회전수로 주축 속도 지정(rpm)

M,L

G98

~G99

미지정 (일부 NC 장치에서 고정 사이클 복귀 위치 지정을 위해 사용)

10

 

 주기) 1. 그룹 구분란에 "*"로 표시된 기능은 그 블록 내에서만 유효하고 다음 블록에는 영향을

             미치지 않는 명령임(One Shot 명령)

         2. 그룹 구분란에 숫자로 표시된 기능은 같은 그룹의 다른 명령이 나올 때까지 계속

            유효한 명령임(Modal 명령)

         3. 적용란의 "M"은 밀링 또는 MCT, "L"은 NC 선반에 각각 적용됨을 의미함.

 

2) 보조 기능 (Miscellaneous Function)

영문자 "M"와 2자리 숫자로 지정된다.

일반적으로 NC 공작기계의 서보 모터 이외의 모터나 솔레노이드 밸브 등을 작동시켜 실지로 기계가 동작을 하도록 한다

 

 (M 코드 일람표)                                                                  EIA RS-274-D

코드

기 능

의       미

기능 개시

기능 계속

M00

프로그램 정지

 주축, 절삭유를 포함한 프로그램 운행 중단

실행 완료후

블록내

M01

프로그램

선택적 정지

 이 기능이 유효하도록 스위치를 켜두었을  때만 "M00"와 동일한 기능

실행 완료후

블록내

M02

프로그램 끝

End Of Program

 주축, 절삭유를 포함한 기계 작동 정지

 테이프 되감기 명령 포함 가능

실행 완료후

블록내

M03

주축 정회전

 주축 정회전(시계 방향)

시작과 동시

계속

M04

주축 역회전

 주축 역회전(반시계 방향)

시작과 동시

계속

M05

주축 정지

 주축 정지

실행 완료후

블록내

M06

공구 교환

 수동, 자동 관계없이 공구 교환

 단, 공구 선택 기능은 포함하지 않음

미지정

블록내

M07

M08

절삭유제 켜짐

 보통, "M07" 은 Mist Coolant, "M08"은 Flood Coolant로 사용한다.

시작과 동시

계속

M09

절삭유제 꺼짐

 절삭유제 꺼짐

실행 완료후

계속

M10

M68

M78

클램프

(Clamp)

 기계의 슬라이드, 공작물, 고정구, 주축 등

 을 클램프하거나 언클램프하는 명령

 클램프 대상이 여러개 있을 경우, M10, M68,M78의 순서로 사용

미지정

계속

M11

M69

M79

언클램프

(Unclamp)

M15

양의 방향 이송

 급속 이송 또는 절삭 이송 방향 선택

 절대좌표 계측 시스템을 가진 회전 테이블에도 적용

시작과 동시

블록내

M16

음의 방향 이송

M19

정위치 주축정지

 Spindle Orientation Stop

 주축이 정해진 각도 위치에서 멈추도록 함

실행 완료후

계속

M30

테이프 끝

End Of Tape

 "M02"와 유사하나 테이프 되감기가 포함됨

자동으로 제2 테이프 리더로 이동 가능

실행 완료후

블록내

M31

인터록 무시

 통상 걸려 있는 인터록을 일시적으로 무시

미지정

블록내

M40

~

M45

주축 기어 변환

 주축 기어 변환(저속/중속/고속/초고속 등)

미지정

미지정

M49

오버라이드 무시

 주축 속도 또는 이송 속도 오버라이드를 무시하고 프로그램에 지정된 속도로 동작시킴

"M48"로 취소시킴

시작과 동시

(M48은 실행 완료후)

계속

 주기) 1. 기능 개시란의 "실행 완료후" : 해당 블록에 있는 다른 명령들을 먼저 실행한 후에

             이 기능 수행

         2. 기능 개시란의 "시작과 동시" : 해당 블록에 있는 다른 명령들과 동시에 이 기능 수행

         3. 기능 계속 "블록내" : 지령된 블록 내에서만 유효(One Shot 명령)

         4. 기능 계속 "계속" : 취소 또는 변경시까지 계속 유효(Modal 명령)

 

3) 이송 기능 (Feed Function)

영문자 "F"와 수치값으로 지정되며, 공구의 이송 속도를 선택한다.

NC 선반에서는 나사 가공시 좀 더 이송률을 정확하게 지정하기 위해 "E"를 사용할 수도 있다.

 

일반적으로 가공 특성에 따라, NC 선반과 MCT에서 서로 다른 단위를 사용한다. 

구분

단위

내용

NC 선반

mm/rev, inch/rev

공작물 1회전당 공구 이동거리

MCT

mm/min, inch/min

분당 공구 이동거리

 

실지 파트 프로그램 작성시는 공작물에 요구되는 표면 거칠기 등을 고려하여 날당, 회전당 이송률을 결정해줄 필요가 있다 (뒤의 NC 선반, MCT 프로그램 작성 참조).

 

 

4) 주축 기능 (Spindle Function)

영문자 "S"와 수치값으로 지정된다.

주축의 회전수를 선택하는 기능을 하며, 이 명령만으로 실지 주축이 회전하지는 않는다.

보통 수치값은 주축 회전수(rpm)를 나타내지만, NC 선반에서 원주 속도 일정 제어 기능(G96)이 유효할 경우에는 공구와 공작물 접촉점에서의 절삭 속도(m/min 또는 feet/min) 값이 된다.

 

실지 파트 프로그램 작성시는 공구 수명, 가공 상태 등을 고려하여 주축 회전수를 결정해줄 필요가 있다 (뒤의 NC 선반, MCT 프로그램 작성 참조).

 

 

5) 공구 기능 (Tool Function)

영문자 "T"와 수치값으로 지정된다.

일반적으로 NC 선반에서는 수치값을 두 부분으로 나누어, 앞부분은 공구 번호를, 뒷부분은 공구 옾셋 번호를 표시하도록 한다.

 

 

1.6.4 CAD/CAM 시스템

1) APT (Automatically Programmed Tool) 개요

APT는 일종의 CAM 전용 고급 언어(High Level Language)라고 할 수 있으며, FORTRAN 등 다른 고급 언어와 유사한 운명을 맞고 있다.

처음 개발은 미국 MIT에서 되었으나, 각 국가 또는 업체별로 계속 기능을 추가하고 발전을 시켜 왔기 때문에 지금은 엄청나게 많은 종류의 APT 시스템이 있다.

요즘은 CATIA 등 대화형 그래픽 CAD/CAM 시스템 사용 증가로 별로 많이 사용되지 않는다.

다만 대부분의 기업에서 기존의 NC 프로그램들이 주로 APT를 이용하여 작성이 되어 있기 때문에, 해당 제품에 대한 사후 관리 목적으로 아직도 일부 사용하고 있다.

 

여기서도 자세한 설명은 생략하고 일반적인 사항만 설명하기로 한다.

APT 시스템에 따라 명령어 등에 차이가 있으므로, 실지 프로그램 작성시는 사전에 설명서를 충분히 검토할 필요가 있다.

 

2) APT Source Program의 구성

APT 원시 프로그램(Source Program)은 아래와 같이 크게 세가지 형태의 명령으로 구성된다.

CATIA 등 대화형 그래픽 CAD/CAM 시스템의 경우도 기본적인 프로그램 작성 패턴은 유사하다.

 

① 도형 정의

일반적으로 원시 프로그램 작성시는 뒤의 공구 이동 명령부 작성, 또는 나중에 프로그램을 수정할 때 확인이 용이하도록 부품 도면에 정의할 도형의 이름을 미리 적어두고 작업을 하게 된다.

이 도면을 보통 "Road Map"이라고 하는데, 여기 사용하는 도형의 이름은 알기 쉽게 해주는 것이 좋다.

예를 들면 점 도형의 이름은 P1, P2, P3 등으로, 평면 도형의 이름은 PL1, PL2, PL3 등으로, Ruled Surface의 이름은 RS1, RS2, RS3 등으로 정의하는 것이 나중에 확인할 때 편리하다.

 

(도형 정의 예)

P1 = POINT/0,0

P2 = POINT/0,100

P3 = POINT/100,100

P4 = POINT/100,0

L1 = LINE/P1,P2

L2 = LINE/P2,P3

L3 = LINE/P3,P4

L4 = LINE/P4,P1

PS1 = PLANE/0,0,1,0

 

보통은 "SYNONYM(동의어)" 명령으로 약자를 지정해 사용한다.

예) PLANE은 PL, POINT는 PT, LINE은 LN 등

 

② 공구 이동

공구 이동 명령을 위해서는 아래의 세가지 Surface를 필요로 한다.

 - Part Surface

가공시 바닥면을 말한다.

공구의 바닥날이 이면을 지나가는 형태는 "TLONPS", "TLOFFPS" 등의 명령으로 지정한다.

 

 - Drive Surface

공구가 따라가는 면을 말한다.

보통, Drive Surface에 대한 공구 위치 지정을 위해 "TLRGT", "TLLFT", "TLON" 등과 같이 사용된다.

예를 들어 공구가 Drive Surface의 왼쪽에서 움직이면 "TLLFT"로 지정한다.

 

공구 이동 방향은 "GOFWD", "GORGT", "GOLFT", "GODLTA" 등으로 지정한다.

예를 들어 공구가 이동해온 방향에서 오른쪽으로 Drive Surface의 왼쪽에서 움직이면 "TLLFT,GORGT"로 지정한다.

 

황삭(Rough Cutting)이나 중삭(Semi-finishing)을 할 경우, "THICK" 문을 사용하는 것이 해당 Drive Surface에서 가공 여유만큼 옾셋된 Surface를 따로 지정하는 것보다 편리하다.

이송률도 RF, F1, F2, F3 등으로 미리 지정해두고 사용하면 프로그램 수정시 좀 더 편리하다.

 

 - Check Surface

해당 공구 이동 명령에서 공구가 가야 되는 목적지 면을 말한다. 보통은 이 면이 다음 공구 이동 명령에서 다시 Drive Surface가 된다.

"PAST", "ON", "TO" 의 세가지 형태로, 공구가 Check Surface에 도달하는 방법을 지정한다.

예를 들어 공구가 Check Surface를 지나가야 되면 "PAST"로 지정한다.

 

(공구 이동 명령 예)

이해를 돕기 위해 여기서는 동의어 지침에 미리 약자를 지정해 놓은 것으로 가정하고 작성한다.

 

SYNONYM/ GORGT,GR, GOTO,GT,TLLFT,TL......       : 동의어 지정

FROM/SP

RAPID,GT/-15,-15,20        : 가공 시작점으로 급속 이동, 공구는 지름 25mm 엔드밀 사용

GO/PS1,TO,L1,F1            : PS1, L1에 접하는 위치에 F1 속도로 공구 이동, "TO"는 생략 가능

TL,GL/L1,PAST,L2,F2       : L1을 따라 F2의 속도로 L2를 지날 때까지 이동, "PAST,L2"는 생략 가능

TL,GR/L2,PAST,L3,F2       : L2를 따라 이동, "TL", "PAST,L3", 'F2"는 생략 가능

GR/L3                             : L3를 따라 이동, "TL", "PAST,L4", 'F2"는 생략했음

GR/L4,PAST,L1               : L4를 따라 L1을 지날 때까지 이동, 마지막 공구 이동이므로 "PAST,L1"은

                                       생략하면 안됨.

GD/0,0,20,RF                   : Z축 방향으로 RF 속도로 이동

RAPID,GT/SP

 

③ 가공 정보를 포함한 포스트 명령

주축 회전, 절삭유, 공구 정보 등 가공 정보와 선형화 공차 등 포스트 프로세서에서 처리할 명령어 등을 말한다.

 

(가공 정보를 포함한 포스트 명령 예)

MACHIN/CINAC6....

FROM/SP

CUTTER/25,3                  : 공구 직경, 구석R(Corner Radius) 등 지정

SPINDL/2000,CLW           : 주축 2000rpm으로 정회전

COOLNT/ON                  : 절삭유제 켜짐

LINTOL/ON,0.01              : 선형화(Linearize) 공차 지정, 선형화는 뒤의 5축 가공 참조

 

 

3) CAD/CAM 시스템 업무 흐름

APT 또는 대화형 그래픽 CAD/CAM 시스템을 사용하여 파트 프로그램을 작성할 때의 업무 흐름은 아래와 같다.

 

MANUAL

APT 프로그램 작성

 

APT SOURCE

RROGRAM

대화형 GRAPHIC

CAD/CAM SYSTEM

 

 

 

   

 

 

APT

PROCESSOR

 

 

 

 

 

 

CLDATA

(Cutter Location Data)

CAD/CAM SYSTEM

자체 PROCESSOR

 

 

 

 

 

 

각 장비별

POST-PROCESSOR

 

 

 

 

 

 

 

 

각 장비별 MCD

(Machine Control Data)

 

 

 

① APT SOURCE 프로그램 작성

APT SOURCE 프로그램은 일반적으로 APT 언어를 사용하여 손으로 작성한다.

일부 대화형 그래픽 CAD/CAM 시스템에서는 자체 프로세서에서 APT SOURCE 프로그램 형태의 데이터를 만들어 주기도 한다.

 

② APT PROCESSOR

APT 프로세서는 APT SOURCE 프로그램을 읽고 번역 및 계산 과정을 거쳐 CLDATA(Cutter Location Data)를 만들어 준다.

CLDATA는 점좌표값, 벡터(Vector)값, 이송률로 구성된 공구 위치 정보와 포스트 명령으로 구성되어 있다.

예) GOTO/x1,y1,z1,i1,j1,k1,f1

     GOTO/x2,y2,z2,i2,j2,k2,f2

 

③ POST-PROCESSOR

포스트 프로세서는 CLADTA을 읽고 계산 과정을 거쳐 각 NC 장비 입력 정보인 MCD(Machine Control Data)를 만들어 준다.

장비 형태나 NC 장치 종류 등에 따라 MCD 패턴은 약간씩 차이가 있으므로 각 장비별로 별도의 포스트 프로세서를 필요로 한다.

특히, 5축 NC 장비의 경우는 장비 형태에 따라 선형화, 이송률 계산 방법 등이 차이가 많다.

일부 대화형 그래픽 CAD/CAM 시스템에서는 자체 프로세서에서 포스트 프로세서에 바로 입력 정보로 사용할 수 있는 형태의 CLDATA 형태의 데이터를 만들어 주기도 한다.

 

 

4) 대화형 그래픽 CAD/CAM 시스템

 CATIA(Computer Aided Three Dimensional Interactive Application) 등 대화형 그래픽 CAD/CAM 시스템에서는 도형 정의, 또는 공구 이동 명령을 그래픽 화면에서 대화형으로 바로 입력할 수 있다.

도형 정의시 설계 담당자에게서 넘겨 받은 CAD Data를 바로 수정해 사용할 수 있어 시간을 줄일 수 있으며, 화면에서 직접 눈으로 보면서 파트 프로그램 작성을 하게 되므로 실수를 줄일 수 있는 장점이 있다.

기본적인 파트 프로그램 작성 패턴은 APT 사용시와 거의 유사하다.

 

 (파트 프로그램 사전 검증)

파트 프로그램 작성 실수로 인한 충돌이나 불량 방지를 위해서는 사전에 컴퓨터 시뮬레이션을 통해 검증(Verification)을 해보는 것이 유리하다.

 

이를 위한 소프트웨어도 많이 나와 있으므로 각자의 공장 현실에 맞는 시스템을 선택하여 사용하도록 하는 것이 좋다.

보통은 큰 사고가 발생한 후에 투자 검토를 시작하는 경우가 많지만, 시제 가공 횟수를 줄이고 충돌 사고를 사전에 예방할 수 있는 효과도 크므로 복잡한 대형 공작물 가공이 많을 경우 사전에 검토할 필요가 있다.

공작물 형상이 단순할 경우에는 보통 수작업으로 파트 프로그램 작성이 가능하고, 오히려 이것이 효율적일 수 있다.

그러나 형상이 아주 복잡하거나, 곡면 가공이나 5축 가공이 필요할 경우에는 파트 프로그램 작성에 소요되는 시간이 너무 길어지게 되므로 전용 CAD/CAM SYSTEM을 사용해야 된다.

실지로 5축 가공이나, 곡면 가공을 위한 파트 프로그램은 수작업으로 작성하는 것이 거의 불가능하다고 할 수 있다.

 

여기서는 파트 프로그램 작성에 관한 일반 사항민 설명하고, 자세한 내용은 뒷 장에서 NC 선반과 MCT로 구분해 설명하기로 한다.

 

1.6.1 NC 프로그램 작성 순서

1) 도면 검토

 - 칫수 및 공차, 현 보유 설비로 가공이 어렵거나 불가능한 형상이 있는지 등 검토

 - 필요시 설계 담당자와 협의 설계 변경

   : 설계 초기 단계에서 같이 참여하는 것이 유리 - 동시공학(CE/SE), 사전 제품 품질계획 적용

 

2) NC 가공 공정 설계

 - 가공 순서 및 가공 장비 선정

   : 월평균 생산량, 예상 가공 소요 시간, 각 장비별 생산 계획 등 고려하여 결정

 - 위치 결정 및 고정 방법 결정

   : 생산성, 품질 등에 큰 영향을 미치므로 신중하게 결정

 - 치공구 개념 설계(Concept Design)

   : 월평균 생산량, 각 장비별 생산 계획 등 고려하여 유압 클램프 등 사용 여부 결정

   : 필요시 제작 의뢰, 또는 상세 설계 및 제작(소요 자재 확보 등 포함)

 - 절삭 공구 선정 및 확인

   : 생산량, 공차 등 고려하여 선정

   : 필요시 특수 공구 또는 미확보 공구 발주 또는 구매 의뢰

 

3) NC 프로그램 작성

 - 절삭 조건 등 가공 정보, 공구 이동 명령 등

 

4) 시제 가공 (Trial Run) 및 측정

 - 시제 가공 중에 공정이 안정적인지, 절삭 조건은 적절한지 등 관찰, 확인

 - 가공 완료된 시제 가공품 측정 및 확인

   : 필요시 품질 관리 부서에 정밀 측정 의뢰 및 측정 결과 분석

 - 이상이 있을 경우 프로그램 수정 및 재가공

 

5) 양산 승인

 - 부품의 품질 상태, 공정의 안정성, 가공 소요 시간 및 장비 부하 계획 등을 상세 검토 분석하고

    양산 승인

 

 

1.6.2 NC 프로그램의 구성

NC 프로그램은 사용할 NC 장치가 읽고 해석할 수 있는 언어로 작성되어야 한다.

각 NC 공작기계의 구조, NC Unit 종류, 제작사 등에 따라 NC 프로그램 언어는 약간 차이가 있을 수 있으며, 동일한 가공이라도 가공 장비가 바뀌면 NC 프로그램도 수정해야 되는 것이 일반적이다.

CAD/CAM 시스템 사용시는 각 NC 장비별 포스트 프로세서가 해당 장비에 맞는 MCD(Machine Control Data)로 수정해 주는 역할을 하지만, 수작업으로 프로그램 작성시는 손으로 수정해 주어야 된다.

 

NC 프로그램 언어는 일종의 어셈블러 언어(Assembler Language)라고 할 수 있으며, NC 장치나 공작기계 제작사별 차이를 줄일 수 있도록, ISO 규격과 EIA 규격에서 일반적인 사항을 규정하고 있다.

여기서는 특정 업체 규격이 아닌 일반적인 사항에 대해서만 설명하기로 한다.

 

1) 단어 (Word)

 - 단어는 주소(Address)와 수치(Data)로 구성된다.

예)

G

01

 

Address

Data

 

 - 주소는 영문자 하나로만 지정하고, 수치값의 지령치 범위는 주소에 따라 결정된다.

 - 특수 문자는 일반적으로 하나의 단어로 인식한다 ( / , EOB 등)

 

 (주소 일람표)                                                                   EIA RS-274-D

주소

설명

비고

A

 X축에 대한 회전축

 

B

 Y축에 대한 회전축

 

C

 Z축에 대한 회전축

 

D

 특수축에 대한 회전축, 세 번째 이송 기능,

 또는 공구경 보정을 위한 공구 기능

 

E

 특수축에 대한 회전축, 또는 두 번째 이송 기능

 

F

 이송 기능 주소 코드

 

G

 준비 기능 주소 코드

 

H

 미지정(보통, 공구 길이 보정을 위한 공구 기능으로 사용)

 

I

 원호보간 파라메터, 또는 X축에 평행한 나사의 리드(Lead)

 

J

 원호보간 파라메터, 또는 Y축에 평행한 나사의 리드(Lead)

 

K

 원호보간 파라메터, 또는 Z축에 평행한 나사의 리드(Lead)

 

L

 미지정

 

M

 보조 기능 주소 코드

 

N

 일련번호(Sequence Number)

 

O

 프로그램 번호

 

P

 세번째 급속이동 치수, 또는 X축에 평행한 제3의 이동 치수

 

Q

 두번째 급속이동 치수, 또는 Y축에 평행한 제3의 이동 치수

 

R

 첫번째 급속이동 치수, Z축에 평행한 제3의 이동 치수,

 또는 일정 표면 속도 계산을 위한 반경값

 

S

 주축 속도 기능

 

T

 공구 기능

 

U

 X축에 평행한 제2의 이동 치수

 

V

Y축에 평행한 제2의 이동 치수

 

W

Z축에 평행한 제2의 이동 치수

 

X

 첫 번째 X축 이동 치수

 

Y

 첫 번째 Y축 이동 치수

 

Z

 첫 번째 Z축 이동 치수

 

 

2) 블록 (Block)

NC 프로그램에서 한줄 한줄의 명령을 블록이라고 한다.

각 블록은 EOB(End Of Block)로 나누어지며, NC 장치는 블록 단위로 명령을 실행한다.

 

EOB는 EIA와 ISO가 아래와 같이 다르게 지정하고 있다.

EIA

ISO

CR (Carriage Return)

NL (New Line), LF (Line Feed)

 

 

1.6.3  NC 프로그램 구성 주요 기능

여기서는 특정 NC 장치 규격보다 ISO 또는 EIA 규격에 따라, NC 프로그램에서 사용되는 주요 기능에 대해 설명하기로 한다.

단, NC 장치나 NC 공작기계 제작사별로 차이가 많으므로 제작사에서 제공하는 매뉴얼을 사전에 충분히 검토할 필요가 있다.

 

1) 준비 기능 (Preparatory Function)

영문자 "G"와 2자리 숫자로 지정된다.

일반적으로 기계를 바로 움직이도록 하는 명령은 아니며, 주로 뒤에 나오는 명령을 실행하는 방법을 지정한다.

 

 (G 코드 일람표)                                                                              ISO R 1056

코드

설명

그룹 구분

적용

G00

급속 이동, 위치 결정 제어

01

M,L

G01

직선 보간(Linear Interpolation)

M,L

G02

원호 보간(Circular Interpolation), 시계 방향(CW)

M,L

G03

원호 보간(Circular Interpolation), 반시계 방향(CCW)

M,L

G04

일시 정지(Dwell), 프로그램에 지정된 시간 동안 일시 정지

*

M,L

G05

미지정

*

 

G06

포물선 보간(Parabolic Interpolation)

*

M,L

G07

미지정

 

 

G08

가속 : 프로그램에 지정된 속도까지 이송속도를 자동으로 부드럽게 증가시키는 모드

*

M,L

G09

감속 : 프로그램에 지정된 점에 가까워지면 이송속도를 자동으로 부드럽게 감소시키는 모드

*

M,L

G10

~G11

미지정 (일부 NC 장치에서 데이터 설정 기능으로 사용함)

 

 

G12

~G16

미지정

 

 

G17

XY 평면의 선택(원호보간이나 공구경 보정 등을 위해 선택)

02

M,L

G18

ZX 평면의 선택(원호보간이나 공구경 보정 등을 위해 선택)

M,L

G19

YZ 평면의 선택(원호보간이나 공구경 보정 등을 위해 선택)

M,L

G20

~G29

미지정

 

 

G33

리드가 일정한 나사(Constant Lead) 절삭

01

L

G34

리드가 균일하게 증가하는 나사(Increasing Lead) 절삭

L

G35

리드가 균일하게 감소하는 나사(Decreasing Lead) 절삭

L

G36

~G39

미지정

 

 

G40

공구 지름 보정 및 공구 위치 옾셋 취소

07

M

G41

공구 지름 보정, 왼쪽(Cutter Compensation, Left)

 :공구 진행 방향 기준으로 공구가 공작물의 왼쪽에 있음

M

G42

공구 지름 보정, 오른쪽(Cutter Compensation, Right)

 :공구 진행 방향 기준으로 공구가 공작물의 오른쪽에 있음

M

G43

공구 옾셋(Cutter Offset), 주로 공구 길이 보정에 사용

08

M,L

G44

공구 옾셋 취소

M,L

G45

~G52

미지정 (일부 NC 장치에서 공구경 보정을 위한 공구 위치 정보 지정을 위해 사용)

*

 

G53

데이텀 쉬프트 취소(Datum Shift Cancel)

14

M,L

G54

~G59

데이텀 쉬프트(Datum Shift)

각각 X축, Y축, Z축, XY면, ZX면, YZ면의 순서로 적용

M,L

G60

~G62

미지정 (일부 NC 장치에서 한방향 위치 정하기, 코너부 자동 감속 기능 등으로 사용)

 

 

G63

~G69

미지정

 

 

G70

인치 단위 프로그래밍(Inch Programming)

 

M,L

G71

메트릭 단위 프로그래밍(Metric Programming)

 

M,L

G72

~G79

미지정 (일부 NC 장치에서 고정 사이클 기능으로 사용)

 

 

G80

고정 사이클(Fixed Cycle) 취소

09

M,L

G81

~G89

고정 사이클

구멍 뚫기/나사 가공/보링 등

M,(L)

G90

절대 좌표 치수 입력(Absolute Dimension Input)

03

M,L

G91

증분 좌표 치수 입력(Incremental Dimension Input)

M,L

G92

좌표계 설정

*

M,L

G93

시간의 역수로 이송률 표시(Inverse Time Feedrate)

05

M,L

G94

분당 이동거리로 이송률 표시(mm/min 또는 inch/min)

M,L

G95

주축 1회전당 이동거리로 이송률 표시(mm/rev 또는 inch/rev)

M,L

G96

원주 속도 일정 제어(m/min 또는 feet/min : 공구와 공작물 접촉점에서의 절삭속도를 일정하게 유지)

13

L

G97

"G96" 취소, 주축 회전수로 주축 속도 지정(rpm)

M,L

G98

~G99

미지정 (일부 NC 장치에서 고정 사이클 복귀 위치 지정을 위해 사용)

10

 

 주기) 1. 그룹 구분란에 "*"로 표시된 기능은 그 블록 내에서만 유효하고 다음 블록에는 영향을

             미치지 않는 명령임(One Shot 명령)

         2. 그룹 구분란에 숫자로 표시된 기능은 같은 그룹의 다른 명령이 나올 때까지 계속

            유효한 명령임(Modal 명령)

         3. 적용란의 "M"은 밀링 또는 MCT, "L"은 NC 선반에 각각 적용됨을 의미함.

 

2) 보조 기능 (Miscellaneous Function)

영문자 "M"와 2자리 숫자로 지정된다.

일반적으로 NC 공작기계의 서보 모터 이외의 모터나 솔레노이드 밸브 등을 작동시켜 실지로 기계가 동작을 하도록 한다

 

 (M 코드 일람표)                                                                  EIA RS-274-D

코드

기 능

의       미

기능 개시

기능 계속

M00

프로그램 정지

 주축, 절삭유를 포함한 프로그램 운행 중단

실행 완료후

블록내

M01

프로그램

선택적 정지

 이 기능이 유효하도록 스위치를 켜두었을  때만 "M00"와 동일한 기능

실행 완료후

블록내

M02

프로그램 끝

End Of Program

 주축, 절삭유를 포함한 기계 작동 정지

 테이프 되감기 명령 포함 가능

실행 완료후

블록내

M03

주축 정회전

 주축 정회전(시계 방향)

시작과 동시

계속

M04

주축 역회전

 주축 역회전(반시계 방향)

시작과 동시

계속

M05

주축 정지

 주축 정지

실행 완료후

블록내

M06

공구 교환

 수동, 자동 관계없이 공구 교환

 단, 공구 선택 기능은 포함하지 않음

미지정

블록내

M07

M08

절삭유제 켜짐

 보통, "M07" 은 Mist Coolant, "M08"은 Flood Coolant로 사용한다.

시작과 동시

계속

M09

절삭유제 꺼짐

 절삭유제 꺼짐

실행 완료후

계속

M10

M68

M78

클램프

(Clamp)

 기계의 슬라이드, 공작물, 고정구, 주축 등

 을 클램프하거나 언클램프하는 명령

 클램프 대상이 여러개 있을 경우, M10, M68,M78의 순서로 사용

미지정

계속

M11

M69

M79

언클램프

(Unclamp)

M15

양의 방향 이송

 급속 이송 또는 절삭 이송 방향 선택

 절대좌표 계측 시스템을 가진 회전 테이블에도 적용

시작과 동시

블록내

M16

음의 방향 이송

M19

정위치 주축정지

 Spindle Orientation Stop

 주축이 정해진 각도 위치에서 멈추도록 함

실행 완료후

계속

M30

테이프 끝

End Of Tape

 "M02"와 유사하나 테이프 되감기가 포함됨

자동으로 제2 테이프 리더로 이동 가능

실행 완료후

블록내

M31

인터록 무시

 통상 걸려 있는 인터록을 일시적으로 무시

미지정

블록내

M40

~

M45

주축 기어 변환

 주축 기어 변환(저속/중속/고속/초고속 등)

미지정

미지정

M49

오버라이드 무시

 주축 속도 또는 이송 속도 오버라이드를 무시하고 프로그램에 지정된 속도로 동작시킴

"M48"로 취소시킴

시작과 동시

(M48은 실행 완료후)

계속

 주기) 1. 기능 개시란의 "실행 완료후" : 해당 블록에 있는 다른 명령들을 먼저 실행한 후에

             이 기능 수행

         2. 기능 개시란의 "시작과 동시" : 해당 블록에 있는 다른 명령들과 동시에 이 기능 수행

         3. 기능 계속 "블록내" : 지령된 블록 내에서만 유효(One Shot 명령)

         4. 기능 계속 "계속" : 취소 또는 변경시까지 계속 유효(Modal 명령)

 

3) 이송 기능 (Feed Function)

영문자 "F"와 수치값으로 지정되며, 공구의 이송 속도를 선택한다.

NC 선반에서는 나사 가공시 좀 더 이송률을 정확하게 지정하기 위해 "E"를 사용할 수도 있다.

 

일반적으로 가공 특성에 따라, NC 선반과 MCT에서 서로 다른 단위를 사용한다. 

구분

단위

내용

NC 선반

mm/rev, inch/rev

공작물 1회전당 공구 이동거리

MCT

mm/min, inch/min

분당 공구 이동거리

 

실지 파트 프로그램 작성시는 공작물에 요구되는 표면 거칠기 등을 고려하여 날당, 회전당 이송률을 결정해줄 필요가 있다 (뒤의 NC 선반, MCT 프로그램 작성 참조).

 

 

4) 주축 기능 (Spindle Function)

영문자 "S"와 수치값으로 지정된다.

주축의 회전수를 선택하는 기능을 하며, 이 명령만으로 실지 주축이 회전하지는 않는다.

보통 수치값은 주축 회전수(rpm)를 나타내지만, NC 선반에서 원주 속도 일정 제어 기능(G96)이 유효할 경우에는 공구와 공작물 접촉점에서의 절삭 속도(m/min 또는 feet/min) 값이 된다.

 

실지 파트 프로그램 작성시는 공구 수명, 가공 상태 등을 고려하여 주축 회전수를 결정해줄 필요가 있다 (뒤의 NC 선반, MCT 프로그램 작성 참조).

 

 

5) 공구 기능 (Tool Function)

영문자 "T"와 수치값으로 지정된다.

일반적으로 NC 선반에서는 수치값을 두 부분으로 나누어, 앞부분은 공구 번호를, 뒷부분은 공구 옾셋 번호를 표시하도록 한다.

 

 

1.6.4 CAD/CAM 시스템

1) APT (Automatically Programmed Tool) 개요

APT는 일종의 CAM 전용 고급 언어(High Level Language)라고 할 수 있으며, FORTRAN 등 다른 고급 언어와 유사한 운명을 맞고 있다.

처음 개발은 미국 MIT에서 되었으나, 각 국가 또는 업체별로 계속 기능을 추가하고 발전을 시켜 왔기 때문에 지금은 엄청나게 많은 종류의 APT 시스템이 있다.

요즘은 CATIA 등 대화형 그래픽 CAD/CAM 시스템 사용 증가로 별로 많이 사용되지 않는다.

다만 대부분의 기업에서 기존의 NC 프로그램들이 주로 APT를 이용하여 작성이 되어 있기 때문에, 해당 제품에 대한 사후 관리 목적으로 아직도 일부 사용하고 있다.

 

여기서도 자세한 설명은 생략하고 일반적인 사항만 설명하기로 한다.

APT 시스템에 따라 명령어 등에 차이가 있으므로, 실지 프로그램 작성시는 사전에 설명서를 충분히 검토할 필요가 있다.

 

2) APT Source Program의 구성

APT 원시 프로그램(Source Program)은 아래와 같이 크게 세가지 형태의 명령으로 구성된다.

CATIA 등 대화형 그래픽 CAD/CAM 시스템의 경우도 기본적인 프로그램 작성 패턴은 유사하다.

 

① 도형 정의

일반적으로 원시 프로그램 작성시는 뒤의 공구 이동 명령부 작성, 또는 나중에 프로그램을 수정할 때 확인이 용이하도록 부품 도면에 정의할 도형의 이름을 미리 적어두고 작업을 하게 된다.

이 도면을 보통 "Road Map"이라고 하는데, 여기 사용하는 도형의 이름은 알기 쉽게 해주는 것이 좋다.

예를 들면 점 도형의 이름은 P1, P2, P3 등으로, 평면 도형의 이름은 PL1, PL2, PL3 등으로, Ruled Surface의 이름은 RS1, RS2, RS3 등으로 정의하는 것이 나중에 확인할 때 편리하다.

 

(도형 정의 예)

P1 = POINT/0,0

P2 = POINT/0,100

P3 = POINT/100,100

P4 = POINT/100,0

L1 = LINE/P1,P2

L2 = LINE/P2,P3

L3 = LINE/P3,P4

L4 = LINE/P4,P1

PS1 = PLANE/0,0,1,0

 

보통은 "SYNONYM(동의어)" 명령으로 약자를 지정해 사용한다.

예) PLANE은 PL, POINT는 PT, LINE은 LN 등

 

② 공구 이동

공구 이동 명령을 위해서는 아래의 세가지 Surface를 필요로 한다.

 - Part Surface

가공시 바닥면을 말한다.

공구의 바닥날이 이면을 지나가는 형태는 "TLONPS", "TLOFFPS" 등의 명령으로 지정한다.

 

 - Drive Surface

공구가 따라가는 면을 말한다.

보통, Drive Surface에 대한 공구 위치 지정을 위해 "TLRGT", "TLLFT", "TLON" 등과 같이 사용된다.

예를 들어 공구가 Drive Surface의 왼쪽에서 움직이면 "TLLFT"로 지정한다.

 

공구 이동 방향은 "GOFWD", "GORGT", "GOLFT", "GODLTA" 등으로 지정한다.

예를 들어 공구가 이동해온 방향에서 오른쪽으로 Drive Surface의 왼쪽에서 움직이면 "TLLFT,GORGT"로 지정한다.

 

황삭(Rough Cutting)이나 중삭(Semi-finishing)을 할 경우, "THICK" 문을 사용하는 것이 해당 Drive Surface에서 가공 여유만큼 옾셋된 Surface를 따로 지정하는 것보다 편리하다.

이송률도 RF, F1, F2, F3 등으로 미리 지정해두고 사용하면 프로그램 수정시 좀 더 편리하다.

 

 - Check Surface

해당 공구 이동 명령에서 공구가 가야 되는 목적지 면을 말한다. 보통은 이 면이 다음 공구 이동 명령에서 다시 Drive Surface가 된다.

"PAST", "ON", "TO" 의 세가지 형태로, 공구가 Check Surface에 도달하는 방법을 지정한다.

예를 들어 공구가 Check Surface를 지나가야 되면 "PAST"로 지정한다.

 

(공구 이동 명령 예)

이해를 돕기 위해 여기서는 동의어 지침에 미리 약자를 지정해 놓은 것으로 가정하고 작성한다.

 

SYNONYM/ GORGT,GR, GOTO,GT,TLLFT,TL......       : 동의어 지정

FROM/SP

RAPID,GT/-15,-15,20        : 가공 시작점으로 급속 이동, 공구는 지름 25mm 엔드밀 사용

GO/PS1,TO,L1,F1            : PS1, L1에 접하는 위치에 F1 속도로 공구 이동, "TO"는 생략 가능

TL,GL/L1,PAST,L2,F2       : L1을 따라 F2의 속도로 L2를 지날 때까지 이동, "PAST,L2"는 생략 가능

TL,GR/L2,PAST,L3,F2       : L2를 따라 이동, "TL", "PAST,L3", 'F2"는 생략 가능

GR/L3                             : L3를 따라 이동, "TL", "PAST,L4", 'F2"는 생략했음

GR/L4,PAST,L1               : L4를 따라 L1을 지날 때까지 이동, 마지막 공구 이동이므로 "PAST,L1"은

                                       생략하면 안됨.

GD/0,0,20,RF                   : Z축 방향으로 RF 속도로 이동

RAPID,GT/SP

 

③ 가공 정보를 포함한 포스트 명령

주축 회전, 절삭유, 공구 정보 등 가공 정보와 선형화 공차 등 포스트 프로세서에서 처리할 명령어 등을 말한다.

 

(가공 정보를 포함한 포스트 명령 예)

MACHIN/CINAC6....

FROM/SP

CUTTER/25,3                  : 공구 직경, 구석R(Corner Radius) 등 지정

SPINDL/2000,CLW           : 주축 2000rpm으로 정회전

COOLNT/ON                  : 절삭유제 켜짐

LINTOL/ON,0.01              : 선형화(Linearize) 공차 지정, 선형화는 뒤의 5축 가공 참조

 

 

3) CAD/CAM 시스템 업무 흐름

APT 또는 대화형 그래픽 CAD/CAM 시스템을 사용하여 파트 프로그램을 작성할 때의 업무 흐름은 아래와 같다.

 

MANUAL

APT 프로그램 작성

 

APT SOURCE

RROGRAM

대화형 GRAPHIC

CAD/CAM SYSTEM

 

 

 

   

 

 

APT

PROCESSOR

 

 

 

 

 

 

CLDATA

(Cutter Location Data)

CAD/CAM SYSTEM

자체 PROCESSOR

 

 

 

 

 

 

각 장비별

POST-PROCESSOR

 

 

 

 

 

 

 

 

각 장비별 MCD

(Machine Control Data)

 

 

 

① APT SOURCE 프로그램 작성

APT SOURCE 프로그램은 일반적으로 APT 언어를 사용하여 손으로 작성한다.

일부 대화형 그래픽 CAD/CAM 시스템에서는 자체 프로세서에서 APT SOURCE 프로그램 형태의 데이터를 만들어 주기도 한다.

 

② APT PROCESSOR

APT 프로세서는 APT SOURCE 프로그램을 읽고 번역 및 계산 과정을 거쳐 CLDATA(Cutter Location Data)를 만들어 준다.

CLDATA는 점좌표값, 벡터(Vector)값, 이송률로 구성된 공구 위치 정보와 포스트 명령으로 구성되어 있다.

예) GOTO/x1,y1,z1,i1,j1,k1,f1

     GOTO/x2,y2,z2,i2,j2,k2,f2

 

③ POST-PROCESSOR

포스트 프로세서는 CLADTA을 읽고 계산 과정을 거쳐 각 NC 장비 입력 정보인 MCD(Machine Control Data)를 만들어 준다.

장비 형태나 NC 장치 종류 등에 따라 MCD 패턴은 약간씩 차이가 있으므로 각 장비별로 별도의 포스트 프로세서를 필요로 한다.

특히, 5축 NC 장비의 경우는 장비 형태에 따라 선형화, 이송률 계산 방법 등이 차이가 많다.

일부 대화형 그래픽 CAD/CAM 시스템에서는 자체 프로세서에서 포스트 프로세서에 바로 입력 정보로 사용할 수 있는 형태의 CLDATA 형태의 데이터를 만들어 주기도 한다.

 

 

4) 대화형 그래픽 CAD/CAM 시스템

 CATIA(Computer Aided Three Dimensional Interactive Application) 등 대화형 그래픽 CAD/CAM 시스템에서는 도형 정의, 또는 공구 이동 명령을 그래픽 화면에서 대화형으로 바로 입력할 수 있다.

도형 정의시 설계 담당자에게서 넘겨 받은 CAD Data를 바로 수정해 사용할 수 있어 시간을 줄일 수 있으며, 화면에서 직접 눈으로 보면서 파트 프로그램 작성을 하게 되므로 실수를 줄일 수 있는 장점이 있다.

기본적인 파트 프로그램 작성 패턴은 APT 사용시와 거의 유사하다.

 

 (파트 프로그램 사전 검증)

파트 프로그램 작성 실수로 인한 충돌이나 불량 방지를 위해서는 사전에 컴퓨터 시뮬레이션을 통해 검증(Verification)을 해보는 것이 유리하다.

 

이를 위한 소프트웨어도 많이 나와 있으므로 각자의 공장 현실에 맞는 시스템을 선택하여 사용하도록 하는 것이 좋다.

보통은 큰 사고가 발생한 후에 투자 검토를 시작하는 경우가 많지만, 시제 가공 횟수를 줄이고 충돌 사고를 사전에 예방할 수 있는 효과도 크므로 복잡한 대형 공작물 가공이 많을 경우 사전에 검토할 필요가 있다.

다음검색
현재 게시글 추가 기능 열기

댓글

댓글 리스트
맨위로

카페 검색

카페 검색어 입력폼