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

Небольшие вопросы по fanuc и не только


selfmademan

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

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


Станок фрезерный 3-осевой SOLEX FANUC Series 0i-MD.


При отработке по программе возникла ошибка PS0021 - Неверный выбор плоскости.


Станок отрабатывал круговые перемещения с совместным движением по оси Z, была активная функция G17. Все эти перемещения выполнил, и перед линейным движением в центр отверстия выдал эту ошибку. Ранее похожие программы выполнял без проблем.


Буду благодарен за любые подсказки, о возможной причине ошибки.

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


Где-то в программе ошибка. Давайте посмотрим ее.

Не в программе. Вот фрагмент

 

N950 T3M60
N960 M15A57B0X-130Y0Z80S1560F0.15Q3M8 
N970 G65P74X-130Y0Z18.5U20.6I50D52.2A60S0.2F#101
N980 G0Z150
 

В N970 вызывается подпрограмма 74, которая отрабатывается и в самом ее конце появляется аварийное сообщение.

Подобная программа ранее исполнялась без ошибок. Чтобы найти причину мы запустили отработанную, с другими параметрами, и по очереди меняли параметры, пока не вернулась ошибка. Оказалось, что появление ошибки зависит от параметров и Z, это начало и конец обработки. При их равном изменении, например, на 20 мм (в значения Z-1.5U0.6) программа начинает работать. Я объяснить это не могу. Вышли из положения оставив эти рабочие значения и запрограммировали смещение перед циклом через G52 Z20 и отменив его после цикла.

Прилагаю подпрограмму O0076, хотя уверен, что дело не в ней.

Останавливался перед кадром N290 (в подпрограмме), выполнив ровно все перемещения, т.е. сделав все повторы While-End.

