LinuxCNC S-разгон и торможение

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
sidor094
Мастер
Сообщения: 826
Зарегистрирован: 20 фев 2014, 09:13
Репутация: 81
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: LinuxCNC S-разгон и торможение

Сообщение sidor094 »

Суть в том ,что система чпу может синхронизировать оси только с чем нибудь одним.Либо с какой нибудь своей внутренней тактовой частотой либо с энкодером стоящем на какой нибудь самостоятельной от системы оси.В первом случае можно строго задать скорость резания так как скорость движения осей синхронна с кварцованной частотой системы.Во втором случае скорость резания будет меняться вмести со скоростью движения оси по которой синхронизируются остальные оси.В случае когда шпиндель является еще одной координатой системы чпу(привод шпинделя такой же по точности как и привода остальных осей мы можем вернуться к первому варианту(синхронизация по внутренней системе тактирования системы чпу).Но в любом случае скорости осей зависят только от одного тактирования а не от отставания отдельных осей.Синхронизация всегда одна а не несколько.
Аватара пользователя
merkwurdigliebe
Мастер
Сообщения: 609
Зарегистрирован: 17 дек 2013, 22:14
Репутация: 580
Откуда: București
Контактная информация:

Re: LinuxCNC S-разгон и торможение

Сообщение merkwurdigliebe »

sidor094 писал(а):В случае когда шпиндель является еще одной координатой системы чпу(привод шпинделя такой же по точности как и привода остальных осей мы можем вернуться к первому варианту
у мицубиси так и сделано. при rigid tapping шпиндельный усилок переводится из режима управления скоростью в управление позицией. при этом в PID регулятор шпиндельного усилка загружается другой набор коэффициентов из отдельных параметров для того, чтобы подтянуть position loop gain до уровня оси Z и тем самым обеспечить одинаковое отставание от задания. и потом усилкам просто вдувается последовательность координат Z, C - а усилки уже сами (независимо) обеспечивают синхронизм. и контроллеру ЧПУ плевать на обратную связь от них, он только смотрит чтобы далеко они не разбежались, но траекторию он никак при этом не корректирует. может только тормознуть все по превышению ошибки, наверное...

и еще про старые мицубиси meldas. на цифровой шине управления усилками время цикла - 3.55мс. но в пакетах с заданием усилкам передается сразу 4 последовательных точки, для каждых 0.88мс. обратная связь - раз в 3.55мс. т.е. использовать ее для какой-то динамической коррекции контроллеру просто нереально - слишком большая задержка...
Последний раз редактировалось merkwurdigliebe 06 май 2019, 15:43, всего редактировалось 2 раза.
Аватара пользователя
MX_Master
Мастер
Сообщения: 7480
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3101
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: LinuxCNC S-разгон и торможение

Сообщение MX_Master »

СРАЧ, 7-й сезон, 1-я серия (:
Аватара пользователя
merkwurdigliebe
Мастер
Сообщения: 609
Зарегистрирован: 17 дек 2013, 22:14
Репутация: 580
Откуда: București
Контактная информация:

Re: LinuxCNC S-разгон и торможение

Сообщение merkwurdigliebe »

ну... "в интернете кто-то неправ", не можем пройти мимо ;)
Аватара пользователя
Hanter
Мастер
Сообщения: 5414
Зарегистрирован: 27 янв 2012, 14:52
Репутация: 4338
Настоящее имя: Алексей
Откуда: Питер
Контактная информация:

Re: LinuxCNC S-разгон и торможение

Сообщение Hanter »

ээээ.... Дмитрий, давай не будем вырывать фразы из контекста :) конкретный фрагмент был приведен именно для объяснения косяка работы приводов в режиме "мастер-слейв". В первом абзаце там как раз об этом и говорится :) добавлено только что обычно используются ДВА мотора, но ПМАК позволяет использовать в таком режиме до восьми.... и говорится что реально каждый привод имеет СВОЮ независимую сервопетлю. И что реальное положение приводов может отличаться от планируемого. Дальше идет объяснение чем черевато использование приводов в режиме "мастер-слейв". что не так то ?

