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

Выборка круглого кармана


IgorNN

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

Уважаемые коллеги,подскажите пожалуйста.

 

Начну с примера,чтобы было понятно. На Haas(ах) есть функция(я так понимаю ихняя разработка) G12/G13.

Ничего особенного- фрезеровка круглого кармана из его центра со смещением инструмента в плоскости xy,

(спираль в плоскости, не винтовая), с погружением по слоям(ось Z).

Есть ли что-то подобное на Fanuc(ах)? Может быть кто-то писал сам?

Стойка Fanuc oi-md.

 

Спасибо.

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


Спасибо,весьма полезно.

У меня что-то не получалось именно с этой подпрограммкой, Q вроде не отрабатывало. Что-то переделывал, но давно не пользовался, нужно посмотреть.

P.S. Сейчас попробовал прорисовать, не работает, не понятно откуда, например взялась #11?

Вроде не определена. И переменные системные на Фануках (старых) другие.

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

Спасибо за отзыв ilya_W.

Своевременное замечание. Мне в ближайшее время как-раз понадобиться эта функция.

Привык к ней на Haas(ах), а тут SunMill тайваньский закупили с Funuc(ом),а там этой функции нет. Хотя наверно аналог какой-то имеется (вообще). Но как всегда в России, экономят на всём.

Попробую связаться с автором мож "релиз новый вышел или обновление" :)

Ссылка на сообщение
Поделиться на других сайтах
Попробую связаться с автором мож "релиз новый вышел или обновление" :)

Авторское обновление, это самое лучшее, конечно. Но, в принципе, и допилить до рабочего состояния несложно. Там должно работать, мелкие огрехи подправить типа той же неопределенной переменной #11 или где-то 2 строчки слеплены  вместе были вроде.

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

Спасибо  ilya_W , дело понятное постараемся разобраться. Хорошо ,что не "с нуля" начинать.

Хотел в личку отписать автору,- не получилось,ошибку выдал ,что типо нельзя...

Написал в аське,но пока ответа нет.

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

Вот мой рабочий вариант. Исправил тот, что был по ссылке. Что исправлял - точно уже не помню...

 

 

