Плазморез со смарт-вентиляцией

Лазерные, плазменные станки, газо- и водорезки, плоттеры.
Аватара пользователя
mycnc
Мастер
Сообщения: 913
Зарегистрирован: 03 июл 2011, 02:01
Репутация: 623
Контактная информация:

Re: Плазморез со смарт-вентиляцией

Сообщение mycnc »

UAVpilot писал(а): Т.е. в позиции X0Y0 сигналы появятся на двух выходах (один для X и один для Y). Как по ним включить одну угловую секцию? Городить отдельную логику на реле или ещё на чём?
Обычное матричное включение. На каждую секцию приходит два сигнала. Включается она , когда присутствуют оба. Вроде никакую логику городить не надо.
При этом выходов используется не (6*2=12), а (6+2=8).
Но я понимаю, что вам ваше решение нравится больше, я спорить не буду.

UAVpilot писал(а):
mycnc писал(а):Кстати, в LinuxCNC, если остановить выполнение в середине кадра круговой интерполяции, можно продолжить с этой точки (середины кадра), нажав "start" ?
Для плазменной резки очень актуально.
В данной реализации (средствами конфигурирования) сделано так, что если дуга погаснет в любом месте, то станок автоматом выполнит поиск металла, поджиг дуги и продолжит с прерванного места.
Очень интересно. Можно подробнее?
Дуга погасла в середине фланца диаметром 1 метр. Сработал датчик дуги и машина остановилась (на середине кадра). Резак отвели вручную к оператору, он поменял расходники. Дальше нажал кнопку "возврат" - резак уехал в точку, где оборвалась дуга. Нажал "пуск" - сработала система начального позиционирования (IHC - Initial Height Control), поджиг дуги и машина поехала дальше резать с середины кадра.

Это имееется ввиду? Просто не понял, что такое "автоматом выполнит поиск металла" ?
И все-таки - сможет LinuxCNC стартовать с середины кадра круговой интерполяции? (Если да, то очень интересна реализация. Насколько я знаю, раньше этого не было).

UAVpilot писал(а): Если остановить кнопкой пауза, то дорежет текущий кадр и остановится. Продолжить можно будет либо со след. кадра, либо с любого другого, причем поиск металла и поджиг дуги произойдёт автоматически, если дуга в этот момент гореть не будет.

Для моих заказчиков такое не подойдет. Если пошло непрорезание, двойная дуга или еще какая фигня, то останавливать надо сразу, а не ждать, когда дорежет текущий кадр. И стартовать потом надо прямо с этой точки.
Аватара пользователя
ukr-sasha
Мастер
Сообщения: 3401
Зарегистрирован: 21 мар 2011, 07:47
Репутация: 2180
Настоящее имя: Украинец Александр Григорьевич
Откуда: Киев, Украина
Контактная информация:

Re: Плазморез со смарт-вентиляцией

Сообщение ukr-sasha »

mycnc писал(а):Если остановить кнопкой пауза, то дорежет текущий кадр и остановится.
Речь о паузе - кадр должен дорезаться.
mycnc писал(а):Если пошло непрорезание, двойная дуга или еще какая фигня, то останавливать надо сразу, а не ждать, когда дорежет текущий кадр.
А это уже аварийный стоп.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5182
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Плазморез со смарт-вентиляцией

Сообщение Serg »

mycnc писал(а):На каждую секцию приходит два сигнала.
Но секция управляется одним сигналом. Есть напряжение - открыто, нет напряжения - закрыто.
mycnc писал(а):Включается она , когда присутствуют оба. Вроде никакую логику городить не надо.
А это разве не логика? :)
mycnc писал(а):Это имееется ввиду? Просто не понял, что такое "автоматом выполнит поиск металла" ?
И все-таки - сможет LinuxCNC стартовать с середины кадра круговой интерполяции? (Если да, то очень интересна реализация. Насколько я знаю, раньше этого не было).
Тут такой задачи не стоит, расходники меняются не в середине кадра, а заранее.
Но реализовать такую возможность не проблема. Сейчас, если дуга гаснет, то поиск металла и поджиг происходит автоматически без участия планировщика траектории (он об этом даже не догадывается), никто не мешает перед очередой попыткой поджига дуги (например если не удалось её поджечь раз за 5) съездить на замену исходников, даже программу не придётся останавливать.
Или даже можно проще - отказаться от G2/G3, для плазмы наличие круговой интерполяции не принципиально.

