Как уйти от медленного lpt-порта?

Soling
Ax0n:

Программа задает станку обработку векторов.

Картина именно такая. Происходит, как бы подстройка средней скорости к профилю пути. Желающие получить головную боль, могут или отключить этот режим или выставить очень крутую характеристику разгона - торможения. Как правило это делают забыв о том, что имеют дело не с виртуальным станком а с вполне реальной железкой. Железка обладает массой, которую надо разогнать и затормозить, учитывая ее инерцию. Несоблюдение условия приводит к фатальным последствиям. Далеко не все станки могут похвастать жесткостью конструкции. Суммарные колебания фрезы в случае жесткого разгона становятся весьма заметными. И если фреза, скажем, 3 - 6 мм диаметром, еще способна выдержать этот экстрим, то для мелкого инструмента, граверов, мелких фреэ, аттракцион со скачками, чаще всего, кончается в мусорном ведре. Да и на качество обработки все это влияет не в лучшую сторону.
Так что винить LPT совершенно не в чем. Границы скорости задает не он. Между ним и заготовкой есть еще вполне реальные замедлители.
😃

Zarko
3D-BiG:

Если система управления с прогнозированием, то исполнение вектора перемещения заканчивается не полным остановом, а с максимальной остаточной скоростью, достаточной для перехода на новый вектор без потери шагов двигателями - такой вариант обработки заданий работает быстрее, чем с полным остановом…

Эта функция называется Look Ahead. Из хобби софта есть у Mach. Вот тут отлично описан принцип работы
www.instankoservis.ru/index.php?option=com_content…

ACB
Zarko:

Эта функция называется Look Ahead. Из хобби софта есть у Mach. Вот тут отлично описан принцип работы
www.instankoservis.ru/index.php?option=com_content…

Тут соверешенно неправильно описан так называемый Look-a-head, в конце каждого кадра ни одна из современных программ (и даже устаревших) не тормозит до нулевой скорости…

Zarko
ACB:

Тут соверешенно неправильно описан так называемый Look-a-head, в конце каждого кадра ни одна из современных программ (и даже устаревших) не тормозит до нулевой скорости…

Вы уверены? Почитайте последний абзац 😉

bolt

LPT давно умер за ненадобностью, а его скорость тормозит операционка. На плаву его держит только халявный Mach.
Скорость обработки, как уже говорилось, зависит от механики. Станок с ШД – это уже движение рывками, компенсирует которые как раз не 100% жесткость конструкции. ‘Look a head’ в данном случае штука практически бесполезная, как и плавный разгон/торможение шаговика. Такой алгоритм хорош для больших станков с сервоприводом, которые имеют не только запас по скорости и моменту, но и ОС по положению.
В традиционной связке CNC-ШД-LPT-Mach-ОС, порт – не самое узкое место.

Zarko
bolt:

LPT давно умер за ненадобностью, а его скорость тормозит операционка. На плаву его держит только халявный Mach.
Скорость обработки, как уже говорилось, зависит от механики. Станок с ШД – это уже движение рывками, компенсирует которые как раз не 100% жесткость конструкции. ‘Look a head’ в данном случае штука практически бесполезная, как и плавный разгон/торможение шаговика. Такой алгоритм хорош для больших станков с сервоприводом, которые имеют не только запас по скорости и моменту, но и ОС по положению.
В традиционной связке CNC-ШД-LPT-Mach-ОС, порт – не самое узкое место.

Look a head применяется для увеличения скорости хода, что непосредственно влияет на плавность хода. Вы неправы, толк с него ОГРОМНЫЙ при работе с сложными объектами.

bolt

Эффект от «Look a head» будет, если используется сервопривод, т.е. двигатель имеет возможность плавно изменить скорость. У ШД скорость проворота на шаг/полушаг постоянна. Шпиндель такого станка уже движется рывками. Снижать скорость подачи при смене направления не имеет смысла. Это увеличит не плавность, а время обработки. И повысить скорость подачи для ШД мы уже не можем, что связано с прочностью конструкции/фрезы и пр.

