G코드

G-code
기계 코드
패러다임절차, 필수
설계자매사추세츠 공과대학
처음 등장한1950년대 (초판)
파일 이름 확장자.gcode, .mpt, .mpf, .nc 등
주요 구현
주로 Siemens Shinumerik, FANUC, Haas, Heidenhain, Mazak.일반적으로 하나의 국제 표준이 있습니다.ISO 6983.

G코드(RS-274)는 가장 널리 사용되는 컴퓨터 수치 제어(CNC) 프로그래밍 언어입니다.주로 자동 공작기계를 제어하기 위해 컴퓨터 보조 제조에 사용되며, 다양한 종류가 있습니다.

G코드 명령은 모터의 이동 위치, 이동 속도 및 이동 경로를 알려주는 기계 컨트롤러(산업용 컴퓨터)에 제공됩니다.가장 일반적인 상황임에, 선반 또는 공장 같은 기계 공구 내에는 절삭 도구 이 지시를 따라 toolpath 및/또는 미완성 피스 정확하게 어떤은 최대 9axes[1]의 세 치수를 비교해 배치됩니다만 완성된 가공품을 떠날 자재를 깎는 것을을 통해 이동되고 있다.올둘 중 하나 또는 둘 다 서로 상대적으로 이동할 수 있습니다.또한 성형 또는 버니싱 도구, 포토 플래팅, 3D 프린팅, 측정기 등의 적층 방법 등 비절단 도구에도 동일한 개념이 적용됩니다.

실장

수치 제어 프로그래밍 언어의 첫 번째 구현은 1950년대 후반 MIT Servmechanism Laboratory에서 개발되었습니다.그 후 수십 년 동안 많은 (상업 및 비상업) 조직이 구현을 개발했습니다.이러한 실장에서는, G코드가 자주 사용되고 있습니다.미국에서 사용되는 주요 표준화 버전은 1960년대 [citation needed]초에 Electronic Industries Alliance에 의해 정착되었습니다.최종 개정판은 1980년 2월에 RS-274-D[2]승인되었다.다른 국가에서는 ISO 6983 표준이 자주 사용되지만 많은 유럽 국가들은 다른 표준을 사용합니다.예를 들어 DIN 66025독일에서 사용되고 PN-73M-55256과 PN-93/M-55251은 폴란드에서 이전에 사용되었다.

확장 및 변형은 제어 제조업체와 공작기계 제조업체에 의해 독립적으로 추가되었으며, 특정 컨트롤러의 운영자는 각 제조업체 제품의 차이를 알고 있어야 합니다.

G코드의 표준화된 버전인 BCL(Binary Cutter Language)은 극소수 기계에서만 사용됩니다.MIT에서 개발된 BCL은 직선과 호 측면에서 [3]CNC 기계를 제어하기 위해 개발되었습니다.

1970년대부터 1990년대까지 많은 CNC 공작기계 빌더는 Fanuc사가 구축한 공작기계 컨트롤러로 표준화함으로써 호환성 문제를 극복하려고 시도했습니다.Siemens는 특히 유럽에서 CNC 제어의 또 다른 시장 지배자였다.2010년대에는 컨트롤러의 차이와 호환성이 그다지 문제가 되지 않습니다.이는 기계 가공 작업이 보통 CAD/CAM 애플리케이션을 사용하여 개발되기 때문입니다.이 애플리케이션은 포스트 프로세서라고 불리는 소프트웨어 툴을 통해 특정 기계에 적합한 G-코드를 출력할 수 있기 때문입니다(때로는 "포스트"로 단축되기도 합니다).

일부 CNC 머신에서는 G 코드를 숨기거나 G 코드를 완전히 바이패스하는 마법사 같은 프로그래밍 모드인 "컨버세이션" 프로그래밍을 사용합니다.오쿠마의 어드밴스드 원터치(AOT), 사우스웨스턴 인더스트리의 ProtoTRAK, 마작의 Mazatrol, Hurco의 Ultimax와 Winmax, Haas의 직관적 프로그래밍 시스템(IPS), Mori Seiki의 CAPS 컨버세이션 소프트웨어 등이 그 예입니다.

G-code는 루프, 조건부 연산자, 이름(또는 그것들을 사용하는 표현)을 포함한 자연어(natural-word)를 가진 프로그래머 선언 변수와 같은 구조가 결여된 제한된 언어로 시작되었습니다.그것은 논리를 부호화할 수 없었지만 프로그래머가 많은 점의 위치를 손으로 알아내는 "점들을 연결하는" 방법일 뿐이었다.G-code의 최신 구현에는 고급 프로그래밍 언어에 가까운 매크로 언어 기능이 포함되어 있습니다.또한 모든 주요 제조업체(예: Fanuc, Siemens, Heidenhain)는 NC 프로그램에서 사용하는 변수를 통해 축 위치 결정 데이터 및 도구 [4]데이터와 같은 PLC(Programmable Logic Controller) 데이터에 대한 액세스를 제공합니다.이러한 구조를 통해 자동화 애플리케이션을 쉽게 개발할 수 있습니다.

특정 코드

준비 코드라고도 불리는 G-code는 CNC 프로그램에서 G로 시작하는 단어입니다.일반적으로 다음과 같은 조작 유형을 공작기계에 지시하는 코드입니다.

  • 빠른 이동(절단 사이에 공구를 최대한 빨리 이송)
  • 직선 또는 아크로 제어된 피드
  • 구멍이 뚫리거나 공작물이 특정 치수로 절단(루팅)되거나 공작물 모서리에 프로필(콘투어) 모양이 추가되는 일련의 제어된 피드 이동
  • 오프셋 등의 공구 정보 설정
  • 스위치 좌표계

다른 코드도 있습니다.타입 코드는 컴퓨터의 레지스터와 같은 것으로 생각할 수 있습니다.

"G"는 완전한 언어로 된 많은 문자 주소 중 하나일 뿐이기 때문에 "G-code"라는 용어가 부정확하다는 것은 수년간 지적되어 왔다.이는 문자 그대로의 의미, 즉 하나의 문자 주소와 그 주소로 형성될 수 있는 특정 코드(예를 들어 G00, G01, G28)를 참조하는 용어에서 유래하지만 영어 알파벳의 모든 문자는 언어 어딘가에서 사용됩니다.그럼에도 불구하고, "G-code"는 그 언어의 일반적인 이름으로 메타니메이션으로 확립되어 있다.

레터 어드레스

일부 문자 주소는 밀링 또는 회전에만 사용됩니다. 대부분은 두 가지 모두에 사용됩니다.아래 굵은 글씨는 프로그램 전체에서 가장 자주 볼 수 있는 글자입니다.

출처: Smid 2008,[5] Smid 2010,[6] Green 등 1996.[7]

변수 묘사 결과 정보
A A축의 절대 또는 증분 위치(X축을 중심으로 한 회전 축) 양의 회전은 X 양의 방향에서 X 음의 방향으로 시계 반대 방향으로 회전하는 것으로 정의됩니다.
B B축의 절대 또는 증분 위치(Y축을 중심으로 한 회전 축)
C C축의 절대 또는 증분 위치(Z축을 중심으로 한 회전 축)
D 절단기 보정에 사용되는 지름 또는 반경 오프셋을 정의합니다.D는 선반 절단 깊이에 사용됩니다.조리개 선택 및 포토 플래터의 명령에 사용됩니다. G41: 좌측 커터 보상, G42: 우측 커터 보상
E 선반 나사산을 위한 정밀 이송 속도
F 피드 레이트를 정의합니다. 일반적인 단위는 밀의 시간당 거리(분당 인치, IPM 또는 밀리미터/분, mm/분)와 선반의 회전당 거리(회전당 인치, IPR 또는 밀리미터/회전수, mm/rev)입니다.
G 준비 명령어 주소 G 명령은 종종 컨트롤에 원하는 모션의 종류(예: 빠른 위치 설정, 선형 피드, 원형 피드, 고정 사이클) 또는 사용할 오프셋 값을 알려줍니다.
H 공구 길이 오프셋을 정의합니다.
C축에 대응하는 증분축(예: 턴밀)
G43: 음의 공구 길이 보상, G44: 양의 공구 길이 보상
I G02 또는 G03 호 명령에 대한 X축의 호 중심을 정의합니다.
또한 일부 고정 주기 내에서 매개 변수로 사용됩니다.
원호 중심은 현재 위치에서 원호 중심까지의 상대 거리이지 작업 좌표계(WCS)로부터의 절대 거리가 아닙니다.
J G02 또는 G03 아크 명령에 대해 Y축의 아크 중심을 정의합니다.
또한 일부 고정 주기 내에서 매개 변수로 사용됩니다.
위의 필연적인 정보와 동일합니다.
K G02 또는 G03 호 명령에 대한 Z축의 호 중심을 정의합니다.
L 주소와 같은 고정 사이클 내의 파라미터로도 사용됩니다.
위의 필연적인 정보와 동일합니다.
L 고정 사이클 루프 카운트
G10을 사용하여 편집할 레지스터 지정
고정 사이클 루프 카운트:각 위치에서 고정 사이클의 반복 횟수("루프")를 정의합니다.다른 정수로 프로그래밍되지 않는 한 1로 가정합니다.L 대신 K 주소를 사용하는 경우가 있습니다.증분 위치 결정(G91)을 사용하면 등간격의 일련의 홀을 개별 위치가 아닌 루프로 프로그래밍할 수 있다.
G10 용도: 편집할 레지스터 지정(워크 오프셋, 공구 반지름 오프셋, 공구 길이 오프셋 등)
M 기타 기능 액션 코드, 보조 명령어.설명은 다양합니다.많은 M코드가 기계 기능을 요구하기 때문에 M은 기계라는 뜻이지만 기계라는 뜻이라고 말하는 경우가 많습니다.
N 프로그램의 라인(블록) 번호;
G10을 사용하여 변경할 시스템 파라미터 번호
회선(블록) 번호: 임의이며 생략되는 경우가 많습니다.M99P 주소(기본값이 아닌 경우 프로그램의 어떤 블록으로 돌아갈지 컨트롤에 지시하기 위해) 또는 GoTo 문(컨트롤이 이러한 블록을 지원하는 경우)과 같은 특정 작업에 필요합니다.N 번호는 1씩 증가할 필요가 없으며(10, 20, 1000 등 증가 가능) 모든 블록 또는 프로그램 전체의 특정 지점에서만 사용할 수 있습니다.
시스템 파라미터 번호:G10은 프로그램 [8]제어 하에 시스템 파라미터를 변경할 수 있습니다.
O 프로그램명 예를 들어 O4501 입니다.수년간 CNC 제어 디스플레이에서는 숫자 "0"에서 문자 "O"를 쉽게 구별하기 위해 잘린 제로 글리프를 사용하는 것이 일반적이었다.오늘날의 GUI 컨트롤에는 PC와 마찬가지로 글꼴을 선택할 수 있는 경우가 많습니다.
P 다양한 G 및 M 코드의 파라미터 주소 역할을 합니다.
  • G04를 사용하여 드웰 시간 값을 정의합니다.
  • 일부 캔 사이클에서는 드웰 시간 또는 기타 변수를 나타내는 파라미터로도 사용됩니다.
  • 서브 프로그램의 호출 및 종료에도 사용됩니다.(M98에서는 호출할 서브 프로그램을 지정하고 M99에서는 반환할 메인 프로그램의 블록 번호를 지정합니다.)
