ПО двушпиндельного (многошпиндельного) фрезера
- Ворон226
 - Мастер
 - Сообщения: 1923
 - Зарегистрирован: 01 окт 2012, 18:14
 - Репутация: 181
 - Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
 - Контактная информация:
 
Re: ПО двушпиндельного (многошпиндельного) фрезера
Ещё немного вводных:
LPT - 12 выходов и 4 входа. Значит мы можем подключить шаговики: X, Y1, Y2, Z1, Z2 - 10 выходов. ESTOP, X-home, Y1+Y2home, Z1+Z2-home и всё...
И выход в HOME можно минимизировать по времени так: выходим по Z1, затем вместе в Y1 + Z2, затем Y2+X.
			
			
									
									LPT - 12 выходов и 4 входа. Значит мы можем подключить шаговики: X, Y1, Y2, Z1, Z2 - 10 выходов. ESTOP, X-home, Y1+Y2home, Z1+Z2-home и всё...
И выход в HOME можно минимизировать по времени так: выходим по Z1, затем вместе в Y1 + Z2, затем Y2+X.
Хочешь быть счастливым? Будь им!
						- Serg
 - Мастер
 - Сообщения: 21923
 - Зарегистрирован: 17 апр 2012, 14:58
 - Репутация: 5183
 - Заслуга: c781c134843e0c1a3de9
 - Настоящее имя: Сергей
 - Откуда: Москва
 - Контактная информация:
 
Re: ПО двушпиндельного (многошпиндельного) фрезера
Так у тебя ж названия осей разные будут...Ворон226 писал(а):А не запутаешься потом? Где у кого плюсы-минусы?
Мне было-бы стыдно управлять таким станком через LPT.Ворон226 писал(а):LPT - 12 выходов и 4 входа.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
						- Ворон226
 - Мастер
 - Сообщения: 1923
 - Зарегистрирован: 01 окт 2012, 18:14
 - Репутация: 181
 - Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
 - Контактная информация:
 
Re: ПО двушпиндельного (многошпиндельного) фрезера
Стыдно - это когда не знаешь, но делаешь вид, что знаешь.
А я ещё научусь
 Столько всего интересного вокруг! 
			
			
									
									А я ещё научусь
Хочешь быть счастливым? Будь им!
						- Nick
 - Мастер
 - Сообщения: 22776
 - Зарегистрирован: 23 ноя 2009, 16:45
 - Репутация: 1735
 - Заслуга: Developer
 - Откуда: Gatchina, Saint-Petersburg distr., Russia
 - Контактная информация:
 
Re: ПО двушпиндельного (многошпиндельного) фрезера
Ну всегда можно поставить доп порт. 
ИМХО управление на уровне команд положения будет более универсальным и простым. Да и отслеживать расстояние между шпинделями проще...
Как ты планируешь перекидывать сигналы? через unlinkp и net?
			
			
									
									
						ИМХО управление на уровне команд положения будет более универсальным и простым. Да и отслеживать расстояние между шпинделями проще...
Как ты планируешь перекидывать сигналы? через unlinkp и net?
- Ворон226
 - Мастер
 - Сообщения: 1923
 - Зарегистрирован: 01 окт 2012, 18:14
 - Репутация: 181
 - Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
 - Контактная информация:
 
Re: ПО двушпиндельного (многошпиндельного) фрезера
Если про переключение STEP и DIR, то используя кнопку визуальной панели и компоненты HAL AND, NOT, OR прям на пинах parport.0.pin-NN-outNick писал(а):Как ты планируешь перекидывать сигналы? через unlinkp и net?
Хочешь быть счастливым? Будь им!
						- Nick
 - Мастер
 - Сообщения: 22776
 - Зарегистрирован: 23 ноя 2009, 16:45
 - Репутация: 1735
 - Заслуга: Developer
 - Откуда: Gatchina, Saint-Petersburg distr., Russia
 - Контактная информация:
 
