Translate

понедельник, 4 апреля 2011 г.

NX postprocessor for ABB WaterJet ROBOT


Few days ago I build first version of postprocessor for ABB WaterJet robot. For each point of toolpath I can measure (inside my UGOPEN DLL) thickness of material and calculate velocity.

В первую очередь были реализованы линейные перемещения (MoveL) для движений типа CUT, FIRSTCUT, STEPOVER. Для движений типа APPROACH, DEPARTURE, RAPID поставлено в соответствие перемещение MoveJ. Затем добавил перемещения MoveC (круговая интерполяция), причем не только в плоскости, перпендикулярной оси резака, но и в любой другой, лишь бы NX выводил эту дугу.

Еще одна особенность этого постпроцессора заключается в том, что подача (скорость перемещения резака) не может изменяться непрерывно - только дискретно, в соответствии с таблицей доступных значений. Пока мне неведомо, из каких соображений составляется эта таблица подач, ее размерность и т.п. В моем конкретном случае эта таблица представляла собой примерно следующее:

v0017 - 0.017 mm/sec
v0050 - 0.050 mm/sec
..................................
v50 - 50 mm/sec
v80 - 80 mm/sec, массив из 36 значений.

Кроме этого, Заказчик попросил ввести в операцию некий множитель или поправочный коэффициент (0.8....1.2), на который можно будет умножить рассчитанную подачу.

При процессировании для каждой точки траектории в зависимости от толщины материала вычисляется подача, умножается на поправочный коэффициент, далее из таблицы допустимых подач выбирается ближайшее значение и эта величина выводится в управляющую программу. Все эти вычисления производились в DLL.

Для проверки синтаксиса и семантики полученной после постпроцессирования программы использовал программный пакет Robot Studio, 30-дневная полнофункциональная версия доступна на сайте ABB.

14 июня 2011

Добавлены дополнительные возможности в постпроцессор. Во-первых - постпроцессор отрабатывает дополнительный поворот резака (nozzle) вокруг собственной оси. Значение угла поворота можно задать как в начале операции, так и в ЛЮБОЙ точке рассчитаной траектории. Во-вторых, добавлена функция PIERCE - для "прожигания" стартового отверстия для замкнутых внутренних контуров.

Вычисление углов Эйлера и кватерниона
Euler Angles and quaternion Calculations
X1
Y1
Z1
Примечание: приведенные в качестве примера данные соответствуют A = -60.0, B = -35.0 и С = 47.0

Если вы оставите это поле в "нетронутом"виде - углы Эйлера будут отправлены "на деревню дедушке"!

Quaternion and Euler Angles Calculator