Управление осями из .HAL

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Аватара пользователя
Ворон226
Мастер
Сообщения: 1923
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Управление осями из .HAL

Сообщение Ворон226 »

Есть задача:
В зависимости от установленных вручную (оперативно) границ по осям 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

Сообщение Serg »

Ворон226 писал(а):Поискав в описании HAL нашел только
А ускорениями тоже из HAL собираешься рулить?

Помоему ты желаешь странного... Думаю тебе надо очистить голову от скверных мыслей и попробовать посмотреть например в сторону ngcgui и LinuxCNC Features. :)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Ворон226
Мастер
Сообщения: 1923
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: Управление осями из .HAL

Сообщение Ворон226 »

Это просто попытка создать конфигурацию для оперативной (быстрой) обработки поверхности (нестандартной поверхности):
- сверловки по сетке;
- сфрезеровывания поверхности фрезами различного диаметра (для получения плоскости);
- сканирования поверхности при помощи камеры с заданным разрешением...

Чертежей нет. Времени на это тратить тому, кто это может сделать, нет. Есть "работник", который может воспроизвести некоторую последовательность операций без калькулятора.

(а в сторону ngcgui и LinuxCNC Features смотрю... Созреваю...)
Хочешь быть счастливым? Будь им!
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Управление осями из .HAL

Сообщение Serg »

Держи ещё подсказку:
В G-code есть переменные, значение которых сохраняются не только между разными УП, но и между запусками самой LinuxCNC... :)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Ворон226
Мастер
Сообщения: 1923
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: Управление осями из .HAL

Сообщение Ворон226 »

UAVpilot писал(а):А ускорениями тоже из HAL собираешься рулить?
Ускорения, вроде, в .INI задаются ;)
UAVpilot писал(а):Держи ещё подсказку
Это я уже заметил, работая на станке... Но эти значения сохраняются только при правильном выключении станка. А при использовании Е-СТОПА эти переменные (по моим наблюдениям) обнуляются... Или нет?
Хочешь быть счастливым? Будь им!
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Управление осями из .HAL

Сообщение Serg »

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

Re: Управление осями из .HAL

Сообщение Ворон226 »

Иногда нет необходимости выставлять ХОМы. Достаточно выставить начало и начать. В этом случае нужны датчики края рабочей зоны. Так вот быстрые перемещения по рабочей зоны вручную я прописывал именно через halui.jog.<n>.analog формируя в hal плавный пуск (останов происходил в соответствии с настройками в ini). Очень удобно.
Но, после прочтения темы о ngcgui, данная тема приближается к теоретическому разделу. А вдруг можно просто это сделать?
Хочешь быть счастливым? Будь им!
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Управление осями из .HAL

Сообщение Nick »

Такие штуки надо делать на Gкоде - как правильно сказал UAVpilot, ngcgui или features лучший вариант. Они как раз и созданы для обарботки простых задач.
Ксати, есть еще кучка простеньких генераторов Gкода, насколько я понимаю их можно вообще из linuxcnc открывать, если правильно фильтры прописать:
http://wiki.linuxcnc.org/cgi-bin/wiki.p ... Generators
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Управление осями из .HAL

Сообщение Serg »

Фильтры ему не очень-то и подойдут - он хочет интеррактивно вводить параметры.
Например первоначальную задачу я б решал с помошью ngcgui/features так:
1. Задаём нули на одном углу заготовки.
2. Перегоняем шпиндель в противоположный угол (теперь у нас есть 2 координаты прямоугольника).
3. В ngcgui/features запускаем соотв. фичу, которой указываем шаг или количество отверстий по каждой стороне. Ну и какие-то ещё параметры.
4. На выходе получаем УП прохода по сетке от заданного нуля до текущей координаты.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Ворон226
Мастер
Сообщения: 1923
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: Управление осями из .HAL

Сообщение Ворон226 »

Все правильно - изучаю ngcgui. Вроде как features более сложные и навороченные, а задача простенькая...
Хочешь быть счастливым? Будь им!
Ответить

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