ПО двушпиндельного (многошпиндельного) фрезера
- Ворон226
- Мастер
- Сообщения: 1923
- Зарегистрирован: 01 окт 2012, 18:14
- Репутация: 181
- Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
- Контактная информация:
ПО двушпиндельного (многошпиндельного) фрезера
Собрался ставить второй шпиндель на фрезер с рабочим полем 1800 х 2600 х 200мм.
С механикой сам разберусь, а вот определиться с логикой работы станка и с ПО многошпиндельного варианта попробую публично и с вашей помощью в этой теме.
Постановка задачи.
Собрать конфигурацию многошпиндельного (для начала двушпиндельного) фрезера и подготовить ПО и визуальную панель для управления этим фрезером.
Алгоритм работы.
Думаю, что нужно рассмотреть следующие режимы.
1. Включение станка.
2. Поиск HOME.
3. Установка фрез и калибровка по осям Z1 и Z2.
4. Переход в режим синхронной фрезеровки.
5. Особые случаи.
Есть ли уже отработанные элементы ПО подобных станков?
Тему буду развивать по мере созревания...
С механикой сам разберусь, а вот определиться с логикой работы станка и с ПО многошпиндельного варианта попробую публично и с вашей помощью в этой теме.
Постановка задачи.
Собрать конфигурацию многошпиндельного (для начала двушпиндельного) фрезера и подготовить ПО и визуальную панель для управления этим фрезером.
Алгоритм работы.
Думаю, что нужно рассмотреть следующие режимы.
1. Включение станка.
2. Поиск HOME.
3. Установка фрез и калибровка по осям Z1 и Z2.
4. Переход в режим синхронной фрезеровки.
5. Особые случаи.
Есть ли уже отработанные элементы ПО подобных станков?
Тему буду развивать по мере созревания...
Хочешь быть счастливым? Будь им!
-
aftaev
- Зачётный участник

- Сообщения: 34042
- Зарегистрирован: 04 апр 2010, 19:22
- Репутация: 6194
- Откуда: Казахстан.
- Контактная информация:
Re: ПО двушпиндельного (многошпиндельного) фрезера
на китайских станках этосделано так - есть переключатель галетный который включает либо первую ось Z или вторую или все 2 оси. Включил ты первую ось, поймал высоту, переключился на вторую ось, поймал высоту, потом переключается на синхронную работу. Переключатель включает/выключает степ на оси.
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
- Ворон226
- Мастер
- Сообщения: 1923
- Зарегистрирован: 01 окт 2012, 18:14
- Репутация: 181
- Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
- Контактная информация:
Re: ПО двушпиндельного (многошпиндельного) фрезера
Это слишком просто.
Хочется на панели выставлять расстояние между осями.
Хочется отдельно для каждого шпинделя выставлять начало заготовки.
Хочется реализовать датчик инструмента (кончика фрезы) для каждой оси и автоматический.
Хочется организовать выход в HOME для каждой оси автоматически в начале работы.
Хочется организовать программно отключение одного из шпинделей и получение одношпиндельного фрезера с большим полем работы.
Хочется отработать на двух шпинделях работу четырех-шпиндельного, например, станка
Хочется на панели выставлять расстояние между осями.
Хочется отдельно для каждого шпинделя выставлять начало заготовки.
Хочется реализовать датчик инструмента (кончика фрезы) для каждой оси и автоматический.
Хочется организовать выход в HOME для каждой оси автоматически в начале работы.
Хочется организовать программно отключение одного из шпинделей и получение одношпиндельного фрезера с большим полем работы.
Хочется отработать на двух шпинделях работу четырех-шпиндельного, например, станка
Хочешь быть счастливым? Будь им!
-
aftaev
- Зачётный участник