O9013 (SPIRAL MACRO)
#26= ABS[#26]
#17= ABS[#17]
#22=#17
IF [#26 EQ #0] GOTO 1
IF [#17 EQ #0] GOTO 1
IF [#18 EQ #0] GOTO 1
IF [#4 EQ #0] GOTO 1
IF [#7 EQ #0] GOTO 1
IF [#20 EQ #0] GOTO 1
IF [#3 EQ #0] GOTO 1
IF [#19 EQ #0] GOTO 1
IF [#13 EQ #0] GOTO 1
IF [#17 GT #26] GOTO 2 (Z LESS THAN E)
#33= #4001 ()
#32= #4003
#31= #[13000+#7] (RADIUS FREZY IZ KORREKTORA)

#30= [160*#19]/[#31] (OBOROTY SPINDEL)
IF [#30 GT #13] GOTO 8
S#30 M3
#29= #30*#20*#3 ()
GOTO 9
N8 S#13 M3
#29= #13*#20*#3
N9 #27= #18/12
#10= #5041 (POZICIYA X V SISTEME ZAGOTOVKI)
#12= #5042 (POZICIYA Y V SISTEME ZAGOTOVKI)
#5= #5043-#5083 (POZICIYA Z V SISTEME ZAGOTOVKI - KORREKTOR)
#16= 0
G17
N7 #14=#17
WHILE [#26 GE #14] DO 1
IF [#31 GE [[#11/2]-.05]] GOTO 4
#28= [#11/2]-#31
G91 G0 Z-[.1+#17]
G90 X[[#10+#28]-.05]
G1 X[#10+#28] F#29
GOTO 5
N4 G91 G1 Z-[.1+#17] F[#29/2]
#28= 0
N5 #15=[[#4/2]-#28-#31]/#18*360 (VYCHISLENIE MAX UGLA SPIRALI)
#1=30
#28= #28+#27
WHILE [#15 GT #1] DO 2
#24= #10+#28*COS[#1]
#25= #12+#28*SIN[#1]
#2= [#28/[#28+#31]]*#29
G90 G3 X#24 Y#25 R#28 F#2
#1= #1+30
#28= #28+#27
END 2
#28= [#4/2]-#31
#24= #10+#28*COS[#15]
#25= #12+#28*SIN[#15]
#2= [#28/[#28+#31]]*#29
G3 X#24 Y#25 R#28 F#2
X#24 Y#25 I-[#28*COS[#15]] J-[#28*SIN[#15]]
#15= #15+15
#24= #10+#28*.98*COS[#15]
#25= #12+#28*.98*SIN[#15]
X#24 Y#25 R[#28*.98]
IF [#26 EQ #17] GOTO 6
IF [#26 EQ #14] GOTO 6
IF [#16 EQ #1] GOTO 6
G91 G0 Z.1 G90 X#10 Y#12
#14= #14+#17
END 1
#17= [#26-[#14-#17]]
#16= 1
GOTO 7
N6 G0 Z#5 X#10 Y#12
#17= #22
GOTO 3
N1 #3000= 0(SPIRAL POCK. COMMAND INCOMPL.)
N2 #3000= 0(E EXCEEDS Z)
N3 G#33 G#32 M99
%

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

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

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

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

Ну, это я писал не сам, просто доработал то, что было. Меня устраивает. Мне секунды выгадывать не нужно. А то, что последний проход происходит с небольшим съемом метала - для меня даже в плюс. Станки не слишком новые, люфты присутствуют. Так что пусть будет... :)

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

Странно, и кадр

G91 G0 Z.1 G90 X#10 Y#12

 работает?  И #11 переменная по-прежнему не определена

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

Странно, и кадр

G91 G0 Z.1 G90 X#10 Y#12

 работает?  И #11 переменная по-прежнему не определена

Ой, давайте я в целом решение предоставлю, а не адаптированное ко всей линейке Fanuk. 

Итак, Fanuk 21 M, Leadwell V30 древний-древний. Обдирку я там делаю.

 H (#11) - Диаметр начала раскатки.

Выбор из параметра, где прописан радиус фрезы, я не использую, а задаю его при обращении к П\П.

Насчет кадра  "G91 G0 Z.1 G90 X#10 Y#12" действительно справедливое замечание. Как доберусь до станка - буду разбираться.

Тем не менее, у меня работает так:

 

%

O8022 (RASKATKA KRUGLYH KARMANOV PO SPIRALI G3);

#504=73. (D - DIAMETR FREZY)

#512=0 (KOORD. X)

#513=0 (KOORD. Y)

#510=1. (NACHALO OBRABOTRI PO Z)

#511=0 (KONEC OBRABOTRI PO Z)

#501=1. (Q - SCHAG PO Z KRATNO Z)

#502=25. (R - SCHAG PO RADIUSU SPIRALI)

#509=260. (H - DIAMETR NACHALA)

#503=270. (I - DIAMETR KONCA)

#505=5 (T - KOL-VO ZUBOV FREZY)

#506=0.1 (C - PODACHA NA ZUB)

#507=220. (S - SKOROST' REZANIYA)

#508=1500 (M - MAKSIMAL'NYE OBOROTY SCHPINDELYA)

G90G17

G80G49G40

G91G28Z0

G54 G90 G0 X#512 Y#513 Z100.

S1000 M3

M8

G1 Z[#510+0.1] F1000

#500=#511-#510 (Z - GLUBINA KARMANA OT NACHALA OBRABOTKI)

G13 Z#500 Q#501 R#502 I#503 H#509 D#504 T#505 C#506 S#507 M#508;

G90 G0 Z100. M9

G91G28Y0Z0M5

G90

M30

%

 

 

%

O9013 (SPIRAL MACRO)

#26= ABS[#26]

#17= ABS[#17]

#22=#17

IF [#26 EQ #0] GOTO 1

IF [#17 EQ #0] GOTO 1

IF [#18 EQ #0] GOTO 1

IF [#4 EQ #0] GOTO 1

IF [#7 EQ #0] GOTO 1

IF [#20 EQ #0] GOTO 1

IF [#3 EQ #0] GOTO 1

IF [#19 EQ #0] GOTO 1

IF [#13 EQ #0] GOTO 1

IF [#17 GT #26] GOTO 2 (Z LESS THAN E)

#33= #4001 ()

#32= #4003

#31= #7/2 (RADIUS FREZY)

#30= [160*#19]/[#31] (OBOROTY SPINDEL)

IF [#30 GT #13] GOTO 8

S#30 M3

#29= #30*#20*#3 ()

GOTO 9

N8 S#13 M3

#29= #13*#20*#3

N9 #27= #18/12

#10= #5041 (POZICIYA X V SISTEME ZAGOTOVKI)

#12= #5042 (POZICIYA Y V SISTEME ZAGOTOVKI)

#5= #5043-#5083 (POZICIYA Z V SISTEME ZAGOTOVKI - KORREKTOR)

#16= 0

G17

N7 #14=#17

WHILE [#26 GE #14] DO 1

IF [#31 GE [[#11/2]-.05]] GOTO 4

#28= [#11/2]-#31

G91 G0 Z-[.1+#17]

G90 X[[#10+#28]-.05]

G1 X[#10+#28] F#29

GOTO 5

N4 G91 G1 Z-[.1+#17] F[#29/2]

#28= 0

N5 #15=[[#4/2]-#28-#31]/#18*360 (VYCHISLENIE MAX UGLA SPIRALI)

#1=30

#28= #28+#27

WHILE [#15 GT #1] DO 2

#24= #10+#28*COS[#1]

#25= #12+#28*SIN[#1]

#2= [#28/[#28+#31]]*#29

G90 G3 X#24 Y#25 R#28 F#2

#1= #1+30

#28= #28+#27

END 2

#28= [#4/2]-#31

#24= #10+#28*COS[#15]

#25= #12+#28*SIN[#15]

#2= [#28/[#28+#31]]*#29

G3 X#24 Y#25 R#28 F#2

X#24 Y#25 I-[#28*COS[#15]] J-[#28*SIN[#15]]

#15= #15+15

#24= #10+#28*.98*COS[#15]

#25= #12+#28*.98*SIN[#15]

X#24 Y#25 R[#28*.98]

IF [#26 EQ #17] GOTO 6

IF [#26 EQ #14] GOTO 6

IF [#16 EQ #1] GOTO 6

G91 G0 Z.1 G90 X#10 Y#12

#14= #14+#17

END 1

#17= [#26-[#14-#17]]

#16= 1

GOTO 7

N6 G0 Z#5 X#10 Y#12

#17= #22

GOTO 3

N1 #3000= 0(SPIRAL POCK. COMMAND INCOMPL.)

N2 #3000= 0(E EXCEEDS Z)

N3 G#33 G#32 M99

%

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

 

G91 G0 Z.1 G90 X#10 Y#12

 

Желательно писать в разных строках. 

 

Тонкое замечание. Я бы выкинул параметры с режимами резания на хрен, лишнее это. Ну и каждому проверить свои системные переменные, вот эти #5041-5043 , ну и с коррекцией немного разобраться бы.

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

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

Я думаю сильно "не заклюют",если я попрошу описать математическую суть (с формулами желательно) этой обработки.

Хочется целостную картину представить всего процесса.

 

Спасибо.

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

Я понимаю,за основу брался уже готовый вариант(каким-то образом брался из Haas)

и "коверкался" до нужного состояния.

С нуля, наверно, никто не писал.


В любом случае для меня уже большая польза то,что здесь выложили и насоветовали.

Просто,если что-то править придётся,хотел с сознанием дела, а не просто наобум. 

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

Это под Фанук и написано. Чтобы разобраться, возьмите инструкцию по программированию. 

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

Да с программированием, уж больно больших проблем нет. Я не гуру,но работаю самостоятельно. Чтобы что-то программно описать надо знать предметную область,вот собственно и смысл.

А инструкция по программированию от Фанука, ИМХО, очень "сухая" ,с малым количеством примеров и объяснений!

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • Andrey_kzn
      - тут возможно смысл сообщения в том, что оси не синхронизированы, только вот зачем синхронизировать  оси X и Y не понятно. В случае двух шпинделей например,  coupled будет означать синхронизацию.
    • niagara39
      Правильно ХУ на этом станке не перпендекулярны. Тормоз оси У включен постоянно, отключается только при перемещении самой оси У. Координаты не  меняются... Знать бы что за параметры, пока ничего подобного не нашли
    • nicomed
      Поднял старые записи. Из того что было максимально похоже на то, что можно было назвать "получалось" :   Самому не совсем понятно поведение СкетчМенеджера при отрисовке линии от координат 0,0,0 - частенько слетает в произвольное место на виде. 
    • maxx2000
      на втором  скрине PLC сообщает что-то типа "старт программы запрещён потому что оси ХУ не связаны". Возможно станок в режиме точения должен заблокировать перемещение У, включить тормоз или что-то ещё для произвольного смещения под нагрузкой. Возможно косяк в тексте программы.
    • maxx2000
      @sneg0vik как это? Если ХУ не перпендикулярны то это уже не У, а скажем ось В. Нет, конечно в теории можно построить станок с неперпендикулярными ХУ. Вопрос зачем? Gildemeister CTX 420 это же токарно-фрезерный с осью У
    • sneg0vik
      На станке ось "X" является наклонной по отношению к оси "Y" (т. е. они не перпендикулярны). Поэтому надо полагать (учитывая текст ошибки) у вас отключена связь оси "Y" с осью "X".   Проверьте меняются ли координаты оси "X", когда вы двигаете ось "Y". И наоборот. Если - нет, то ищите как включить (наверное через параметры) взаимосвязь оси "Y" с осью "X".
    • ДОБРЯК
      Если ваш Заказчик и такую работу примет, то необходимо в шпоночное отверстие добавить и массу воды. Примерно 1/4 от той массы которую вы будете добавлять.  Да и еще и не забыть добавить момент инерции от воды.
    • Soprin
      В функции MOVE по F7.3 должно же из R270 переносить в R278?
    • niagara39
      Причина все еще не найдена... Но заметил, что сразу после включения в меню диагностики появляется следующее предупреждающее сообщение: 10155 M: Y-axis: Y-axis and X-axis not coupled , но причина его появления и его смысл неизвестны
    • maxx2000
      скажите, Вам уже делали эти детали? Вы себе представляете как и главное  чем, можно обработать внутренние углы без скругления на вашей детали? Разве что проволокой. НО оно же стоить будет как крыло от боинга. 
×
×
  • Создать...