смотрите - в первом же скриншете дословно сказано - "полная синхронизация"... что не так ? или вы считаете что "полная" может быть "не очень полной" ? :)
Во втором скриншете сказано (подчеркнуто) что это группа приводов объединенная для синхронизированных движений. там же говорится что если синхронизировать не нада - раскидайте их по разным координатным системам...

Вот смотри - я уже приводил блоксхему работы ПМАКа...
Буфер обмена01.gif (1725 просмотров) <a class='original' href='./download/file.php?id=162323&mode=view' target=_blank>Загрузить оригинал (94.81 КБ)</a>
Обрати внимание на вторую колонку.... ПЛАНИРОВАНИЕ ДВИЖЕНИЯ КООРДИНАТНОЙ СИСТЕМЫ.... не отдельных приводов !!! а именно координатной системы... дальше обновление данных с приводов, и выдача команды на привода... и по новый - ПЛС, расчет движения КООРДИНАТНОЙ СИСТЕМЫ....
MX_Master писал(а):СРАЧ, 7-й сезон, 1-я серия (:
Михаил - вот я не пойму - почему чьи то дискуссии на интересные им темы воспринимаются как срач ??? вот даже намека небыло. и я вам об этом не первый раз об этом говорю. или ваши посты о том нужен драйвер на приводе или нет - тоже должны восприниматься как срач ??? Почему люди не могут просто поговорить на интересную для них тему ??? Здесь что - кто-то кого то оскорбляет ? обижает ? или еще что-то ? с моей колокольни - определенному кругу лиц интересно выяснить что реально происходит в системе управления. вам не интересно или вы это знаете? ну дык расскажите нам... :)
При этом я не утверждаю что я на 100% прав. Но я привожу доводы к своей точке зрения, сформированой юзанием определенного железа. и даю ссылки на мануалы. вы можете предложить другие варианты ? в студию...
Опыт - это когда на смену вопросам: "Что? Где? Когда? Как? Почему?" Приходит единственный вопрос: "Нахрена?"
==========================================
фрезерная и токарная обработка на станках с чпу.
Резка, гибка, сварка и порошковая окраса.
Аватара пользователя
MX_Master
Мастер
Сообщения: 7480
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3101
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: LinuxCNC S-разгон и торможение

Сообщение MX_Master »

Вы меня не так поняли, я срач люблю :hehehe: с аргументами и без
Аватара пользователя
merkwurdigliebe
Мастер
Сообщения: 609
Зарегистрирован: 17 дек 2013, 22:14
Репутация: 580
Откуда: București
Контактная информация:

Re: LinuxCNC S-разгон и торможение

Сообщение merkwurdigliebe »

Hanter писал(а): и говорится что реально каждый привод имеет СВОЮ независимую сервопетлю. ... что не так то ?
как раз именно все так - каждый привод имеет свою независимую сервопетлю :) т.е. величина рассогласования одного мотора не оказывает влияния на остальные. несмотря на "полную синхронизацию" ;)
Обрати внимание на вторую колонку.... ПЛАНИРОВАНИЕ ДВИЖЕНИЯ КООРДИНАТНОЙ СИСТЕМЫ.... не отдельных приводов !!! а именно координатной системы... дальше обновление данных с приводов, и выдача команды на привода... и по новый - ПЛС, расчет движения КООРДИНАТНОЙ СИСТЕМЫ....
ну да, планирование. но его можно запланировать сегодня, а передать приводам завтра в виде последовательности векторов координат. и все будет синхронно, в пределах возможностей сервоприводов :)
Аватара пользователя
Lexxa
Мастер
Сообщения: 2703
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 319
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

Re: LinuxCNC S-разгон и торможение

Сообщение Lexxa »

merkwurdigliebe, невнимательно читается руководство.
Синхронизация не со шпинделем, а с любой другой осью.
И функция lead лишь подтверждает, что даже незапрограммированные прямым образом оси могут синхронизироваться с ведущей.
Мало того, не просто синхронизироваться, а ещё и через мат.функцию.
:bender:
Аватара пользователя
merkwurdigliebe
Мастер
Сообщения: 609
Зарегистрирован: 17 дек 2013, 22:14
Репутация: 580
Откуда: București
Контактная информация:

