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

Creolka
Александр=:

… вот едет каретка по х со скоростью 2м/мин. Как сделать так, чтобы на середине пути при наезде на команду М3 шпиндель включился и при этом каретка в момент включения не останавливалась и не спотыкалась на этом, а как ехала так бы и продолжала ехать дальше.

Весьма своеобразное изречение: при наезде на команду М3 😂
На команду нельзя “наехать”.

В программном управлении существуют приоритеты.
М1/3/5 и т.д. имеют высший приоритет над G, по этому
выполняются сначала они, и ни с того ни сего просто так
на половине пути шпиндель или ещё чего не включится.
Если Вам надо на половине пути включить что либо командой М3,
то прописывается это в УП. Скорость при этом не играет абсолютно
никакой роли.
На практике это выглядит так:


G1 x-150 F2000
x-300 M3

И если у Вас на отработку команды М3 не установлена задержка,
то всё включится в положеном месте и практически без задержки.

Александр=

спасибо за ответ, только непонятено пока.
а чем ваш пример отличается от обычного кода где будет задержка? вроде все как обычно.
и кстати - как убрать задержку программную (если она вдруг есть) в TurboCNС?

Creolka

Про “турбу” не скажу, не знаю.
Наверное где-то в настройках.


G1 x-150 F2000
M3
G4 P1.5… задержка полторы секунды.
G1 x-300

Ax0n
Soling:

Максимальная скорость перемещения всегда ограничивается механикой. Зависит она от масс порталов, от характеристик двигателей, даже от схемы приводов. Разогнать сами двигатели, задача не серьезная. Вот тут, во второй части, доводы против этого занятия.
Разгон
При настройке станка добиваются режимов в которых вся система работает устойчиво. Без пропуска шагов, рывков и … не дай бог, резонансных раскачек. Делается это в программе управления. Для компа любой из станков - всего лишь медленно работающее внешнее устройство. При чем: ну очень очень медленное.
Не забывайте - двигателю нужно не только дать какой то импульс, но и продержать этот импульс достаточное время. Иначе двигун просто не успеет шагнуть. И время это на порядки отлично от скорости смены инфы в регистре порта.
Если так уж надо - залезте в настройки проги управления и посмотрите что там прописано. В Маче менять можно все.
В частности - максимальные скорости рабочих проходов и масимум при переходе.

Программа задает станку обработку векторов. При этом каждый новый вектор исполняется так:-разгон с ускорением до некоторого времени, которое рассчитывается так, чтобы к завершению выполнения вектора станок мог остановиться в конечной точке вектора. Это если векторы короткие. Если векторы длинные, то разгон идет до максималой заданной скорости. Поэтому сложныая траектория,которая состоит из большого количества коротких векторов выполняется медленно, станок просто не успевает разогнаться на каждов отдельном векторе, как надо затормозить, закончить его и начать новый.

3D-BiG
Ax0n:

Программа задает станку обработку векторов. При этом каждый новый вектор исполняется так:-разгон с ускорением до некоторого времени, которое рассчитывается так, чтобы к завершению выполнения вектора станок мог остановиться в конечной точке вектора. Это если векторы короткие. Если векторы длинные, то разгон идет до максималой заданной скорости. Поэтому сложныая траектория,которая состоит из большого количества коротких векторов выполняется медленно, станок просто не успевает разогнаться на каждов отдельном векторе, как надо затормозить, закончить его и начать новый.

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

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

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