Чи дозволені дужки в коментарі G-коду?


9

Мені цікаво, чи дійсний цей фрагмент G-коду:

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

Я перевірив це на своїй китайській машині з ЧПУ, і це викреслює коментар і працює бездоганно.

Машина обробляє це так G0Y10Z-5, як мені здається, правильний підхід.

Однак я ніколи не бачив такого коментаря в реальній практиці з ЧПУ. Було б добре, якщо хтось зможе перевірити це на своєму ЧПУ / 3D-принтері.

Багато тренажерів G-коду в Інтернеті не вдається обробити такий рядок у своєму синтаксичному аналізаторі, тому це мене збентежує. Я нічого не знайшов про це в RepRap Wiki або навіть Google.


BTW ... Ласкаво просимо до 3D-друку! : o)
Pᴀᴜʟsᴛᴇʀ2

1
Чому б просто не використовувати стартовий рядок ";" і не уникати будь-якого ризику?
Карл Віттофт

За номінальну плату :-), я напишу регулярний вираз, який витягує всі "(*)" і заміняється новим рядком "; *" Нехай починаються воєнні вогники sed vs awk.
Карл Віттофт

Ти прав Карл. Я просто дбав про код третьої сторони, з яким мені може знадобитися колись. Я особисто використовую лише; коментарі. :-)
Ян Воришек

Відповіді:


12

Це не є універсально дійсним G-кодом, і як ним обробляється, залежить від реалізації. Цей стиль коментарів можна використовувати на деяких машинах, але не на всіх.

Спосіб розбору, що застосовувався в Marlin (дуже поширена вбудована програма 3D-принтера), спрацював би добре, якщо рядок коментарів не включав X, Y, Z, E або F символів. Парсер просто шукає перше виникнення X / Y / Z / E / F, а потім намагається розібрати біт тексту, що з’являється після цього символу, у число. Якщо рядок не можна проаналізувати як число, він замість цього значення має значення 0. Наприклад,

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

трактуватиметься як, G0 Y0 Z-5а не як G0 Y10 Z-5, тому що ")" (рядок, що з'являється після першого появи "Y") не розбирає жодне дійсне число. Ваш приклад, як правило, працює добре, оскільки рядок коментарів не містить жодних спеціальних символів.

Марлін підтримує коментарі в кінці рядка, які слід починати з крапки з комою та продовжувати до кінця рядка.

Так працювали в старих версіях Марліна. Новіші версії Marlin мають більш вдосконалений синтаксичний аналіз, але він все ще не буде добре відповідати цим коментарям у стилі дужок. Найкраще їх уникати, оскільки сумісність не гарантується.


Це звучить для мене ще дивніше. Немає коментарів щодо такої поведінки, наприклад у RepRap reprap.org/wiki/G-code#Comments
Jan Vorisek

@JanVorisek Я щойно помітив, що в нових версіях Marlin це дещо інакше. Проте коментарі в стилі дужок не підтримуються.
Том ван дер Занден

1
Ти правий. Просто перевірили кілька парсерів, включаючи Марліна. Я прийшов до висновку, що більшість прошивок 3D-принтера розбирають лише крапки з комою як коментарі. Схоже, круглі дужки є / були? кращий спосіб у фрезерних верстатах з ЧПУ. Я буду дотримуватися крапки з комою, оскільки я найбільше дбаю про 3D друк. Дякуємо за ваш час все
одно

4

Схоже, коментарі всередині дужок не допускаються в численних аналізаторах (наприклад, Марлін). Це, мабуть, справедливо для більшості 3D-принтерів. Класичні фрезерні верстати з ЧПУ без проблем використовують дужки.

Він повинен працювати над принтерами Prusa, як зазначено у їхній Вікі . На жаль, немає слів про вкладення коментарів.

Однак я знайшов коментар на форумах cnczone.com щодо введення коментарів у дужках.

Друковані символи та пробіл у дужках - це коментар. Ліва дужка завжди починає коментар. Коментар закінчується на першій правій дужці, знайденій згодом.

Після того, як ліва дужка розміщена на рядку, перед кінцем рядка повинна з’явитися відповідна права дужка.

Коментарі можуть не вкладатись; це помилка, якщо ліва дужка знайдена після початку коментаря та до кінця коментаря.

Ось приклад рядка, що містить коментар: G80 M5 (stop motion)

Джерело: cnczone.com

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.