AlexSpb

bolt
Вы безаппеляционный теоретик?
Если нет,то включите станок,попробуйте включить и выключить Look a head,а потом постите свои опусы.

bolt
AlexSpb:

Вы безаппеляционный теоретик?

Нет, просто пока писал любительскую альтернативу Mach под свой станок, имел возможность оценить места «затыков» и плюсы/минусы разных вариантов ускорить обработку.
Скорость ШД снижается до нуля после каждого шага, принцип работы у него такой. Если не трудно, то поясните, за счет чего у Вас Look a head дает выигрыш и какой 😮

Creolka
bolt:

Скорость ШД снижается до нуля после каждого шага, …

Интересно, а Ваша скорость тоже снижается до нуля после каждого шага, когда Вы гуляете по парку,
ну или в гамазин за водовкой? 😂

Baha
bolt:

Нет, просто пока писал любительскую альтернативу Mach под свой станок, имел возможность оценить места «затыков» и плюсы/минусы разных вариантов ускорить обработку.
Скорость ШД снижается до нуля после каждого шага, принцип работы у него такой. Если не трудно, то поясните, за счет чего у Вас Look a head дает выигрыш и какой 😮

bolt не будь БОЛТОМ, запусти Мач, сравни результаты со своими теоретическими измышлениями.

3D-BiG

Давайте, несколько приуменьшим пыл обсуждений, а то и до оскорблений можно дойти… А здесь Александр задал конкретный вопрос от которого ушли совершенно в сторону и реально больше с теоретическими рассуждениями…
Честно говоря, с Матчем (а также с Typbo CNC) не работал, т.к. занимаюсь обслуживанием и наладкой уже готовых фрезеров (в основном китайского производства и в основном на шаговых приводах), так вот те станки, у которых было торможение по исполнению каждого кадра программы вообще для быстрой обработки не пригодны (и уже давно не наблюдаю этой математики на современных комплектах электроники)… Те у которых есть прогнозирование (обычно это выполнено в дешевых станках через компиляцию G-кода, а не через интерпретацию) но с линейно заданным ускорением на 3D-обработках при подачах 10мм/сек дают 20-30% задержку по времени обработки от теоретически посчитанного, а на 20мм/сек - до 50-60% задержки, в то время как с ускорением заданным S-кривой при 10мм/сек дают 10-15% задержку, а при 20мм/сек - 20-30%… Это типовые данные для станков на шаговых двигателях с ШВП и близких по механике, но в первом случае построенных на комплектах электроники хоть с NC-Studio, хоть 0401, хоть 0501 и 0509, хоть со старой от PCUT, а вторые - работающих на DSP-комплектах электроники от VectorSoft (он быстрый, хотя и есть некоторые проблемы и у него, но при 3D-обработке обычно он дерет все пыше перечисленные)… По сервоприводным станкам что-нибудь подобное сказать не могу, т.к. хоть устанавливал их и работал с ними, но гораздо меньше, чем с шаговыми и статистики еще не набрал…

Soling
bolt:

Шпиндель такого станка уже движется рывками. Снижать скорость подачи при смене направления не имеет смысла. Это увеличит не плавность, а время обработки. И повысить скорость подачи для ШД мы уже не можем, что связано с прочностью конструкции/фрезы и пр.