Re: LinuxCNC S-разгон и торможение

Сообщение merkwurdigliebe »

а где это я сказал что LEAD в sinumerik это про шпиндель? :) я просто поставил похожие функции в разных CNC один ряд.
и у меня нет никаких сомнений, что не участвующие в синхронной интерполяции оси могут вестись хоть по синусу от черта лысого, какие проблемы? вон надысь колхозил в linuxcnc тангенциальное управление. угол поддерживается по касательной к траектории плюс можно задавать отклонение из g-code. и подтюнив усилки вполне себе приемлемо все заработало без каких-либо обратных связей...

еще раз, я утверждаю что в типичных ЧПУ контроллерах если при выполнении
g0 x0 y0
g1 x100 y100
притормозить ось X, то Y не станет замедляться вслед за ней :)
Аватара пользователя
Maxekb77
Мастер
Сообщения: 1658
Зарегистрирован: 05 окт 2013, 00:04
Репутация: 285
Настоящее имя: Максим
Откуда: Екатеринбург
Контактная информация:

Re: LinuxCNC S-разгон и торможение

Сообщение Maxekb77 »

merkwurdigliebe, Да там много чего интересного начинает происходить при написании свои кинематик :)
Аватара пользователя
Lexxa
Мастер
Сообщения: 2703
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 319
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

Re: LinuxCNC S-разгон и торможение

Сообщение Lexxa »

Если притормозить ось X, так, что привод не сможет обеспечить заданную скорость, то
2) привод вывалится в аларм ибо будет полка момента достигнута, время работы в режиме перегрузки превышено допустимое для мотора/усилителя, а скорость не соответствует заданной.
1) ЧПУ скажет, что рассогласование оси превысило максимальное и поэтому аларм
0) какое нибудь сефети ещё раньше все остановит нафиг ибо скорость и позиция не соответствуют расчетным, да ещё и полка момента достигнута.

Теперь, merkwurdigliebe, скажи пожалуйста, какая же ЧПУ позволяет себе ждать задумчивую(заклинившую) ось, до потери пульса (поломки механики, порчи заготовки, пробою сервоуслителя и выходу из строя мотора) не встав при этом в аварию?
Непозволительная роскошь однако.
А вообще-то сервопривод на то и серво, чтобы менять позицию по заданию из ЧПУ за строго регламентированнный такт, называемый тактом интерполяции.
И эта позиция в приводе изменяется каждый сервотакт, который много меньше такта интерполяции.
Так вот, интерполятор расчитывает для каждой оси новую позицию отдельно исходя из управляющей программы и динамических характеристик механики и спараметрированных ускорений и рывков таким образом, чтобы запрограммированная траектория не выходила за допустимую погрешность.
Что тут не ясного?
:bender:
Аватара пользователя
merkwurdigliebe
Мастер
Сообщения: 609
Зарегистрирован: 17 дек 2013, 22:14
Репутация: 580
Откуда: București
Контактная информация:

Re: LinuxCNC S-разгон и торможение

Сообщение merkwurdigliebe »

Lexxa писал(а):Если притормозить ось X, так, что привод не сможет обеспечить заданную скорость, то
2) привод вывалится в аларм ибо будет полка момента достигнута, время работы в режиме перегрузки превышено допустимое для мотора/усилителя, а скорость не соответствует заданной.
1) ЧПУ скажет, что рассогласование оси превысило максимальное и поэтому аларм
0) какое нибудь сефети ещё раньше все остановит нафиг ибо скорость и позиция не соответствуют расчетным, да ещё и полка момента достигнута
ну с этим, наверное, и Hanter согласится. :)

но предположим, что притормозили X на короткое время (но дольше одного цикла интерполятора). так, что
2) момент возрос, но максимальный не достигнут
1) рассогласование выросло, но не превысило лимита
0) все остальные сефети остались в допустимых пределах
отразится ли эта запинка на задании для оси Y?