O0074
N10IF[#24NE#0]THEN#124=#24(X)
N20IF[#25NE#0]THEN#125=#25(Y)
N30IF[#26NE#0]THEN#126=#26(Z)
N40IF[#21NE#0]THEN#121=#21(U)
N50IF[#4NE#0]THEN#104=#4(I)
N60IF[#7NE#0]THEN#107=#7(D)
N70IF[#1NE#0]THEN#127=#1(A)
N80IF[#19NE#0]THEN#119=#19(S)
N90IF[#9NE#0]THEN#109=#9(F)
N100#137=#100(R INSTR.)
N110#149=#107/2-#137
N120#150=270
N130#151=#150-[#121-#126]/#119*360
N140G0X#124Y#125 
N150G0Z[#121+2]
N160G1Z#121F#109 
N170X[#124+#149*COS[#150]]Y[#125+#149*SIN[#150]] 
N180#143=10
N190#144=#150
N200#145=#151
N210WHILE[#144GT#145]DO1 
N220#144=#144-#143 
N230IF[#144LT#145]THEN#144=#145
N240#152=#121+[#144-#150]/360*#119
N250#153=#149+TAN[#127]*[#152-#121]
N260#147=#124+#153*COS[#144] 
N270#148=#125+#153*SIN[#144] 
N280G2X#147Y#148Z#152R#153 
N290END1 
N300G1X#124Y#125 
N310G0Z#104M99 
Ссылка на сообщение
Поделиться на других сайтах

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

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

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

 

Ошибка, как написал выше, при

...Z18.5U20.6...

Нет ошибки при

...Z-1.5U0.6... и других значениях, которые пробовали.

Появление - отсутствие ошибки стабильное. Ну, и напомню, ошибку PS0021 - "Неверный выбор плоскости", совершенно "не в тему".

Чтобы чуть упростить чтение подпрограммы, скажу, что к параметрам U и Z относятся переменные #21 #121 #26 #126

 

А если I70 в Nr. 970 поставить?

 

Так не пробовали, нашли причину в изменении U и Z, и сразу запустили станок.

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

 

PS- ошибки программы.

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

Пока что меня смущает отсутствие определения #100 и #101, которые используются в расчетах, а также смущает "переменная" #150, являющаяся величиной постоянной (270), а следовательно значительную часть расчетов можно упростить.

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

Здесь, ведь, не просто винтовая? Здесь спираль, с переменным радиусом, уменьшающаяся к центру (Спираль Архимеда, вытянутая по Z).

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

144 152 153 147 148 100

Ссылка на сообщение
Поделиться на других сайтах
PS- ошибки программы. Я попытался смоделировать программу,-слишком много расчетов, до конца повторов слишком долго. Нужно упростить задачу, для этого нужна расшифровка буквенных переменных в основной программе. Пока что меня смущает отсутствие определения #100 и #101, которые используются в расчетах, а также смущает "переменная" #150, являющаяся величиной постоянной (270), а следовательно значительную часть расчетов можно упростить.

X,Y - Координаты центра отверстия,

Z - дно отверстия

U - начало работы по Z

I - подъем по Z после окончания работы

D - верхний диаметр

A - угол конуса

S - шаг винтовой линии

F - подача.

 

#100 - хранит радиус инструмента, определяется в подпрограмме смены инстр.

#101 - минутная подача. Определяется в подпрограмме M15, как произведение частоты вращения S, подачи на зуб F и количества зубьев Q.

#150=270 - стартовый угол траектории.

Переменные при возникновении ошибки не смотрел, и пока нет возможности посмотреть. Единственное, что посмотрел, положение по X на экране при ошибке совпадало с центром отверстия. Да, возможно, он сделал не все круги, потому что курсор стоял на кадре N290END1. Разницу U-Z делал меньше, ошибка все равно была.

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

Если M99 в отдельную строчку поместить? Ну и про I70 скажите, когда сможете испытать. А радиус инструмента меньше 22?

Ссылка на сообщение
Поделиться на других сайтах
Если M99 в отдельную строчку поместить? Ну и про I70 скажите, когда сможете испытать. А радиус инструмента меньше 22?

Хорошо, про M99 и I70 скажу.

Фреза диаметром 16 мм.

Если бы ошибка возникала в середине траектории, можно было бы объяснить, что перемещение G2 X...Y... Z... R... станок понимает в другой плоскости G18/G19, а активна G17. Тогда эта ошибка вполне логичная. Но я не могу объяснить, что при смещении траектории вверх на 20 мм ошибка исчезает.

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

У вас, ведь, тоже версий нет? :)

Значит, обсуждаем то, что имеем :rolleyes:

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

Всем доброго времени суток!

У меня возник вот такой вопрос.

 

Стойка Фанук Oi MD (станок VDL-600A) ,  вводим коррекцию на  инструмент 2:  (Н) (H износ) (D)(Dизнос).

(Например: есть концевая фреза D 10 мм, а по факту она меньше т.е. 9,9мм (вот я в (Dизнос). внёс 0.1 ))

Код:

T2M6

G43 Z 100 H2.

G1 G41 D2 X-30. F100.

код отрабатывается с коррекцией на износ инструмента по диаметру.

Но при  обработке  не по контуру, а по плоскости или по контуру, но по линии (то есть в программе отсутствует код G41/ G42)  коррекция (D износ) не учитывается.

Подскажите так и должно быть или надо что то в параметрах настройки станка поменять?

С ув. Александр

Мне сервис-инженер сказал что при износе фрезы должен переписывать программу. (

Изменено пользователем Алекс71
Ссылка на сообщение
Поделиться на других сайтах

Но при  обработке  не по контуру, а по плоскости или по контуру, но по линии (то есть в программе отсутствует код G41/ G42)  коррекция (D износ) не учитывается.

Так и должно быть. Без этих кодов программа отрабатывается по оси вращения инструмента.

Ссылка на сообщение
Поделиться на других сайтах
Например: есть концевая фреза D 10 мм, а по факту она меньше т.е. 9,9мм (вот я в (Dизнос). внёс 0.1

А это разве правильно? В износ вносится, в этом случае, не -0,05?

Ссылка на сообщение
Поделиться на других сайтах
А это разве правильно? В износ вносится, в этом случае, не -0,05?

Конечно не правильно. Нужно указывать износ на радиус. 

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

Правильно сказал, стойка без ввода функций коррекции не сможет сделать 10мм. из 9.9

да и с вводом тоже, если идти по контуру.

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

Хочу вернуться к обсуждению ошибки при вызове подпрограммы. (Сообщение 161)

Посмотрите значения этих переменных в момент, когда случается ошибка: 144 152 153 147 148 100

144=-3510.0000

152=18.5000

153=14.7626933041

147=-130.0000

148=14.7626933041

Это при ошибке, при Z18.5 U20.6

 

При Z-1.5 U0.6 (искусственные ненормальные значения), ошибки нет, и переменные имеют значения:

144=-3510.0000

152=-1.5000

153=14.7626933041

147=-130.0000

148=14.7626933041

 

Я ничего странного не вижу. #152 различная, но это из-за разных входных параметров Z (в #152 рассчитывается текущее передвижение по оси Z).

#100 не посмотрел, но уверяю, что в ней находится радиус фрезы ~8 мм и ровно никаких изменений с ней не происходит до смены на следующий инструмент.

Если M99 в отдельную строчку поместить? Ну и про I70 скажите, когда сможете испытать. А радиус инструмента меньше 22?

Изменение I50 на I70 не привело к устранению ошибки. И перенос M99 в следующий кадр - тоже. R инструмента ~8 мм.

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

У меня в переменных 148 и 153 вместо 14,76... получается 14,46... , но это наверное опечатка. Может вместо G65 P74  U20.6 написать H20.6, а в подпрограмму добавить IF [#11NE#0 ]THEN#121 =#11(H). Это у меня навязчивая идея, что какая-то ячейка памяти неправильно работает, и дальше бы я пробовал вместо #151-#153 использовать, например #111-#113. Других невероятных идей нет. Интересно, будет ли работать программа на другом станке?

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

Терзают смутные сомнения... Довольно распространена привязка к G33 подпрограммы фрезеровки резьбы, с параметрами.

Но на Фануках есть стандартная G33 Z...F..

Почему не конфликтуют?

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

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

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

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

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

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

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

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

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

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

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




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