Не в обиду, но прежде чем писать альтернативу чему то, стоило бы разобраться толком в вопросе.
Задачка для “обдумать”: Каков шаг фрезы за один шаг ШД, если дискрет станка = 0,005мм? ( Для пояснения - ШД - 200 шагов на оборот, шаг винта - 1мм. ) Реально, при использовании микрошагов и понижающей передачи, дискрет может быть и меньше.
Уверенности в правильности безапеляционного заявления о ненужности снижения скорости хватит не больше чем на минуту, проведенную рядом с Мультикамом работающем в жестком режиме. Поверьте на слово: 600 кг портала, рисующие дугу, с легкостью Вас переубедят.
На более мелких станках это на так страшно, хотя и заметно на глаз. Если нет возможности постоять у станка - попросите знакомого очень резко тормознуть разогнанную машину. А сами в этот момент посидите на месте пассажира. Хотя, думаю, Вам придеться самому вести авто. Не думаю что найдуться помошники - мазохисты.
😁
Повышение скорости ограничено одинаково как для ШД, так и для всех остальных приводов. И связано оно в основном с РЕЖИМАМИ РЕЗКИ. Экономия реально возможна только на холостых переходах и за счет их оптимизации.
Как пример с ходу: недавно была задача - отгравировать листы 600мм с шагом 5мм. Арткам, не мудрствуя, просчитал проходы в одну сторону. Начало линий слева, концы справа. Когда его заставили идти змейкой время работы существенно укоротилось.

bolt:

LPT давно умер за ненадобностью, а его скорость тормозит операционка.

Определимся с терминами: LPT - порт выдающий информацию словами в N бит. ВСЕ биты выдаются на линии в единый момент.
Теперь возьмите блок схему любого станка и найдите на ней место где информация о направлении и количестве шагов передается на драйвера двигателей и снимается с датчиков. Соберите эти линии на один разъем и расскажите чем он отличается от разъема LPT?
😃
Упражнение №2: Возьмите характеристики двигателя и сравните время его реакции и длительность импульса, необходимого для его срабатывания.
С нешаговыми дело не лучше. Они тоже инерционны. Так что придеться ждать сигналов от энкодера. Так кто кого тормозит?
Операционка может тормозить в том случае, если Вы за одно с обработкой погоняете на симуляторе, или фильмец от скуки закрутите. Нормальная операционка ДЛЯ СТАНКА очищена от всяких приблуд и красивостей и работает ТОЛЬКО на станок!

hanter

чем отличается спор мудреца с “теоретиком”… БОЛТ - учите матчасть… ничего личного…

maxvovk
bolt:

Нет, просто пока писал любительскую альтернативу Mach под свой станок, имел возможность оценить места «затыков» и плюсы/минусы разных вариантов ускорить обработку.
Скорость ШД снижается до нуля после каждого шага, принцип работы у него такой. Если не трудно, то поясните, за счет чего у Вас Look a head дает выигрыш и какой 😮

Бред пишете.
Даже у ротора ненагруженного ШД есть момент инерции. Не говоря уже о нагруженном на портал. У примитивных дешевых китайских станков ЛукАхеада нет - такой станок есть у меня на производстве. И когда я вижу, с какими звуками он меняет траекторию при ее изменении на 90 градусов… На это смотреть и это слушать нельзя. Его спасают только шаговики 110 размера длиной 205 и шестерня-рейка с предварительным редуктором (читать - большой запас по мощности). И все равно не смотря на все это, шаги он теряет, портал иногда клинит по Х.
Серво тоже не панацея. В вышеупомянутой статье все действительно очень доходчиво и главное - правильно - написано. И даже 2-х киловаттный серво не успевает затормозить портал и уходит - пусть в рамках заданного допуска - с траектории.
Так что путей три. Глупый - тупо повышать запас момента приводов до ХХ-крат. Простой, но не рациональный - понижать скорость. И правильный - как можно более глубокий анализ траектории с правильно заполненной таблицей ускорений-торможений по всем осям.
А по поводу вашей “альтернативы”… Не один десяток людей принимал участие в разработке всем известной LinuxCNC, и даже спустя 9 лет разработки в ней есть свои тонкости. И даже Мач профессионалы считают доморощенной поделкой, несмотря на то, что разработчик посвящает ей все свое время. И лично для меня много значит то, что вышеупомянутые системы уже претерпели полное переписывание ядра.
И здесь, на форуме, уже довольно много очень продвинутых людей, которые ваши посты воспринимают (понимать правильно - чисто с высоты своего многолетнего опыта) как очередные экзерсисы очередного новичка-дилетанта.
Уж извините за прямоту, но тяжелая рабочая неделя, пятница, коньяк… 😉