Re: ПО двушпиндельного (многошпиндельного) фрезера
Появится хорошая вероятность впилиться башкой в конец оси - как только мы переключаем управление, мы не будем точно знать, где сейчас реально находится башка...
			
			
									
									
						- vovafed
 - Мастер
 - Сообщения: 1822
 - Зарегистрирован: 08 фев 2013, 16:19
 - Репутация: 325
 - Настоящее имя: Владимир
 - Откуда: башкортостан
 - Контактная информация:
 
Re: ПО двушпиндельного (многошпиндельного) фрезера
у меня получилось что оси A B C по умолчанию привязаны по скорости к поворотным 
и не работает G 64, при любых параметрах работает как G61
			
			
									
									
						и не работает G 64, при любых параметрах работает как G61
- Ворон226
 - Мастер
 - Сообщения: 1923
 - Зарегистрирован: 01 окт 2012, 18:14
 - Репутация: 181
 - Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
 - Контактная информация:
 
Re: ПО двушпиндельного (многошпиндельного) фрезера
Если у моего станка реальная рабочая зона 1000мм, то в режиме двушпиндельного (как минимум) делю пополам. И никуда не впилится... Плюс к тому - датчики крайних положений.Nick писал(а):Появится хорошая вероятность впилиться башкой в конец оси - как только мы переключаем управление, мы не будем точно знать, где сейчас реально находится башка...
Хочешь быть счастливым? Будь им!
						- tooshka
 - Почётный участник

 - Сообщения: 1803
 - Зарегистрирован: 24 окт 2012, 14:26
 - Репутация: 209
 - Настоящее имя: Андрей
 - Откуда: Нижний Новгород
 - Контактная информация:
 
Re: ПО двушпиндельного (многошпиндельного) фрезера
Я бы посоветовал на ось У прицепить магнитную линейку, а на головы датчики положения, это надежнее будет и не очень дорого.Ворон226 писал(а):Если у моего станка реальная рабочая зона 1000мм, то в режиме двушпиндельного (как минимум) делю пополам. И никуда не впилится... Плюс к тому - датчики крайних положений.
Милая, ты услышь меня
под окном стою со своим я ЧПУ! (Протяжно; с надрывом; форте)
Внимание!!! Чрезмерное увлечение ЧПУ приводит к проблемам в семейных отношениях!
						под окном стою со своим я ЧПУ! (Протяжно; с надрывом; форте)
Внимание!!! Чрезмерное увлечение ЧПУ приводит к проблемам в семейных отношениях!
- Ворон226
 - Мастер
 - Сообщения: 1923
 - Зарегистрирован: 01 окт 2012, 18:14
 - Репутация: 181
 - Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
 - Контактная информация:
 
Re: ПО двушпиндельного (многошпиндельного) фрезера
Так придется все равно каким-то образом контролировать взаимное положение. Разве это реализовано в LCNC? А имея датчики крайних положений и датчик "столкновения", можно обойтись без сложных вычислений. Ведь подготовка к фрезеровке все равно в ручном режиме. А уже в синхронном режиме головы принципиально не смогут поехать навстречу.
ИМХО нужно найти оптимальное соотношение автоматизации и простоты. Ищу...
			
			
									
									ИМХО нужно найти оптимальное соотношение автоматизации и простоты. Ищу...
Хочешь быть счастливым? Будь им!
						- tooshka
 - Почётный участник

 - Сообщения: 1803
 - Зарегистрирован: 24 окт 2012, 14:26
 - Репутация: 209
 - Настоящее имя: Андрей
 - Откуда: Нижний Новгород
 - Контактная информация:
 
Re: ПО двушпиндельного (многошпиндельного) фрезера
Через МЕСУ завести такие датчики наверно не сложно?Ворон226 писал(а):Так придется все равно каким-то образом контролировать взаимное положение. Разве это реализовано в LCNC? А имея датчики крайних положений и датчик "столкновения", можно обойтись без сложных вычислений. Ведь подготовка к фрезеровке все равно в ручном режиме. А уже в синхронном режиме головы принципиально не смогут поехать навстречу.
Мне вообще не очень понятно зачем бошки разделять? Ось Z тут понятно (опять же можно механически выставлять длинну инструмента). Все равно головы будут резать одно и тоже, просто механически сделать возможным регулировку расстояния между головами?
Милая, ты услышь меня
под окном стою со своим я ЧПУ! (Протяжно; с надрывом; форте)
Внимание!!! Чрезмерное увлечение ЧПУ приводит к проблемам в семейных отношениях!
						под окном стою со своим я ЧПУ! (Протяжно; с надрывом; форте)