насколько я понял, Hanter считает, что отразится:
Hanter писал(а):Соответственно железяка которая рулит движением - должна ЗНАТЬ как двигаются все оси. и на основе этой информации подруливать ими. Поэтому контур позиции НЕ должен быть замкнут на усилителе. он должен быть замкнут на железяке которая управляет ВСЕМИ усилителями.
и, дескать, "правильная" железка должна "подрулить" осью Y - притормозить ее, чтобы остаться ближе к прямой.

a я думаю, что никак не отразится. Y как ехала, так и будет ехать, что бы там с X не происходило (пока не случилось общей аварии).
и контур позиции запросто МОЖЕТ быть замкнут на усилителе. и железка, которая рулит ВСЕМИ усилителями совершенно не обязана знать как двигаются все оси. она должна лишь знать как МОГУТ двигаться оси, чтобы спланировать для них траекторию.

я понятно написал суть спора? как я его понимаю... ;)
Аватара пользователя
Lexxa
Мастер
Сообщения: 2703
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 319
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

Re: LinuxCNC S-разгон и торможение

Сообщение Lexxa »

merkwurdigliebe писал(а):2) момент возрос, но максимальный не достигнут
а это значит, что скорость ось Х не потеряла и следовательно нет аварии.

А рассогласование на то и лимитрировано, чтобы вовремя встать на аларм.

p.s.
Траекторные оси
Траекторные оси характеризуются тем, что они интерполируются совместно (все
траекторные оси одного канала имеют общий траекторный интерполятор).
Все траекторные оси одного канала имеют общую фазу ускорения, фазу постоянного
хода и фазу замедления.
И на последок вопрос, merkwurdigliebe как же тогда резьба нарезается? Жесткое нарезание резьбы например?))))
:bender:
Аватара пользователя
merkwurdigliebe
Мастер
Сообщения: 609
Зарегистрирован: 17 дек 2013, 22:14
Репутация: 580
Откуда: București
Контактная информация:

Re: LinuxCNC S-разгон и торможение

Сообщение merkwurdigliebe »

Lexxa писал(а):а это значит, что скорость ось Х не потеряла и следовательно нет аварии.
конечно не значит. чтобы выросло рассогласование должна измениться скорость, по определению.

к чему приведена эта цитата - я не понял. вопрос про резьбу - тоже.
Последний раз редактировалось merkwurdigliebe 07 май 2019, 11:54, всего редактировалось 2 раза.
Аватара пользователя
Hanter
Мастер
Сообщения: 5414
Зарегистрирован: 27 янв 2012, 14:52
Репутация: 4338
Настоящее имя: Алексей
Откуда: Питер
Контактная информация:

Re: LinuxCNC S-разгон и торможение

Сообщение Hanter »

merkwurdigliebe писал(а):ну с этим, наверное, и Hanter согласится.
ну а почему нет то ?? все предельно корректно и в моем понимании соответствует действительности. не вижу даже поводов к возражению.
merkwurdigliebe писал(а):и, дескать, "правильная" железка должна "подрулить" осью Y - притормозить ее, чтобы остаться ближе к прямой.
да, так и должно быть и именно так и будет. Более того - не обязательно при управлении по аналогу. хотя при управлении по аналогу это реализуется на "естественном" уровне. даже Кфлоп при управлении по степ-диру и наличии второго контура позиции, заведенного на контролер умеет сам генерить дополнительные сигналы степ-дир.. чего если следовать вашей логике в принципе не должно быть... :)
merkwurdigliebe писал(а):a я думаю, что никак не отразится. Y как ехала, так и будет ехать, что бы там с X не происходило (пока не случилось общей аварии).
и контур позиции запросто МОЖЕТ быть замкнут на усилителе. и железка, которая рулит ВСЕМИ усилителями совершенно не обязана знать как двигаются все оси. она должна лишь знать как МОГУТ двигаться оси, чтобы спланировать для них траекторию.
я понятно написал суть спора? как я его понимаю...
Дмитрий - суть ясна. Есть "ньюансы".... Вы правильно говорите что контур позиции МОЖЕТ быть замкнут на усилителе. и даже более того - подавляющее большинство "лоу-кост" систем так и работают. та же приведенная вами Мицушка например... Но это не значит что это "идеологически правильное решение"... мы же понимаем что в принципе и на шаговиках народ работает.. и какие то станки на них строят.... Но это решение имеет кучу своих "но" - не превышат нагрузку... не превышать скорости... дешево... и тд и тп... Точно так же и с сервосистемами. Можно строить правильно, а можно съэкономить.
Соответствено если контур позиции замкнут на усилке - контролер просто не имеет информации о том, что реально происходит с осями. он только отдает им команды и по сути только следит за различными алармами.. иногда за нагрузками... Но реальной информации о том что происходит с осями он не имеет. соответствено и влиять как то на движения осей "внутри" отданых команд он физически не может.
Но еще раз повторюсь - это именно простые и бюджетные решения. и я уже неоднократно писал - плясать нада именно от требований к оборудованию. если нас сотка устраивает - при современных энкодерах можно забить на ОС. хватит и контура позиции заведенного на усилок... если мы пойдем дальше - в сторону "пресижн" - то там несколько иные требования. Причем опять же - я тоже говорил уже здесь неоднократно - точность выхода в позицию, и повторяемость размера - это только пол беды.... А вот когда мы озадачимся такой мелочью как "качество поверхности" и "соответствие расчетной траектории" , при этом пройдемся по ней профилометром.... вот тогда вылезет куча вопросов. :)