3D-BiG
maxvovk:

… У примитивных дешевых китайских станков ЛукАхеада нет - такой станок есть у меня на производстве. И когда я вижу, с какими звуками он меняет траекторию при ее изменении на 90 градусов… На это смотреть и это слушать нельзя. Его спасают только шаговики 110 размера длиной 205 и шестерня-рейка с предварительным редуктором (читать - большой запас по мощности). И все равно не смотря на все это, шаги он теряет, портал иногда клинит по Х.

Уж извините за прямоту, но тяжелая рабочая неделя, пятница, коньяк… 😉

maxvovk:
по поводу отсутствия прогнозирования в дешевых китайских станках вы заблуждаетесь - да и пример привели в корне некорректный - при повороте на 90 градусов предсказывай - непредсказывай скорость по одной из осей в момент поворота будет ноль по любому!!!А по поводу смотреть и слушать да и потери шага на поворотах и клининения по оси - это похоже не выставлены корректно ускорения на станке (задраны больше необходимого) или проблемы с механикой - могут быть местные перекосы и повышенное трение - решатся регулировкой и ТО…
А коньячок по пятницам - это хорошо - даже по доброму позавидовал, т.к. сам такое в эти выходные себе позволить не могу - рабочая неделя еще не кончилась - собираю сильно побитый при перевозке маленький “дешевый китайский станок”(убили в хлам малыша) к краснопресненской выставке - другой уже поздно везти, а выставлять надо, но рабочий, а не груду обломков… 😦

spike
3D-BiG:

maxvovk:
… при повороте на 90 градусов предсказывай - непредсказывай скорость по одной из осей в момент поворота будет ноль по любому!!!..

а если отрезки образующие угол 90° сами под углом к приводам? 😉

spike

3D-BiG, пожалуй Вы правильно написали - при угле 90°, в любом случае, станок должен замедлиться до скорости, при которой привод спокойно может изменить направление.

bolt

Спасибо, за пояснения! Если можно, то про S-кривую подробнее, pls.
Прогнозирование позволяет лишь СНИЗИТЬ скорость обработки, повышая плавность хода. Здесь, imho, возражений нет.
Управление каждым шагом – еще один способ снизить скорость. Но, по сравнению с ограничениями механики, особенно «кривой», – это мелочи.

Soling
spike:

3D-BiG, пожалуй Вы правильно написали - при угле 90°, в любом случае, станок должен замедлиться до скорости, при которой привод спокойно может изменить направление.

Зачем же так ограничиваться?
😁
Строго говоря, при любом изменении направления возникают моменты сил, которых иметь, по хорошему не хотелось бы. И прямая зависимость их возрастания - вплоть до 180 гадусов. Самый злобный случай - гравировка поверхности “змейкой”. Шаг такой гравировки, как правило, мал. И портал не успевает погасить инерцию. А двигун уже тащит его в другую сторону.
К стати… момент никак не зависит от угла по отношению к осям. Играет роль угол изменения направления.
😁 😁 😁

spike
Soling:

К стати… момент никак не зависит от угла по отношению к осям. Играет роль угол изменения направления.
😁 😁 😁

😒
Играет роль изменение скорости привода, т.е. ускорение привода. А обработка траектории с углом 90° (все равно как ориентированного по отношению к приводам), влечет за собой изменение знака скорости привода. При регулировании скорости с LookAhead разницы, между обработкой траектории с углом 90° или 180°, для приводов нет никакой - переход через 0 скорости осуществляется с допустимым ускорением. В этом и суть и задача алгоритма LookAhead.
А вот при обработке углов меньших 90° перехода через 0 скорости привода может не быть - соответственно скорости в конце кадра могут быть выше - за счет этого общее время обработки может быть существенно уменьшено. Особенно LookAhead помогает при криволинейной обработке, при задании кривой отрезками прямых.
З.Ы.: вышесказанное - о 2D-обработке, про 3D - надо подумать (об углах траектории, относительно скорости приводов - все то же)…