Внимание!!! Чрезмерное увлечение ЧПУ приводит к проблемам в семейных отношениях!
- Serg
 - Мастер
 - Сообщения: 21923
 - Зарегистрирован: 17 апр 2012, 14:58
 - Репутация: 5183
 - Заслуга: c781c134843e0c1a3de9
 - Настоящее имя: Сергей
 - Откуда: Москва
 - Контактная информация:
 
Re: ПО двушпиндельного (многошпиндельного) фрезера
Нельзя. Наезд на любой из этих датчиков - это авария и прекращение программы. А конечная цель как правило - это готовая деталь.Ворон226 писал(а):А имея датчики крайних положений и датчик "столкновения", можно обойтись без сложных вычислений.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
						- Ворон226
 - Мастер
 - Сообщения: 1923
 - Зарегистрирован: 01 окт 2012, 18:14
 - Репутация: 181
 - Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
 - Контактная информация:
 
Re: ПО двушпиндельного (многошпиндельного) фрезера
Давай ещё раз пройдем по пунктам:UAVpilot писал(а):Нельзя. Наезд на любой из этих датчиков - это авария и прекращение программы. А конечная цель как правило - это готовая деталь.Ворон226 писал(а):А имея датчики крайних положений и датчик "столкновения", можно обойтись без сложных вычислений.
1. При автоматической резки двух деталей двумя головками вероятность столкновения головок стремится к нулю.
2. При автоматической резки двух деталей двумя головками вероятность выхода из рабочей зоны можно также свести к нулю, если разбивать рабочую зону на равные две части, которые прописать в INI, например. (потому и был вопрос как переобозначать предел по Y через визуальную панель).
3. Остается вполне себе реальная опасность столкнуться шпинделями или вылететь за пределы рабочей зоны станка в ручном режиме. В этом случае можно ставить датчики, по которым не отключать станок ESTOP-ом, а просто останавливать (запрещать) движение. (мы так делали на принтере. При наезде на концевой датчик, безусловно включалось движение ОТ датчика до его отключения).
Хочешь быть счастливым? Будь им!
						- Serg
 - Мастер
 - Сообщения: 21923
 - Зарегистрирован: 17 апр 2012, 14:58
 - Репутация: 5183
 - Заслуга: c781c134843e0c1a3de9
 - Настоящее имя: Сергей
 - Откуда: Москва
 - Контактная информация:
 
Re: ПО двушпиндельного (многошпиндельного) фрезера
А смысл? Наезд даже на программный лимит - это прекращение программыВорон226 писал(а):потому и был вопрос как переобозначать предел по Y через визуальную панель
P.S. Можно просто в HAL самостоятельно контролировать позицию осей и сравнивать со "своими" лимитами.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
						- Ворон226
 - Мастер
 - Сообщения: 1923
 - Зарегистрирован: 01 окт 2012, 18:14
 - Репутация: 181
 - Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
 - Контактная информация:
 
Re: ПО двушпиндельного (многошпиндельного) фрезера
Когда я запускаю программу обработки, то она ДО выполнения проверяется на лимиты. Или я ошибаюсь?
			
			
									
									Хочешь быть счастливым? Будь им!
						- 
				nkp
 - Мастер
 - Сообщения: 8340
 - Зарегистрирован: 28 ноя 2011, 00:25
 - Репутация: 1589
 - Контактная информация:
 