Считаю на этом можно закончить сравнение LinuxCNC и mycnc в рамках этой темы, тем более, что выбор софта тут уже сделан в пользу LinuxCNC, хотя-бы потому, чтоб не зависеть от единственного человека.
Если очень хочется продолжить, то предлагаю в рамках вот этой темы: Многосевой станок лазерной резки листа и профиля #1 ;)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
mycnc
Мастер
Сообщения: 913
Зарегистрирован: 03 июл 2011, 02:01
Репутация: 623
Контактная информация:

Re: Плазморез со смарт-вентиляцией

Сообщение mycnc »

UAVpilot писал(а):
mycnc писал(а):На каждую секцию приходит два сигнала.
Но секция управляется одним сигналом. Есть напряжение - открыто, нет напряжения - закрыто.
Обычно напряжение на исполнительное устройство (клапан, мотор) подается по двум проводам.
Но если у вас уже нагорожена логическая схема, то конечно будет по-другому

UAVpilot писал(а):
mycnc писал(а): И все-таки - сможет LinuxCNC стартовать с середины кадра круговой интерполяции? (Если да, то очень интересна реализация. Насколько я знаю, раньше этого не было).
Тут такой задачи не стоит, расходники меняются не в середине кадра, а заранее.
Но реализовать такую возможность не проблема. Сейчас, если дуга гаснет, то поиск металла и поджиг происходит автоматически без участия планировщика траектории (он об этом даже не догадывается), никто не мешает перед очередой попыткой поджига дуги (например если не удалось её поджечь раз за 5) съездить на замену исходников, даже программу не придётся останавливать.
Или даже можно проще - отказаться от G2/G3, для плазмы наличие круговой интерполяции не принципиально.

Считаю на этом можно закончить сравнение LinuxCNC и mycnc в рамках этой темы, тем более, что выбор софта тут уже сделан в пользу LinuxCNC, хотя-бы потому, чтоб не зависеть от единственного человека.
Если очень хочется продолжить, то предлагаю в рамках вот этой темы: Многосевой станок лазерной резки листа и профиля #1 ;)
У вас очень непритязательные заказчики, вам сильно повезло.
Отказаться от круговой интерполяции в ЧПУ для плазменной резки и называть остановку в середине кадра аварией - это сильно!
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5182
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Плазморез со смарт-вентиляцией

Сообщение Serg »

mycnc писал(а):
UAVpilot писал(а):

Но секция управляется одним сигналом. Есть напряжение - открыто, нет напряжения - закрыто.

Обычно напряжение на исполнительное устройство (клапан, мотор) подается по двум проводам.
Но если у вас уже нагорожена логическая схема, то конечно будет по-другому
:lol:
какой всётаки неугомонный товарищ...
Расслабтесь уже, ваш ET5 тупо по количеству требуемых выходов не проходит. И по надёжности саппорта.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Плазморез со смарт-вентиляцией

Сообщение nkp »

mycnc писал(а):И все-таки - сможет LinuxCNC стартовать с середины кадра круговой интерполяции? (Если да, то очень интересна реализация. Насколько я знаю, раньше этого не было).
"стартовать" наверно не сможет ("по настоящему")...
но и прерывать интерпретатор в подобной ситуации наверно незачем...
я про jog-while-paused от Michael Haberler
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5182
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Плазморез со смарт-вентиляцией

Сообщение Serg »

nkp писал(а):я про jog-while-paused от Michael Haberler
Тут идея похожая, только иначе сделана.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
mycnc
Мастер
Сообщения: 913
Зарегистрирован: 03 июл 2011, 02:01
Репутация: 623
Контактная информация:

Re: Плазморез со смарт-вентиляцией

Сообщение mycnc »

nkp писал(а):
mycnc писал(а):И все-таки - сможет LinuxCNC стартовать с середины кадра круговой интерполяции? (Если да, то очень интересна реализация. Насколько я знаю, раньше этого не было).
"стартовать" наверно не сможет ("по настоящему")...
но и прерывать интерпретатор в подобной ситуации наверно незачем...
я про jog-while-paused от Michael Haberler
Большое спасибо, было очень интересно посмотреть.

UAVpilot писал(а): :lol:
какой всётаки неугомонный товарищ...
Расслабтесь уже, ваш ET5 тупо по количеству требуемых выходов не проходит. И по надёжности саппорта.
Почему вы так нервничаете?
Продажа в России моих контроллеров для плазменной резки не приветствуется моими коллегами. Поэтому я даже не собирался вам их предлагать. А вот обсудить технические особенности систем применительно к приложению всегда интересно. Особенно с высококлассными специалистами по LinuxCNC. Разумеется, я пересекаюсь с этой системой при общении с другими заказчиками и знать о ней больше мне очень интересно. Жаль, что у вас это вызывает такой негатив.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5182
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Плазморез со смарт-вентиляцией

Сообщение Serg »

Первая проба:
20141227_144604.jpg (7409 просмотров) <a class='original' href='./download/file.php?id=39258&sid=5217ff86d77a52e8bceee5d9ce1f448a&mode=view' target=_blank>Загрузить оригинал (1.74 МБ)</a>
Первый "коммерческий" заказ (сталь 8мм):

http://youtu.be/nXR_MZ4l4ic

(вернее третий, но первые два совсем простенькие были)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
sergey27rus
Почётный участник
Почётный участник
Сообщения: 1146
Зарегистрирован: 15 авг 2013, 07:22
Репутация: 729
Настоящее имя: Сергей
Откуда: Хабаровск Дальний Восток РФ
Контактная информация:

Re: Плазморез со смарт-вентиляцией

Сообщение sergey27rus »

Сергей воду/вытяжку планируешь делать или так и будет на воздухе резать.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5182
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Плазморез со смарт-вентиляцией

Сообщение Serg »

Воды не будет. Вытяжка есть - сосёт вниз. Но в ролике её не заметно т.к. и метал толстый и вентилятору надо мощи добавить - теоретическое предположение, что для одной секции хватит половины мощности оказалось не верным, надо больше. Тут уже не стали перенастраивать, решили пусть так дорежет.
Уже очень домой хотелось. :)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
aftaev
Зачётный участник
Зачётный участник
Сообщения: 34042
Зарегистрирован: 04 апр 2010, 19:22
Репутация: 6192
Откуда: Казахстан.
Контактная информация:

Re: Плазморез со смарт-вентиляцией

Сообщение aftaev »

UAVpilot, если бы конфиги выложил было бы вообще класс :)
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5182
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Плазморез со смарт-вентиляцией

Сообщение Serg »

Конфиги сначала нужно отладить и "причесать".
Да и кому интересно к каким контактам у нас подключены какие датчики?.. Или тебе интересно как сигнал от концевика передается компоненту axis?.. Помоему это все сами могут изобразить.
Я лучше буду рассказывать отдельно по узлам/частям, по которым пришлось разрабатывать какие-то решения, отличные от обычных.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
aftaev
Зачётный участник
Зачётный участник
Сообщения: 34042
Зарегистрирован: 04 апр 2010, 19:22
Репутация: 6192
Откуда: Казахстан.
Контактная информация:

Re: Плазморез со смарт-вентиляцией

Сообщение aftaev »

Запустить у себя на компе, скрины посмотреть. Там что то про ТНС видно на скринах ;)
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5182
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Плазморез со смарт-вентиляцией

Сообщение Serg »

