ВОПРОС Вопросы по оптимизации G-кода

мой станок имеет 160шагов на мм(лазер) это значит 1 шаг =0,00625мм
Если мне нужно сделать один шаг от Х0 то я могу так и написать, Х0.00625 и контроллер сделает шаг , а могу написать Х0.006 и контроллер сделает расчёт до ближайшего и сделает шаг. В первом случае дольше читать и распознавать, во втором считать. Что по времени оптимальнее?
Указать то укажешь 0.006, а шагнет то, по любому, на 0.00625, дискретность то никуда не денется.
 
Ещё нюанс оптимизации. Было:
G1X132.685Y119.178 G1Z-2.000F200.0 G1X132.685Y78.978F500.0 G1Z-0.600 G1X132.685Y70.803 G1Z-2.000F200.0 G1X132.685Y30.604F500.0 G1Z-0.600 G1X132.685Y22.429 G1Z-2.000F200.0 G1X132.685Y17.872F500.0

Стало:
F500
G1 X132.685 Y119.178
Z-2 F200
Y78.978
Z-0.6
Y70.803
Z-2 F200
Y30.604
Z-0.6
Y22.429
Z-2 F200
Y17.872
Команда F500 в начале блока является модальной и действует до окончания УП. Команда F200 действует только в кадре. Координата Х с одинаковым значением не указывается в каждом кадре, т.к перемещение происходит только по У.
 
  • Последнее редактирование:
Последнее редактирование:
Команда F500 в начале блока является модальной и действует до окончания УП. Команда F200 действует только в кадре.
Это не для GRBL, здесь нет понятия глобальной установки подачи. Любое изменение F и S, в кадре или за кадром ( отдельно), в GRBL воспринимается модально. Не поленился проверил, забил этот кусочек в Candle. Немодально (в кадре) воспринимается только относительные/абсолютные координаты (G90/G91) и изменение координатной плоскостной системы (G17, G18, G19).
 
Это не для GRBL, здесь нет понятия глобалбной установки подачи. Любое изменение F и S, в кадре или за кадром ( отдельно), в GRBL воспринимается модально. Не поленился проверил, забил этот кусочек в Candle.
Возможно от версии кренделя зависит. У себя не проверял, утверждать не буду.
 
Фиолетово. Ибо механическое передвижение гораздо медленнее чем скорость расчёта микроконтроллера.
К таким сообщениям следует добавлять IMHO — сокращение от in my humble opinion «по моему скромному мнению»
Я это пишу не с целью обидеть. А дабы не вводить в заблуждение остальных делая такие безапелляционные утверждения.
 
К таким сообщениям следует добавлять IMHO — сокращение от in my humble opinion «по моему скромному мнению»
Я это пишу не с целью обидеть. А дабы не вводить в заблуждение остальных делая такие безапелляционные утверждения.
Поясните. В чём заблуждение?
 
Указать то укажешь 0.006, а шагнет то, по любому, на 0.00625, дискретность то никуда не денется.
Я именно так и написал, и отсюда вопрос, что быстрее обработается, написать полный шаг, или урезаный?
 
Я именно так и написал, и отсюда вопрос, что быстрее обработается, написать полный шаг, или урезаный?
Думаю, если делать округление с уменьшением разрядности, может набегать ошибка. Без округления, таки, код Брезенхема (а он заложен и в дискретных делах обязателен) вернет всё на круги своя и накопления ошибки не произойдет.
 
К таким сообщениям следует добавлять IMHO — сокращение от in my humble opinion «по моему скромному мнению»
Я это пишу не с целью обидеть. А дабы не вводить в заблуждение остальных делая такие безапелляционные утверждения.
Не следует. Программные вычисления производятся на более высокой скорости, нежели происходит механическое движение. Вычисление занимает гораздо меньше времени.
 
Поясните. В чём заблуждение?
Вы делаете утверждение, не подтверждая его никакими числами, расчётами и ссылками. Значит это ваше личное мнение основанное на личном опыте. Мой опыт говорит об обратном. Скорость вычислений очень важна. Я же неспроста задался вопросом оптимизации.
 
  • Последнее редактирование:
Последнее редактирование:
Вы делаете утверждение, не подтверждая его никакими числами, расчётами и ссылками. Значит это ваше личное мнение основанное на личном опыте.
А опыт не может опираться на ранее произведенные расчеты?
Даже навскидку: с какой частотой работает МК? Сколько тактов нужно, чтобы обсчитать количество импульсов? И сколько времени нужно, чтобы ШД провернулся на заданный угол?
А вот, действильно ИМХО:
Вы не с той стороны смотрите на оптимизацию. Оптимизация, понятие достаточно обширное. Тут не только время, затраченное МК на расчеты (тоже играет роль, но третьестепенную). Важнее создать компактный код, без лишних телодвижений, с минимальным размером, без указания лишних координат и команд. Тогда и МК будет обсчитывать гораздо быстрее, ибо расчеты упростятся.
 
Вы делаете утверждение, не подтверждая его никакими числами, расчётами и ссылками. Значит это ваше личное мнение основанное на личном опыте. Мой опыт говорит об обратном. Скорость вычислений очень важна. Я же неспроста задался вопросом оптимизации.
У Вас есть сомнения что микроконтроллер работает на несколько порядков быстрее механики?
 
А опыт не может опираться на ранее произведенные расчеты?
может, если опыт всеобъемлющ. (во как завернул :D)
Вы сможете утверждать что работали на ВСЕХ станках во ВСЕХ режимах?
 
К таким сообщениям следует добавлять IMHO — сокращение от in my humble opinion «по моему скромному мнению»
Я это пишу не с целью обидеть. А дабы не вводить в заблуждение остальных делая такие безапелляционные утверждения.
И не надо мне указывать, что добавлять а что не добавлять. Тем более с расшифровкой. Я по Вашему дебил?
Я принял сие за оскорбление.
 
Мой опыт говорит об обратном. Скорость вычислений очень важна. Я же неспроста задался вопросом оптимизации.
16 МОПС это не понюшка табаку, минимальное время шага около 30 мкС, за это время контроллер сделает около 480 тактов, что более чем достаточно.
 
Сверху Снизу