Re: ПО двушпиндельного (многошпиндельного) фрезера
лимиты,указаные в ини, читаются один раз при запуске емс...Ворон226 писал(а):Когда я запускаю программу обработки, то она ДО выполнения проверяется на лимиты.
поэтому из панели корректировать проблематично...
так что:
UAVpilot писал(а):P.S. Можно просто в HAL самостоятельно контролировать позицию осей и сравнивать со "своими" лимитами.
- Ворон226
 - Мастер
 - Сообщения: 1923
 - Зарегистрирован: 01 окт 2012, 18:14
 - Репутация: 181
 - Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
 - Контактная информация:
 
Re: ПО двушпиндельного (многошпиндельного) фрезера
... и если мы подошли к лимиту во время отработки программы, то...
(что напишем дальше?)
			
			
									
									(что напишем дальше?)
Хочешь быть счастливым? Будь им!
						- Ворон226
 - Мастер
 - Сообщения: 1923
 - Зарегистрирован: 01 окт 2012, 18:14
 - Репутация: 181
 - Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
 - Контактная информация:
 
Re: ПО двушпиндельного (многошпиндельного) фрезера
Ну, народ!
Понятное дело, что если мы левый шпиндель отведем влево, а правый вправо, а затем перейдем в режим двушпиндельной обработки детали, размером в полстола, то правый шпиндель попытается вылететь вправо. Но тут ведь:
1. Сам дурак, раз такое допустил.
2. О каком сохранении заготовки идет речь, если ты дурак? Учись. Хотя бы на заготовках.
3. Если ты не подумал об этой ситуации заранее, то хоть станок пусть сам себя сохранит. Для того и лимиты.
			
			
									
									Понятное дело, что если мы левый шпиндель отведем влево, а правый вправо, а затем перейдем в режим двушпиндельной обработки детали, размером в полстола, то правый шпиндель попытается вылететь вправо. Но тут ведь:
1. Сам дурак, раз такое допустил.
2. О каком сохранении заготовки идет речь, если ты дурак? Учись. Хотя бы на заготовках.
3. Если ты не подумал об этой ситуации заранее, то хоть станок пусть сам себя сохранит. Для того и лимиты.
Хочешь быть счастливым? Будь им!
						- Serg
 - Мастер
 - Сообщения: 21923
 - Зарегистрирован: 17 апр 2012, 14:58
 - Репутация: 5183
 - Заслуга: c781c134843e0c1a3de9
 - Настоящее имя: Сергей
 - Откуда: Москва
 - Контактная информация:
 
Re: ПО двушпиндельного (многошпиндельного) фрезера
Почти не ошибаешься. До выполнения не возможно проверить все перемещения. Например можно задать позиции G28 за пределами лимитов и потом попытаться туда уехать - ошибка будет толькоВорон226 писал(а):Когда я запускаю программу обработки, то она ДО выполнения проверяется на лимиты. Или я ошибаюсь?
при выполнении команды.
Тебе помогло-бы G22/G23, но в LinuxCNC их пока нет.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
						- Ворон226
 - Мастер
 - Сообщения: 1923
 - Зарегистрирован: 01 окт 2012, 18:14
 - Репутация: 181
 - Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
 - Контактная информация:
 
