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

Запуск программ, превышающих размер памяти станка без увеличения памяти станка. Инструкция


Forza

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

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

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

В современном производстве такого количества категорично не хватает. Все программы, в которых есть "выкатывание сферой", прессформы, матрицы/пуансоны имеют больший размер.

Представители FANUC просят огромных денег за увеличение памяти станка.

 

Запуск будет осуществляться не посредствам тупого DNC режима, где нельзя перезапустить программу с определенного инструмента и отредактировать программу, а немного по-другому через запуск внешних подпрограмм по коду М198.

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

Есть в этом случае и минусы: программы на карте памяти нельзя отредактировать, но можно использовать переменные (об этом чуть позже).

Есть простой выход, хотя он и обойдется Вам ~2000р, зато не 300 тысяч рублей за 10мб.

 

1. Потребуется Compact Flash емкостью 1-2 гб. Ну и возможно переходник.

2. Выставляем параметр 0020 на 4, (Для скачивания программ с USB потребуется поменять обратно на 17).

3. Создаем программу (пример):

Скрытый текст

%

O2000 
GOTO114
N114 M198 P2001 (Freza D80 Sandvik ili TaeguTec)
N116 M198 P2002 (Freza D63 Seco)
N117 M198 P2003 (Sverlo D10)
N115 M198 P2004 (Freza D20 Sfera)
N118 M198 P2005 (Fasochnaya freza)
M30
%

 

4. На компьютере написанную программу (еще целую) разбиваем. Каждый новый инструмент сохраняем в отдельный файл. То есть для фрезы D80 программа будет называться O2001 (расширения использовать нельзя, станок не сможет найти программу).

Вот так будет выглядеть программа O2001:

Скрытый текст

%

O2001
G00 G17 G40 G49 G80 G90 G94
T14 M06
T16
G90 G59 G00 X-546.05 Y-38.156
G43 H14 Z200.
S1000 M03
G00 Z1.5 M08 F750

G41 G01 X10. D14 

......... и т.п.

M01
M99

%

 

Создаем таким же образом остальные программы и записываем на Compact Flash.

В принципе уже все будет работать и можно будет запускать с нужного инструмента только меняя значение в GOTO.

 

Вариант с переменными.

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

Делается это так (берем ту же программу из пункта 3 и дополняем):

Скрытый текст

%

O2000 
GOTO114

N114 #1=14 (Freza D80 Sandvik ili TaeguTec)
M198 P2001

N116 #2=16 (Freza D63 Seco)
M198 P2002

N117 #3=17 (Sverlo D10)
M198 P2003

N115 #4=15 (Freza D20 Sfera)
M198 P2004

N118 #5=18 (Fasochnaya freza)
M198 P2005
M30
%

 

Номер переменой равен ячейке инструмента в магазине.

А в программе, которая на Compact Flash пишем так:

 

Скрытый текст

%

O2001
G00 G17 G40 G49 G80 G90 G94
T#1 M06
T#2
G90 G59 G00 X-546.05 Y-38.156
G43 H#1 Z200.
S1000 M03
G00 Z1.5 M08 F750

G41 G01 X10. D#1 

......... и т.п.

M01
M99

%

 

 

Таким образом изменив переменную #1 в главной программе в памяти станка автоматически меняется номер инструмента в подпрограмме, номер корректора на высоту и номер корректора на радиус.

Надеюсь что кому-нибудь пригодится.

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

 

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


А не проще ли запустить длинную программу (до 2гБайт) без изощрений, в режиме DNC, с CF-карточки интерфейса PCMCIA?

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

@agering А Вы прочитали что я написал? Если надо пройти еще разочек последний чистовой проход в программе из 10-15 инструментов, то прогонять программу заново что ли?

В DNC режиме нельзя запускать программы с определенного инструмента. Нельзя редактировать программу.

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

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

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

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

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

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

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

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

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

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

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



  • Сообщения

    • Viktor2004
      Много способов. Самый простой это анализируйте куда переходит выполнение вашей программы. Другой, допишите перед проверкой IF WHILE выше строчку #100 = #1000 #101 = #1001 и наблюдайте уже #100 #101
    • A_1
      Как? В OFFSET индицируются только до #999
    • Viktor2004
      Надо выяснить что у вас означают переменные #1000 и #1001 Это надо смотреть в ладдере сигналы G54.0 и G54.1 Могу только гадать. Возможно один из них показывает что заданный инструмент перемещен в позицию смены. Другой сигнал возможно означает что заданный инструмент уже находится в шпинделе. Попробуйте выполнить команду смены через сингл-блок. Только параметр надо какой-то поставить что бы сингл блок и на подпрограммы действовал Попробуйте вызывать инструмент который уже в шпинделе. Наблюдайте за макропеременными #1000 и #1001 что бы выяснить их функцию Единичный блок это SINGL BLOK
    • IGor2D
      Забыл спросить... Кто может поделиться настройками технологий для резки профилей из стали от 1.5мм до 8.0 мм под азот? Мощность 3-6kw лазера (от "китайца" не желательно).  
    • A_1
      предполагаю, что ложь в первом кадре, истина во втором во всех случаях)
    • gudstartup
      так поставьте SBK режим отмените NE9 в 3202 и смотрите как оно выполняется у вас
    • andrey2147
    • A_1
      Мне нужно, чтобы при смене на новый инструмент программа выполняла кадры G91G30Z0 G30X0Y0 а при вызове текущего шла на кадр N200 N200G91G30Z0 M28 Для этого, вроде, и есть проверки IF[#1000EQ1]GOTO100  IF[#1001EQ1]GOTO200 но они или не работают или не то (новый или старый инструмент вызывается) проверяют.
    • Viktor2004
      смена инструмента это по сути две процедуры. Первая это поиск инструмента. Выполняется по команде Tx Вторая это смена инструмента. Выполняется по команде M6 Если в программе в разных строчках пишутся эти команды, там все нормально Но принято их писать в одной строке. Тогда обе они будут выполняться одновременно. Но одновременно их выполнять нельзя. Сначала магазин должен найти инструмент и только потом его менять Для этого команда М6 обычно вызывает программу O9001 и уже в этой программе организуют ожидание завершения поиска инструмента. Контролируют это через макропеременные #1000 или #1001 или им подобные. Именно этот цикл ожидания я не вижу в программе автора вопроса. Что бы этот цикл ожидания крутился сам в себе и вышел из него когда макропеременная приняла нужное значение
    • maxx2000
      @Viktor2004 а разве сменщик это не отдельная  (пусть и виртуальная) ось и станок ждёт пока закончится движение? Может быть тупо ждёт пока придёт определенное число импульсов с датчика. Типа  каждый раз уменьшает счётчик на 1 и ждёт пока не получится нужное число? Ну и как бы может быть тупо задано время смены инструмента? Тогда и переходит к следующей строке.
×
×
  • Создать...