Grbl v1.1 명령어

일반적으로 Grbl은 전송된 모든 문자와 스트리밍 데이터가 G 코드라고 가정하고 가능한 한 빨리 구문 분석하고 실행하려고 합니다. 그러나 Grbl에는 일반 G-code 스트리밍 외부에 있는 두 가지 별도의 시스템 명령 유형도 있습니다. 한 시스템 명령 유형은 G-code와 같이 Grbl로 스트리밍되지만 $ 문자로 시작하여 Grbl에 G-code가 아님을 알립니다. 다른 하나는 실시간으로 작업을 수행하도록 Grbl에 즉시 명령하는 특수 문자 집합으로 구성됩니다. G-code 스트림의 일부가 아닙니다. Grbl의 시스템 명령은 기계 상태 제어, 저장된 매개 변수 또는 Grbl이 수행중인 작업보고, 기계 설정 저장 또는 인쇄, 원점 복귀주기 실행, 기계가 프로그래밍 된 것보다 더 빠르거나 느리게 움직이도록 하는 것과 같은 작업을 수행합니다. 이 문서는 이러한 “내부”시스템 Grbl 명령, 기능, 작동 방식 및 사용 방법을 설명합니다.

시작하기

먼저 선택한 직렬 터미널을 사용하여 Grbl에 연결합니다.

전송 속도를 115200 으로 8-N-1 (8 비트, 패리티 없음, 1 스톱 비트)로 설정

연결되면 다음과 같은 Grbl 프롬프트가 표시됩니다.

Grbl 1.1f ['$' for help]

$를 입력하고 Enter를 눌러 Grbl이 도움말 메시지를 인쇄하도록합니다. $ 및 입력의 로컬 에코가 표시되지 않아야 합니다. Grbl은 다음과 같이 응답해야 합니다.