Re: ПО двушпиндельного (многошпиндельного) фрезера
Сегодня запустил станок в двушпиндельном режиме.
Буду в этой теме продолжать описывать его и, попутно, задавать вопросы...
Итак, двушпиндельный станок.
Оси:
Общая ось Y выполнена на двух ШД с двумя драйверами (до этого включал два ШД на один драйвер последовательно).
Две оси X1 и X2 - ещё два ШД и два драйвера.
Две оси Z1 и Z2 - ещё два ШД и два драйвера.
Датчики HOME - пять штук.
Выход в HOME организовал следующим образом: сначала обе оси Z одновременно в HOME; затем первая ось X1, за ней вторая ось X2 и одновременно с ней ось Y. Обе оси X идут в HOME влево, при чем вторая базируется относительно первой оси X1. Это менее точно, но по точности меня пока устраивает, а затем, возможно, сделаю HOME_X1 и HOME_X2 в противоположных сторонах... После выхода второй оси X2 в HOME - ось быстро перемещается в противоположную сторону до конца, чтобы не мешалась
Для реализации такой конфигурации пришлось использовать два порта LPT. (есть вариант ужимания по датчикам и перейти на один LPT. Возможно со временем...)
Для удобства управления двумя шпинделями "прикрутил" к стандартной панели AXIS дополнительные кнопки: ЛЕВЫЙ ВЛЕВО, ПРАВЫЙ ВПРАВО, ОБА В СТОРОНЫ, ЛЕВЫЙ ВВЕРХ, ПРАВЫЙ ВВЕРХ, ОБА ВВЕРХ, ВСЕ В ИСХОДНОЕ СОСТОЯНИЕ (Y в 0, X в 0, Х2 в 1550, Z1 в 0, Z2 в 0). Также добавил кнопку - СИНХРОННАЯ РАБОТА.
Подробнее опишу о реализации СИНХРОННОЙ РАБОТЫ шпинделей на примере X1 и X2.
У меня ось X1 реализована на AXIS1, а X2 на AXIS3. Соответственно,
x1step берется на stepgen.1.step
x1dir берется на stepgen.1.dir
x2step берется на stepgen.3.step
x2dirp берется на stepgen.3.dir
Как я связал кнопку "Синхронная работа" с управляющими сигналами LCNC:
(на примере формирования x2step)
loadrt and2 count=2
loadrt or2
loadrt not
addf and2.0 servo-thread
addf and2.1 servo-thread
addf or2.0 servo-thread
addf not.0 servo-thread
далее сформировал связи в соответствии со схемой, которая ниже...
			
							
			
									
									Буду в этой теме продолжать описывать его и, попутно, задавать вопросы...
Итак, двушпиндельный станок.
Оси:
Общая ось Y выполнена на двух ШД с двумя драйверами (до этого включал два ШД на один драйвер последовательно).
Две оси X1 и X2 - ещё два ШД и два драйвера.
Две оси Z1 и Z2 - ещё два ШД и два драйвера.
Датчики HOME - пять штук.
Выход в HOME организовал следующим образом: сначала обе оси Z одновременно в HOME; затем первая ось X1, за ней вторая ось X2 и одновременно с ней ось Y. Обе оси X идут в HOME влево, при чем вторая базируется относительно первой оси X1. Это менее точно, но по точности меня пока устраивает, а затем, возможно, сделаю HOME_X1 и HOME_X2 в противоположных сторонах... После выхода второй оси X2 в HOME - ось быстро перемещается в противоположную сторону до конца, чтобы не мешалась
Для реализации такой конфигурации пришлось использовать два порта LPT. (есть вариант ужимания по датчикам и перейти на один LPT. Возможно со временем...)
Для удобства управления двумя шпинделями "прикрутил" к стандартной панели AXIS дополнительные кнопки: ЛЕВЫЙ ВЛЕВО, ПРАВЫЙ ВПРАВО, ОБА В СТОРОНЫ, ЛЕВЫЙ ВВЕРХ, ПРАВЫЙ ВВЕРХ, ОБА ВВЕРХ, ВСЕ В ИСХОДНОЕ СОСТОЯНИЕ (Y в 0, X в 0, Х2 в 1550, Z1 в 0, Z2 в 0). Также добавил кнопку - СИНХРОННАЯ РАБОТА.
Подробнее опишу о реализации СИНХРОННОЙ РАБОТЫ шпинделей на примере X1 и X2.
У меня ось X1 реализована на AXIS1, а X2 на AXIS3. Соответственно,
x1step берется на stepgen.1.step
x1dir берется на stepgen.1.dir
x2step берется на stepgen.3.step
x2dirp берется на stepgen.3.dir
Как я связал кнопку "Синхронная работа" с управляющими сигналами LCNC:
(на примере формирования x2step)
loadrt and2 count=2
loadrt or2
loadrt not
addf and2.0 servo-thread
addf and2.1 servo-thread
addf or2.0 servo-thread
addf not.0 servo-thread
далее сформировал связи в соответствии со схемой, которая ниже...
Хочешь быть счастливым? Будь им!
						