- Сообщения: 34042
- Зарегистрирован: 04 апр 2010, 19:22
- Репутация: 6194
- Откуда: Казахстан.
- Контактная информация:
Re: ПО двушпиндельного (многошпиндельного) фрезера
вообщем ты секс любишьВорон226 писал(а):Это слишком просто.
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
- Ворон226
- Мастер
- Сообщения: 1923
- Зарегистрирован: 01 окт 2012, 18:14
- Репутация: 181
- Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
- Контактная информация:
Re: ПО двушпиндельного (многошпиндельного) фрезера
Выход в HOME.
Имеем двигатель по X, два двигателя по Y, два двигателя по Z.
Имеем датчик HOME X, два датчика HOME Y1 и HOME Y2, два датчика HOME Z1 и HOME Z2.
Самый простой вариант:
Прописать в INI пять осей.
Сначала выходим в HOME Z1, затем в HOME Z2. Датчики HOME Z1 и HOME Z2 можно включить последовательно на разрыв и подключить к одному входу.
Затем уходим одним шпинделем в один край до датчика HOME Y1, потом вторым шпинделем в другой край до датчика HOME Y2. Датчики HOME Y1 и HOME Y2 также можно включить последовательно на разрыв и подключить к одному входу.
В заключение выходим в HOME X.
Конечно, это несколько долго, но мы получаем два независимых шпинделя (как мне кажется)...
Имеем двигатель по X, два двигателя по Y, два двигателя по Z.
Имеем датчик HOME X, два датчика HOME Y1 и HOME Y2, два датчика HOME Z1 и HOME Z2.
Самый простой вариант:
Прописать в INI пять осей.
Сначала выходим в HOME Z1, затем в HOME Z2. Датчики HOME Z1 и HOME Z2 можно включить последовательно на разрыв и подключить к одному входу.
Затем уходим одним шпинделем в один край до датчика HOME Y1, потом вторым шпинделем в другой край до датчика HOME Y2. Датчики HOME Y1 и HOME Y2 также можно включить последовательно на разрыв и подключить к одному входу.
В заключение выходим в HOME X.
Конечно, это несколько долго, но мы получаем два независимых шпинделя (как мне кажется)...
Хочешь быть счастливым? Будь им!
- vovafed
- Мастер
- Сообщения: 1822
- Зарегистрирован: 08 фев 2013, 16:19
- Репутация: 325
- Настоящее имя: Владимир
- Откуда: башкортостан
- Контактная информация:
Re: ПО двушпиндельного (многошпиндельного) фрезера
уже есть небольшой опыт
http://cnc-club.ru/forum/viewtopic.php? ... 4&start=60
но не очень удачный хотя работает
буду управление переделывать
http://cnc-club.ru/forum/viewtopic.php? ... 4&start=60
но не очень удачный хотя работает
буду управление переделывать
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: ПО двушпиндельного (многошпиндельного) фрезера
Не выйдет c G02 G03 в оси Z работать, хотя это наверное и не нужно...Ворон226 писал(а):Самый простой вариант:
Прописать в INI пять осей.
Сначала выходим в HOME Z1, затем в HOME Z2. Датчики HOME Z1 и HOME Z2 можно включить последовательно на разрыв и подключить к одному входу.
Затем уходим одним шпинделем в один край до датчика HOME Y1, потом вторым шпинделем в другой край до датчика HOME Y2. Датчики HOME Y1 и HOME Y2 также можно включить последовательно на разрыв и подключить к одному входу.
В заключение выходим в HOME X.
Конечно, это несколько долго, но мы получаем два независимых шпинделя (как мне кажется)...
Если будет отдельный home - то надо делать отдельной осью. Если будешь отдельно управлять положением по Y - нужна отдельная ось.
5-осевой наверное оптимальный вариант. Но синхронность будет на базе CAM .
- Ворон226
- Мастер
- Сообщения: 1923
- Зарегистрирован: 01 окт 2012, 18:14
- Репутация: 181
- Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
- Контактная информация:
Re: ПО двушпиндельного (многошпиндельного) фрезера
Об этом и ломаю голову... Наверное 6-ти осевой при выходе в HOME и настройке начальных положений. А при фрезеровке в HAL-е буду переключаться в дубляж осей Y и Z до окончания программы. Далее опять раздельные оси...
Но это только мысли. Уже всю ночь во сне катал станок
Но это только мысли. Уже всю ночь во сне катал станок
Хочешь быть счастливым? Будь им!
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: ПО двушпиндельного (многошпиндельного) фрезера
А как думаешь в hal переключать?Ворон226 писал(а): А при фрезеровке в HAL-е буду переключаться в дубляж осей Y и Z до окончания программы. Далее опять раздельные оси...
Но это только мысли. Уже всю ночь во сне катал станок
Там не совсем тривиально будет, надо либо смещение хранить, либо обратную связь как-то корректировать...
- Ворон226
- Мастер
- Сообщения: 1923
- Зарегистрирован: 01 окт 2012, 18:14
- Репутация: 181
- Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
- Контактная информация:
Re: ПО двушпиндельного (многошпиндельного) фрезера
Так ведь начало программы с нуля и окончание с нуля.
Вышли двумя разными шпинделями в два начала. Определили положение первого шпинделя (Y и Z) как нулевое. Нажали на специальную кнопку визуальной панели, которая включает дублирование сигналов STEP и DIR первого шпинделя на второй.
Запускаем программу обработки детали в координатах X-Y-Z. Вытачиваем ДВЕ одинаковые делали. По окончании программы сбрасываем кнопку дублирования. А шпиндели находятся именно в том месте, в котором они были до включения кнопки дублирования.
Теперь мы можем опять управлять шпинделями раздельно, готовя следующие заготовки к обработке.
Где-то такая логика работы вырисовалась за последние сутки.
Годится?
Вышли двумя разными шпинделями в два начала. Определили положение первого шпинделя (Y и Z) как нулевое. Нажали на специальную кнопку визуальной панели, которая включает дублирование сигналов STEP и DIR первого шпинделя на второй.
Запускаем программу обработки детали в координатах X-Y-Z. Вытачиваем ДВЕ одинаковые делали. По окончании программы сбрасываем кнопку дублирования. А шпиндели находятся именно в том месте, в котором они были до включения кнопки дублирования.
Теперь мы можем опять управлять шпинделями раздельно, готовя следующие заготовки к обработке.
Где-то такая логика работы вырисовалась за последние сутки.
Годится?
Хочешь быть счастливым? Будь им!
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: ПО двушпиндельного (многошпиндельного) фрезера
ИМХО, лучше дублировать axis.N.motor-pos-cmd....Ворон226 писал(а):которая включает дублирование сигналов STEP и DIR первого шпинделя на второй.
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: ПО двушпиндельного (многошпиндельного) фрезера
Ну сигналы там вservo-thread, с ними проще работать, плюс по логике будет правильнее. Плюс будет работать даже с любыми внешними генераторами...
- Ворон226
- Мастер
- Сообщения: 1923
- Зарегистрирован: 01 окт 2012, 18:14
- Репутация: 181
- Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
- Контактная информация:
Re: ПО двушпиндельного (многошпиндельного) фрезера
Хотелось работать с LCNC.
И потом, axis.N.motor-pos-cmd - это выход. Как и с каким сигналом его соединять (смотрел-смотрел в мануале - не нашел).
Например, так:
Первая головка: X-Y-Z
Вторая головка: X-A-B
Какие сигналы куда перенаправить, чтобы вторая головка управлялась сигналами первой (ведь в G-кодах у нас программа трехмерной обработки, т.е. с использованием координат X-Y-Z)?
(как переключить, используя логические компоненты в HAL, я уже представляю
)
И потом, axis.N.motor-pos-cmd - это выход. Как и с каким сигналом его соединять (смотрел-смотрел в мануале - не нашел).
Например, так:
Первая головка: X-Y-Z
Вторая головка: X-A-B
Какие сигналы куда перенаправить, чтобы вторая головка управлялась сигналами первой (ведь в G-кодах у нас программа трехмерной обработки, т.е. с использованием координат X-Y-Z)?
(как переключить, используя логические компоненты в HAL, я уже представляю
Хочешь быть счастливым? Будь им!
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: ПО двушпиндельного (многошпиндельного) фрезера
axis.2.motor-pos-cmd да, это вывод, его надо на stepgen.N.pos-cmd. Собственно переключение будет выглядеть так:
1. запоминаем текущую разницу между координатами Y и A, отключаем от stepgen.3 (А) пины команды и обратной связи (можно через mux) и подключаем пины от оси Z + значение смещения.
2. обратную связь можно суммировать для обоих голов, или брать максимум.
3. при выключении делаем пункт 1, только наоборот. При этом важно выдать предупреждение или заранее проверить, что текущее положение второй головы не изменится, иначе голова рванется к статровой позиции на полной скорости!
Опятьже плюс - стандартный mux работатет с float, а не с bit...
1. запоминаем текущую разницу между координатами Y и A, отключаем от stepgen.3 (А) пины команды и обратной связи (можно через mux) и подключаем пины от оси Z + значение смещения.
2. обратную связь можно суммировать для обоих голов, или брать максимум.
3. при выключении делаем пункт 1, только наоборот. При этом важно выдать предупреждение или заранее проверить, что текущее положение второй головы не изменится, иначе голова рванется к статровой позиции на полной скорости!
Опятьже плюс - стандартный mux работатет с float, а не с bit...
- Ворон226
- Мастер
- Сообщения: 1923
- Зарегистрирован: 01 окт 2012, 18:14
- Репутация: 181
- Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
- Контактная информация:
Re: ПО двушпиндельного (многошпиндельного) фрезера
Ну не из-за mux-а же принимать решение работать с axis.N.motor-pos-cmd ?
Я бы как раз не делал так сложно - ведь многошпиндельный станок приговорен к изготовлению одинаковых деталей.
А вот в режиме многошпиндельной подготовки нужно (вернее не обязательно, но желательно) отслеживать взаимное положение по оси Y, чтобы головы не бились друг в друга... Вот об этом буду думать... Может отдельный компонент сделать, который будет в реальном времени считать разницу координат и, если эта разница будет меньше некоторого значения, оперативно уменьшать скорость движения до полной остановки и выдачи сигнала аварии?
Также хочу сделать оперативное изменение пределов по осиY через визуальную панель. Например, есть заготовки шириной 200 мм. Удобно их располагать поближе. Прописываем в визуальной панели физические границы рабочего поля по Y от 0 до 300мм, например. А при заготовке в 400 мм - от 0 до 500мм. Удобно
Я бы как раз не делал так сложно - ведь многошпиндельный станок приговорен к изготовлению одинаковых деталей.
А вот в режиме многошпиндельной подготовки нужно (вернее не обязательно, но желательно) отслеживать взаимное положение по оси Y, чтобы головы не бились друг в друга... Вот об этом буду думать... Может отдельный компонент сделать, который будет в реальном времени считать разницу координат и, если эта разница будет меньше некоторого значения, оперативно уменьшать скорость движения до полной остановки и выдачи сигнала аварии?
Также хочу сделать оперативное изменение пределов по осиY через визуальную панель. Например, есть заготовки шириной 200 мм. Удобно их располагать поближе. Прописываем в визуальной панели физические границы рабочего поля по Y от 0 до 300мм, например. А при заготовке в 400 мм - от 0 до 500мм. Удобно
Хочешь быть счастливым? Будь им!
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: ПО двушпиндельного (многошпиндельного) фрезера
Зачем отдельный компонент? Можно обойтись стандартным комплектом - поставить на "головы" ещё один концевик, чтоб они "бились" в первую очередь именно им...Ворон226 писал(а):А вот в режиме многошпиндельной подготовки нужно (вернее не обязательно, но желательно) отслеживать взаимное положение по оси Y, чтобы головы не бились друг в друга... Вот об этом буду думать... Может отдельный компонент сделать, который будет в реальном времени считать разницу координат и, если эта разница будет меньше некоторого значения, оперативно уменьшать скорость движения до полной остановки и выдачи сигнала аварии?
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- Ворон226
- Мастер
- Сообщения: 1923
- Зарегистрирован: 01 окт 2012, 18:14
- Репутация: 181
- Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
- Контактная информация:
Re: ПО двушпиндельного (многошпиндельного) фрезера
А концевик будет просто останавливать (запрещать) движение?UAVpilot писал(а):Зачем отдельный компонент? Можно обойтись стандартным комплектом - поставить на "головы" ещё один концевик, чтоб они "бились" в первую очередь именно им...
Я, вообще думал, что при выходе в HOME одна голова будет двигаться до края, а вторая - до первой головы
Хочешь быть счастливым? Будь им!
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: ПО двушпиндельного (многошпиндельного) фрезера
А есть варианты? Хочешь чтоб давал команду на перепрыгивание одной головы другой?Ворон226 писал(а):А концевик будет просто останавливать (запрещать) движение?
Для двух голов лучше HOME сделать в разных концах - меньше погрешность и вероятность столкновения.Ворон226 писал(а):Я, вообще думал, что при выходе в HOME одна голова будет двигаться до края, а вторая - до первой головыКонечно после установки первой в HOME. Можно этот концевик и использовать...
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- Ворон226
- Мастер
- Сообщения: 1923
- Зарегистрирован: 01 окт 2012, 18:14
- Репутация: 181
- Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
- Контактная информация:
Re: ПО двушпиндельного (многошпиндельного) фрезера
Это у меня был первый вариант... А не запутаешься потом? Где у кого плюсы-минусы? Короче - скоро поставим вторую голову и будем кататься... Там быстро идеи проверятся 
Хочешь быть счастливым? Будь им!