Если интересно - могу привести такой пример (я о нем тоже уже писал. пару лет наверное назад). когда занимался наукой - была задача точить мелкие отражатели для светодиодов. в принципе я под них свой первый токарный чпу и начинал строить. так вот - на одном и том же железе (тпк125)... один и тот же привод... управляемый по аналогу и по степ-диру - дает совершенно разное качество поверхности. причем эту разницу видно даже глазом. Вопрос - почему ? :) еще более интересный вопрос - почему например "PreOptic" до сих пор, даже при наличии многомилионных энкодеров, работает с аналоговым управлением и обратной связью по резольверам ?? :) просто поинтересуйтесь...
Опыт - это когда на смену вопросам: "Что? Где? Когда? Как? Почему?" Приходит единственный вопрос: "Нахрена?"
==========================================
фрезерная и токарная обработка на станках с чпу.
Резка, гибка, сварка и порошковая окраса.
Аватара пользователя
merkwurdigliebe
Мастер
Сообщения: 609
Зарегистрирован: 17 дек 2013, 22:14
Репутация: 580
Откуда: București
Контактная информация:

Re: LinuxCNC S-разгон и торможение

Сообщение merkwurdigliebe »

Hanter писал(а):да, так и должно быть и именно так и будет. Более того - не обязательно при управлении по аналогу. хотя при управлении по аналогу это реализуется на "естественном" уровне. даже Кфлоп при управлении по степ-диру и наличии второго контура позиции, заведенного на контролер умеет сам генерить дополнительные сигналы степ-дир.. чего если следовать вашей логике в принципе не должно быть...
я понимаю, что интуитивно хочется, чтобы так было. но, имхо, на реальных системах это не так.
как подключаются приводы - по аналогу, пульстрейном, по цифре - это совершенно не важно.
второй контур позиции не в тему, он корректирует только "свою" ось. вне зависимости куда подключен - на усилок или на единый контроллер.

повторюсь, я не исключаю что, возможно, где-то и используется такое глобальное "межосевое" серво управление. но в "обычных" чпу системах на обрабатывающих станках прекрасно обходились и продолжают обходиться без него. под обычными я имею ввиду все эти фануки, сименсы, хаасы и т.д.

не согласны - приведите опровергающий пример :) пока я такого не увидел
Аватара пользователя
Hanter
Мастер
Сообщения: 5414
Зарегистрирован: 27 янв 2012, 14:52
Репутация: 4338
Настоящее имя: Алексей
Откуда: Питер
Контактная информация:

Re: LinuxCNC S-разгон и торможение

Сообщение Hanter »

