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

Программирование с переменными


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

14 минут назад, mr_Voden сказал:

А значения #500 и #501 уже учитывают #502 и #503?

 

В циклах EasyProbe не учитывает, а мне надо что бы учитывало

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


@Viktor2004 То есть 502,503 - смещение центра по X и Y, а 500,501 значения радиусов от этого центра?

Тогда, возможно:

#195=#500+#502 (X+)
#196=ABS[-#500+#502] (X-)
#197=#501+#503 (Y+)
#1198=ABS[-#501+#503] (Y-)

 

Изменено пользователем mr_Voden
Ссылка на сообщение
Поделиться на других сайтах
Только что, mr_Voden сказал:

То есть 502,503 - смещение центра по X и Y, а 500,501 значения радиусов от этого центра?

Я имею только ту информацию из описания которую выложил. Как оно на самом деле, надо разбирать циклы калибровки по кольцу.

Спасибо, Ваш вариант проверю когда случай представится

Ссылка на сообщение
Поделиться на других сайтах
30.10.2021 в 15:00, Viktor2004 сказал:

Уважаемые коллеги.

В результате калибровка щупа Renishaw циклами EasyProbe в переменные записываются следующие значения

Снимок экрана от 2021-10-30 14-37-50.png

А мне нужны данные калибровки в другом виде

Снимок экрана от 2021-10-30 14-40-00.png   Привожу данные результата калибровки для двух станков

#500  2,9515   2,9265

#501  2.9545   2,9450

#502  0,0305  -0,0295

#503  0,0010   0,0165

Помогите пожалуйста написать скрипт пересчета этих значений в переменные #195 #196 #197 #198. так что бы там уже были значения X+ X- Y+ Y- и все они абсолютные, без знака минус

Здравствуйте, я пользуюсь inspection plus, по мне функционала больше чем изи проб. Я делаю так, сверлю высокоскоростным сверлом отверстие жесткого диаметра, к примеру 28мм. Не перемещая положения стола с заготовкой в которой это отверстие вызываю 3D датчик, и запускаю цикл калибровки на смещение щупа x,y, только цикл калибровки называется вроде бы векторный, он делает 10 касаний о края отверстия по часовой стрелки , и выкидывает данные смещения по этим 10ти  точкам в переменные, которые я указываю в программе настройки O9724, по этим данным смещения легко найти интересующие вас точки, фото ниже. (П.О. от инспекшн плюс, С мануалом имеется если что).

01A5F1B5-F5D2-41C4-9DD6-6EAF666656E6.png

Изменено пользователем VODKABALALAIKALAPTI
Ссылка на сообщение
Поделиться на других сайтах
3 часа назад, VODKABALALAIKALAPTI сказал:

П.О. от инспекшн плюс, С мануалом имеется если что)

нет, спасибо. Все это у меня есть. Но менять циклы которые использовали 10 лет никто не хочет.

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

Добрый день 

Есть машина газовой резки слябов . В ПО есть условие по выбору скорости перемещения резака в зависимости от толщины, но получается так ,что приходит всегда одно и тоже значение и это величина постоянная и равна 169 мм/мин , то есть при условие что переменная 125 =1 . 

просьба дать совет , помочь разобраться в программе и прописать условие для различной скорости перемещения в зависимости от толщины сляба  