[HLP:$$ $# $G $I $N $x=val $Nx=line $J=line $SLP $C $X $H ~ ! ? ctrl-x]
ok

‘$’명령은 설정을 조정하고, Grbl의 상태와 실행 모드를 보거나 변경하고, 원점 복귀주기를 시작하는데 사용되는 Grbl 시스템 명령입니다. 마지막 네 개의 ‘$’가 아닌 명령은 Grbl이 수행하는 작업에 관계없이 언제든지 보낼 수있는 실시간 제어 명령입니다. 이는 즉시 Grbl의 실행 동작을 변경하거나 현재 위치 (일명 DRO)와 같은 중요한 실시간 데이터에 대한 보고서를 즉시 인쇄합니다. 더 많은 실시간 제어 명령이 있지만 사용자가 입력 할 수는 없습니다. 자세한 내용은 실시간 명령 섹션을 참조하십시오.


Grbl ‘$’ 명령어

$ 시스템 명령은 현재 G 코드 파서 모달 상태에 대한 피드백 인쇄 또는 원점 복귀주기 실행과 같은 추가 제어를 사용자에게 제공합니다. 이 섹션에서는 이러한 명령의 정의와 사용 방법에 대해 설명합니다.

$$and $x=val – GRBL 설정보기 및 쓰기

설정을보고 쓰는 방법과 설정에 대한 자세한 내용은 Grbl v1.1 구성을 참조하십시오.

$# – GCODE 매개 변수보기

G 코드 매개 변수는 G54-G59 작업 좌표, G28 / G30 사전 정의된 위치, G92 좌표 오프셋, 공구 길이 오프셋 및 프로빙에 대한 좌표 오프셋 값을 저장합니다 (공식적으로는 아니지만 여기에 추가했습니다). 이러한 매개 변수의 대부분은 변경 될 때마다 EEPROM에 직접 기록되고 영구적입니다. 이는 전원이 꺼져도 명시 적으로 변경 될 때까지 동일하게 유지됨을 의미합니다. 재설정 또는 전원 순환시 유지되지 않는 비 영구 매개 변수는 G92, G43.1 공구 길이 오프셋 및 G38.2 프로빙 데이터입니다.

G54-G59 작업 좌표는 NIST gcode 표준 및 EMC2 (linuxcnc.org) 표준에 정의 된 G10 L2 Px 또는 G10 L20 Px 명령을 통해 변경할 수 있습니다. G28 / G30 사전 정의 된 위치는 각각 G28.1 및 G30.1 명령을 통해 변경할 수 있습니다.

$ #가 호출되면 Grbl은 다음과 같이 각 시스템의 기계 좌표에서 저장된 오프셋으로 응답합니다. TLO는 공구 길이 오프셋 (기본 z 축의 경우)을 나타내고 PRB는 마지막 프로빙 사이클의 좌표를 나타냅니다. 여기서 접미사 : 1은 마지막 프로브가 성공했는지 여부를 나타내고 : 0은 성공하지 못한 경우를 나타냅니다.

[G54:4.000,0.000,0.000]
[G55:4.000,6.000,7.000]
[G56:0.000,0.000,0.000]
[G57:0.000,0.000,0.000]
[G58:0.000,0.000,0.000]
[G59:0.000,0.000,0.000]
[G28:1.000,2.000,0.000]
[G30:4.000,6.000,0.000]
[G92:0.000,0.000,0.000]
[TLO:0.000]
[PRB:0.000,0.000,0.000:0]

$G – GCODE 파서 상태보기

이 명령은 Grbl의 G 코드 파서에서 모든 활성 gcode 모드를 인쇄합니다. 이 명령을 Grbl에 보내면 다음과 같은 [GC : 표시기]로 시작하는 메시지로 응답합니다.

[GC:G0 G54 G17 G21 G90 G94 M0 M5 M9 T0 S0.0 F500.0]

이러한 활성 모드는 Grbl의 G 코드 파서가 다음 G 코드 블록 또는 명령을 해석하는 방법을 결정합니다. G-code 및 CNC 가공을 처음 접하는 사람들을 위해 모드는 파서를 특정 상태로 설정하므로 파서에게 파싱 방법을 지속적으로 말할 필요가 없습니다. 이러한 모드는 논리적으로 동시에 활성화 될 수없는 “모달 그룹”이라는 세트로 구성됩니다. 예를 들어, 단위 모달 그룹은 G 코드 프로그램이 인치 또는 밀리미터로 해석되는지 여부를 설정합니다.

Grbl에서 지원하는 모달 그룹의 짧은 목록은 아래에 나와 있지만 더 완전하고 자세한 설명은 LinuxCNC 웹 사이트에서 찾을 수 있습니다. 굵게 표시된 G 코드 명령은 Grbl의 전원을 켜거나 재설정 할 때 기본 모드를 나타냅니다.

Modal GroupMember Words
Motion ModeG0, G1, G2, G3, G38.2, G38.3, G38.4, G38.5, G80
Coordinate System SelectG54, G55, G56, G57, G58, G59
Plane SelectG17, G18, G19
Distance ModeG90, G91
Arc IJK Distance ModeG91.1
Feed Rate ModeG93, G94
Units ModeG20, G21
Cutter Radius CompensationG40
Tool Length OffsetG43.1, G49
Program ModeM0, M1, M2, M30
Spindle StateM3, M4, M5
Coolant StateM7, M8, M9

G 코드 파서 모드 외에도 Grbl은 활성 T 공구 번호, S 스핀들 속도 및 F 이송 속도를보고하며, 재설정시 기본값은 모두 0입니다. 호기심이 많은 사람들에게는 좋은 모달 그룹에 적합하지 않지만 파서 상태를 결정하는 데 중요합니다.

이 목록은 비 모달 G-code 명령 그룹을 포함하지 않으며 $G 파서 보고서에 나열되지 않습니다. 명령이 지정된 현재 행에만 영향을 미치기 때문입니다. 완전성을 위해 다음은 비 모달 명령입니다. Grbl에서 지원 :

Supported Non-Modal Commands
G4, G10 L2, G10 L20, G28, G30, G28.1, G30.1, G53, G92, G92.1

$I – 빌드 정보보기

그러면 사용자에게 Grbl 버전과 소스 코드 빌드 날짜에 대한 피드백이 인쇄됩니다. 선택적으로 $ I는 Grbl을 사용하는 머신이 둘 이상인 경우 통신중인 CNC 머신을 식별하는 데 도움이되는 짧은 문자열을 저장할 수도 있습니다. 이 문자열을 설정하려면 Grbl $ I = xxx를 보냅니다. 여기서 xxx는 80 자 미만의 사용자 지정 문자열입니다. 이 문자열은 대문자로 저장되고 공백이 제거되며 영숫자 문자 만 포함 할 수 있습니다. 다음에 $ I 뷰 빌드 정보로 Grbl을 쿼리하면 Grbl은 버전 및 빌드 날짜 이후에이 문자열을 인쇄합니다.

참고 : 일부 OEM은 빌드 정보 문자열 덮어 쓰기에 대한 액세스를 차단하여 여기에 제품 정보와 코드를 저장할 수 있습니다.

$N – 시작 블록보기

$Nx 는 Grbl의 전원을 켜거나 Grbl을 재설정 할 때마다 Grbl이 실행하는 시작 블록입니다. 즉, 시작 블록은 G-code 모달 기본값을 설정하기 위해 Grbl이 자동으로 실행되도록 할 수있는 G-code 줄이거 나 시스템을 시작할 때마다 Grbl이 수행해야하는 기타 작업입니다. Grbl은 두 블록의 G-code를 시스템 기본값으로 저장할 수 있습니다.

따라서 Grbl에 연결되면  $N을 입력 한 다음 입력합니다. Grbl은 다음과 같이 짧게 응답해야합니다.

$N0=
$N1=
ok

계속 진행할 것은 아니지만 이것은 시작시 Grbl을 실행하기 위해 $N0 행에 저장된 G 코드 블록이 없음을 의미합니다. $N1은 실행할 다음 줄입니다.

$Nx=line – 시작 블록 저장

중요 : 시작 블록에 모션 (G0 / 1, G2 / 3, G28 / 30) 명령을 저장할 때 매우주의하십시오. 이러한 모션 명령은 Grbl을 재설정하거나 전원을 켤 때마다 실행되므로 비상 상황이 발생하고 비상 정지 및 재설정해야하는 경우 시작 블록 이동으로 상황이 더 빨리 악화 될 수 있습니다. 또한 G10 / G28.1 / G30.1과 같이 데이터를 EEPROM에 저장하는 명령을 두지 마십시오. 이로 인해 Grbl은 모든 시작 및 재설정시이 데이터를 지속적으로 다시 작성하여 결국 Arduino의 EEPROM을 마모시킵니다.

시작 블록의 일반적인 용도는 G20 인치 모드와 같은 선호하는 모달 상태를 설정하고 항상 다른 작업 좌표계를 기본값으로 설정하거나 사용자가 필요한 사용자 작성 고유 기능을 실행할 수있는 방법을 제공하는 것입니다. 그들의 미친 프로젝트를 위해.

시작 블록을 설정하려면 $ N0 = 뒤에 유효한 G 코드 블록과 Enter를 입력하십시오. Grbl은 블록이 유효한지 확인하기 위해 블록을 실행 한 다음 확인 또는 오류로 응답하여 성공했는지 또는 뭔가 잘못되었는지 알려줍니다. 오류가 있으면 Grbl은이를 저장하지 않습니다.

예를 들어 첫 번째 시작 블록 $ N0을 사용하여 G54 작업 좌표, G20 인치 모드, G17 XY 평면과 같은 G 코드 파서 모드를 설정한다고 가정합니다. Enter와 함께 $ N0 = G20 G54 G17을 입력하면 ok 응답이 표시됩니다. 그런 다음 $ N을 입력하여 저장되었는지 확인할 수 있으며 이제 $ N0 = G20G54G17과 같은 응답이 표시됩니다.

시작 블록이 Grbl의 EEPROM에 저장되면 시작하거나 재설정 할 때마다 시작 블록이 다시 인쇄되는 것을 볼 수 있습니다. 시작 블록은 open-chevron>로 시작하고 Grbl의 : ok 응답이 제대로 실행되었는지 표시합니다. 따라서 이전 예에서는 다음을 볼 수 있습니다.

Grbl 1.1f ['$' for help]
>G20G54G17:ok

여러 G 코드 시작 블록이있는 경우 시작할 때마다 순서대로 다시 인쇄됩니다. 그리고 시작 블록 (예 : 블록 0) 중 하나를 지우려면 등호 뒤에 아무 것도없이 $ N0 =을 입력합니다.

참고 : 시작 블록이 실행되지 않는시기에는 두 가지 변형이 있습니다. 첫째, Grbl이 ALARM 상태에서 초기화되거나 안전상의 이유로 $ X 잠금 해제를 통해 ALARM 상태를 종료하면 실행되지 않습니다. 항상 ALARM의 주소를 지정하고 취소 한 다음 재설정으로 완료하면 시작 블록이 초기화시 실행됩니다. 둘째, 원점 복귀를 활성화 한 경우 시작 블록은 시작 시가 아니라 성공적인 원점 복귀 사이클 직후에 실행됩니다.

$C – GCODE 모드 확인

그러면 Grbl의 gcode 파서가 정상 작동 에서처럼 들어오는 모든 블록을 가져와 완전히 처리하도록 전환되지만 축을 이동하지 않고 드웰을 무시하며 스핀들과 냉각수를 끕니다. 이는 사용자에게 새로운 G- 코드 프로그램이 Grbl의 파서로 요금을 확인하고 오류를 모니터링하는 방법을 제공하는 방법을 제공하기위한 것입니다 (활성화 된 경우 소프트 제한 위반을 확인).

끄면 Grbl은 자동 소프트 리셋 (^ X)을 수행합니다. 이것은 두 가지 목적을위한 것입니다. 코드 관리를 약간 단순화합니다. 그러나 G 코드 모드가 자신이 생각하는 것과 다를 때 사용자가 작업을 시작하지 못하게합니다. 시스템 재설정은 항상 사용자에게 새롭고 일관된 시작을 제공합니다.

$X – 킬 알람 잠금

Grbl의 알람 모드는 하드 리미트 또는 사이클 중 중단과 같이 심각한 문제가 발생하거나 Grbl이 위치를 알지 못하는 경우의 상태입니다. 기본적으로 원점 복귀를 활성화하고 Arduino의 전원을 켜면 Grbl은 위치를 모르기 때문에 경보 상태로 들어갑니다. 알람 모드는 ‘$ H’원점 복귀 사이클이 수행 될 때까지 모든 G 코드 명령을 잠급니다. 또는 사용자가 축을 리미트 스위치에서 이동하기 위해 알람 잠금을 무시해야하는 경우, 예를 들어 ‘$ X’알람 잠금이 잠금을 무시하고 G 코드 기능이 다시 작동하도록 허용합니다.

하지만 조심스럽게 밟아 라 !! 이것은 비상 상황에서만 사용해야합니다. 위치가 상실되었을 수 있으며 Grbl은 귀하가 생각하는 곳에 없을 수 있습니다. 따라서 짧은 이동을하려면 G91 증분 모드를 사용하는 것이 좋습니다. 그런 다음 원점 복귀 사이클을 수행하거나 즉시 재설정하십시오.

앞서 언급했듯이 시작 줄은 $ X 명령 후에 실행되지 않습니다. 알람을 지우고 그 원인이 된 시나리오를 수정하면 항상 재설정하십시오. Grbl이 유휴 상태로 재설정되면 시작 라인이 정상적으로 실행됩니다.

$H – 호밍 사이클 실행

이 명령은 Grbl에서 원점 복귀 사이클을 수행하는 유일한 방법입니다. 일부 다른 모션 컨트롤러는 원점 복귀 사이클을 실행하기 위해 특수 G 코드 명령을 지정하지만 G 코드 표준에 따르면 이는 올바르지 않습니다. Homing은 컨트롤러가 처리하는 완전히 별개의 명령입니다.

팁 : 원점 복귀 사이클을 실행 한 후 작업 공간 볼륨의 중간 위치까지 항상 수동으로 조깅하십시오. G28 또는 G30 사전 정의 위치를 가공 할 위치에 더 가까운 사후 홈 위치로 설정할 수 있습니다. 이를 설정하려면 먼저 원점 복귀 후 이동할 위치로 기계를 조그해야합니다. Grbl이 해당 위치를 저장하도록하려면 G28.1 (또는 G30.1)을 입력합니다. 따라서 ‘$ H’원점 복귀 후 ‘G28′(또는 ‘G30’)을 입력하면 자동으로 그곳으로 이동합니다. 일반적으로 XY 축을 중심으로 이동하고 Z 축은 위로 둡니다. 이렇게하면 스핀들의 공구가 간섭 할 가능성이없고 아무것도 걸리지 않습니다.

$J=line – 조깅 동작 실행

Grbl v1.1에 새로 추가 된이 명령은 특별한 조깅 동작을 실행합니다. 조깅 동작과 g 코드 라인에서 명령하는 동작에는 세 가지 주요 차이점이 있습니다.

  • 일반적인 g-code 명령과 마찬가지로 여러 조그 모션이 플래너 버퍼에 대기 할 수 있지만 조깅 취소 또는 피드 홀드 실시간 명령으로 쉽게 조깅을 취소 할 수 있습니다. Grbl은 즉시 현재 조그를 유지 한 다음 나머지 명령의 버퍼를 자동으로 제거합니다.
  • 조그 명령은 g 코드 파서 상태와 완전히 독립적입니다. G91 증분 거리 모드와 같은 모드는 변경되지 않습니다. 따라서 나중에 G90 절대 거리 모드로 다시 변경할 필요가 없습니다. 이렇게하면 잘못된 g-code 모드를 활성화하여 시작할 가능성을 줄이는 데 도움이됩니다.
  • 소프트 리미트가 활성화 된 경우 소프트 리미트를 초과하는 조그 명령은 단순히 오류를 반환합니다. 일반 g-code 명령 에서처럼 경보를 발생시키지 않습니다. 이것은 훨씬 더 즐겁고 유동적 인 GUI 또는 조이스틱 상호 작용을 허용합니다.

조그를 실행하려면 아래에 설명 된대로 특정 명령 구조가 필요합니다.

  • 조그를 나타내려면 처음 세 문자는 ‘$ J =’여야합니다.
  • 조그 명령은 ‘=’바로 뒤에 나오며 일반 G1 명령처럼 작동합니다.
  • 이송 속도는 분당 G94 단위로만 해석됩니다. 조그 중에는 이전 G93 상태가 무시됩니다.
  • 필수 단어 :
    • XYZ : 목표 값이있는 하나 이상의 축 단어.
    • F-이송 속도 값. 참고 : 각 조그에는이 값이 필요하며 모달로 취급되지 않습니다.
  • 선택적 단어 : 조그는 현재 G20 / G21 및 G90 / G91 g 코드 파서 상태를 기반으로 실행됩니다. 다음 선택적 단어 중 하나가 전달되면 해당 상태는 하나의 명령에 대해서만 재정의됩니다.
    • G20 또는 G21-인치 및 밀리미터 모드
    • G90 또는 G91-절대 및 증분 거리
    • G53-기계 좌표에서 이동
  • 다른 모든 g- 코드, m- 코드 및 값 어는 jog 명령에서 허용되지 않습니다.
  • 명령에 공백과 주석이 허용됩니다. 이들은 사전 파서에 의해 제거됩니다.
  • 예 : G21 및 G90은 조깅 전 활성 모달 상태입니다. 순차 명령입니다.
    • $J=X10.0 Y-1.5 F100은 100의 이송 속도에서 작업 좌표 프레임 (WPos)에서 X = 10.0mm 및 Y = -1.5mm로 이동합니다.
    • $J=G91 G20 X0.5 F10은 10의 이송 속도로 +0.5 인치 (12.7mm)에서 X = 22.7mm (WPos)로 이동합니다. G91 및 G20은이 조그 명령에만 적용됩니다.
    • $J=G53 Y5.0 F10은 이송 속도 10으로 기계 좌표 프레임 (MPos)에서 기계를 Y = 5.0mm로 이동합니다. y 축의 작업 좌표 오프셋이 2.0mm이면 Y는 3.0입니다. mm (WPos).

조그 명령은 일반 g- 코드 스트리밍과 거의 동일하게 작동합니다. 모든 조깅 명령은 조깅 동작이 분석되고 실행을 위해 설정되면 ‘ok’를 반환합니다. 명령이 유효하지 않거나 소프트 제한을 초과하면 Grbl은 ‘오류 :’를 반환합니다. 여러 조깅 명령이 순서대로 대기 할 수 있습니다.

참고 :이 명령을 사용하여 지연 시간이 짧은 조이스틱 또는 회전 다이얼 인터페이스를 만드는 방법에 대한 자세한 내용은 조깅 설명서를 참조하십시오.

$RST=$$RST=#, 그리고 $RST=*– GRBL 설정 및 데이터를 기본값으로 복원

이러한 명령은 기본 Grbl $ 도움말 메시지에 나열되어 있지 않지만 사용자가 Grbl의 EEPROM 데이터의 일부 또는 전체를 복원 할 수 있도록하는 데 사용할 수 있습니다. 참고 : Grbl은 시스템이 올바르게 초기화되었는지 확인하기 위해 이러한 명령 중 하나를 실행 한 후 자동으로 재설정됩니다.

  • $RST=$ : $$ Grbl 설정을 지우고 Grbl을 컴파일 할 때 사용되는 기본 설정 파일에 정의 된 기본값으로 복원합니다. 종종 OEM은 기계 별 권장 설정으로 Grbl 펌웨어를 빌드합니다. 이를 통해 사용자와 OEM은 문제가 발생했거나 사용자가 처음부터 다시 시작하려는 경우 원점으로 돌아갈 수있는 빠른 방법을 제공합니다.
  • $RST=# : EEPROM에 저장된 모든 G54-G59 작업 좌표 오프셋 및 G28 / 30 위치를 지우고 제로화합니다. 일반적으로 $ # 매개 변수 인쇄물에 표시된 값입니다. 이렇게하면 G20 L2 / 20 또는 G28.1 / 30.1 명령을 사용하여 각 세트에 대해 수동으로 수행 할 필요없이 이러한 항목을 쉽게 지울 수 있습니다.
  • $RST=* : Grbl에서 사용하는 모든 EEPROM 데이터를 지우고 복원합니다. 여기에는 $$ 설정, $ # 매개 변수, $ N 시작 줄 및 $ I 빌드 정보 문자열이 포함됩니다. 이것은 전체 EEPROM을 지우는 것이 아니라 Grbl이 사용하는 데이터 영역 만 지 웁니다. 완전한 지우기를 수행하려면 Arduino IDE의 EEPROM clear 예제 프로젝트를 사용하십시오.

참고 : 일부 OEM은 사용하는 특정 데이터가 삭제되지 않도록 이러한 명령의 일부 또는 전부를 제한 할 수 있습니다.

$SLP – 수면 모드 활성화

이 명령은 Grbl을 전원이 꺼진 절전 상태로 전환하여 스핀들, 냉각수 및 스테퍼 활성화 핀을 종료하고 모든 명령을 차단합니다. 소프트 리셋 또는 전원주기를 통해서만 종료 될 수 있습니다. 다시 초기화되면 Grbl은 스테퍼가 비활성화되어 위치가 확실하지 않기 때문에 자동으로 ALARM 상태로 들어갑니다.

이 기능은 g-code 프로그램 끝에이 명령을 추가하여 작업이 끝날 때 모든 전원을 자동으로 해제해야하는 경우에 유용합니다.하지만 먼저 컴퓨터를 컴퓨터로 이동하는 명령을 추가하는 것이 좋습니다. 이 수면 명령 이전에 안전한 주차 위치. 또한 스핀들처럼 모든 것을 비활성화 할 수있는 신뢰할 수있는 CNC 기계가 있어야한다는 점을 강조해야합니다. Grbl은 그것이 야기 할 수있는 어떠한 손상에 대해서도 책임을지지 않습니다. 컴퓨터를 방치하는 것은 결코 좋은 생각이 아닙니다. 따라서이 명령을 최대한주의하여 사용하십시오!


Grbl v1.1 실시간 명령

실시간 명령은 실시간으로 명령하고 작업을 수행하기 위해 Grbl로 보낼 수있는 단일 제어 문자입니다. 즉, 언제 어디서나 보낼 수 있으며 Grbl은 그 시간에 무엇을하든 상관없이 즉시 응답합니다. 이러한 명령에는 재설정, 피드 보류, 재개, 상태 보고서 쿼리 및 재정의 (v1.1)가 포함됩니다.

실시간 명령 :

  • 수십 밀리 초 내에 실행됩니다.
  • 언제든지 Grbl로 보낼 수있는 단일 문자입니다.
  • 줄 바꿈 또는 캐리지 리턴이 필요하지 않습니다.
  • 스트리밍 프로토콜의 일부로 간주되지 않습니다.
  • 수신 될 때 가로 채고 Grbl에 의해 구문 분석 될 버퍼에 배치되지 않습니다.
  • 처음 수신 된 명령을 실행할 때까지 여러 명령을 무시합니다.
  • 입력 핀에 연결될 수 있으며 버튼 또는 스위치로 작동 할 수 있습니다.
  • 작업은 상태 또는 Grbl이 수행하는 작업에 따라 다릅니다. 아무것도 할 수 없습니다.
  • 설명은 작동 방식과 예상되는 사항을 설명합니다.

ASCII 실시간 명령 설명

4 개의 실시간 명령은 사용자가 키보드로 입력 할 수 있으며 $ Grbl 도움말 메시지에 표시됩니다. 이러한 실시간 명령 문자는 Grbl의 기본 기능 중 일부를 제어합니다.

  • 0x18 (ctrl-x) : 소프트 리셋
    • 전원주기없이 Grbl을 즉시 중지하고 안전하게 재설정합니다.
    • 언제든지이 명령을 수락하고 실행합니다.
    • 동작 중에 리셋하면 Grbl은 동작 정지로 인해 위치가 손실 될 수 있음을 알리는 경보를 울립니다.
    • 움직이지 않는 상태에서 리셋하면 위치가 유지되고 리홈이 필요하지 않습니다.
    • 버튼 또는 스위치를 연결하는 데 입력 핀을 사용할 수 있습니다.
  • ? : 상태 보고서 쿼리
    • 상태 보고서와 함께 런타임 데이터를 즉시 생성하고 다시 보냅니다.
    • 원점 복귀 사이클 중 및 위험 경보 (하드 / 소프트 한계 오류)가 발생하는 경우를 제외하고 언제든지이 명령을 수락하고 실행합니다.
  • ~ : 주기 시작 / 재개
    • 피드 홀드, 도어가 닫힐 때 안전 도어 / 주차 상태 및 M0 프로그램 일시 중지 상태를 재개합니다.
    • 그렇지 않으면 명령이 무시됩니다.
    • 주차 컴파일 시간 옵션이 활성화되고 안전 도어 상태가 재개 할 준비가되면 Grbl은 스핀들과 냉각수를 다시 활성화하고 제자리로 돌아간 다음 재개합니다.
    • 버튼 또는 스위치를 연결하는 데 입력 핀을 사용할 수 있습니다.
  • ! : 피드 홀드
    • Grbl을 일시 중단 또는 HOLD 상태로 만듭니다. 움직이면 기계가 감속 정지 한 다음 정지됩니다.
    • Grbl이 IDLE, RUN 또는 JOG 상태 일 때 명령이 실행됩니다. 그렇지 않으면 무시됩니다.
    • 조깅하는 경우 피드 홀드는 조그 동작을 취소하고 플래너 버퍼에 남아있는 모든 조그 동작을 플러시합니다. 활성 보류 중에 열려있는 것으로 감지되면 상태가 JOG에서 IDLE 또는 DOOR로 돌아갑니다.
    • 기계 제어 정의에 따라 피드 보류는 스핀들 또는 냉각수를 비활성화하지 않습니다. 모션 만.
    • 버튼 또는 스위치를 연결하는 데 입력 핀을 사용할 수 있습니다.

EXTENDED-ASCII 실시간 명령 설명

Grbl v1.1은 피드, 신속 및 스핀들 재정의를 제어하기 위해 12 개 이상의 새로운 실시간 명령을 설치했습니다. 사용자가 실수로 키 입력으로 재정의를 변경하는 것을 방지하고 나중에 더 많은 명령을 허용하기 위해 모든 새 제어 문자가 확장 된 ASCII 문자 집합으로 이동되었습니다. 이들은 키보드에서 쉽게 입력 할 수 없지만 OS에 따라 특정 키 입력 및 코드를 사용하여 입력 할 수 있습니다. GUI 개발자는 확장 된 ASCII 문자, 128 (0x80)에서 255 (0xFF)까지의 값을 Grbl로 보내 이러한 새로운 기능을 활용할 수 있어야합니다.

  • 0x84 : 안전 도어
    • 일반적으로 안전 도어의 열림을 감지하기 위해 입력 핀에 연결되지만이 명령을 사용하면 GUI에서이 명령으로 안전 도어 동작을 실행할 수 있습니다.
    • 즉시 DOOR 상태로 정지하고 스핀들과 냉각수를 비활성화합니다. 움직이면 기계가 감속 정지 한 다음 정지됩니다.
    • 원점 복귀 중에 실행되면 Grbl은 대신 모션을 중지하고 원점 복귀 경보를 발생시킵니다.
    • 이미 일시 중단 상태 또는 HOLD 인 경우 DOOR 상태가이를 대체합니다.
    • 주차 컴파일 시간 옵션이 활성화 된 경우 Grbl은 스핀들을 지정된 위치에 주차합니다.
    • Grbl이 IDLE, HOLD, RUN, HOMING 또는 JOG 상태 일 때 명령이 실행됩니다. 그렇지 않으면 무시됩니다.
    • 조깅하는 경우 안전 도어가 조그 및 플래너 버퍼의 대기중인 모든 동작을 취소합니다. 안전 도어가 닫히고 재개되면 Grbl은 IDLE 상태로 돌아갑니다.
    • 컴파일 타임 옵션으로 활성화 된 경우 입력 핀을 사용하여 버튼 또는 스위치를 연결할 수 있습니다.
    • Grbl v0.9의 일부 빌드는이 명령에 @ 문자를 사용했지만 문서화되지 않았습니다. 우발적 인 명령을 방지하기 위해 확장 ASCII로 이동했습니다.
  • 0x85 : 조그 취소
    • 피드 홀드로 현재 조그 상태를 즉시 취소하고 버퍼에 남아있는 조그 명령을 자동으로 플러시합니다.
    • JOG 상태가 아니거나 조그 취소가 이미 호출되어 처리 중이면 명령이 무시됩니다.
    • 취소 중에 안전 도어가 열려있는 것으로 감지되면 Grbl은 IDLE 상태 또는 DOOR 상태로 돌아갑니다.
  • 피드 무시
    • 피드 오버라이드 값을 즉시 변경합니다. 활성 피드 동작은 수십 밀리 초 내에 변경됩니다.
    • G0, G28 및 G30 또는 조그 동작을 포함하는 빠른 속도를 변경하지 않습니다.
    • 피드 오버라이드 값은 10 % 또는 200 %보다 클 수 없습니다.
    • 피드 오버라이드 값이 변경되지 않으면 명령이 무시됩니다.
    • 피드 오버라이드 범위 및 증분은 config.h에서 변경할 수 있습니다.
    • 명령은 다음과 같습니다.
      • 0x90 : 프로그래밍 된 속도의 100 %를 설정합니다.
      • 0x91 : 10 % 증가
      • 0x92 : 10 % 감소
      • 0x93 : 1 % 증가
      • 0x94 : 1 % 감소
  • 빠른 재정의
    • 빠른 재정의 값을 즉시 변경합니다. 활성 빠른 동작은 수십 밀리 초 내에 변경됩니다.
    • G0, G28 및 G30을 포함하는 빠른 동작에만 영향을줍니다.
    • 빠른 오버라이드 값이 변경되지 않으면 명령이 무시됩니다.
    • 빠른 오버라이드 설정 값은 config.h에서 변경할 수 있습니다.
    • 명령은 다음과 같습니다.
      • 0x95 : 100 % 완전 빠른 속도로 설정합니다.
      • 0x96 : 빠른 속도의 50 %로 설정합니다.
      • 0x97 : 빠른 속도의 25 %로 설정합니다.
  • 스핀들 속도 오버라이드
    • 스핀들 속도 오버라이드 값을 즉시 변경합니다. 활성 스핀들 속도는 수십 밀리 초 내에 변경됩니다.
    • 오버라이드 값은 스핀들의 활성화 여부에 관계없이 언제든지 변경할 수 있습니다.
    • 스핀들 오버라이드 값은 10 % 또는 200 %보다 클 수 없습니다.
    • 스핀들 오버라이드 값이 변경되지 않으면 명령이 무시됩니다.
    • 스핀들 오버라이드 범위 및 증분은 config.h에서 변경할 수 있습니다.
    • 명령은 다음과 같습니다.
      • 0x99 : 프로그래밍 된 스핀들 속도의 100 % 설정
      • 0x9A : 10 % 증가
      • 0x9B : 10 % 감소
      • 0x9C : 1 % 증가
      • 0x9D : 1 % 감소
  • 0x9E : 스핀들 정지 전환
    • 스핀들 활성화 또는 비활성화 상태를 즉시 전환하지만 HOLD 상태에서만 가능합니다.
    • 그렇지 않으면 명령은 특히 동작 중일 때 무시됩니다. 이렇게하면 부품 / 기계를 파괴하거나 부상을 입힐 수있는 작업 중에 우발적으로 비활성화되는 것을 방지 할 수 있습니다. 산업 기계는 스핀들 정지 오버라이드를 유사하게 처리합니다.
    • 사이클 시작을 통해 모션이 다시 시작되면 마지막 스핀들 상태가 복원되고 공구 경로를 다시 시작하기 전에 4.0 초 (구성 가능)를 기다립니다. 이렇게하면 사용자가 다시 켜는 것을 잊지 않습니다.
    • 비활성화 된 동안에도 스핀들 속도 오버라이드 값은 변경 될 수 있으며 스핀들이 다시 활성화되면 적용됩니다.
    • 안전 도어가 열리면 DOOR 상태가 스핀들 정지 오버라이드를 대체하여 도어를 닫고 다시 시작할 때 스핀들에 전원이 다시 공급되도록 관리합니다. 이전 스핀들 정지 오버라이드 상태가 삭제되고 재설정됩니다.
  • 0xA0 : 물 냉각수 전환
    • 다음 toggle 또는 g-code 명령이 변경 될 때까지 냉각수 상태 및 출력 핀을 전환합니다.
    • IDLE, RUN 또는 HOLD 상태에있는 동안 언제든지 명령을받을 수 있습니다. 그렇지 않으면 무시됩니다.
    • 이 재정의는 g 코드 파서에서 냉각수 모달 상태를 직접 변경합니다. Grbl은 M8 또는 M9 g-code 명령을 받고 실행 한 것처럼 계속 정상적으로 작동합니다.
    • $ G g-code 파서 상태가 쿼리되면 토글 재정의 변경은 M9와 함께 활성화 또는 비활성화되거나 M7이있을 때 나타나지 않는 M8에 의해 반영됩니다.
  • 0xA1 : 미스트 냉각수 전환
    • ENABLE_M7 컴파일 타임 옵션에 의해 활성화됩니다. 기본값은 비활성화입니다.
    • 다음 toggle 또는 g-code 명령이 변경 될 때까지 미스트 냉각수 상태와 출력 핀을 전환합니다.
    • IDLE, RUN 또는 HOLD 상태에있는 동안 언제든지 명령을받을 수 있습니다. 그렇지 않으면 무시됩니다.
    • 이 재정의는 g 코드 파서에서 냉각수 모달 상태를 직접 변경합니다. Grbl은 M7 또는 M9 g-code 명령을 받고 실행 한 것처럼 계속 정상적으로 작동합니다.
    • $G g-code 파서 상태가 쿼리되면 토글 재정의 변경 사항은 M9와 함께 활성화 또는 비활성화되거나 M8이있을 때 나타나지 않는 M7에 의해 반영됩니다.