Mục đích của dấu sao (*) trong Gcode là gì?


10

Thực hiện một số giám sát cấp thấp, trình tự sau được gửi đến máy in:

N0 M106*36 
N1 G28*18 
N2 M107*39

Trình tự này chỉ bật quạt, đặt máy in, sau đó tắt quạt.

Câu hỏi: Mục đích của dấu sao / sao / (*) và hai chữ số tiếp theo trên mỗi dòng là gì?


1
* dấu hoa thị - Asterix là một nhân vật trong loạt phim hoạt hình.
Andrew Morton

1
@AndrewMorton Vì vậy, điều đó sẽ làm cho mã hóa người La Mã sau đó - với Asterix là tổng kiểm tra của họ, ngăn chặn tham nhũng trong khu vực địa phương của anh ta?
Mtl Dev

Hmmm có thể. Người La Mã đã xây dựng rất nhiều thứ, giống như một máy in 3 chiều.
Andrew Morton

Câu trả lời:


9

Đó là một tổng kiểm tra. Nó được phần mềm máy chủ thêm vào mã G, để cho phép một số xác minh cơ bản bởi phần sụn mà mã G được truyền không thay đổi. Nó không thay đổi ý nghĩa của mã G và chuỗi của bạn thực sự đại diện là gì M106, G28, M107. Các N0,N1,N2,...số dòng là sự kết hợp giữa số dòng và tổng kiểm tra được sử dụng để yêu cầu gửi lại bất kỳ dòng nào bị hỏng trong quá trình truyền.


Bạn có biết thuật toán tổng kiểm tra được sử dụng ở đây không?
Carl Witthoft

3
Trong Marlin, tất cả các byte cho các ký tự riêng lẻ là XOR-ed cùng nhau và kết quả sẽ giống như tổng kiểm tra.
Tom van der Zanden

1
Chỉ cần XOR:byte checksum = 0; byte count = 0; while(instruction[count] != '*') checksum = checksum^instruction[count++];
Mtl Dev
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.