Q 캔 사이클에서의 펙 증가 를 들어 G73, G83(피크 드릴링 사이클)
R 호 반지름 크기를 정의하거나 밀링 캔 사이클에서 수축 높이를 정의합니다. 반지름의 경우 모든 컨트롤이 G02G03의 R 주소를 지원하는 것은 아닙니다.이 경우 IJK 벡터가 사용됩니다.수축 높이의 경우, G99가 프로그래밍된 경우 "R 레벨"이 반환됩니다.
S 모드에 따라 스핀들 속도 또는 표면 속도 중 하나로 속도를 정의합니다. 데이터 형식 = 정수입니다.G97 모드(통상 디폴트)에서는 S 뒤에 있는 정수는 rev/min(rpm)의 수로 해석됩니다.G96 모드(정수 표면 속도 또는 CSS)에서 S 뒤의 정수는 표면 속도(sfm(G20) 또는 m/min(G21)으로 해석됩니다.속도 및 피드를 참조하십시오.다기능(Turn-mill 또는 mill-turn) 기계에서는 어떤 스핀들이 입력(주축 또는 서브스핀들)을 받는지 다른 M코드에 의해 결정됩니다.
T 도구 선택 T Address의 작동 방식과 M06과의 상호 작용(또는 상호 작용)을 이해하기 위해서는 선반 Turret Programming, ATC(Automatic Tool Change, M06) 고정 공구 선택, ATC Random Memory Tool 선택, "next tool waiting" 개념, 빈 [5]공구 등 다양한 방법을 공부해야 합니다.특정 공작기계에서 프로그래밍하려면 해당 기계가 [5]어떤 방법을 사용하는지 알아야 합니다.
U X축에 해당하는 증분 축(일반적으로 그룹 A 컨트롤만 선반)
또한 일부 기계에서("P" 또는 "X" 대신) 드웰 시간을 정의합니다.
이들 제어에서 X는 G90, U는 G91을 각각 배제한다.이러한 선반에서 G90은 러핑의 고정 사이클 주소입니다.
V Y축에 대응하는 증분축 2000년대까지 V 주소는 U와 W를 사용하는 대부분의 선반에는 Y축이 없기 때문에 거의 사용되지 않았습니다(Green et al. 1996은[7] 주소 테이블에 V를 기재하지 않았습니다).라이브 선반 툴링과 턴밀 가공의 확산으로 인해 V 주소의 사용이 예전보다 덜 드물어졌지만, 이는 여전히 자주 있는 일입니다(Smid[5] 2008을 예로 들 수 있습니다).G18」도 참조해 주세요.
W Z축에 해당하는 증분 축(일반적으로 그룹 A 컨트롤만 선반) 이들 제어에서 Z는 G90, W는 G91을 각각 배제한다.이러한 선반에서 G90은 러핑의 고정 사이클 주소입니다.
X X축의 절대 또는 증분 위치.
또한 일부 기계에서("P" 또는 "U" 대신) 드웰 시간을 정의합니다.
Y Y축의 절대 또는 증분 위치
Z Z축의 절대 또는 증분 위치 주축의 회전축에 따라 공작기계의 어느 축이 Z로 표기되는지가 결정되는 경우가 많습니다.

FANUC에서 흔히 볼 수 있는 G-코드 목록 및 밀링 및 선회 시 유사하게 설계된 제어 장치

출처: Smid 2008,[5] Smid 2010,[6] Green 등 1996.[7]

참고: Modal은 코드가 다른 허용된 코드로 대체되거나 취소될 때까지 유효한 상태를 의미합니다.비모달은 1회만 실행됨을 의미합니다.예를 들어, 아래의 코드 G09, G61 및 G64를 참조해 주세요.
코드 묘사 밀링
( M )
도는
( T )
결과 정보
G00 신속한 포지셔닝 M T 2축 또는 3축 이동 시 (G01과 달리) G00은 일반적으로 시작점과 끝점 사이에서 단일 직선으로 이동하지 않습니다.벡터량이 달성될 때까지 각 축을 최대 속도로 이동합니다.일반적으로 벡터가 짧을수록 먼저 끝납니다(비슷한 축 속도가 주어짐).이것은 프로그래머가 충돌을 피하기 위해 고려해야 하는 개다리 또는 하키 스틱 모션을 발생시킬 수 있기 때문에 중요합니다.일부 기계에서는 프로그래밍을 쉽게 하기 위한 기능으로 보간 급류를 제공합니다(직선으로 가정해도 안전합니다).
G01 선형 보간법 M T 절개 시 먹이를 주는 가장 일반적인 작업마 코드입니다.프로그램은 시작점과 끝점을 지정하고 컨트롤은 자동으로 중간 지점을 계산(간극화)하여 직선을 생성합니다(따라서 "선형").그런 다음 컨트롤은 서보 모터 또는 스테퍼 모터를 통해 축 리드 나사를 회전시키는 각 속도를 계산합니다.컴퓨터는 초당 수천 번의 계산을 수행하고 각 입력에 빠르게 반응합니다.따라서 가공의 실제 공구 경로는 주어진 이송 속도로 매우 작은 한계 내에서 정확하게 선형으로 이루어집니다.
G02 원형 보간, 시계방향 M T G01과 매우 유사한 개념입니다.다시, 컨트롤은 중간 지점을 보간하고 서보 또는 스테퍼 모터에 리드 스크루가 움직임을 올바른 툴팁 위치로 변환하는 데 필요한 양을 회전하도록 명령합니다.이 프로세스를 분당 수천 번 반복하면 원하는 도구 경로가 생성됩니다.G02의 경우 보간은 선이 아닌 원을 생성한다.G01과 마찬가지로 가공의 실제 공구경로는 소정의 이송속도로 이상(G02의 경우 원)에 정확히 일치하는 경로에서 매우 작은 한계 내에서 이루어진다.실제로 보간은 매우 정밀하기 때문에(모든 조건이 올바를 때) 보간된 원을 밀링하는 것은 드릴링과 같은 작업을 생략할 수 있으며 지루함을 느낄 수도 있습니다.반지름 또는 아크 중심 주소: G02 및 G03은 R 주소(부분에서 원하는 반지름) 또는 IJK 주소(아크 시작점에서 아크 중심점까지의 벡터를 정의하는 성분 벡터) 중 하나를 사용합니다.커터 콤프:대부분의 컨트롤에서 G02 또는 G03 모드에서는 G41 또는 G42를 시작할 수 없습니다.이전 G01 블록에서 이미 보정되어 있어야 합니다.종종 짧은 선형 리드인 이동이 프로그래밍되는데, 이는 단지 주요 동작 전에 커터 보상을 허용하기 위해 원 절단이 시작됩니다.전체 원:호 시작점과 호 끝점이 동일하면 도구가 360° 호(전체 원)를 절단합니다.(일부 오래된 컨트롤은 데카르트 시스템의 사분원 사이를 호가 교차할 수 없기 때문에 이를 지원하지 않습니다.대신 4개의 4개의 4개의 4개의 원호를 연속해서 프로그래밍해야 합니다.
G03 원형 보간, 반시계방향 M T G02와 같은 결과 정보입니다.
G04 거주하다 M T 드웰 기간의 주소를 가져옵니다(X, U 또는 P일 수 있습니다).드웰 주기는 제어 파라미터로 지정되며, 일반적으로 밀리초로 설정됩니다.X1.0(s) 또는 P1000(ms) 중 하나를 사용할 수 있는 머신도 있습니다.드웰 기간 선택: 드웰이 한 번 또는 두 번의 전체 스핀들 회전만 지속하면 되는 경우가 많습니다.이것은 보통 1초보다 훨씬 짧습니다.지속 시간 값을 선택할 때는 긴 드웰이 사이클 시간 낭비라는 점에 유의하십시오.상황에 따라서는 문제가 되지 않을 수도 있지만, 대량 반복 가동(수천 사이클 이상)의 경우 100밀리초만 있으면 안전하다고 할 수 있지만, 1000은 낭비일 뿐입니다(너무 길다).
G05 P10000 고정밀 등고선 제어(HPCC) M 심층 예측 버퍼 및 시뮬레이션 처리를 사용하여 윤곽 밀링 중 축 이동 가속 및 감속을 개선합니다.
G05.1 Q1. AI 고급 미리 보기 컨트롤 M 심층 예측 버퍼 및 시뮬레이션 처리를 사용하여 윤곽 밀링 중 축 이동 가속 및 감속을 개선합니다.
G06.1 NURBS(Non-Uniform real B-spline) 가공 M 복잡한 곡선 및 파형 가공을 위해 Non-Uniform Rational B Spline을 활성화합니다(이 코드는 Mazatrol 640M ISO 프로그래밍에서 확인됨).
G07 가상축 지정 M
G09 정확한 정지 체크, 비모듈 M T 모달 버전은 G61입니다.
G10 프로그램 가능한 데이터 입력 M T 작업 좌표 및 도구[9][8] 간격띄우기 값을 수정합니다
G11 데이터 쓰기 취소 M T
G17 XY 평면 선택 M
G18 ZX 평면 선택 M T
G19 YZ 평면 선택 M
G20 인치 단위 프로그래밍 M T 미국 및 캐나다와 영국을 제외하고는 다소 희귀하다.그러나 글로벌 시장에서는 G20과 G21과의 경쟁력은 언제든지 필요할 가능성이 있습니다.G20의 일반적인 최소 증가량은 1인치(0.0001")의 10,000분의 1로, 이는 G21의 일반적인 최소 증가량(밀리미터의 1,000분의 1인 0.001mm, 즉 1마이크로미터)보다 더 큰 거리이다.이러한 물리적 차이는 때때로 G21 프로그래밍을 선호합니다.
G21 밀리미터(mm) 단위의 프로그래밍 M T 전 세계에 널리 퍼지고 있다.그러나 글로벌 시장에서는 G20과 G21과의 경쟁력은 언제든지 필요할 가능성이 있습니다.
G28 원점 복귀(기계 0, 기계 참조점이라고도 함) M T 기계 0으로 돌아갈 때 도구 팁이 통과할 중간 지점을 정의하는 X Y Z 주소를 사용합니다.기계 0이 아니라 파트 0(프로그램 0)에 관한 것입니다.
G30 보조 원점(기계 0, 기계 참조점이라고도 함)으로 돌아갑니다. M T 기계에 여러 보조 포인트(P1 ~ P4)가 있는 경우 사용할 기계 영점을 지정하는 P 주소를 사용합니다.툴팁이 머신0으로 돌아갈 때 통과하는 중간점을 정의하는 XYZ 주소를 가져옵니다.이들은 기계 0이 아닌 파트 0(프로그램 0)으로 표현됩니다.
G31 건너뛰기 기능까지 공급 M 프로브 및 공구 길이 측정 시스템에 사용됩니다.
G32 싱글 포인트 스레드, 롱 핸드 스타일(사이클을 사용하지 않는 경우, G76 ) T 싱글 포인트 스레드화를 위한 자동 스핀들 동기화를 제외하고 G01 선형 보간과 유사합니다.
G33 연속 피치 스레드 M
G33 싱글 포인트 스레드, 롱 핸드 스타일(사이클을 사용하지 않는 경우, G76 ) T 일부 선반 컨트롤은 이 모드를 G32가 아닌 G33에 할당합니다.
G34 가변 피치 스레드화 M
G40 공구 반지름 보정 꺼짐 M T CRC(커터 반지름 보정)를 끕니다.G41 또는 G42를 취소합니다.
G41 공구 반지름 보정 왼쪽 M T 상승 밀링의 경우 커터 반경 보정(CRC)을 켭니다(왼쪽).
밀링 : 직각나선커터, M03 스핀들방향으로 G41은 상승밀링(다운밀링)에 해당합니다.radius 오프셋레지스터 값을 호출하는 주소(D 또는H)를 취득합니다.
선회: 어떤 툴이 활성화되어 있든 자동으로 지오메트리 오프셋을 호출하기 때문에 종종 선반에 D 또는 H 주소가 필요하지 않습니다. (각 터렛 스테이션은 지오메트리 오프셋 레지스터에 바인딩됩니다.)

CAM 프로그래밍이 보편화된 이후 밀링용 G41 및 G42는 부분적으로 자동화 및 배제되었습니다(완전하지는 않지만).CAM 시스템은 사용자가 제로 직경의 커터를 사용하는 것처럼 프로그래밍할 수 있도록 합니다.커터 반지름 보정의 기본 개념은 여전히 유효하지만(즉, 생성된 표면이 커터 중심에서 R 거리 떨어져 있음) 프로그래밍 방식은 다릅니다.인간은 G41, G42 및 G40에 대해 의식적이고 세심한 주의를 기울여 툴 패스를 계획하지 않습니다.이는 CAM 소프트웨어가 툴 패스를 처리하기 때문입니다.이 소프트웨어에는 컴퓨터, 제어, 마모, 역마모, 꺼짐 등 다양한 CRC 모드가 있으며, 그 중 일부는 G41/G42를 전혀 사용하지 않으며(대략 또는 와이드 피니시 허용오차), 다른 일부는 마모 오프셋을 기계에서 여전히 조정할 수 있도록(엄격한 피니시 허용오차를 위해) 사용합니다.

G42 공구 반지름 보정권 M T 기존 밀링의 경우 오른쪽의 커터 반지름 보정(CRC)켭니다.G41과 유사한 정보이며, 직각나선 커터 및 M03 스핀들 방향을 고려할 때 G42는 기존 밀링(업 밀링)에 해당합니다.
G43 공구 높이 오프셋 보정 음수 M 주소(일반적으로 H)를 사용하여 공구 길이 오프셋 레지스터 값을 호출합니다.값은 게이지 라인 위치에 추가되므로 음수입니다.G43은 일반적으로 사용되는 버전입니다(vs G44).
G44 공구 높이 오프셋 보정 양의 값 M 주소(일반적으로 H)를 사용하여 공구 길이 오프셋 레지스터 값을 호출합니다.값은 게이지 라인 위치에서 빼기 때문에 양수입니다.G44는 거의 사용되지 않는 버전입니다(vs G43).
G45 축 오프셋 단일 증가 M
G46 축 오프셋 단일 감소 M
G47 축 오프셋 이중 증가 M
G48 축 오프셋 이중 감소 M
G49 공구 길이 오프셋 보정 취소 M G43 또는 G44를 취소합니다.
G50 최대 스핀들 속도 정의 T S 주소의 정수를 취득합니다.이것은 rpm으로 해석됩니다.이 기능이 없으면 G96 모드(CSS)는 회전축에 근접할 때 스핀들을 "Wide open throttle"로 회전시킵니다.
G50 스케일링 함수 취소 M
G50 위치 레지스터(부품 0에서 툴팁으로 벡터 프로그래밍) T 위치 레지스터는 부품(프로그램) 좌표계를 도구 위치와 관련짓는 독창적인 방법 중 하나로, 기계 좌표계와 간접적으로 관련짓습니다. 기계 좌표계는 컨트롤이 실제로 "알고 있는" 유일한 위치입니다.G54 ~ G59(WCS)가 보다 새로운 보다 나은 방식이기 때문에 일반적으로 프로그래밍되지는 않습니다.선회에는 G50, 밀링에는 G92를 통해 호출됩니다.이러한 G주소에는 대체의미도 있습니다( 참조).위치 레지스터는 여전히 기준 이동 프로그래밍에 유용할 수 있습니다.WCS 컨텍스트에서 유용한 응용 프로그램이 거의 없는 "수동 절대" 스위치는 위치 레지스터 컨텍스트에서 더 유용했는데, 이는 조작자가 도구를 부품에서 특정 거리(예: 2.0000" 게이지를 터치하여)로 이동한 다음 제어 장치에 이동 거리(2.0000)를 선언할 수 있기 때문이다.
G52 로컬 좌표계(LCS) M 프로그램 0을 일시적으로 새 위치로 이동합니다.이는 단순히 "오프셋으로부터의 오프셋" 즉, WCS 오프셋에 추가된 추가 오프셋입니다.이것에 의해, 경우에 따라서는 프로그래밍이 간소화됩니다.일반적인 예는 멀티파트 설정에서 부품 간에 이동하는 것입니다.G54가 활성화되면G52 X140.0 Y170.0프로그램 0을 X에서 140mm, Y에서 170mm로 이동합니다.'저기' 파트가 끝나면G52 X0 Y0프로그램 0을 일반 G54로 되돌립니다(G52 오프셋을 0으로 줄임).같은 결과를 얻을 수도 있습니다 (1) 복수의 WCS 발신기지, G54/G55/G56/G57/G58/G59, (2) 새로운 컨트롤, G54.1 P1/P2/P3/등(P48까지) 또는 (3) 프로그램 가능한 데이터 입력에 쓸 수 있는 G10을 사용합니다.사용 방법은 상점별 응용 프로그램에 따라 다릅니다.
G53 기계 좌표계 M T 프로그램 0이 아닌 기계 0을 기준으로 절대 좌표(X,Y,Z,A,B,C)를 취합니다.공구 변경에 도움이 될 수 있습니다.비모달적이며 절대적입니다.후속 블록은 명시적으로 프로그래밍되지 않은 경우에도 이전에 선택된 작업 좌표계 G54에서 G59까지 해석됩니다.
G54 ~ G59 작업 좌표계(WCS) M T 위치 레지스터(G50G92)를 대부분 교체했다.축 오프셋의 각 튜플은 프로그램 0을 기계 0에 직접 관련짓습니다.표준 6개의 튜플(G54~G59)이 있으며 G54.1 P1~P48을 통해 48개까지 확장성이 옵션으로 제공됩니다.
G54.1 P1 ~P48 확장된 작업 좌표계 M T G54에서 G59까지 표준으로 제공되는 6대 외에 최대 48대의 WCS가 추가된다.G 코드 데이터 타입(이전에는 모든 정수)의 부동 소수점 확장에 주의해 주세요.다른 예도 발전했다(예: G84.2).최신 제어 장치에는 이를 처리할 수 있는 하드웨어가 있습니다.
G61 정확한 정지 체크, 모드 M T G64에서는 취소할 수 있습니다.비모달 버전은 G09입니다.
G62 자동 코너 오버라이드 M T
G64 기본 절단 모드(정확한 중지 확인 모드 취소) M T G61을 취소합니다.
G68 좌표계 회전 M G17, G18 또는 G19로 지정된 현재 평면에서 좌표계를 회전시킵니다.회전의 중심에는 2개의 파라미터가 있으며 각 벤더의 구현에 따라 다릅니다.인수 R과 함께 주어진 각도로 회전합니다.예를 들어 좌표계를 잘못 정렬된 부품에 정렬하는 데 사용할 수 있습니다.또한 중심을 중심으로 이동 시퀀스를 반복하는 데도 사용할 수 있습니다.모든 벤더가 좌표계 회전을 지원하는 것은 아닙니다.
G69 좌표계 회전 끄기 M G68을 취소합니다.
G70 마감(윤곽선 포함)을 위한 고정 주기, 다중 반복 주기 T
G71 러핑용 고정 사이클, 다중 반복 사이클(Z축 강조) T
G72 러핑용 고정 사이클, 다중 반복 사이클(X축 강조) T
G73 패턴 반복이 있는 러핑용 고정 사이클, 여러 반복 사이클 T
G73 밀링용 펙 드릴링 사이클 – 고속(픽에서 완전히 후퇴하지 않음) M 간극이 증가할 때만 접습니다(시스템 파라미터).칩 파손이 주요 관심사이지만 칩 플룻 막힘은 그렇지 않습니다.G83을 비교합니다.
G74 선회를 위한 펙 드릴링 사이클 T
G74 Milling, Lefthand Thread, M04 Spindle 방향의 Tapping Cycle M G84의 메모를 참조하십시오.
G75 턴을 위한 펙 그루빙 사이클 T
G76 밀링용 미세 보링 사이클 M OSS 및 시프트 포함(수축용 스핀들 정지 및 시프트 툴 중심선 외 방향)
G76 회전, 다중 반복 사이클을 위한 스레드화 사이클 T
G80 사이클 취소 M T Milling : G73, G81, G83 등 모든 사이클을 취소하며, Z축은 프로그램대로 Z-초기 레벨 또는 R 레벨로 돌아갑니다(각각 G98, G99).
회전:새로운 group-1 G 주소(G00 ~G03)에 의해 액티브한 사이클이 취소되기 때문에 보통 선반에서는 필요하지 않습니다.
G81 간단한 드릴링 사이클 M 빌트인 없음
G82 드웰이 있는 드릴링 사이클 M P 주소로 지정된 밀리초 동안 홀 하단(Z 깊이)에 머무릅니다.홀 바닥 마감의 중요성에 적합합니다.디봇이 균등하게 청소되기 때문에 스폿 천공에 적합합니다.G04의 "드웰 기간 선택" 참고 사항을 고려합니다.
G83 펙 드릴링 사이클(피크에서 완전히 후퇴) M 각 펙이 끝나면 R레벨로 돌아갑니다칩의 플룻을 제거하기에 좋습니다.G73을 비교합니다.
G84 사이클, 오른쪽 나사산, M03 스핀들 방향 M G74 및 G84는 비강성 공구 홀더('태핑 헤드' 스타일)를 사용한 구식 탭핑용 제8 및 제1의 페어입니다.견고한 탭 "페어", G84.2G84.3을 비교합니다.
G84.2 Tapping Cycle, Righthand Thread, M03 스핀들 방향, 강성 공구 홀더 M G84의 메모를 참조하십시오.견고한 태핑은 속도를 동기화하고 원하는 나사산 나선에 따라 이송합니다.즉, 축방향 이동의 미크론과 스핀들 회전도를 동기화합니다.따라서 견고한 공구 홀더를 사용하여 탭을 고정할 수 있습니다.이 기능은 오래된 머신이나 새로운 로우엔드 머신에서는 사용할 수 없습니다.이러한 머신에서는, 「태핑 헤드」모션(G74/G84)을 사용할 필요가 있습니다.
G84.3 Tapping Cycle, Lefand Thread, M04 스핀들 방향, 강성 공구 홀더 M G84G84.2의 노트를 참조하십시오.
G85 보링 사이클, 피드인/피드아웃 M
  • 리머에겐 좋은 사이클이야
  • 단점 보링 공구에 적합한 경우도 있지만, 퇴출 시 절단 깊이의 부족이 표면 마감에 좋지 않은 경우도 있으며, 이 경우 대신 G76(OSS/shift)을 사용할 수 있습니다.
  • 홀 하단의 드웰이 필요한 경우 G89를 참조하십시오.
G86 보링 사이클, 피드 인/드롭 스톱/오프아웃 M 보링 툴은 돌아오는 길에 약간의 점수 표시를 남깁니다.일부 애플리케이션에서는 적절한 사이클을 사용하고, 다른 애플리케이션에서는 G76(OSS/shift)을 대신 사용할 수 있습니다.
G87 보링 사이클, 백보링 M 백보링.초기 레벨만 (G98)로 되돌아가며, 이 사이클은 R 레벨이 Spindle Headstock에서 멀리 떨어진 부품에 있기 때문에 G99를 사용할 수 없습니다.
G88 보링 사이클, 피드인/보링 스톱/수동 작동 M
G89 보링 사이클, 피드인/피드아웃/피드아웃 M G89는 G85와 비슷하지만 홀 하단에 드웰이 추가되어 있습니다.
G90 절대 프로그래밍 M T(B) 파트 0을 참조하여 정의된 위치 설정.
밀링:항상 위와 같다.
선회: 위와 같은 경우가 있지만(Fanuc 그룹 타입 B 및 유사한 설계), 대부분의 선반(Fanuc 그룹 타입 A 및 유사한 설계)에서는 G90/G91은 절대/증분 모드에 사용되지 않습니다.대신 U와 W가 증분 주소이고 X와 Z가 절대 주소입니다.이러한 선반에서 G90은 러핑의 고정 사이클 주소입니다.
G90 러핑용 고정 사이클, 단순 사이클(Z축 강조) T(A) 절대 프로그래밍을 지원하지 않는 경우(위)
G90.1 절대호 프로그래밍 M 파트 0을 참조하여 정의된 I, J, K 위치 설정.
G91 증분 프로그래밍 M T(B) 이전 위치를 참조하여 정의된 위치.
밀링:항상 위와 같다.
선회: 위와 같은 경우가 있지만(Fanuc 그룹 타입 B 및 유사한 설계), 대부분의 선반(Fanuc 그룹 타입 A 및 유사한 설계)에서는 G90/G91은 절대/증분 모드에 사용되지 않습니다.대신 U와 W가 증분 주소이고 X와 Z가 절대 주소입니다.이러한 선반에서 G90은 러핑의 고정 사이클 주소입니다.
G91.1 증분 호 프로그래밍 M I, J, K 포지셔닝은 이전 위치를 참조하여 정의됩니다.
G92 위치 레지스터(부품 0에서 공구 팁까지의 벡터 프로그래밍) M T(B) G50 위치 레지스터와 동일한 결과 정보.
밀링:항상 위와 같다.
Turning : 위와 같은 경우가 있으나(Fanuc group Type B 및 유사한 설계), 대부분의 선반(Fanuc group Type A 및 유사한 설계)에서 위치 레지스터는 G50이다.
G92 스레드 사이클, 단순 사이클 T(A)
G94 분당 피드레이트 M T(B) 그룹 타입 A 선반에서는 분당 공급 속도는 G98입니다.
G94 러핑용 고정 사이클, 단순 사이클(X축 강조) T(A) 분당 피드 레이트를 제공하지 않는 경우(상기)
G95 회전당 공급 속도 M T(B) 그룹 타입 A 선반에서는 회전당 공급 속도는 G99입니다.
G96 정표면속도(CSS) T 스핀들 속도를 자동으로 변경하여 일정한 표면 속도를 달성합니다.속도와 피드를 참조하십시오.S 주소의 정수를 취득합니다.이 정수는 G20 모드에서는 sfm 또는 G21 모드에서는 m/min으로 해석됩니다.
G97 고정 스핀들 속도 M T S 주소 정수를 취합니다.이것은 rev/min(rpm)으로 해석됩니다.모드가 프로그래밍되지 않은 경우 시스템 파라미터별 기본 속도 모드입니다.
G98 통조림 사이클에서 초기 Z 레벨로 돌아가기 M
G98 분당 피드레이트(그룹 유형 A) T(A) 그룹 타입 B의 분당 피드 레이트는 G94입니다.
G99 통조림 사이클에서 R 레벨로 돌아가기 M
G99 회전당 공급 속도(그룹 유형 A) T(A) 회전당 피드레이트는 그룹 타입 B의 G95입니다.
G100 공구길이 측정 M

FANUC에서 흔히 볼 수 있는 M-코드 목록 및 밀링 및 선회 시 유사하게 설계된 제어 장치

출처: Smid 2008,[5] Smid 2010,[6] Green 등 1996.[7]

일부 오래된 컨트롤에서는 M 코드가 별도의 블록(즉, 같은 줄에 있지 않음)에 있어야 합니다.

코드 묘사 밀링
( M )
도는
( T )
결과 정보
M00 강제정지 M T [Non-optional] : 프로그램 실행 시 머신은 항상 M00에 도달하면 정지합니다.
M01 옵션정지 M T 작업자가 옵션인 정지 버튼을 눌러야 기계가 M01에서만 정지합니다.
M02 프로그램 종료 M T 프로그램 종료. 실행이 프로그램 상단으로 돌아갈 수도 있고 아닐 수도 있습니다(컨트롤에 따라 다름). 레지스터 값을 재설정할 수도 있고 재설정하지 않을 수도 있습니다.M02는 원래 프로그램 종료 코드이며 현재는 사용되지 않지만 하위 [10]호환성은 여전히 지원됩니다.많은 최신 컨트롤은 M02를 M30[10]동등하게 취급합니다.M02 또는 M30 실행 시 제어 상태에 대한 자세한 내용은 M30을 참조하십시오.
M03 스핀들 ON(시계방향 회전) M T Spindle의 속도는 주소 S에 따라 분당 회전수(G97 mode, default) 또는 분당 표면 피트(surface feet) 또는 분당 미터(G20, G21의 경우 G96 mode [CSS]) 중 하나로 결정됩니다.오른쪽 규칙을 사용하여 어느 방향이 시계 방향이고 어느 방향이 시계 반대 방향인지 결정할 수 있습니다.

체결방향으로 이동하는 우측나사(및 절단방향으로 회전하는 우측나사)는 M03방향으로 이동하는 것으로 정의되며 관례상 "시계방향"으로 라벨이 부착된다.M03 방향은 로컬밴티지 포인트와 로컬 CW/CCW의 구별에 관계없이 항상 M03입니다.

M04 스핀들 ON(시계 반대방향 회전) M T 위의 M03 코멘트를 참조해 주세요.
M05 스핀들 정지 M T
M06 자동 공구 교환(ATC) M T(가끔) T Address 자체가 Turret을 인덱스하기 때문에 M06을 사용하지 않는 선반도 많습니다.
특정 공작기계에서 프로그래밍하려면 해당 기계가 어떤 방법을 사용하는지 알아야 합니다.T Address의 작동 방식과 M06과의 상호 작용(또는 상호 작용)을 이해하기 위해서는 선반 Turret 프로그래밍, ATC 고정 공구 선택, ATC Random Memory Tool 선택, "next tool waiting" 개념, 빈 [5]공구 등 다양한 방법을 공부해야 합니다.
M07 냉각수 ON(미스트) M T
M08 냉각수 온(홍수) M T
M09 냉각수 꺼짐 M T
M 팔레트 클램프 ON M 팔레트 체인저가 있는 가공 센터용
양호한 팔레트 클램프 오프 M 팔레트 체인저가 있는 가공 센터용
M13 스핀들 ON(시계방향 회전) 및 냉각수 ON(플로드) M 이 1개의 M코드로 M03M08이 모두 동작합니다.특정 머신 모델에 이러한 명령어가 조합되어 있는 것은 드문 일이 아닙니다.이러한 명령어는 보다 짧고 빠르게 작성된 프로그램을 가능하게 합니다.
M19 스핀들 방향 M T Spindle Orientation은 Cycle 내(자동) 또는 Setup 시(수동)에 더 많이 불리지만, M19를 통한 프로그램 제어로 사용할 수도 있습니다.OSS(Oriented Spindle Stop)의 약어는 사이클 내의 Oriented Stop을 기준으로 볼 수 있습니다.

기술이 발전함에 따라 스핀들 방향의 관련성은 더욱 높아졌습니다.4축 및 5축 등고선 밀링 및 CNC 싱글 포인팅은 수십 년 동안 스핀들 위치 인코더를 사용해 왔지만, 광범위한 라이브 툴링 및 밀링/턴 밀 시스템이 등장하기 전에는 작업자가 SP의 각도 방향을 아는 것이 "정규적인" 가공(기계와는 반대되는 "특수"가 아님)과 그다지 관련이 없었습니다.특정 컨텍스트(공구 변경, G76 미세 보링 사이클 등)를 제외하고 현재와 같은 인들(indle)을 사용할 수 있습니다.선회된 공작물 주위에 인덱스된 기능의 밀링 작업은 대부분 인덱스 헤드 설정에 대한 개별 작업으로 수행되었습니다. 어떤 의미에서 인덱스 헤드는 원래 별도의 작업에 사용하기 위해 별도의 장비로 발명되었습니다. 인덱스 헤드는 거의 존재하지 않는 환경에서 정확한 스핀들 방향을 제공할 수 있습니다(그리고필요없었습니다.그러나 CAD/CAM과 복수의 회전 커터 축을 사용한 멀티액시스 CNC 가공이 표준이 되어, 「정규」(비특수)의 애플리케이션에서도, 머신이 360°의 스핀들에 대해 정밀하게 스텝 하는 것에 관심을 가지는 일이 빈번해지고 있습니다.

M21 거울, X축 M
M21 테일스톡 포워드 T
M22 거울, Y축 M
M22 테일 스톡 후방 T
M23 미러 오프 M
M23 나사산 점진적 인출 ON T
M24 나사산 점진적 인출 OFF T
M30 프로그램 종료, 프로그램 상단으로 돌아가기 M T 현재 M30은 표준 프로그램 종료 코드로 간주되어 실행이 프로그램의 선두로 돌아갑니다.또한 대부분의 컨트롤은 원래 프로그램 종료 코드인 M02를 M30과 동등하게 취급하여 여전히 지원합니다.추가 정보: M02와 M30을 비교합니다.먼저 M02는 펀치된 테이프가 연속 루프에 스플라이 될 정도로 짧을 것으로 예상되던 시기에 작성되었습니다(이 때문에 오래된 컨트롤에서는 M02가 테이프의 [10]되감기를 트리거하지 않았습니다).다른 프로그램 종료 코드인 M30은 더 긴 천공 테이프를 수용하기 위해 나중에 추가되었으며, 에 감겨서 다른 사이클을 [10]시작하기 전에 되감아야 했습니다.많은 새로운 컨트롤에서는 코드가 실행되는 방법에 차이가 없습니다.둘 다 M30처럼 동작합니다.
M41 기어 선택 – 기어 1 T
M42 기어 선택 – 기어 2 T
M43 기어 선택 – 기어 3 T
M44 기어 선택 – 기어 4 T
M48 피드레이트 덮어쓰기 허용 M T MFO(수동 이송 속도 오버라이드)
M49 공급 속도 재정의는 허용되지 않습니다. M T MFO(수동 이송 속도 오버라이드)를 방지합니다.이 규칙은 일반적으로 탭 주기 또는 싱글 포인트 스레드 주기 내에서 (자동으로)라고도 불리며, 여기서 피드는 속도와 정확하게 상관됩니다.SSO(스핀들 속도 오버라이드) 및 피드 홀드 버튼과 동일합니다.일부 컨트롤은 스레드화 중에 SSO 및 MFO를 제공할 수 있습니다.
M52 스핀들에서 마지막 공구 언로드 M T 스핀들 또한 비어 있습니다.
M60 자동 팔레트 변경(APC) M 팔레트 체인저가 있는 가공 센터용
M98 서브프로그램 콜 M T 주소 P 를 사용하고, 서브 프로그램 O8979 를 호출하는 서브 프로그램(예를 들면, 「M98 P8979」)을 지정합니다.
M99 서브프로그램 종료 M T 보통 서브프로그램의 끝에 배치되며, 메인 프로그램으로 실행 제어를 되돌립니다.디폴트로는 메인프로그램의 M98 콜 후에 컨트롤이 블록으로 돌아갑니다.다른 블록 번호로의 복귀는 P 주소로 지정할 수 있습니다.M99는 (작업자가 블록 스킵을 토글할 때까지) 선반에서 바 작업을 하는 메인 프로그램의 엔드리스 루프용 블록 스킵과 함께 메인 프로그램에서도 사용할 수 있습니다.
M100 노즐 청소 일부 3D 프린터에는 덤프 영역에 설치된 플렉시블 스크레이퍼에 대해 X 및 Y 방향으로 압출기 노즐을 닦는 사전 정의된 루틴이 있습니다.

프로그램 예시

G-Code를 사용하여 직경 1인치 x 길이 1인치 부품을 회전시키는 일반적인 프로그램입니다.기계 안에 소재 바가 있고 바의 길이와 직경이 약간 초과되고 바의 돌출이 척 표면에서 1인치 이상 발생한다고 가정합니다. (주의:이것은 일반적인 것으로, 실제의 머신에서는 동작하지 않을 가능성이 있습니다.특히 아래의 5번 포인트에 주의해 주십시오.

블록/코드 묘사
% 파일 전송 중 데이터 시작 신호를 보냅니다.원래 테이프의 되감기를 중지하기 위해 사용되며, 반드시 프로그램을 시작할 필요는 없습니다.일부 컨트롤(FANUC)의 경우 첫 번째 LF(EOB)가 프로그램의 시작입니다.ISO 사용%. EIA는 ER(0x0B)을 사용합니다.
O4968 (OPTIONAL PROGRAM DESCRIPTION OR COMMENT) 샘플 면 및 턴 프로그램.코멘트는 괄호로 둘러싸여 있습니다.
N01 M216 로드 모니터 켜기
N02 G20 G90 G54 D200 G40 인치 단위절대 모드작업 오프셋을 활성화합니다.공구 오프셋을 활성화합니다.공구 노즈 반지름 보상을 비활성화합니다.
중요성:이 블록은 종종 세이프 블록 또는 세이프 블록이라고 불립니다.명령어는 다를 수 있지만 일반적으로 여기에 표시된 명령어와 비슷합니다.안전 블록은 생략할 수 있는 매우 특정/구체적인 이유가 존재하지 않는 한 항상 프로그램의 상단 부근에 일반적인 디폴트로 제공되어야 한다.안전 블록은 건전성 점검 또는 비행 전 점검표와 같다. 그렇지 않으면 암묵적으로 가정에만 맡겨질 조건을 명시적으로 보장한다.안전 블록은 충돌의 위험을 줄여주고, 또한 바쁜 상황에서 프로그램을 쓰거나 읽는 사람들의 생각을 다시 집중시키는 데 도움이 될 수 있다.
N03 G50 S2000 Set maximum spindle speed in rev/min - 이 설정은 Constant Surface Speed(정표면 속도) 모드에 영향을 줍니다.
N04 T0300 Turret을 Tool 3에 인덱스합니다.마모 오프셋(00)을 지웁니다.
N05 G96 S854 M03 정표면속도 [스핀들속도 자동변경], 854sfm, 시작스핀들 CW회전
N06 G41 G00 X1.1 Z1.1 T0303 M08 커터 반지름 보정 모드를 활성화하고 축 중심선 위로 0.55인치(지름 1.1인치) 및 작업 오프셋(Z)에서 1.1인치 의 위치로 빠르게 이동하고, 플러드 냉각수를 활성화합니다.
N07 G01 Z1.0 F.05 공구가 작업 오프셋에서 1" 포지티브 위치에 올 때까지 스핀들 회전당 0.050"의 속도로 수평 이송
N08 X-0.016 도구를 중앙을 약간 지나게 합니다. 재료의 스캘럽이 남지 않도록 공구는 부품의 중심을 지나 코 반경만큼 이동해야 합니다.
N09 G00 Z1.1 신속한 포지셔닝, 시작 위치로 접힘
N10 X1.0 신속한 포지셔닝, 다음 패스
N11 G01 Z0.0 F.05 수평으로 바의 지름 1인치, 0.05인치/rev까지 절단
N12 G00 X1.1 M05 M09 부품 클리어, 스핀들 정지, 냉각수 OFF
N13 G91 G28 X0 Home X axis – X축에 대한 기계의 초기 위치를 반환합니다.
N14 G91 G28 Z0 Home Z 축 — Z 축에 대한 기계의 원점 위치로 돌아갑니다.
N15 G90 절대 모드로 돌아갑니다.로드 모니터 끄기
N16 M30 프로그램 중지, 프로그램 맨 위로 되감기, 사이클 시작 대기
% 파일 전송 중 데이터 신호 끝.원래는 테이프의 끝을 표시하기 위해 사용되었지만, 반드시 프로그램의 끝을 표시하지는 않습니다.ISO는 %를 사용하고 EIA는 ER(0x0B)을 사용합니다.
프로그램 도구 경로

주의사항:

  1. 이 짧은 프로그램에도 약간의 프로그래밍 스타일이 들어갈 여지가 있다.N06 행의 코드 그룹화는 여러 행에 배치될 수 있습니다.이렇게 하면 프로그램 실행을 더 쉽게 추적할 수 있습니다.
  2. 많은 코드는 모달이며, 취소되거나 모순된 코드로 대체될 때까지 유효합니다.예를 들어, 가변 속도 커팅(CSS)을 선택하면(G96) 프로그램이 종료될 때까지 유효합니다.작동 시 스핀들 속도는 작업물의 중심 부근에 있는 공구에 따라 증가하여 일정한 표면 속도를 유지합니다.마찬가지로 급전이 선택되면(G00), 급전속도 코드(G01, G02, G03)가 선택될 때까지 모든 공구 이동이 고속입니다.
  3. 로드 모니터는 CNC 기계와 함께 사용하는 것이 일반적입니다.로드 모니터는 스핀들 또는 이송 부하가 Setup 시 설정된 값을 초과하면 기계를 정지시킵니다.로드 모니터의 작업은 다양합니다.
    1. 공구 파손이나 프로그래밍 오류 발생 시 기계 손상을 방지하십시오.
      • 이는 안전한 "소등 가공"이 가능하기 때문에 특히 중요합니다. 즉, 작업자는 낮에 작업을 설정하고 시작한 후 밤에 귀가하여 기계를 작동시킨 후 밤에 부품을 절단하는 것입니다.공구 파손 등의 문제를 듣거나 확인하거나 냄새를 맡는 사람이 주변에 없기 때문에 로드 모니터는 중요한 보초 임무를 수행합니다.의미론적으로 툴이 무뎌지거나 파손되는 과부하 상태를 감지하면 가공 중지를 명령합니다.필요에 따라서, 리모트로부터 다른 사람(예를 들면, sleeping owner, operator, owner-operator)에게 경고를 송신하는 테크놀로지가 현재 이용되고 있습니다.이것에 의해, 유저가 개입해, 생산을 재개해, 한번 더 종료할 수 있습니다.소등 가공은 부품당 작업 시간을 줄이기 때문에 일부 작업의 수익성과 손실의 차이가 될 수 있습니다.
    2. 공구가 무뎌지고 교체 또는 갈아야 할 경우 경고합니다.따라서 여러 대의 기계를 다루는 작업자는 기계로부터 "저쪽에서 하던 일을 멈추고 이쪽에서 뭔가를 하세요."라는 말을 듣게 됩니다.
  4. 일반적으로 공구를 부품에 가까운 "안전한" 지점(이 경우 0.1")으로 빠르게 가져온 후 공구 이송을 시작합니다.이 "안전" 거리가 얼마나 가까운지는 프로그래머 및/또는 운영자의 선호도와 원료에 대한 최대 재료 조건에 따라 달라집니다.
  5. 프로그램이 잘못된 경우, 기계가 크래쉬하거나 고출력으로 인해 부품, 바이스 또는 기계에 공구를 주입할 가능성이 높습니다.특히 새로운 가공 센터에서는 비용이 많이 들 수 있습니다.프로그램을 선택적으로 정지(M01 코드)하여 프로그램을 시험할 수 있도록 할 수 있습니다.선택적 중지는 프로그램에 남아 있지만 일반 실행 중에는 건너뜁니다.다행히 대부분의 CAD/CAM 소프트웨어에는 프로그램 실행 시 툴의 움직임을 표시하는 CNC 시뮬레이터가 포함되어 있습니다.오늘날 주변 물체(척, 클램프, 고정장치, 테일스톡 등)는 3D 모델에 포함되며 시뮬레이션은 전체 비디오 게임 또는 가상 현실 환경과 매우 유사하여 예기치 않은 충돌 가능성을 훨씬 낮춥니다.
    1. 또한 많은 최신 CNC 기계는 프로그래머가 시뮬레이션 모드에서 프로그램을 실행하고 특정 실행 지점에서 기계의 동작 파라미터를 관찰할 수 있도록 합니다.이를 통해 프로그래머는 잘못된 프로그램으로 인해 자료 또는 도구를 잃기 전에 구문 오류가 아닌 의미 오류를 발견할 수 있습니다.부품의 크기에 따라 왁스 블록을 테스트 용도로 사용할 수도 있습니다.또한 많은 기계에서 고속 및 피드 속도 모두에 대해 오퍼레이터 오버라이드를 지원하므로 오퍼레이터는 크래시가 발생하기 전에 프로그램 실행을 중지할 수 있습니다.
  6. 상기 프로그램에 포함된 라인 번호(N0 )N16)은 일반적으로 기계 작동에 필요하지 않고 파일 크기를 늘리기 때문에 업계에서는 거의 사용되지 않습니다.단, branching 또는 looping 스테이트먼트가 코드에 사용되고 있는 경우는, 이러한 스테이트먼트의 타겟으로서 회선 번호를 포함할 수 있습니다(예를 들면, GOTO N99).
  7. 일부 기계에서는 한 줄에 여러 개의 M 코드를 사용할 수 없습니다.

프로그래밍 환경

G-code의 프로그래밍 환경은 일반 프로그래밍 환경(예: 연필로 프로그램을 쓰고 테이프 펀처에 입력하는 환경)에서 CAD(컴퓨터 지원 설계), CAM(컴퓨터 지원 제조), 풍부한 기능을 갖춘 G-code 에디터(G-code editor manufacturing)를 조합한 최신 환경으로 발전했습니다.XML 편집기와 유사하며, 기본 텍스트 편집기가 사용할 수 없는 방식으로 사용자에게 도움이 되도록 의미론적으로 색상 및 들여쓰기를 사용합니다.CAM 패키지는 일반적인 프로그래밍의 IDE와 유사합니다).

두 가지 주요 패러다임의 변화는 다음과 같습니다.

  1. 포스트 프로세서를 통해 자동으로 G-코드를 생성하는 CAM 소프트웨어 시스템에 대해 "수동 프로그래밍"을 포기한다(연필 또는 텍스트 편집기와 사람 마음만 있음). (일반 프로그래밍의 시각적 기술 개발과 유사함)
  2. (상수를 방정식으로 하드코딩하는 것과 변수를 선언하고 새로운 값을 자유롭게 할당하는 것 사이의 일반적인 프로그래밍의 차이에 따른 것, 그리고 일반적으로 객체 지향 접근법에 따른 것).

매크로(파라메트릭) CNC 프로그래밍은 일반 프로그래밍과 마찬가지로 인간 친화적인 변수 이름, 관계 연산자 및 루프 구조를 사용하여 기계 판독 가능한 시멘틱스로 정보와 로직을 캡처합니다.이전의 수동 CNC 프로그래밍은 특정 부품 인스턴스만 수치 형식으로 기술할 수 있었던 반면, 매크로 프로그래밍은 다양한 인스턴스에 쉽게 적용할 수 있는 추상화를 기술합니다.

이러한 경향은 저수준 프로그래밍 언어에서 고수준 프로그래밍 [citation needed]언어로의 진화에 필적합니다.

STEP-NC는 같은 테마를 반영하고 있으며, 공작기계, 지그, 고정장치 개발, 수치제어 등 '공구에 스킬을 쌓기'를 추구한 새로운 단계로 볼 수 있다.G-code와 STEP-NC의 최근 개발은 도구에 정보와 의미론을 구축하는 것을 목표로 한다.수치제어 초기부터 DAC-1이나 APT같은 초기 테크놀로지의 목표는 엔드 투 엔드 CAD/CAM 환경이었습니다.이러한 노력은 GM과 보잉과 같은 거대 기업들에게는 괜찮았다.그러나 CAD/CAM이 개선되어 업계 전체에 보급될 때까지 중소기업은 비교적 원시적인 "접속점" G 코드와 수동 프로그래밍을 통해 NC의 단순한 구현의 시대를 거쳤습니다.

축, 스핀들, 공구 스테이션이 많은 공작기계는 수동으로 프로그래밍하기 어렵습니다.그것은 수년간 행해져 왔지만 쉽지는 않다.이 과제는 수십 년 동안 CNC 나사 기계와 회전식 전송 프로그래밍에서 존재해 왔으며, 오늘날 "턴 밀", "밀턴", "멀티태스킹 기계" 및 "다기능 기계"라고 불리는 새로운 기계 센터에서도 발생합니다.현재 CAD/CAM 시스템이 널리 사용되고 있기 때문에 CNC 프로그래밍(G 코드 등)에서는 수동 프로그래밍이 아닌 CAD/CAM이 이러한 클래스의 머신이 [11]서비스하는 시장에서 실용적이고 경쟁력이 있어야 합니다.Smid의 말처럼, "이러한 모든 축을 몇 가지 추가 기능과 결합하면 성공에 필요한 지식의 양은 아무리 [12]적게 말해도 상당히 많습니다."그러나 동시에 프로그래머는 여전히 수동 프로그래밍의 원리를 완전히 이해하고 소프트웨어 결정의 몇 가지 측면을 비판적이고 신중하게 생각해야 합니다.

2000년대 중반 무렵부터 수동 프로그래밍의 종말(CAD/CAM의 지원 없이 G코드의 행을 작성하는 것)이 다가오고 있는 것 같다.그러나 수동 프로그래밍이 사용되지 않는 것은 현재 일부 컨텍스트에서만 가능합니다.오늘날 수동 프로그래밍에 익숙하지 않거나 수동 프로그래밍을 할 수 없는 사람들 사이에서 많은 CAM 프로그래밍이 이루어지고 있습니다.그러나 모든 CNC 프로그래밍이 G-code를 [13][14]인식하지 않고도 실행 또는 실행이 가능하거나 효율적으로 수행될 수 있다는 은 사실이 아닙니다.기계에서의 CNC 프로그램 맞춤 및 미세화는 CAM 툴 패스를 편집하여 프로그램을 재처리하는 것보다 G 코드를 직접 편집하는 것이 더 쉽고 효율적일 수 있는 연습 영역입니다.

CAD/CAM 소프트웨어를 통해 컴퓨터로 제어되는 기계에서 커팅 부품을 생활화하는 것이 점점 더 쉬워졌습니다.효율적으로 기술된 G코드는 CAM 소프트웨어의 과제가 될 수 있습니다.CNC 머신은 수동 프로그래밍과 CAM 프로그래밍을 모두 잘 알고 있어야 하며, 따라서 필요에 따라 브루트 포스 CAM과 우아한 수동 프로그래밍의 이점을 모두 사용할 수 있습니다.메모리가 매우 비쌌던 시기에 많은 오래된 기계들은 제한된 컴퓨터 메모리로 구축되었습니다. 32K는 수동 프로그램을 위한 충분한 공간으로 여겨졌지만, 최신 CAM 소프트웨어는 기가바이트의 코드를 전송할 수 있습니다.CAM은 더 많은 머신메모리를 소비하고 실행에 더 오랜 시간이 걸릴 수 있는 프로그램을 신속하게 실행할 수 있습니다.따라서 적은 양의 부품을 가공하는 데 상당한 가치가 있습니다.그러나 프로그램을 만드는 데 걸리는 시간과 부품을 기계화하는 데 걸리는 시간 사이에 균형을 맞춰야 합니다.메모리가 많은 새로운 기계로 몇 개의 부품만 만드는 것이 더 쉽고 더 빨라졌습니다.이것은 수동 프로그래머와 수동 기계 기술자 모두에게 피해를 주었다.은퇴까지의 자연스러운 이직으로 볼 때, 수동 프로그래밍에 매우 능통한 대규모 오퍼레이터 풀을 유지하는 것은 현실적이지 않습니다.이러한 스킬을 쌓는 데 필요한 수많은 깊은 경험을 더 이상 제공할 수 없습니다.그러나 이러한 경험 기반의 상실은 충분히 인식될 수 있습니다.이러한 스킬이 없으면 일부 CNC 실행을 최적화할 수 없기 때문에 이러한 풀을 완전히 놓칠 수 있습니다.

프로그래머 및 연산자가 사용하는 약어

이 목록은 선택 사항일 뿐이며 몇 가지 핵심 용어를 제외하고 엔지니어링 도면 약어 및 기호에서 나열된 많은 약어가 중복되는 것을 대부분 방지합니다.

줄임말 팽창 결과 정보
APC 자동 팔레트 교환기 M60」을 참조해 주세요.
ATC 자동 공구 교환기 M06」을 참조해 주세요.
CAD/CAM 컴퓨터 지원 설계 및 컴퓨터 지원 제조
CCW 시계 반대 방향으로 M04를 참조해 주세요.
CNC 컴퓨터 수치 제어
CRC 절단기 반지름 보상 G40」, 「G41, 및 「G42」도 참조해 주세요.
CS 절삭 속도 분당 표면 피트(sfm, sfpm) 또는 분당 미터(m/min) 단위절삭 속도(표면 속도)를 말합니다.
CSS 정표면 속도 자세한 것은, G96 를 참조해 주세요.
CW 시계 방향으로 M03」를 참조해 주세요.
DNC 직접 수치 제어 또는 분산 수치 제어 RS232 등의 시리얼 프로토콜을 통해 한 줄 한 줄씩 기계에 파일을 "드립"할 수 있기 때문에 "드립 피드" 또는 "드립 수치 제어"라고도 합니다.DNC를 사용하면 메모리 용량이 제한된 머신에서 대용량 파일을 실행할 수 있습니다.
델 텔레폰 절단 깊이 (Z 방향으로) 주어진 절단 깊이를 나타냅니다.
EOB 블록의 끝 G 코드 엔드 오브 라인(EOL)의 동의어.줄바꿈에 해당하는 제어 문자입니다.G-code의 많은 구현에서 세미콜론(;)은 EOB와 동의어입니다.일부 컨트롤(특히 오래된 컨트롤)에서는 명시적으로 입력하고 표시해야 합니다.다른 소프트웨어에서는 워드프로세서 앱이 필크로우를 취급하는 것과 마찬가지로 인쇄/비재생 문자로 취급합니다().
비상 정지 비상 정지
익스텐트 외부의 조작 패널에서는, 모드 스위치의 위치 중 하나가 「외부」(EXT)이며, 테이프나 DNC등의 외부 데이터 소스를 참조해, CNC 자체에 짜넣어져 있는 컴퓨터 메모리와 대조합니다.
FIM 풀 인디케이터 운동
FPM 분당 피트 'SFM' 참조.
HBM 수평 보링 밀 대형 공작물에 일반적으로 큰 구멍을 뚫는 것을 전문으로 하는 공작 기계의 일종입니다.
HMC 수평 가공 센터
HSM 고속 가공 기존 표준에서는 높은 속도로 가공하는 것을 말합니다.일반적으로 특수 기어업 스핀들 부착 또는 최신 고회전 스핀들 사용으로 구현됩니다.현대 기계에서 HSM은 가볍고 일정한 칩 부하와 높은 이송 속도를 가진 절단 전략을 말하며,[15] 일반적으로 절단 깊이의 전체 또는 그 근처에 있습니다.
HSS 고속강 커터를 만드는 데 사용되는 공구 강철의 일종입니다.오늘날에도 널리 사용되고 있습니다(다용도, 저렴한 가격, 기능). 그러나 탄화물 등의 소재 제거율이 높아 상용 용도 점유율을 지속적으로 잠식하고 있습니다.
인치
IPF 플루트당 인치 로드 또는 IPT라고도 합니다.F 주소와 피드 속도를 참조하십시오.
IPM 인치/분 F 주소와 피드 속도를 참조하십시오.
IPR 회전당 인치 F 주소와 피드 속도를 참조하십시오.
IPT 치아 한 개당 인치 로드 또는 IPF라고도 합니다.F 주소와 피드 속도를 참조하십시오.
MDI 수동 데이터 입력 오퍼레이터가 프로그램 행(코드 블록)을 입력한 후 사이클 시작을 눌러 실행할 수 있는 작동 모드입니다.
메모리 기억 조작 패널에서 모드 스위치의 위치 중 하나는 "메모리"이며, 테이프나 DNC 등의 외부 데이터 소스와는 대조적으로 CNC 자체에 내장된 컴퓨터 메모리를 가리킵니다.
MFO 수동 이송 속도 오버라이드 MFO 다이얼 또는 버튼을 사용하면 CNC 오퍼레이터 또는 기계사는 프로그래밍된 피드 값에 보통 10% ~200%의 비율을 곱할 수 있습니다.는 속도와 피드를 미세하게 조정하여 잡담을 최소화하고 표면 마감을 개선하며 공구 수명을 연장하는 등의 작업을 가능하게 합니다.SSO 및 MFO 기능은 스레드화 속도와 피드의 동기화 또는 오퍼레이터에 의한 "솔더링"/"도깅"을 방지하기 위해 다양한 이유로 잠길 수 있습니다. 일부 새로운 컨트롤에서는 스레드 중에 SSO와 MFO를 사용할 수 있을 정도로 스레드에서의 속도와 피드의 동기화가 정교합니다.이것에 의해, 스레드에서의 채터링을 줄이거나, 기존의 [16]스레드 픽업을 수반하는 보수 작업을 실시할 때, 속도와 피드를 미세 조정할 수 있습니다.
음. 밀리미터
MPG 수동 펄스 발생기 핸들(핸드휠)을 참조합니다(핸들을 클릭할 때마다 서보 입력의 펄스 1개가 생성됩니다).
엔씨 수치 제어
OSS 배향 스핀들 스톱 M19의 코멘트를 참조해 주세요.
SFM 표면 피트/분 속도와 피드G96참조하십시오.
SFPM 표면 피트/분 속도와 피드G96참조하십시오.
SPT 싱글 포인트 스레드화
SSO 스핀들 속도 오버라이드 SSO 다이얼 또는 버튼을 사용하면 CNC 오퍼레이터 또는 기계사는 프로그래밍된 속도 값에 보통 10% ~200%의 비율을 곱할 수 있습니다.는 속도와 피드를 미세하게 조정하여 잡담을 최소화하고 표면 마감을 개선하며 공구 수명을 연장하는 등의 작업을 가능하게 합니다.SSO 및 MFO 기능은 스레드화 속도와 피드의 동기화 또는 오퍼레이터에 의한 "솔더링"/"도깅"을 방지하기 위해 다양한 이유로 잠길 수 있습니다.일부 새로운 컨트롤에서는 스레드 중에 SSO와 MFO를 사용할 수 있을 정도로 스레드에서의 속도와 피드의 동기화가 정교합니다.이것에 의해, 스레드에서의 채터링을 줄이거나, 기존의 [16]스레드 픽업을 수반하는 보수 작업을 실시할 때, 속도와 피드를 미세 조정할 수 있습니다.
TC 또는 T/C 공구교환, 공구교환기 M06」을 참조해 주세요.
TIR 총 지표 판독치
TPI 인치당 스레드 수
유에스비 유니버설 시리얼 버스 데이터 전송을 위한 하나의 연결 유형
VMC 수직 가공 센터
VTL 수직 터렛 선반 기본적으로 Z축이 수직으로 회전하는 선반으로, 대형 턴테이블처럼 전면 플레이트를 배치할 수 있습니다.VTL 개념은 수직 보링 밀 개념과 겹칩니다.

「 」를 참조해 주세요.

개발 기간 연장

유사한 개념

적용 시 우려 사항

레퍼런스

  1. ^ Karlo Apro (2008).5축 가공의 비밀인더스트리얼 프레스 ISBN0-8311-3375-9.
  2. ^ EIA Standard RS-274-D Interchangeable Variable Block Data Format for Positioning, Contouring, and Contouring/Positioning Numerically Controlled Machines, Washington D.C.: Electronic Industries Association, February 1979
  3. ^ Martin., Libicki (1995). Information Technology Standards : Quest for the Common Byte. Burlington: Elsevier Science. p. 321. ISBN 9781483292489. OCLC 895436474.
  4. ^ "Fanuc macro system variables". Retrieved 2014-06-30.
  5. ^ a b c d e f g Smid 2008 : CITREFSmid (
  6. ^ a b c Smid 2010 : 2010
  7. ^ a b c d 녹색 1996, 페이지 1162–1226 : 1996
  8. ^ a b c SMID 2004, 페이지 61
  9. ^ "FAQ's - At Your Service". atyourservice.haascnc.com. Archived from the original on 1 January 2015. Retrieved 5 April 2018.
  10. ^ a b c d Smid 2010, 페이지 29-30 : 2010
  11. ^ MMS editorial staff (2010-12-20), "CAM system simplifies Swiss-type lathe programming", Modern Machine Shop, 83 (8 [2011 Jan]): 100–105. Online ahead of print.{{citation}}: CS1 유지보수: 포스트스크립트(링크)
  12. ^ Smid 2008, 페이지 457 : CITREFSmid (
  13. ^ Lynch, Mike (2010-01-18), "When programmers should know G code", Modern Machine Shop (online ed.).
  14. ^ Lynch, Mike (2011-10-19), "Five CNC myths and misconceptions [CNC Tech Talk column, Editor's Commentary]", Modern Machine Shop (online ed.), archived from the original on 2017-05-27, retrieved 2011-11-22.
  15. ^ Marinac, Dan. "Tool Path Strategies For High-Speed Machining". www.mmsonline.com. Retrieved 2018-03-06.
  16. ^ a b Korn, Derek (2014-05-06), "What is arbitrary speed threading?", Modern Machine Shop.

참고 문헌

외부 링크