На этом станке на оси Х стоят два сервопривода по 1кВт (все приводы модели Panasonic Minas-A5), соотв. для организации подчинённой оси применена кинематика gantrykins. При использовании кинематик, отличных от обычной (trivkins) в axis приходится переключаться между режимами осей и координат: станок можно хомить только в режиме осей, когда каждая управляется отдельно, а работать со станком нужно в режиме координат, чтоб зависимые оси перемещались синхронно. Axis в этом плане сделан несколько неудобно и эти режимы приходится переключать оператору, а он запросто может это забыть и тогда при попытке сдвинуть портал поедет только одна его половина и всё может закончится очень плохо.
Вобщем нужен какой-то механизм, позволяющий переключать режимы axis из вне, точнее и HAL. Очевидный способ - добавить в axisui специальные HAL-пины для этого. Подобных решений существует вагон и маленькая тележка, но все они требуют изменения оригинального кода axis. Лично я считаю (не по "религиозным" мотивам, а лишь из желания не создавать на ровном месте лишних проблем по дальнейшему сопровождению), что править исходники можно только тогда, когда не существует других вариантов. Данный случай - не исключение.

Весь дополнительный код размещён в отдельном файле, аналог которого многие знают под именем ~/.axisrc Я его обозвал аналогом потому, что ~/.axisrc будет загружаться при запусле любой конфигурации, а мне этого не надо. В axis и на этот случай предусмотрен соотв. механизм: в ini в секции DISPLAY можно указать вот такой параметр:

Код: Выделить всё

USER_COMMAND_FILE = ./axisrc
который в данном случае заставит axis загрузить вместо ~/.axisrc указанный файл (axisrc из каталога с ini-файлом).

Ну и закуску содержимое ./axisrc: добавляются пины axisui.user.mode.teleop, axisui.user.mode.joint и axisui.user.mdi-disable, полагаю по их названию понятно что они делают.
axisrc.gz
(512 байт) 1203 скачивания
пример использования:

Код: Выделить всё

net machine-homed-pulse => axisui.user.mode.teleop
net machine-unhomed => axisui.user.mdi-disable
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5182
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Плазморез со смарт-вентиляцией

Сообщение Serg »

aftaev писал(а):Запустить у себя на компе, скрины посмотреть. Там что то про ТНС видно на скринах ;)
Это можно посмотреть и без конфигов и без плат Mesa, без которых эти конфиги не запустятся:
THC.png (7317 просмотров) <a class='original' href='./download/file.php?id=39352&sid=5217ff86d77a52e8bceee5d9ce1f448a&mode=view' target=_blank>Загрузить оригинал (91.53 КБ)</a>
:)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
aftaev
Зачётный участник
Зачётный участник
Сообщения: 34042
Зарегистрирован: 04 апр 2010, 19:22
Репутация: 6192
Откуда: Казахстан.
Контактная информация:

Re: Плазморез со смарт-вентиляцией

Сообщение aftaev »

UAVpilot, справа панельку ты делал?
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5182
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Плазморез со смарт-вентиляцией

Сообщение Serg »

Да, но за основу взял где-то давно стыренную.

На досуге хочу попробовать gmocappy прикрутить.
gplasma.png (7287 просмотров) <a class='original' href='./download/file.php?id=39372&sid=5217ff86d77a52e8bceee5d9ce1f448a&mode=view' target=_blank>Загрузить оригинал (131.01 КБ)</a>
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
aftaev
Зачётный участник
Зачётный участник
Сообщения: 34042
Зарегистрирован: 04 апр 2010, 19:22
Репутация: 6192
Откуда: Казахстан.
Контактная информация:

Re: Плазморез со смарт-вентиляцией

Сообщение aftaev »

:good:
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5182
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Плазморез со смарт-вентиляцией

Сообщение Serg »

Этот станок выявил ещё одну проблему LinuxCNC:

