Apakah tanda kurung diperbolehkan dalam komentar kode-G?

9

Saya ingin tahu apakah kode G ini valid:

G0 (Some comment (Its G0 command)) Y10 Z-5

Saya telah menguji ini pada mesin CNC China saya dan menghapus komentar dan bekerja dengan sempurna.

Mesin memproses ini G0Y10Z-5yang sepertinya merupakan pendekatan yang tepat untuk saya.

Namun saya belum pernah melihat komentar seperti itu dalam praktek CNC nyata. Alangkah baiknya jika ada yang bisa mengujinya pada Printer CNC / 3D mereka.

Banyak simulator kode-G di internet gagal memproses garis seperti itu di pengurai mereka sehingga membuat saya bingung. Saya belum menemukan apa pun di RepRap Wiki atau bahkan Google.

Jan Vorisek
sumber
BTW ... Selamat Datang di Pencetakan 3D! : o)
Pᴀᴜʟsᴛᴇʀ2
1
Mengapa tidak menggunakan awal saja ";" dan menghindari semua risiko?
Carl Witthoft
Untuk biaya nominal :-), saya akan menulis regex yang menarik semua "(*)" dan mengganti dengan baris baru "; *" Biarkan perang api sed vs awk dimulai.
Carl Witthoft
Anda benar, Carl. Saya hanya merawat kode pihak ketiga yang mungkin perlu saya tangani suatu hari nanti. Saya pribadi hanya menggunakan; komentar. :-)
Jan Vorisek

Jawaban:

12

Ini bukan kode-G yang berlaku secara universal, dan bagaimana penanganannya tergantung pada implementasinya. Anda dapat menggunakan gaya komentar ini pada beberapa mesin, tetapi tidak semua.

Cara parsing dulu diterapkan di Marlin (firmware printer 3D yang sangat umum), itu akan berfungsi dengan baik kecuali string komentar termasuk karakter X, Y, Z, E atau F. Parser hanya mencari kemunculan pertama X / Y / Z / E / F dan kemudian mencoba untuk mengurai sedikit teks yang muncul setelah karakter itu menjadi angka. Jika string tidak dapat diuraikan sebagai angka, maka defaultnya adalah 0. Sebagai contoh,

 G0 (Some comment containing the character Y) Y10 Z-5

akan diartikan sebagai G0 Y0 Z-5dan bukan sebagai G0 Y10 Z-5, karena ")" (string yang muncul setelah kemunculan pertama "Y") tidak diuraikan ke nomor yang valid. Contoh Anda berfungsi dengan baik karena string komentar tidak mengandung karakter khusus.

Marlin mendukung komentar end-of-line, yang harus dimulai dengan tanda titik koma dan berlanjut hingga akhir baris.

Ini adalah cara kerjanya di versi Marlin yang lebih lama. Versi Marlin yang lebih baru memiliki parser yang lebih canggih, tetapi tetap tidak cocok dengan komentar gaya kurung ini. Yang terbaik adalah menghindarinya, karena kompatibilitas tidak dijamin.

Tom van der Zanden
sumber
Ini terdengar lebih aneh bagiku. Tidak ada komentar tentang perilaku ini misalnya dalam RepRap reprap.org/wiki/G-code#Comments
Jan Vorisek
@JanVorisek Saya baru saja memperhatikan bahwa ini sedikit berbeda di versi Marlin yang lebih baru. Namun, komentar gaya kurung tidak didukung.
Tom van der Zanden
1
Kamu benar. Baru saja memeriksa beberapa parser termasuk Marlin. Saya sampai pada kesimpulan bahwa sebagian besar firmware 3D hanya menguraikan tanda titik koma sebagai komentar. Sepertinya tanda kurung adalah / dulu? cara yang disukai dalam mesin CNC Milling. Saya akan tetap pada titik koma karena saya sangat peduli dengan pencetakan 3D. Terima kasih atas waktu Anda :-)
Jan Vorisek
4

Sepertinya komentar di dalam tanda kurung tidak diperbolehkan di banyak parser (mis. Marlin). Ini tampaknya berlaku untuk sebagian besar printer 3D. Mesin penggilingan CNC klasik menggunakan tanda kurung tanpa masalah.

Ini harus bekerja pada printer Prusa seperti yang dinyatakan dalam Wiki mereka . Sayangnya tidak ada kata-kata tentang bersarangnya komentar.

Namun saya telah menemukan komentar di forum cnczone.com tentang bersarangnya komentar di dalam tanda kurung.

Karakter yang dapat dicetak dan spasi di dalam tanda kurung adalah komentar. Tanda kurung kiri selalu memulai komentar. Komentar berakhir pada kurung kanan pertama yang ditemukan sesudahnya.

Setelah tanda kurung kiri ditempatkan pada garis, tanda kurung kanan yang cocok harus muncul sebelum akhir baris.

Komentar mungkin tidak diulang; itu adalah kesalahan jika tanda kurung kiri ditemukan setelah dimulainya komentar dan sebelum akhir komentar.

Berikut adalah contoh baris yang berisi komentar: G80 M5 (stop motion)

Sumber: cnczone.com

Jan Vorisek
sumber