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

Небольшие вопросы по 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 пользователей

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




  • Сообщения

    • gudstartup
      @karlf 530 считывает ключ по специальному протоколу при помощи plc и получает его серийный номер а из него определяет возможные режимы доступа. там нет драйвера а есть plc модуль или несколько эти модули написаны на питоне  надпись smartkey исчезает с экрана при запуске чпу??
    • ДОБРЯК
      Для того, чтобы получить правильные высшие) формы при виртуальном эксперименте, нужно сделать грамотную КЭ модель. От разговора на эту тему вы постоянно уклоняетесь.  То нет компьютера под рукой, сделать простейший тест, то теряете интерес. :=) Сходимости энергии деформации при расчетах статики, недостаточно для точного определения высших собственных форм и частот.  Для того, чтобы грамотно использовать метод конечных элементов, нужно сделать много-много тестов в статике, динамике и ... Одной кнопки и двух конечных элементов в 3Д программе недостаточно для определения высших собственных форм...  У вас в качестве инструмента всего два конечных элемента, шести узловая несовместная оболочка Тимошенко и десяти узловой тетраэдр. И еще контакты при решении задачи на собственные числа. Вам ли говорить про правильность определения высших собственных форм для сложных изделий... :=)    
    • vad0000
      Покажите схему с разрешением на движение
    • vad0000
      Вход, а не выход Вытащить Аналоговый вход и все, как будто туда ничего не подключено И если мы подключим сигнал к энкодеру оси Х, то он стнтет одинаковый с аналоговым входом, который не подключен?
    • Snake 60
      @waze4534  Посмотрите вверх и прочитайте текст на красной полоске...
    • kkk
      Я так понимаю, что предупреждение про "касательные" не просто так выскакивает. Если скруглить прямую стыковку отрезков эскиза (минимальным радиусом) то все работает даже без объединенной кривой, достаточно эскиза.
    • karlf
      Подскажите пожалуйста, может кто сталкивался. Станок DMU-50 на стойке TNC 530, перестал определяться ключ доступа. Сам ключ вроде работает, если переключать на нём режимы, то в шкафу на соответствующих блоках лампочки тоже переключаются. Но изначально был уровень доступа 4, а теперь уровни доступа не активны. Ключ только один, запасных нет. Есть какой-то старый бэкап, пробовал его накатить, но какой-то он непонятный - станок грузится, но почти в конце загрузки выдаёт какую-то ошибку по параметрам. Может кто знает в каком из разделов и в какой папке искать установленные драйверы ключа?
    • YuriySt54
      В данной конструкции можно сразу одним телом делать и обрезать. Но меня интересовало, можно ли сразу при построении массива ограничить лишнее.
    • Ветерок
      Сделать основание одним телом, массив другим телом. Тело массива обрезать как надо, потом объединить тела.
    • YuriySt54
      Можно ли при построении массива лишнее отсечь, как к примеру отсечено по длинной стороне. Делал начальный элемент бобышкой по траектории с выбранной функцией "выровнять с торцевыми поверхностями". Можно ли так сделать при построении массива? Или отдельно потом обрезать лишнее только?
×
×
  • Создать...