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

Как зациклить программу для станка с ЧПУ


grinya-alex

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

Здравствуйте. Нужен Ваш совет. Недавно мы приобрели токарный станок с ЧПУ. Система ЧПУ Fanuc. Перед нами стоит задача автоматизировать производство детали типа втулка. Размеры d30×20 мм. Время цикла составляет 3,5 минуты. По этому есть необходимость автоматически запускать выполнение программы хотя бы 20 раз, тоесть нужно её зациклить на выполнение несколько раз. Подскажите, где можно почитать или изучить данный вопрос. Вообще какими G кодами это производится и как. Сама программа написана и отработана. Стоять возле станка и просто нажимать кнопку на запуск цикла программы заново не совсем хочется. Заранее спасибо за советы. 

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


UnPinned posts
1 час назад, grinya-alex сказал:

Здравствуйте. Нужен Ваш совет. Недавно мы приобрели токарный станок с ЧПУ. Система ЧПУ Fanuc. Перед нами стоит задача автоматизировать производство детали типа втулка. Размеры d30×20 мм. Время цикла составляет 3,5 минуты. По этому есть необходимость автоматически запускать выполнение программы хотя бы 20 раз, тоесть нужно её зациклить на выполнение несколько раз. Подскажите, где можно почитать или изучить данный вопрос. Вообще какими G кодами это производится и как. Сама программа написана и отработана. Стоять возле станка и просто нажимать кнопку на запуск цикла программы заново не совсем хочется. Заранее спасибо за советы. 

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

 

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

В конце программы вместо m30 прописать m99. Это зациклит программу, вот только как вы хотите без остановки станка заменить заготовку. Есть ли пруткоподатчик, либо грейфер.

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

Спасибо большое. Сейчас почитаю.

Только что, Irenmor сказал:

В конце программы вместо m30 прописать m99. Это зациклит программу, вот только как вы хотите без остановки станка заменить заготовку. Есть ли пруткоподатчик, либо грейфер.

У нас есть барпуллер, хочу пока заморочится с его помощью.

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

есть необходимость автоматически запускать выполнение программы хотя бы 20 раз, тоесть нужно её зациклить на выполнение несколько раз

Здравствуйте. Вот пример выполнения программы 20 раз:

#1=1
WHILE[#1 LE 20] DO1
Код Вашей программы
...
...
#1=#1+1
END1
M30

 

 

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

Стоять возле станка и просто нажимать кнопку на запуск цикла программы заново не совсем хочется.

Я в таких случаях пользуюсь подобными лайфаками.

 

2014_11_24_14_16_51.JPG

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

Здравствуйте. Вот пример выполнения программы 20 раз:


#1=1
WHILE[#1 LE 20] DO1
Код Вашей программы
...
...
#1=#1+1
END1
M30

 

 

Спасибо, попробую

Ссылка на сообщение
Поделиться на других сайтах
  • 4 месяца спустя...
11.03.2023 в 13:19, A_1 сказал:

Здравствуйте. Вот пример выполнения программы 20 раз:


#1=1
WHILE[#1 LE 20] DO1
Код Вашей программы
...
...
#1=#1+1
END1
M30

 

 

Подскажите где найти больше информации про составление такой подпрограмы с while только, с другими значениями

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

Подскажите где найти больше информации про составление такой подпрограмы с while только, с другими значениями

Здравствуйте, вот фрагмент из моего курса по параметрическому программированию станков с ЧПУ FANUC:

Для повторения участков программы применяют команду WHILE (пока):

WHILE[#1GT#2] DO 1
N50
N60
N70
N80
END 1

Прочитаем этот код: Пока условие в квадратных скобках (#1 > #2) верно - выполнять (DO - делать) кадры расположенные между этой строкой и строкой со словом END (конец) с таким же числом, которое было указано после слова DO (1 в нашем примере).

Каждый раз после команды END управление возвращается на строку WHILE и вновь проверяется данное условие. Если условие на определенном шаге не верно (ложь), то цикл завершается, управление переходит к строке находящейся после слова END. Цикл WHILE может быть ни разу не выполнен (если условие сразу оказалось ложным).

Число после слова DO называется идентификационным номером. Соответствующее слову DO слово END должно иметь такой же идентификационный номер. Идентификационные номера могут быть: 1, 2 или 3.

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

Всем привет! Приобрели старенький фрезер Auerbach FBE 1200 со стойкой Heidenhain TNC 407 под сверловку отверстий.

В наличии прога для сверловки с оператором WHILE, но проблема в том что на стойке нет этого оператора, она его не знает.

Есть только стандартные IF [NE GE.. и т.д.] GOTO ...

Может есть у кого прога на сверловку отверстий по окружности без WHILE или подскажите в какую сторону думать.

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

со стойкой Heidenhain TNC 407 

В соответствующую ветку идите, здесь Фанук обсуждают.

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

Может есть у кого прога на сверловку отверстий по окружности без WHILE или подскажите в какую сторону думать.

Здравствуйте. Для обработки отверстий расположенных на окружности есть цикл CYCL DEF 220

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

Всем привет! Приобрели старенький фрезер Auerbach FBE 1200 со стойкой Heidenhain TNC 407 под сверловку отверстий.

В наличии прога для сверловки с оператором WHILE, но проблема в том что на стойке нет этого оператора, она его не знает.

Есть только стандартные IF [NE GE.. и т.д.] GOTO ...

Может есть у кого прога на сверловку отверстий по окружности без WHILE или подскажите в какую сторону думать.

 

SVERLENIE PO KRUGU универсальная.txt

SVERLENIE PO KRUGU G65.txt

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

В наличии прога для сверловки с оператором WHILE, но проблема в том что на стойке нет этого оператора, она его не знает.

Есть только стандартные IF [NE GE.. и т.д.] GOTO ...

Здравствуйте. Для зацикливания участка программы можно обойтись без WHILE, вот пример:

17 L X-47.25 Y+0.0 FMAX
18 L Z45.7 FMAX
19 Q3 = 1.5 ; STEP
20 Q4 = 24.5 ; BEGIN
21 Q5 = 16.5 ; END
22 LBL 10
23 Q4 = Q4 - Q3
24 FN 11: IF +Q4 GT +Q5 GOTO LBL 20
25 FN 9: IF +Q4 EQU +Q5 GOTO LBL 20
26 Q4 = Q5
27 LBL 20
28 L X-47.250 Y-0.000 FMAX
30 L Z26.5 FMAX
31 L ZQ4 F728.
32 CC X-31.5 Y+0.0
33 C X-31.5 Y-15.75 DR+
34 L X329.5
35 L Y-59.675
36 L X-31.5
37 L Y-103.6
38 L X329.5
39 CC X329.5 Y-87.85
40 C X345.25 Y-87.85 DR+
41 L Z26.5
43 L Z45.7 FMAX
44 FN 11: IF +Q4 GT +Q5 GOTO LBL 10
45 M140 MB MAX


 

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

на токарном автомате без барфидера работали так
N1 #1=0

N3

Тело программы

N154
N155 #1=#1+1
N157 IF[#1LT10]GOTO3 (Если количество деталей меньше 10(LT19) переход к кадру N3(Goto3))

N158 M30

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

Здравствуйте, вот фрагмент из моего курса по параметрическому программированию станков с ЧПУ FANUC:

Для повторения участков программы применяют команду WHILE (пока):

WHILE[#1GT#2] DO 1
N50
N60
N70
N80
END 1

Прочитаем этот код: Пока условие в квадратных скобках (#1 > #2) верно - выполнять (DO - делать) кадры расположенные между этой строкой и строкой со словом END (конец) с таким же числом, которое было указано после слова DO (1 в нашем примере).

Каждый раз после команды END управление возвращается на строку WHILE и вновь проверяется данное условие. Если условие на определенном шаге не верно (ложь), то цикл завершается, управление переходит к строке находящейся после слова END. Цикл WHILE может быть ни разу не выполнен (если условие сразу оказалось ложным).

Число после слова DO называется идентификационным номером. Соответствующее слову DO слово END должно иметь такой же идентификационный номер. Идентификационные номера могут быть: 1, 2 или 3.

Добрый вечер! Вопрос не совсем по теме, а вы не встречались с тем, что цикл if работает некорректно? Возможно дело в параметрах.

Пример программы:

N1 #1=1

N2

If[#1gt20]goto3

M6t1

G4x3.

M6t2

G4x3.

#1=#1+1

go2

N3

Смысл программы в поверке станка, покатался, сделал 20 смен с оправками, поехал дальше. Но как только я запускаю программу - #1 мгновенно увеличивается до 20 и из цикла не выходит. При этом до увеличения #1 нет ни одной смены и паузы. Я грешу, что смена выполненна через macro executor и во время смены горит feed hold.. т.е. во времени работы программы, отображаемого в pos, смена не учитывается. К сожалению не вставил в цикл движение, но G4 не учитывается 

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

#1=1

Может команда M6 Tn сама использует переменную #1

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

думаю надо использовать #100

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

Но как только я запускаю программу - #1 мгновенно увеличивается до 20 и из цикла не выходит. При этом до увеличения #1 нет ни одной смены и паузы.

Попробуйте GOTO написать полностью и большими буквами.

То что #1 "мгновенно увеличивается" это нормально, станок читает программу вперёд на несколько кадров, но правильной его работе это не должно мешать.

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • Viktor2004
      руку привязки так сломать легко
    • lem_on
      По моему вполне логично если станок вывалится в ошибку если рука не доехала до места. У меня так же если кулачки или деталь на пути, просто пихаеш ее до места и станок опять активен. Но нынешние пановья даже не могут написать модель станка.
    • Viktor2004
      Я согласен что скорее всего проблема механическая Но если логика прописана криво и возможно не предусмотрела остановку в промежуточном состоянии, разве не логично будет попробовать принудительно подав напряжение дернуть эту руку вверх-вниз? Возможно то что туда попало выпадет  
    • Guhl
      Если оставить за скобками вопрото том, что до м19 работает нормально, а после нет, то вы не считали сколько у него реально импульсов на оборот? с помощью стороннего плк, например  А если ориентацию м5 снимать, а не м20?
    • lem_on
      Что это за станок такой в котором сразу ладер ковырять надо, даже не смотря на возможность механической проблемы? Или профдеформация?
    • Viktor2004
      не сразу я понял в чем вопрос. Долго соображал что такое режим управления скоростью. При завершении ориентации PMC снимает сигнал G70.6 ? И если он после снятия сигнала продолжает удерживать шпиндель, при каких условиях эта ориентация все же снимается? После нажатия аварийного грибка или еще как?
    • Viktor2004
      Ладдер пришлите. Будем принудительно пробовать поднимать и опускать
    • streamdown
      Коллеги приветствую! IPS 8. Подскажите пожалуйста, кто какое серверное железо использует? Интересуют параметры при одновременной работе, ну например, 400 пользователей онлайн
    • gudstartup
      так он так и позиционируется по m19 pmc выдает g70.6 а чпу отвечает f45.7 но ориентацию и смещение в 4077 он отрабатывает нормально шпиндель встает ровно и смена происходит хорошо. вопрос почему после ввода команды управления скоростью он все еще продолжает контролировать число импульсов между нуль метками хотя в принципе уже должен отменить позиционный контроль и просто считать обороты по 0 метке как он это делает без М19? это все понятно но почему оно продолжает проверять это после завершения ориентации мне непонятно
    • Александр1979
      SP9047 SSPA:47 ILLEGAL SIGNAL OF POSITION CODER "The relationship between the A/B phase and 1-rotation signal is incorrect (Pulse interval mismatch)." "Неправильное значение счетчика импульсов сигнала на энкодере ALPHAi. На фазах A и B энкодера за один оборот шпинделя насчитывается 4096 импульсов обратной связи. Программное обеспечение по управлению шпинделем проверяет количество импульсов на фазах A и B, соответствующее энкодеру, при каждой генерации сигнала одного оборота. Данный аварийный сигнал срабатывает, если регистрируется число импульсов, нарушающее заданный диапазон."
×
×
  • Создать...