ВОПРОС Вопросы по оптимизации 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 тактов, что более чем достаточно.
 
Сверху Снизу
Обнаружен блокировщик рекламы AdBlock

МЫ ДОГАДЫВАЕМСЯ, ЧТО РЕКЛАМА ВАС РАЗДРАЖАЕТ!

Конечно, Ваше программное обеспечение для блокировки рекламы отлично справляется с блокировкой рекламы на нашем сайте, но оно также блокирует полезные функции. Мы стараемся для Вас и не обязываем Вас донатить и скидывать денег на наши кошельки, чтобы пользоваться форумом, но реклама это единственное, что позволяет поддерживать проект и развивать его.

Спасибо за Ваше понимание!

Я отключил свой AdBlock    Нет, я не буду ничего отключать