Мудрая русская пословица «Семь раз отмерь, один раз отрежь» в ряде случаев может применяться с перестановкой последовательности действий измерения-отрезания: при производстве сложных и ответственных изделий необходим тщательный контроль геометрии и выполненных размеров, когда для получения достоверной информации необходимо проделать десятки, а то и сотни измерений. Вот и получается — «Один раз отрежь, сто раз измерь».

До появления контрольно-измерительных машин (КИМ) основным инструментом, позволявшим проверить правильность выполнения сложной пространственной геометрии были (а на многих предприятиях остаются и по сей день) шаблоны — плоские металлические эталоны ответственных сечений, контуров и т.п. Шаблон прикладывается к обработанной поверхности, и по тому, насколько хорошо он «сел» на эту поверхность, по величине зазоров, контролируемых щупами, принимается заключение о соответствии обработанной геометрии требованиям чертежа или математической модели. Для контроля лопаток авиационных двигателей применяют специализированные контактные устройства, разрабатываются новые бесконтактные системы контроля, однако все эти методы позволяют произвести обмер изделия лишь после снятия этого самого изделия со станка. Но зачастую контроль получаемой геометрии требуется произвести еще на станке — например, для внесения корректировок в управляющие программы чистовой обработки, для оценки «поводок» от внутренних напряжений, в конце концов для выходного контроля изделия со станка, по результатам которого деталь можно признать годной или убедиться, что получен неисправимый брак и эту деталь даже не стоит нести контрольному мастеру. Измерение непосредственно на станке позволяет контролировать стабильность получаемых размеров, дает информацию по отклонениям при смене партии заготовок и т.д. Сразу хотелось бы отметить, что контроль изделия непосредственно на станке не заменяет принятых на предприятии контрольных процедур, скорее — дополняет их.

Но иногда метод измерения непосредственно на станке может оказаться единственно доступным — скажем, когда производство передано на другое предприятие без передачи средств контроля или когда для проведения измерений на КИМ требуется сложная дополнительная оснастка или приспособление.

В похожей ситуации оказался автор этой статьи: требовалось представить заказчику результат обработки вентиляторной лопатки авиационного двигателя и показать соответствие полученной геометрии требуемым параметрам точности. В отсутствие шаблонной контрольной оснастки и при невозможности проведения измерений на КИМ было принято решение произвести контроль геометрии лопатки непосредственно на станке при помощи контактного щупа Renishaw OMP-100 (рис. 1).

Рис. 1 Рис. 1

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

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

Но прежде несколько слов о принципах работы триггерного измерительного щупа, которые были положены в основу разработанной стратегии измерения. После выбора измерительного щупа из магазина инструментов станка и подачи соответствующей команды активизации (для Siemens Sinumerik 840D — M19), щуп подводится к измеряемой поверхности и далее перемещается по команде

MEAS=1 G01 X Y ZA3 B3 C3 F

до контакта с изделием. Координаты центра шарика измерительного щупа в этот момент возвращаются системой управления (Siemens Sinumerik 840D), остальное — дело техники. Сами по себе координаты центра шарика малоинтересны, поэтому тут же пересчитываются на точку контакта. Для этого нужно знать нормаль к поверхности в точке контакта и радиус рубинового шарика измерительного щупа. Таким образом, получаем реальное положение измеряемой точки в пространстве. Остается высчитать погрешность относительно идеальной точки (с математической модели) и вывести эти данные в протокол замера. Вот эти задачи и были реализованы в операции, разработанной средствами UGOpen.

Как это работает?

Рис. 2 Рис. 2

Прежде всего средствами Unigraphics формируется операция типа MILL_USER (операция, в которой стратегия обработки определяется пользовательской функцией) (рис. 2). При этом безразлично, в каком виде операций (Planar, Fixed Contour, Variable Contour) будет создана эта операция — все перемещения инструмента-щупа контролируются внешней динамической библиотекой DLL, путь к которой указывается в параметрах операции как CAM Exit Name (рис. 3).

Рис. 3 Рис. 3

При нажатии кнопки User Parameters (Параметры пользователя) программисту-технологу будет предложено выбрать то сечение на поверхности лопатки (на рис. 3 выделено синим цветом), в котором требуется измерить необходимое количество точек. Как служебные параметры указываются рабочая подача измерения, дистанция безопасного перемещения над поверхностью изделия и т.п. Один из важных параметров — имя служебной подпрограммы, в которую будут выведены в виде массива координаты идеальных точек сечения. С этими координатами впоследствии и будет произведено сравнение результатов замера. Траектория формируется автоматически и содержит в себе все необходимые данные о нормалях поверхности в точке контакта, о времени включения и выключения измерительного щупа, подгрузку служебной подпрограммы с координатами точек и собственно вычисление отклонения в каждой измеряемой точке.