Портал здесь большой, приводится в движение двумя сервами (по 1кВт), естественно, что в нём имеются некоторые внутренние напряжения, в том числе и от изменения окружающей температуры. Эти напряжения всё время пытаются изогнуть портал самым замысловатым образом, от чего он в свободном состоянии стремится встать немного косо (неперендикулярно оси X).
При выполнении поиска начал эта "косость" естественно выправляется, добавляя внутренних напряжений порталу. Всё работает хорошо, пока сервы находятся в режиме удержания заданной позиции.
Но стоит выключить станок по F2 или случись нажать E-Stop, как сервы "ослабляют хватку" и портал занимает своё любимое косое положение.
Если теперь попытаться включить станок находясь в "world mode" или включить в "joint mode" и попытаться переключиться в "world mode" произойдёт следуюющее: Т.к. axis.N отслеживает позицию сдвоенной оси по сигналу feedback только одной из осей, то при включении кинематика gantrykins на входе получит в качестве "задания" текущую позицию этой оси и честно выполнит свою работу, а именно установит в качестве заданию такую-же позиции и для второй оси (помним, что она уехала при выключении). В результате, всего за один сервоцикл заданная позиция сервы изменится на несколько милиметров, PID, узрев различие между заданной позицией и фактической честно попытается сравнять их во всю "дурь" сервопривода, не взирая на ограничения скорости в INI. В результате получим резкий скачёк половины портала с феерическим грохотом и прочими спецэффектами.

В принципе этого можно избежать, если оператор прежде чем включить станок убедится что переключился в "joint mode", а сразу после включения выполнит хоминг. Но где вы видели оператора, который не ошибается?.. Изначально я попытался решить это способом, описанным чуть выше, но оказалось, что нужно "по каждому чиху" делать UnHomed осям и заставлять оператора идти правильным путём пытаясь не дать ему ошибиться. Как говориться - решение через задницу...

В последствии было применено другое решение: на HAL создан несложный автомат, который отслеживает момент включения станка с "захомленными" осями - если при этом обнаруживается разница в позициях моторов, то задание от axis.N к pid.N подается не напрямую, а через компонент limit3 до тех пор, пока позиции осей не сравняются. Натурные испытания показали, что это простое и надёжное решение.
Прилагаю кусок HAL-конфига этого решения (это не готовый конфиг, а всего-лишь выдержки из него!):

Код: Выделить всё

net x1-pos-cmdl     => pid.x1.command
net x1-vel-fb       => pid.x1.feedback-deriv
net x1-pos-fb       => pid.x1.feedback

net x1-pos-cmd    axis.0.motor-pos-cmd
net x1-enable     axis.0.amp-enable-out

net x1-pos-cmd      => limit3.x1.in
net x1-pos-cmdl     <= limit3.x1.out comp.xalign.in0
net align.off       => limit3.x1.load
setp limit3.x1.maxv   [AXIS_0]ALIGN_VELOCITY
setp limit3.x1.maxa   [AXIS_0]ALIGN_ACCELERATION

net x1-pos-fb               =>  axis.0.motor-pos-fb


net x2-pos-cmdl     => pid.x2.command
net x2-vel-fb       => pid.x2.feedback-deriv
net x2-pos-fb       => pid.x2.feedback

net x2-pos-cmd    axis.3.motor-pos-cmd

net x2-pos-cmd      => limit3.x2.in
net x2-pos-cmdl     <= limit3.x2.out comp.xalign.in1
net align.off       => limit3.x2.load
setp limit3.x2.maxv   [AXIS_3]ALIGN_VELOCITY
setp limit3.x2.maxa   [AXIS_3]ALIGN_ACCELERATION

net x2-pos-fb               =>  axis.3.motor-pos-fb


# align x
setp comp.xalign.hyst 0.1
setp lut5.align.function 0x40
net align.equalx comp.xalign.equal => lut5.align.in-0
net is-teleop halui.mode.is-teleop => lut5.align.in-1 not.teleop.in
net machine-is-off                 => lut5.align.in-2
net align.set lut5.align.out => flipflop.align.reset
net is-teleop-not not.teleop.out => flipflop.align.set
net machine-is-on => flipflop.align.data
net align.equalx  => flipflop.align.clk
net align.off <= flipflop.align.out
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Ответить

Вернуться в «Лазерные, плазменные и другие раскроечные станки»