Программирование на FANUC (Поиск середины заготовки на поворотной оси)
Еще немного геометрии и Fanuc.
Цель - найти центр заготовки на поворотной оси, при установке детали в произвольном месте, кстати, деталь необязательно должна быть круглой.
Детали разовые, поэтому обработка без подставки.
Наша цель при повороте стола на любой градус знать где находится центр заготовки.
Ищем центр заготовки при положении стола в В0 любым доступным методом (marposs/renishaw/на касание/стрелочный индикатор)
В нашем примере возьмем целые числа для удобства расчетов. Хотя чуть позже они будут не очень целыми. и повернем стол на 14 градусов. Получим:
Итоговый результат должен получиться по Х20,46 Z37,89
Для удобства увеличим зону рассчетов
Если уже стало всё непонятно, то дальше будет еще хуже))
Проведем доп линии и обозначим точки
Точка А - центр вращения стола, точка С - центр детали
CD - это наше смещение по оси Х после поворота
BD - по оси Z
AG=41(Смещение по Z до поворота)
DG=11(Смещение по Х до поворота)
***Треугольник AHG***
HG=AG*cos14=39,782
AH=AG*sin14=9,919
AH=CF
***Треугольник DEG***
EG=11*tg14=2,743
ED=11/cos14=11,337
***Треугольник EFG***
EF=EG*sin14=0,664
GF=EG*cos14=2,662
CD=AH+ED-EF=9,919+11,337-0,664=20.592(**ось X**)
BD=HG-GF=39,782-2,662=37,12(**ось Z**)
При перечтении статьи заметил что оси можно посчитать более коротким путем, через треугольник DFG, пришлось немного переписать формулу, но по итогу она получилась проще (оставлю было/стало)
DF=DG*cos14
FG=DG*sin14
CD=DF+AH(**ось X**)
BD=HG-GF
Итог:
(Х) CD=[11*cos14]+[41*sin14] / было CD=[11*sin14]+[11/cos14]-[11*tg14*sin14]
(Z) BD=[41*cos14]-[14*sin14] / было BD=[41*cos14]-[11*tg14*cos14]
так как у нас стоит кругляк, нужно к оси Z еще прибавить его радиус.
сделаем из расчетов небольшую подпрограмму с переменными, для задания произвольного смещения и угла поворота
О0100;
(#2 - B угол поворота детали);
(#24 - X начальное смещение);
(#26 - Z начальное смещение);
(#18 - R радиус деали);
#500=#26*COS[#2]-#24*SIN[#2]+#18(**Z**);
#501=#24*COS[#2]+#26*SIN[#2](**X**);
M99;
вызов
G65P0100B30X10Z5R200;
Об использовании данной подрограммы не только на круглых деталях сделаю сделаю отчет в следующих постах.
Лига ЧПУшников
1.7K постов11.5K подписчик