Полностью процесс построения траектории представлен в видеоролике Mill_User_Operation.wmv, размещенном по адресу www.csoft.ru/go/unigraphics-renishaw-video.

Рис. 4.а Рис. 4.а
Рис. 4.б Рис. 4.б

В завершение программа создает файл протокола замера, выводит результаты в открытый файл и закрывает файл замера. Привожу для примера несколько строк из файла протокола:

Сечение А4 (корыто) A4_K

*** SECTION A4 KORYTO CSOFT-CHIRON ***
MODEL POINT X=109.712024
Y=-75.746255
Z=-53.206439
REAL X=109.385011
Y=-74.3939572
Z= -54.806319
ERROR DIST FOR THIS POINT = 0.1200479149

Конечно, лучше один раз увидеть! По уже упомянутому адресу www.csoft.ru/go/unigraphics-renishaw-video вы найдете видеоролик probing2.wmv, снятый непосредственно в процессе измерения на станке (рис. 4).

Вернемся к пословице про семикратное измерение перед финальным отрезанием. Следующий пример (на сей раз реализованный в системе iTNC 430530 Heidenhain) лишний раз подтверждает ее справедливость.

Допустим, требуется изготовить паз (карман, окно) строго заданного размера (предположим — 20.00 мм), есть инструмент с номинальным диаметром (предположим — &216;10 мм). Казалось бы, всё ясно! Пиши программу с коррекцией на радиус инструмента, получай результат. Но вот незадача — инструмент в процессе работы изнашивается, его реальный диаметр меняется, да и непосредственно перед обработкой не всегда удается точно измерить истинный диаметр инструмента.

Как поступить? Этот пример не такое уж умозрительное упражнение, как может показаться на первый взгляд: задачку предложил один из заказчиков, для которого такая постановка была очень важной.

Решалась эта задача так. Паз (карман) предварительно обрабатывается без коррекции на радиус с припуском заведомо большим неизвестного нам отклонения истинного диаметра инструмента от реального: например, +0.20 мм (рис. 5). Реальный припуск, определяемый реальным диаметром инструмента, будет отличаться в большую или меньшую сторону.

Рис. 5 Рис. 5

Следующим шагом выполняется предварительный чистовой проход с заведомо известным (заданным) значением поправки на радиус, при этом траектория рассчитывается на номинальный контур с включением коррекции на радиус (рис. 6). Значение коррекции задается в событиях, определяемых пользователем (User Defined Events), и при обработке соответствующим постпроцессором приведет к вызову инструмента с указанным DR (в терминах Heidenhain).

2 Q7 = 0.123;
FIRST PASS WITH DR = Q7
3 TOOL CALL 2 Z S7000 DR+Q7
Рис. 6.а Рис. 6.а
Рис. 6.б Рис. 6.б

А завершением операции будет измерение полученного паза и вычисление по результатам замера истинного значения поправки на радиус для выбранного инструмента. Для реализации этого этапа вводится более сложное UDE-событие, в котором указывается ряд параметров: центр паза, направление измерения, глубина измерения и т.п. (рис. 7).

Рис. 7 Рис. 7

Идея метода такова: инструмент произвел обработку с заданным значением DR, и (если это значение верное!) мы вправе ожидать, что получим в детали номинальный размер. Но, произведя замер измерительным щупом и сравнив результат с номиналом, оказываемся перед фактом, что из-за износа инструмента, неточного замера и т.д. истинное значение DR отличается от предполагаемого нами.

Осталось выполнить последнее действие — еще раз вызвать только что завершившуюся программу, где в качестве параметра DR при вызове инструмента указать истинное (вычисленное) значение DR — конечно, постпроцессор сделает это автоматически! При этом оператор может даже и не узнать, что геометрические параметры инструмента изменились. Еще одно из достоинств предложенного решения — требуемый размер паза задается непосредственно в программе как одна из переменных. При необходимости его можно изменить перед выполнением программы — эдакое «параметрическое» фрезерование!

В представленном примере проводилась обработка паза с параллельными стенками, аналогично в постпроцессоре реализована обработка измерения и вычисления DR при фрезеровании отверстий и бобышек с применением 421 и 422-го циклов Heidenhain (рис. 8).

Рис. 8 Рис. 8

В завершение хотел бы сказать, что операции и постпроцессоры, созданные для систем управления станками Siemens и Heidenhain, могут быть реализованы и для других станков с иными системами управления (MAZAK, Fanuc и т.д.).

Юрий Чигишев
CSoft
Тел.: (495) 069−4488
E-mail: jura@csoft.ru