%O0200(MAIN AUTO)
/GOTO1
G53 X0 Y0 V0 Z0 W0  /переключение координат станка
GOTO200
N1
IF [[#192 EQ 0] OR [#192 EQ #0]] #3000=1(НЕ ЗАДАНА ШИРИНА СЛЯБА) /если #192 пустая и сравнивается с #0 то условие удовлетворяется, если #192=0 при сравнении условие не удовлетворяется, а проходит по первому условию то возникает ошибка 
IF [[#193 EQ 0] OR [#193 EQ #0]] #3000=2(НЕ ЗАДАНА ВЫСОТА СЛЯБА) /здесь то же самое


#110=200
#111=15
#120=250
#121=315
#122=400
#130=150
#131=120
#132=100
#140=30
#141=30
#142=30
#150=#195

IF [#155 EQ #0] #155=0  /если #155 пустая и сравнивается с #0 то условие удовлетворяется, если #155=0 при сравнении условие не удовлетворяется 
                        /Это значение используется при движении горелки 1 к слябу

#160=2792               /координата отсчета для второй горелки (V) !!!!!!Померить в первую очередь расстояние!!!!
#170=540                /координата отсчета для первой и второй горелки по высоте (Z и W)(отсчет идет от горелки)

#123=[#120+#121]/2    /282,5
#124=[#121+#122]/2    /357,5
#125=1


///ВЫСОТА СЛЯБА////

IF [#193 LE #123] #125=0   /если высота сляба меньше чем или равна 282,5 то переменая 125=0 
IF [#193 GT #124] #125=2   /если высота сляба больше чем 357,5 то переменная 125=2
#106=#[130+#125]           /при расчете по формуле получим номер переменной, которой будет равна #106
#107=#[140+#125]       /при расчете по формуле получим номер переменной, которой будет равна #107
#101=#106*SQRT2           
#105=#107*SQRT2            /расчет подачи (F)


///ДЛИНА СЛЯБА/////

#151=#191-#194          /длина сляба - длина +-20мм коридор
#152=ABS[#151]          /абсолютное значение #151 присваиваем  #152
IF [#152 GT 100] #3000=001(X NE V ZONE)   /если #152 больше чем 100 то #3000=001 ошибка х не в зоне

///ШИРИНА СЛЯБА от 1500 до 2500, недорез на слябах шириной 2000/////

#161=#160-#192-15         /. координата нулевой точки сляба для второй горелки 
#162=#192/2-#110/2+15     /расчет координаты движения реза для первой горелки
#163=#161+#192/2+#110/2+#111 ////ДУМАЮ ЧТО ЭТО ЗНАЧЕНИЕ ИДЕТ РАСЧЕТ НА ДОРЕЗКУ СЛЯБА ВТОРОЙ ГОРЕЛКОЙ Т.К ЭТО ЗНАЧЕНИЕ ИСПОЛЬЗУЕТСЯ ОСЬЮ V в конце работы
#164=#161+#162              //// расчет координат движения реза для второй горелки

//Расчет для координат Z и W
#171=-[#170-#193-20]     /540- ВЫСОТА СЛЯБА - 20(чтобы горелка не уперлась в сляб)


/////подходим к слябу по координатам

G54 G64 G0    /переключение координат детали, непрерывный рез, быстрое перемещение
X#151           /ПЕРЕМЕЩЕНИЕ ПО КООРДИНАТЕ Х (длина сляба) берем значение полученные расчетом для #151
Y#155 V#161     /перемещение горелки по ширине 1-я Y и 2-я V.
Z#171 W#171     /перемещение горелки по высоте 1-я Z и 2-я W.
M0        /приостановить работу до нажатия кнопки старт

#155=-35
M62             /????

//// После нажатия кнопки старт пошел рез
        
??? G1 YI15 VI15 F#105  /G1 рабочее перемещение с подачей F#105
??? M61 G0 ZI20 WI20    /м61?? G0 переключаем на быстрое перемещение

??? G1 YI15 VI15 F#105  /G1 рабочее перемещение с подачей F#105
??? #100=#105        

//Цикл. пока выполняется условие #100 LT #101 цикл будет выполняться повторно

WHILE [#100 LT #101] DO1 /
G1 YI0.25 VI0.25 F#100   /рабочее перемещение по координатам Y V с подачей F#100
#100=#100+1
END1

G1 Y#162 V#164 F#101     ////////рабочее прямолинейное перемещение первой горелки по координате Y и второй горелки по координате V 
??? #102=[#5004*#106]/[#163-#5003]
??? #103=[#5002*#106]/[#163-#5003]
??? #104=SQRT[#102*#102+#103*#103+#106*#106]
V#163 Y0 Z0 F#104 M40                    / Скорее всего здесь идет дорезка сляба второй горелкой когда первая горелка уходит в ноль
 
N100 M50
G0 V0 W0 Z0
G53 X0 Y0

M80
N200
M30

Ссылка на сообщение
Поделиться на других сайтах
17 часов назад, Soprin сказал:

А зачем эта калибровка? Что она даёт?

Вы можете использовать измерительные циклы от той же изи проб. Например нахождение центра отверстия и его привязка в G54-59, G54.1P1-P48, более того эти циклы выплевывают массу интересных данных, к примеру диаметр этого отверстия. Я как узнал что есть эти циклы сразу накидал прогу на их основе и сейчас руками не привязываюсь, только из под программы это очень удобно. Как пример, на работе часто сверлим единичные фланцы от стола без оправы и единичный фланец привязать руками это геморно, я подвожу щуп к фланцу вбиваю параметры замера, его диаметр и так далее в прогу , нажимаю кнопку, а дальше станок делает все сам, минутное дело. Все циклы работают в безопасном перемещении то есть если щуп наткнётся на припятствие по траектории  пока измеряет заготовку то станок уйдёт в ошибку.  Плюсом я могу посмотреть его диаметр реальный и узнать бракованный он или в допуске. 

Изменено пользователем VODKABALALAIKALAPTI
Ссылка на сообщение
Поделиться на других сайтах
18 часов назад, Soprin сказал:

А зачем эта калибровка? Что она даёт?

Ну например у тебя есть грибок для измерения длины инструмента. Измерение происходит в момент касания инструментом шляпки грибка. Длина при этом высчитывается. Из текущей координаты по Z шпинделя вычитается координата Z шляпки грибка.

А откуда взять эту координату шляпки грибка? Ее получаем в процессе калибровка. Цикл калибровки он обратный по отношению к измерению. Если при измерении мы измеряем длину инструмента зная координаты грибка, то при калибровке мы наоборот вычисляем координаты грибка зная длину инструмента. Для калибровки мы используем эталонный инструмент у которого очень точно знаем длину. Вот в момент касания таким инструментом, зная текущие координаты шпинделя и длину калибровочного инструмента мы точно вычисляем координаты грибка. И эти координаты запоминаем в макропеременные и потом будем их использовать во всех циклах измерения.

Ссылка на сообщение
Поделиться на других сайтах
3 часа назад, Viktor2004 сказал:

Ну например у тебя есть грибок для измерения длины инструмента. Измерение происходит в момент касания инструментом шляпки грибка. Длина при этом высчитывается. Из текущей координаты по Z шпинделя вычитается координата Z шляпки грибка.

А откуда взять эту координату шляпки грибка?

 

В машинных координатах от нуля станка

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

Я не про калибровку которую делают при установке это само собой ))) а про х,у которую делают постоянно

4 часа назад, VODKABALALAIKALAPTI сказал:

Вы можете использовать измерительные циклы от той же изи проб. Например нахождение центра отверстия и его привязка в G54-59, G54.1P1-P48, более того эти циклы выплевывают массу интересных данных, к примеру диаметр этого отверстия. Я как узнал что есть эти циклы сразу накидал прогу на их основе и сейчас руками не привязываюсь, только из под программы это очень удобно. Как пример, на работе часто сверлим единичные фланцы от стола без оправы и единичный фланец привязать руками это геморно, я подвожу щуп к фланцу вбиваю параметры замера, его диаметр и так далее в прогу , нажимаю кнопку, а дальше станок делает все сам, минутное дело. Все циклы работают в безопасном перемещении то есть если щуп наткнётся на припятствие по траектории  пока измеряет заготовку то станок уйдёт в ошибку.  Плюсом я могу посмотреть его диаметр реальный и узнать бракованный он или в допуске. 

А зачем вам для нахождения центра калибровка по х,у?

Ссылка на сообщение
Поделиться на других сайтах
51 минуту назад, Soprin сказал:

А зачем вам для нахождения центра калибровка по х,у?

затем что щуп может иметь отклонение в какую-либо сторону из-за неточности выравнивания или из-за разности в срабатывании концевиков внутри щуповой головки. Да и круглый шарик на стилусе запросто может оказаться квадратным

Ссылка на сообщение
Поделиться на других сайтах
01.01.2022 в 18:21, Viktor2004 сказал:

затем что щуп может иметь отклонение в какую-либо сторону из-за неточности выравнивания или из-за разности в срабатывании концевиков внутри щуповой головки. Да и круглый шарик на стилусе запросто может оказаться квадратным

Да это больше нужно если по точкам измерять криволинейные поверхности, имхо. А для отверстий и подобных там роли не играет

Ссылка на сообщение
Поделиться на других сайтах
04.01.2022 в 05:46, Soprin сказал:

Да это больше нужно если по точкам измерять криволинейные поверхности, имхо. А для отверстий и подобных там роли не играет

Как раз все наоборот, для измерения линейной поверхности (заверка), нет необходимости калибровать датчик на смещение щупа. Ведь вы делаете касание какой либо стороной щупа и последующие касания будут этой же стороной. А когда происходит измерения отверстия, вала, ребра, паза, щуп касается разными сторонами, и если щуп вкручен то он в основном имеет смещения или завален на одну из сторон. В руководстве по датчику к примеру «reneshaw измерительные циклы» имеется пояснение…

A464BDC7-A483-42BB-AA99-9C47079127F1.png

Ссылка на сообщение
Поделиться на других сайтах
06.01.2022 в 11:25, VODKABALALAIKALAPTI сказал:

Как раз все наоборот, для измерения линейной поверхности (заверка), нет необходимости калибровать датчик на смещение щупа. Ведь вы делаете касание какой либо стороной щупа и последующие касания будут этой же стороной. А когда происходит измерения отверстия, вала, ребра, паза, щуп касается разными сторонами, и если щуп вкручен то он в основном имеет смещения или завален на одну из сторон. В руководстве по датчику к примеру «reneshaw измерительные циклы» имеется пояснение…

A464BDC7-A483-42BB-AA99-9C47079127F1.png

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

Ссылка на сообщение
Поделиться на других сайтах
35 минут назад, Soprin сказал:

если мы знаем погрешность измерения

А измеряется эта погрешность в процессе калибровки

Ссылка на сообщение
Поделиться на других сайтах
19 часов назад, Viktor2004 сказал:

А измеряется эта погрешность в процессе калибровки

1 раз 

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

Товарищи, а нет ли у кого программы для выполнения вертикальной фаски  обычной вертикальной фрезой с радиусом например на угол в 30 градусов сверху вниз со смещением Z и Y по оси X или Z и X по оси Y?

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

Помогите написать макропрограму для нарезание резьбы с разбивкой по двум режущим кромкам, и с возможностью многозаходной без смешения начальной точки стойка fanuc 0i mate td. Сам ноль в макро программирование. 

 

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

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

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

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

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

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

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

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

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

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

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




×
×
  • Создать...