Управление осями из .HAL
Добавлено: 25 май 2014, 17:51
Есть задача:
В зависимости от установленных вручную (оперативно) границ по осям 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) - Заданное (запрошенное) положение оси в относительных коодинатах.
Может у кого есть опыт решения подобных задач?