LinuxCNC 마스터: CNC 기계 제어를 위한 G & M 코드 종합 가이드
LinuxCNC는 밀링 머신, 선반 등 공작기계의 컴퓨터 제어를 위한 소프트웨어 시스템입니다.
LinuxCNC는 오픈 소스 무료 소프트웨어입니다.
LinuxCNC는 터치스크린용을 포함한 여러 그래픽 사용자 인터페이스를 제공합니다.
G 코드
| G 코드 | 설명 |
| G0 | 급속 직선 이동 |
| G1 | 직선 이송 |
| G2 | CW 원호 이송 |
| G3 | CCW 원호 이송 |
| G4 | 드웰 |
| G5.1 | 2차 B-스플라인 |
| G5.2 G5.3 | NURBS 블록 |
| G7 | 직경 모드 (선반) |
| G8 | 반경 모드 (선반) |
| G10 L1 | 공구 테이블 항목 설정 |
| G10 L10 | 공구 테이블 설정, 계산됨, 공작물 |
| G10 L11 | 공구 테이블 설정, 계산됨, 고정구 |
| G10 L2 | 좌표계 원점 설정 |
| G10 L20 | 좌표계 원점 설정 계산됨 |
| G17 | XY 평면 |
| G18 | ZX 평면 |
| G19 | YZ 평면 |
| G17.1 | UV 평면 |
| G18.1 | WU 평면 |
| G19.1 | VW 평면 |
| G20 | 인치 단위 |
| G21 | 밀리미터 단위 |
| G28 | 사전 정의 위치로 이동 |
| G28.1 | 현재 절대 위치를 G28용으로 저장 |
| G30 | 사전 정의 위치로 이동 |
| G30.1 | 현재 절대 위치를 G30용으로 저장 |
| G33 | 스핀들 동기화 이동 |
| G33.1 | 강성 탭핑 |
| G38.2 – G38.5 | 프로빙 |
| G38.2 | 공작물 향해 프로빙, 접촉 시 정지, 실패 시 오류 신호 |
| G38.3 | 공작물 향해 프로빙, 접촉 시 정지 |
| G38.4 | 공작물에서 멀어지며 프로빙, 접촉 상실 시 정지, 실패 시 오류 신호 |
| G38.5 | 공작물에서 멀어지며 프로빙, 접촉 상실 시 정지 |
| G40 | 커터 보상 취소 |
| G41 | 경로 왼쪽 커터 보상 |
| G42 | 경로 오른쪽 커터 보상 |
| G41.1 | 동적 커터 보상 왼쪽 |
| G42.1 | 동적 커터 보상 오른쪽 |
| G43 | 공구 길이 오프셋 |
| G43.1 | 동적 공구 길이 오프셋 |
| G49 | 공구 길이 오프셋 취소 |
| G53 | 기계 좌표계에서 이동 |
| G54 | 좌표계 1 선택 |
| G55 | 좌표계 2 선택 |
| G56 | 좌표계 3 선택 |
| G57 | 좌표계 4 선택 |
| G58 | 좌표계 5 선택 |
| G59 | 좌표계 6 선택 |
| G59.1 | 좌표계 7 선택 |
| G59.2 | 좌표계 8 선택 |
| G59.3 | 좌표계 9 선택 |
| G61 | 정확한 경로 모드 (경로 제어 모드) |
| G61.1 | 정확한 경로 모드 (경로 제어 모드) |
| G64 | 허용 오차 포함 경로 제어 모드 |
| G73 | 칩 브레이킹 드릴링 사이클 |
| G76 | 다중 패스 나사 가공 사이클 (선반) |
| G80 | 캔드 사이클 취소 |
| G81 | 드릴링 사이클 |
| G82 | 드웰 포함 드릴링 사이클 |
| G83 | 펙 드릴링 사이클 |
| G85 | 보링 사이클, 이송 아웃 |
| G86 | 보링 사이클, 스핀들 정지, 급속 아웃 |
| G89 | 보링 사이클, 드웰, 이송 아웃 |
| G90 | 절대 거리 모드 |
| G91 | 증분 거리 모드 |
| G90.1 | 원호용 절대 거리 모드 (I, J, K 오프셋) |
| G91.1 | 원호용 증분 거리 모드 (I, J, K 오프셋) |
| G92 | 좌표계 오프셋 |
| G92.1 | 좌표계 오프셋 취소 |
| G92.2 | 좌표계 오프셋 취소 |
| G92.3 | 축 오프셋 복원 |
| G93 | 역시간 모드 |
| G94 | 분당 단위 모드 |
| G95 | 회전당 단위 모드 |
| G96 | 일정 표면 속도 |
| G97 | RPM 모드 |
| G98 | 시작 위치로 복귀 (캔드 사이클 Z 복귀 모드) |
| G99 | R 위치로 복귀 (캔드 사이클 Z 복귀 모드) |
M 코드
| M 코드 | 설명 |
| M0 M1 | 프로그램 일시정지 |
| M2 M30 | 프로그램 종료 |
| M60 | 팔레트 교환 일시정지 |
| M3 M4 M5 | 스핀들 제어 |
| M6 | 공구 교환 |
| M7 M8 M9 | 쿨런트 제어 |
| M48 M49 | 이송/스핀들 오버라이드 활성화/비활성화 |
| M50 | 이송 오버라이드 제어 |
| M51 | 스핀들 오버라이드 제어 |
| M52 | 적응 이송 제어 |
| M53 | 이송 정지 제어 |
| M61 | 현재 공구 번호 설정 |
| M62-M65 | 출력 제어 |
| M66 | 입력 제어 |
| M67 | 아날로그 출력 제어 |
| M68 | 아날로그 출력 제어 |
| M100-M199 | 사용자 정의 M 코드 |
이진 연산자
| 연산자 | 설명 |
| + | 덧셈 |
| - | 뺄셈 |
| * | 곱셈 |
| / | 나눗셈 |
| OR | 비배타적 논리합 |
| XOR | 배타적 논리합 |
| AND | 논리곱 |
| MOD | 모듈로 연산 |
| ** | 거듭제곱 |
| EQ | 같음 |
| NE | 다름 |
| GT | 엄격히 큼 |
| GE | 크거나 같음 |
| LT | 엄격히 작음 |
| LE | 작거나 같음 |
함수
| 함수명 | 결과 |
| ATAN[Y]/[X] | 4사분면 역탄젠트 |
| ABS[arg] | 절댓값 |
| ACOS[arg] | 역코사인 |
| ASIN[arg] | 역사인 |
| COS[arg] | 코사인 |
| EXP[arg] | e의 거듭제곱 |
| FIX[arg] | 내림 정수 |
| FUP[arg] | 올림 정수 |
| ROUND[arg] | 반올림 정수 |
| LN[arg] | 자연로그 |
| SIN[arg] | 사인 |
| SQRT[arg] | 제곱근 |
| TAN[arg] | 탄젠트 |
| EXISTS[arg] | 명명된 파라미터 확인 |
워드 문자
| 문자 | 의미 |
| A | 기계 A축 |
| B | 기계 B축 |
| C | 기계 C축 |
| D | 공구 반경 보상 번호 |
| F | 이송 속도 |
| G | 일반 기능 (모달 그룹 표 참조) |
| H | 공구 길이 오프셋 인덱스 |
| I | 원호 및 G87 캔드 사이클용 X 오프셋 |
| J | 원호 및 G87 캔드 사이클용 Y 오프셋 |
| K | 원호 및 G87 캔드 사이클용 Z 오프셋. G33 동기화 이동용 스핀들-이동 비율. |
| M | 잡기능 (모달 그룹 표 참조) |
| N | 라인 번호 |
| P | 캔드 사이클 및 G4에서 드웰 시간. G10과 함께 사용하는 키. |
| Q | G73, G83 캔드 사이클에서 이송 증분. |
| R | 원호 반경 또는 캔드 사이클 평면 |
| S | 스핀들 속도 |
| T | 공구 선택 |
| U | 기계 U축 |
| V | 기계 V축 |
| W | 기계 W축 |
| X | 기계 X축 |
| Y | 기계 Y축 |
| Z | 기계 Z축 |
| / | 블록 삭제 |
| () | 주석 |
| ; | 주석 |
| MSG, | 메시지 |
일반적인 오류 메시지
G 코드 범위 초과
G99보다 큰 G 코드 사용. LinuxCNC의 G 코드 범위는 0~99. 0~99 사이 모든 숫자가 유효한 G 코드는 아님.
알 수 없는 G 코드 사용
LinuxCNC G 코드 언어에 없는 G 코드 사용.
Gx 없이 i,j,k 워드 사용
i, j, k 워드는 G 코드와 같은 줄에 있어야 함.
G 코드 없이 축 값 사용 불가
모달 G 코드가 유효하거나 같은 줄에 G 코드 없이 축 값 사용 불가.
퍼센트 기호나 프로그램 종료 없이 파일 끝남
모든 G 코드 파일은 M2 또는 M30으로 끝나거나 %로 감싸야 함.