Перейти к публикации

КИМ (Arco/Hera) и программная компенсация


Рекомендованные сообщения

Здравствуйте.

Имеется КИМ ARCO/Hera с неповоротной измерительной головкой (поступательные перемещения щупа)

Когда появилась необходимость сделать реинжиниринг некой сложной аэродинамической поверхности, задались вопросом: "Что же она все-таки измеряет?"

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

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

Ну простая аналогия. Карты видеозахвата. Есть простые, которые производят захват видео в "сырые" данные, перекладывая задачу их сжатия на процессор компьютера (программно), а есть сложные - и захват производят и сжимают налету, за счет своего процессора.

Так и здесь: ВМЕСТО точки на поверхности и направления нормали в ней, машина выдает лишь координаты точки наконечника в заданном направлении в момент касания.

Все эти пространные рассуждения демонстрирует рисунок: машина дает координаты точки B и вектор m, вместо нужных A и n.

<noindex>Изображение</noindex>

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

Интересует следующее:

1. Чтобы было точно, нужно измерять с высокой дискретностью. Сделать вручную (джойстиком), как мы делаем сейчас, это невозможно. Остается писать программы. Есть руководства по языку DMIS? Универсален ли он или у каждой фирмы свои модификации этого языка?

2. Предполагаемый алгоритм обработки данных: обрабатываем "нескомпенсированные" данные -> строим по ним поверхность -> находим положение нормали в конкретной точке измерений по построенной поверхности -> находим истинное положение нормали -> компенсируем.

Как удобнее всего провести следующее: найти точку пересечения прямой с поверхностью и найти положение нормали в ней. Поверхность будет построена в Pro/E, то есть, по идее поверхность можно записать в любой формат. Проделать эту нужно автоматически, для большого набора точек. То есть нужен какой-то API. Покопался в SolidWorks с помощью тамошнего бэйсика, пока глухо.

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

Спасибо. :)

Ссылка на сообщение
Поделиться на других сайтах


2. Предполагаемый алгоритм обработки данных: обрабатываем "нескомпенсированные" данные -> строим по ним поверхность -> находим положение нормали в конкретной точке измерений по построенной поверхности -> находим истинное положение нормали -> компенсируем

вот по этому пункту - поверхность хотите по облаку строить или как то по другому?

у нас был станок ЧПУ с головкой ренишау и мы как китайцы сканировали деталь с таким алгоритмом

1. захватывали точки построчно без всяких компенсаций по нормали

2. поднимали координату по Z на радиус шара

3. строили кривые потом оффсет на радиус

4. строили поверхность по сечениям

по точности никто не проверял задача была захватить форму изделия и сделать подобное

Ссылка на сообщение
Поделиться на других сайтах

вот по этому пункту - поверхность хотите по облаку строить или как то по другому?

Да.

1. захватывали точки построчно без всяких компенсаций по нормали

Также

2. поднимали координату по Z на радиус шара

3. строили кривые потом оффсет на радиус

4. строили поверхность по сечениям

Ну, в принципе да, похоже. Единственная проблема - это немного неверно. Нормаль к поверхности не лежит в плоскости сечений. Но подход тот же. Хотим по-честнее сделать. По облаку поверхность сделать (по точкам с оффсетом по Z на R), а потом оффсет в каждой точке по нормали к ней.

А так да, спасибо. Такая мысль в голову не приходила. С поверхностью неизвестно как делать, а с кривыми - на 100 %.

по точности никто не проверял задача была захватить форму изделия и сделать подобное

У нас - лопатки вентиляторов, аэродинамические поверхности, чуть промахнулся - дисбаланс.

Но СПАСИБО. Есть надежда на удачный исход и повод для размышлений.

Ссылка на сообщение
Поделиться на других сайтах
  • 2 месяца спустя...

Работаю на КИМ WEGU MPC502 уже 15 лет. С такими проблемами сталкивались при сканировании щупом. Ушли проще. Если обмеряемая траэктория известна то програмой заставляем щуп двигаться под перпендикуляром кточке на поверхности. Если же просто единичные изделия сканируются то для машины вводим условие точку касания записывать от центра шарика. Все данные точек потом загоняем в Proing и нет проблем с построением точной детали. Ошибки такие есть при измерении конусо прямых и криволинейных так как машына запоминает все точки касания в стеке по абсолютным координатам машины центрами а фигуры вычисляет с учетом радиуса шарика. Только ошибки ети касаются только точности координат фигур, но никак не влияют на отображение угла прямой, угла на конусебулов на плоскостях.Так как ети параметры проходят через центр шшарика. Если же меряю камерой или лазером то никаких проблем. :gun_guns:

Ссылка на сообщение
Поделиться на других сайтах
  • 1 месяц спустя...

С КИМ работать не доводилось. Но имел дело с измерениями измерительной головкой на станке. Ситуация была примерно та же: имели на выходе координаты центра шарика. Точка контакта вычислялась исходя из CAD-модели. Предполагается, что мы попали на детали точно в ту же точку, куда и хотели (т. е. реальная деталь совпадает с матмоделью), и в этой точке берется нормаль к поверхности, т. е. она, скажем так, известна теоретически. Ну и плюс учет радиуса шарика и смещения оси щупа относительно оси шпинделя. Обработка данных, как и разработка управляющей программы, велась с помощью спец. ПО.

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

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

А вот это мне напомнило измерительные циклы станков для стандартных элементов - отверстие, паз и т. д. Там исходя из вида измеряемого элемента система ЧПУ сама "предполагает" направление нормали к измеряемой поверхности и на основании этого расчитывает точку на поверхности.

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

Это мне непонятно.
Ссылка на сообщение
Поделиться на других сайтах
  • 1 месяц спустя...

Это мне непонятно.

Прошло время, стало понятно. По-видимому, наиболее правильный подход.
Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.




  • Сообщения

    • Alex_ingener
      Алгоритм, ни чем не отличается от описанного Вами, принципиальных настроек, влияющих на производительность, там нет. Однако знаю по себе, если делать раскрой одних и тех же деталей с разверткой на рабочем компе (i7-13700K и 32 ГБ оперативы) и домашнем ноуте (i5 и 16 ГБ оперативы), последний проигрывает по скорости существенно.
    • marchuk-86
      @gudstartup @Soprin В общем дело было не в бобине) Я при сверлении не присутствовал изначально и поверил словам оператора. Именно он сказал что тормозит на поворотах.  Ускорение холостого хода дало минимальную прибавку к скорости обработки ( - 2 минуты на 120 отверстиях).  Короче сравнил параметры 5114, 5115 (величина отскока сверла при прерывистом сверлении), на 4+1 осевом она стояла 0,6 мм, на  4 осевом 0,1 мм.  После изменения параметров время обработки выравнялось.
    • Killerchik
      Запишите его в другую переменную и работайте с ней.
    • Killerchik
      Их вероятно нет в природе, потому что Fanuc не выпускает никакие револьверные головы.
    • nicomed
      Окно изменил ( первое это у меня просто тестовое приложение для всего, так что было "как есть"). Орфографию поправил. Толщина и тип - там надо подумать, как лучше выбирать рассеченные сегменты эскиза. Есть большой вопрос как прочитать стиль и толщину выбранной линии ( в частности кромки).  Так что пока нет. EdgeTrim_v2.zip   З.Ы. Исходники
    • kkk
      Я может чего не понял, но зачем что-то копировать из свойств модели в свойства чертежа? В чертеже и так отображаются (могут) свойства модели. расположенной на чертеже. Без копирования туда-сюда.
    • Viktor2004
      Уважаемые коллеги Чего-то я туплю страшно Пытаюсь в P-CODE писать программу редактирования барабана инструментов Макропеременная @MDIKEYI #8549 /* MDI Key image должна мне давать номер нажатой кнопки Кнопка F1 под экраном имеет код 249 Кнопка <INPUT> имеет код 152 При нажатии F1 у меня должна включаться D5001.0 а при нажатии <INPUT> выключаться Но в макропеременной #8549 код нажатой клавиши лишь кратковременно мигает. И надо много раз нажимать нужную клавишу что бы она сработала Макропеременная #8549 у меня выводится в диагностический D5000 Кто знает, может #8549 как-то настраивается, что бы программа успела на него отреагировать IF [#8549 EQ 249] THEN #548 = 1 ENDIF IF [#8549 EQ 152] THEN #548 = 0 ENDIF https://www.youtube.com/watch?v=jvsv0YoTy-8   Я как-то пример показывал с нажатием кнопки, но там программа была короткая и она успевала схватывать нажатие кнопки. А тут у меня сначала круги рисует и не успевает
    • malvi.dp
      SW2020 работает. Пожелание - уменьшить размеры окна, а то перекрывает весь чертеж, исправить ошибку в слове детели и, если получится, сделать выбор толщины и типа линии.  
    • sippovich
      Добрый вечер Уважаемые Форумчане,нет ли ни у кого инструкции по восстановлению нулевых точек револьверной головы на станки серии TF и TD серии Fanuc? Заранее благодарен.
    • Heroend
×
×
  • Создать...