merkwurdigliebe писал(а):не согласны - приведите опровергающий пример пока я такого не увидел
Ну дык я же привел выше диаграмму работы контролера. Расчет позиции ведется для КООРДИНАТНОЙ СИСТЕМЫ. То есть ДЛЯ ВСЕХ включенных в нее приводов... что не так то ???
merkwurdigliebe писал(а):я понимаю, что интуитивно хочется, чтобы так было. но, имхо, на реальных системах это не так.
и хочется.. и так и есть... и я не знаю на каких "реальных станках" это не так, может на Кашках старых с НЦшкой это и не так, увы - я этот "этап" развития чпу упустил :) но из четырех достаточно именитых контролеров - Дельта Тау, паркер, Интеледжент Моушен и Аэротек моушенкомп - все четыре работают именно так.
merkwurdigliebe писал(а):как подключаются приводы - по аналогу, пульстрейном, по цифре - это совершенно не важно.
это принципиально важно. так как петля контура позиции замыкается в разных местах. и если при работе по аналогу контролер может даже банально взять на себя функции коммутации каждого привода, то при работе по степ-диру или цифре - он даже не в курсе че там реально с осью происходит....
Опыт - это когда на смену вопросам: "Что? Где? Когда? Как? Почему?" Приходит единственный вопрос: "Нахрена?"
==========================================
фрезерная и токарная обработка на станках с чпу.
Резка, гибка, сварка и порошковая окраса.
sidor094
Мастер
Сообщения: 826
Зарегистрирован: 20 фев 2014, 09:13
Репутация: 81
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: LinuxCNC S-разгон и торможение

Сообщение sidor094 »

Hanter писал(а):Расчет позиции ведется для КООРДИНАТНОЙ СИСТЕМЫ. То есть ДЛЯ ВСЕХ включенных в нее приводов... что не так то ???
Расчет всегда ведется для всех интерполируемых приводов.Я не вижу где здесь про подстройку скоростей при отставании какого либо привода.
Аватара пользователя
michael-yurov
Почётный участник
Почётный участник
Сообщения: 11639
Зарегистрирован: 26 июл 2012, 00:10
Репутация: 4644
Настоящее имя: Михаил Львович
Откуда: Новоуральск
Контактная информация:

Re: LinuxCNC S-разгон и торможение

Сообщение michael-yurov »

Да, очень бы хотелось увидеть, как при изменении настроек одного из приводов на более "вялые" вся система начинает работать медленнее.
Аватара пользователя
Hanter
Мастер
Сообщения: 5414
Зарегистрирован: 27 янв 2012, 14:52
Репутация: 4338
Настоящее имя: Алексей
Откуда: Питер
Контактная информация:

Re: LinuxCNC S-разгон и торможение

Сообщение Hanter »

michael-yurov писал(а):Да, очень бы хотелось увидеть, как при изменении настроек одного из приводов на более "вялые" вся система начинает работать медленнее
Да ладно! вы реально считаете что если зарезать настройки одного привода то остальные продолжат работать как ни в чем не бывало ??? :hehehe:

Михаил - вот лично вам бы я это даже на опыте продемонстрировал. но увы только в конце месяца...
sidor094 писал(а):Расчет всегда ведется для всех интерполируемых приводов.Я не вижу где здесь про подстройку скоростей при отставании какого либо привода.
Вы задумайтесь над разницей - расчет для системы координат..... и расчет для всех приводов.... :)
Прочитайте внимательно абзац где говорится что "привода объединяются в систему координат для обеспечения синхронизации движений".... если синхронизация движений не нужна - раскидайте привода по разным системам координат......

Просто задумайтесь - ДЛЯ ЧЕГО это сделано ?? учитывая тот факт, что все возможные восемь систем координат обсчитываются ОДНОВРЕМЕННО.... То есть если мы берем три оси, раскидываем каждый привод в свою систему координат, назначаем их осями Х, У, и Z соответственно... они так же одновременно будут обсчитываться... за то же время, с той же скоростью... с той же точность.... Возникает законный вопрос - ЧТО ДАЕТ объединение осей в ОДНУ систему координат.... ?????
Опыт - это когда на смену вопросам: "Что? Где? Когда? Как? Почему?" Приходит единственный вопрос: "Нахрена?"
==========================================
фрезерная и токарная обработка на станках с чпу.
Резка, гибка, сварка и порошковая окраса.
Ответить

Вернуться в «LinuxCNC»