Управление осями из .HAL
- Ворон226
- Мастер
- Сообщения: 1923
- Зарегистрирован: 01 окт 2012, 18:14
- Репутация: 181
- Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
- Контактная информация:
Управление осями из .HAL
Есть задача:
В зависимости от установленных вручную (оперативно) границ по осям X и Y и от нажатых клавиш коэффициентов на визуальной панели организовать построчно-пошаговое движение без формирования G-кода.
Например,
- вывели станок в начальную точку и нажатием первой кнопки визуальной панели запомнили координаты Xo и Yo;
- вывели станок в другую крайнюю точку и нажатием второй кнопки визуальной панели запомнили Xk и Yk;
- выбором соответствующих кнопок визуальной панели выбираем значения ШагX и Шаг Y;
- Простым вычислением получаем значение количества итераций по X и Y - A и B:
(Xk - Xo)/ШагX = A (округляем до целого в большую сторону)
(Yk - Yo)/ШагX = B (округляем до целого в большую сторону);
- по нажатию кнопки ПУСК визуальной панели нужно "прокатиться" от Xo и Yo до Xk и Yk с шагами A и B , используя только компоненты HAL или пользовательские компоненты HAL
- вернуться в Xo и Yo и выдать сообщение ОКОНЧАНИЕ.
Никогда не управлял осями по-координатно - только передвигал скоростями через halui.jog.<n>.analog
Поискав в описании HAL нашел только
10.2.2 Axis
• halui.axis.n.pos-commanded (float, out) - Заданное (запрошенное) положение оси в коодинатах станка.
• halui.axis.n.pos-feedback (float, out) - Обратная связь положения оси в координатах станка.
• halui.axis.n.pos-relative (float, out) - Заданное (запрошенное) положение оси в относительных коодинатах.
Может у кого есть опыт решения подобных задач?
В зависимости от установленных вручную (оперативно) границ по осям X и Y и от нажатых клавиш коэффициентов на визуальной панели организовать построчно-пошаговое движение без формирования G-кода.
Например,
- вывели станок в начальную точку и нажатием первой кнопки визуальной панели запомнили координаты Xo и Yo;
- вывели станок в другую крайнюю точку и нажатием второй кнопки визуальной панели запомнили Xk и Yk;
- выбором соответствующих кнопок визуальной панели выбираем значения ШагX и Шаг Y;
- Простым вычислением получаем значение количества итераций по X и Y - A и B:
(Xk - Xo)/ШагX = A (округляем до целого в большую сторону)
(Yk - Yo)/ШагX = B (округляем до целого в большую сторону);
- по нажатию кнопки ПУСК визуальной панели нужно "прокатиться" от Xo и Yo до Xk и Yk с шагами A и B , используя только компоненты HAL или пользовательские компоненты HAL
- вернуться в Xo и Yo и выдать сообщение ОКОНЧАНИЕ.
Никогда не управлял осями по-координатно - только передвигал скоростями через halui.jog.<n>.analog
Поискав в описании HAL нашел только
10.2.2 Axis
• halui.axis.n.pos-commanded (float, out) - Заданное (запрошенное) положение оси в коодинатах станка.
• halui.axis.n.pos-feedback (float, out) - Обратная связь положения оси в координатах станка.
• halui.axis.n.pos-relative (float, out) - Заданное (запрошенное) положение оси в относительных коодинатах.
Может у кого есть опыт решения подобных задач?
Хочешь быть счастливым? Будь им!
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Управление осями из .HAL
А ускорениями тоже из HAL собираешься рулить?Ворон226 писал(а):Поискав в описании HAL нашел только
Помоему ты желаешь странного... Думаю тебе надо очистить голову от скверных мыслей и попробовать посмотреть например в сторону ngcgui и LinuxCNC Features.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- Ворон226
- Мастер
- Сообщения: 1923
- Зарегистрирован: 01 окт 2012, 18:14
- Репутация: 181
- Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
- Контактная информация:
Re: Управление осями из .HAL
Это просто попытка создать конфигурацию для оперативной (быстрой) обработки поверхности (нестандартной поверхности):
- сверловки по сетке;
- сфрезеровывания поверхности фрезами различного диаметра (для получения плоскости);
- сканирования поверхности при помощи камеры с заданным разрешением...
Чертежей нет. Времени на это тратить тому, кто это может сделать, нет. Есть "работник", который может воспроизвести некоторую последовательность операций без калькулятора.
(а в сторону ngcgui и LinuxCNC Features смотрю... Созреваю...)
- сверловки по сетке;
- сфрезеровывания поверхности фрезами различного диаметра (для получения плоскости);
- сканирования поверхности при помощи камеры с заданным разрешением...
Чертежей нет. Времени на это тратить тому, кто это может сделать, нет. Есть "работник", который может воспроизвести некоторую последовательность операций без калькулятора.
(а в сторону ngcgui и LinuxCNC Features смотрю... Созреваю...)
Хочешь быть счастливым? Будь им!
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Управление осями из .HAL
Держи ещё подсказку:
В G-code есть переменные, значение которых сохраняются не только между разными УП, но и между запусками самой LinuxCNC...
В G-code есть переменные, значение которых сохраняются не только между разными УП, но и между запусками самой LinuxCNC...
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- Ворон226
- Мастер
- Сообщения: 1923
- Зарегистрирован: 01 окт 2012, 18:14
- Репутация: 181
- Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
- Контактная информация:
Re: Управление осями из .HAL
Ускорения, вроде, в .INI задаютсяUAVpilot писал(а):А ускорениями тоже из HAL собираешься рулить?
Это я уже заметил, работая на станке... Но эти значения сохраняются только при правильном выключении станка. А при использовании Е-СТОПА эти переменные (по моим наблюдениям) обнуляются... Или нет?UAVpilot писал(а):Держи ещё подсказку
Хочешь быть счастливым? Будь им!
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Управление осями из .HAL
Ага, для планировщика. Хочешь написать свой?Ворон226 писал(а):Ускорения, вроде, в .INI задаются
Е-СТОП - это АВАРИЯ! После аварии невозможно продолжение т.к. станок находится в неизвестном состоянии. Правильным решением будет начать прерванную операцию заново.Ворон226 писал(а):А при использовании Е-СТОПА
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- Ворон226
- Мастер
- Сообщения: 1923
- Зарегистрирован: 01 окт 2012, 18:14
- Репутация: 181
- Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
- Контактная информация:
Re: Управление осями из .HAL
Иногда нет необходимости выставлять ХОМы. Достаточно выставить начало и начать. В этом случае нужны датчики края рабочей зоны. Так вот быстрые перемещения по рабочей зоны вручную я прописывал именно через halui.jog.<n>.analog формируя в hal плавный пуск (останов происходил в соответствии с настройками в ini). Очень удобно.
Но, после прочтения темы о ngcgui, данная тема приближается к теоретическому разделу. А вдруг можно просто это сделать?
Но, после прочтения темы о ngcgui, данная тема приближается к теоретическому разделу. А вдруг можно просто это сделать?
Хочешь быть счастливым? Будь им!
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Управление осями из .HAL
Такие штуки надо делать на Gкоде - как правильно сказал UAVpilot, ngcgui или features лучший вариант. Они как раз и созданы для обарботки простых задач.
Ксати, есть еще кучка простеньких генераторов Gкода, насколько я понимаю их можно вообще из linuxcnc открывать, если правильно фильтры прописать:
http://wiki.linuxcnc.org/cgi-bin/wiki.p ... Generators
Ксати, есть еще кучка простеньких генераторов Gкода, насколько я понимаю их можно вообще из linuxcnc открывать, если правильно фильтры прописать:
http://wiki.linuxcnc.org/cgi-bin/wiki.p ... Generators
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Управление осями из .HAL
Фильтры ему не очень-то и подойдут - он хочет интеррактивно вводить параметры.
Например первоначальную задачу я б решал с помошью ngcgui/features так:
1. Задаём нули на одном углу заготовки.
2. Перегоняем шпиндель в противоположный угол (теперь у нас есть 2 координаты прямоугольника).
3. В ngcgui/features запускаем соотв. фичу, которой указываем шаг или количество отверстий по каждой стороне. Ну и какие-то ещё параметры.
4. На выходе получаем УП прохода по сетке от заданного нуля до текущей координаты.
Например первоначальную задачу я б решал с помошью ngcgui/features так:
1. Задаём нули на одном углу заготовки.
2. Перегоняем шпиндель в противоположный угол (теперь у нас есть 2 координаты прямоугольника).
3. В ngcgui/features запускаем соотв. фичу, которой указываем шаг или количество отверстий по каждой стороне. Ну и какие-то ещё параметры.
4. На выходе получаем УП прохода по сетке от заданного нуля до текущей координаты.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- Ворон226
- Мастер
- Сообщения: 1923
- Зарегистрирован: 01 окт 2012, 18:14
- Репутация: 181
- Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
- Контактная информация:
Re: Управление осями из .HAL
Все правильно - изучаю ngcgui. Вроде как features более сложные и навороченные, а задача простенькая...
Хочешь быть счастливым? Будь им!
