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

Симуляция подпрограмм с переменными


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

Какой программой прорисовать подпрограммы с переменными?

Станок - фрезерно-расточной ИР500 стойка FANUC SYSTEM 6M-MODEL-B

Стойка позволяет писать подпрограммы с переменными.

Есть ли возможность в NСManager прорисовывать такие подпрограммы ?

ПРИМЕР

(G13 - подпрограмма P9011 переопределённая в параметрах станка на функция G13)

%

...

( FREZA 14 )

N80G0G90G54X370.Y170.

G43H24Z70.

M3S1500Z22.

G1Z-2.F1000

G13I8.D74F200L2

G0Z200.M5M9

G28G91X0

...

%

:9011

( OBXOD OTVERSTIYA )

( I = RADIUS OTV = #4)

G91

#1=ABS[#4]-#[2000+#7]

IF[#1LE0]GOTO1

#2=#1*3/4

#3003=3

G1X[#1-#2]Y-#2F#9

G17G3X#2Y#2R#2

I-#1

X-#2Y#2R#2

G1X-[#1-#2]Y-#2

#3003=0

N1G90M99

%

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


to lesstar

Я попробую. Вроде что-то подобное настраивали и учитывали.

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

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

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

Начнём с конца вопроса. :smile:

Прелесть?... К примеру, всем же больше нравится проектировать детали в параметрической системе, правда? Ну вот и здесь также. Т.е. может быть написана одна программа для целой группы однотипных деталей. Для машиностроительных деталей такой подход очень удобен. Конечно писать такую программу труднее, чем обычную, но при определённом навыке особых проблем не представляет.

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

Вообщем сейчас, когда САМ-системы стали мощными и доступными :rolleyes: , конечно актуальность таких программ поугасла. Но и сейчас им можно найти достойное применение.

Я попробую. Вроде что-то подобное настраивали и учитывали.

Хлопотно будет. Я писал такие проги под Фанук и Хайденхайн - отличаются как день и ночь.
Ссылка на сообщение
Поделиться на других сайтах

Вообщем сейчас, когда САМ-системы стали мощными и доступными , конечно актуальность таких программ поугасла. Но и сейчас им можно найти достойное применение.

Для САМ нужна 3D модель детали, которую никто не дает и получается,

что помимо программирования нужно еще и 3D модель делать, а если еще и САМ нет.

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

У нас очень часто идут простые ("типовые корпуса") - это корпуса состоящие

из набора стандартных элементов (карман,колодец,сетка отверстий и т.п.) и поэтому

каждый раз расписывать все эти типовые элементы лень. Я лучше один раз помучаюсь и

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

программирование таких корпусов сводится к элементарному вызову подпрограмм, меньше

тратится времени да и ошибок меньше.

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

Хлопотно будет.

Да, хлопотно. Но тем не менее, мы это в свое время, сделали.

Какой программой прорисовать подпрограммы с переменными?

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

С переменными умеем и конечно же учимся работать, т.к., как ни странно, это используется и спасибо большое IBV и Lesstar за разъяснения, зачем это надо. Не так давно сделали закладку, где пишутся значения регистров (переменных) используемых в программе. Именно для FANUC SYSTEM 6M-MODEL-B много чего учитывали, так как есть несколько пользователей, которые используют эти хитрости с ПП, вычислениями и регистрами.

Для программы, пример которой был дан, я задал для корректора D74 значение радиуса инструмента 7мм и получил результируещее отверстие диамметром 16мм. Если бы значение в корректоре было 0, то диамметр был бы 30мм.

Lesstar - все так и должно быть? А зачет переменная - #3003=3

, от ее значения ничего не зависит, вроде.

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

Lesstar - все так и должно быть? А зачет переменная - #3003=3

, от ее значения ничего не зависит, вроде.

Все прорисовано верно. ( #3003=3 - блокировка покадровой обработки )

UAV, а может NCManager прорисовывать более сложные подпрограммы?

FANUC 6M позволяет при программировании использовать различные функции

и операторы, которые необходимы при программировании таких подпрограмм

как сверление по сетке, выборка колодца и т.п.:

- цикл повторения WHILE [условие] DO m ... END m

- бесконечный цикл DO m ...END m

- условный переход IF [условие] GOTO n

- функции SIN,COS,TAN,SQRT

- различные округления FUP,FIX,ROUND

- условия (=,<>,>,<,>=,<=) EQ,NE,GT,LT,GE,LE

и т.п.

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

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

Впринципе можем. Выборку колодцев делали. Сверление по сетке нет, никто не просил никогда. Наверное не нужно. В стойках много чего есть. Сделать не проблема.

В Вашем предыдущем примере есть часть из перечисленного:

#1=ABS[#4]-#[2000+#7]

IF[#1LE0]GOTO1

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

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

ПРИМЕР - Обработка отверстий по дуге

/ Коментарии

/ #4003 текущий G код (G90/G91)

/ #0 пусто ( присвоено значение или нет )

/ EQ =

/ NE <>

/ LT <

%

....

( SVERLO 5.0 )

G0G90G54X60.Y60.

G43H8Z50.

M13S1500

G81G99Z2.R11.F200

G65P8507X60.Y60.R40.D20.H9.A45.

G80Z200.M5M9

.....

%

:8507

/ #24 = X CENTR DUGI PO X

/ #25 = Y CENTR DUGI PO Y

/ #18 = R RADIUS DUGI

/ #7 = D UGOL MEGDU OTVERSTIYAMI

/ #11 = H KOLICESTVO OTVERSTIY

/ #1 = A UGOL DO PERVOGO OTVERSTIYA

#30=#4003

G90

IF[#24 EQ #0]GOTO 30

IF[#25 EQ #0]GOTO 30

IF[#18 EQ #0]GOTO 30

IF[#7 EQ #0]GOTO 30

IF[#7 EQ 0]GOTO 30

IF[#11 EQ #0]GOTO 30

IF[#11 EQ 0]GOTO 30

GOTO 50

N30#3000=175(OSCHIBKA V PARAMETRAH)

N50IF[#1 NE #0] GOTO 60

#1=0

N60#31=0

#32=0

WHILE[#32LT ABS[#11]]DO1

#33=#31+#1

X[#24+#18*COS[#33]]Y[#25+#18*SIN[#33]]

#32=#32+1

#31=#31+#7

END1

G#30M99

M30

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

Как-то так?

UAV, это здорово, что и такие подрограммы прорисовываются.

Имея NCManager, можно отлаживать все подпрограммы на компьютере.

Замечание: Откуда взялось первое отверстие (cкорей всего с координатами X60.Y60.)?

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

lesstar

Спасибо на добром слове.

Откуда взялось первое отверстие (cкорей всего с координатами X60.Y60.)?

<{POST_SNAPBACK}>

В настройках стоит, что цикл начнет сверлить при его включении. Параметр CycleNeedsGeom No.

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

В настройках стоит, что цикл начнет сверлить при его включении. Параметр CycleNeedsGeom No.

UAV, значит, чтобы прорисовать отверстия, которые выполняет подпрограмма

(только по дуге), достаточно установить параметр CycleNeedsGeom = Yes ?

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

Нет. Этот параметр отвечает за то, когда начать сверлить. Бывают стойки, которые начинают сверлить сразу (в текущей позиции), когда включится цикл. А бывают, когда в кадре включения цикла, сверление не происходит, а происходит только задание параметров цикла. Само сверление начинается со следующих кадров где задаются координаты отверстий.

В ваших примерах идет вычисления. Их особо настраивать не надо. Нужно только заменить в описании стойки ключевые слова программы на слова которые понимает NCManager. Например:

Replace "SIN" "с"

Replace "COS" "к"

Replace "ABS" "м"

...

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

UAV, это здорово, что и такие подрограммы прорисовываются.

<{POST_SNAPBACK}>

Скажу более, сам не знал, и вот такие - тоже можем (переменные заданы именами) . Это фрагмент Окумовской программы:

.....

 TZ=0   (TEKUSchAYa KOORDINATA PO *Z* KONTURA)

 TZK=0  (TEKUSchAYa KOORDINATA PO *Z* INSTRUMENTA S KORREKTsIEI)

 TDZ=0  (TEKUSchII ShAG PO OSI *Z* NA SFERE,MM)

 AX=0   (PROMEZhUTOChNAYa PEREMENNAYa - OTNOShENIYa STORON TREUGOL'NIKA)

 TANN=0 (TEKUSchII UGOL NAKLONA K TOChKE KASANIYa FREZY I SFERY)

 TDZK=0 (TEKUSchAYa VELIChINA KORREKTsII PO OSI *Z*)

 DXK=0  (VELIChINA KOREKTsII PO OSI *X* NA SFERE)

 DYK=0  (VELIChINA KOREKTsII PO OSI *Y* NA SFERE)

 (*REZhIMY OBRABOTKI*)

 FRAB=2   (RABOChAYa PODAChA)

NSTR (*I.NAChAL'NAYa TOChKA OBRABOTKI*)

 TX=RS

 TXK=TX-RF

 TY=0

 TYK=TY

 TZ=-SC

 TZK=TZ-RF

G00 Z=TZK

G00 X=TXK Y=TYK

NCIL (*II.NAChALO TsYKLA OBRABOTKI TsILINDRA*)

   TANG=TANG-AC

   TX=RS*[COS[TANG]]

   TY=RS*[SIN[TANG]]

   TZ=TZ-ZC

   TXK=[RS-RF]*COS[TANG]

   TYK=[RS-RF]*SIN[TANG]

   TZK=TZK-ZC

  G01 X=TXK Y=TYK Z=TZK F=FRAB

  IF [TZK GT [-EC-RF+ZC]] NCIL (*KONETs TsYKLA OBRABOTKI TsILINDRA*)

NSFR (*III.NAChALO TsYKLA OBRABOTKI SFERY*)

   TDZ=ABS[[[ABS[TZK]-[RF+EC]]/[RS-RF]]*[ZD-ZU]+ZU]

   TDAG=ABS[[[ABS[TZK]-[RF+EC]]/[RS-RF]]*[AD-AU]+AU]



....

post-534-1174371622_thumb.jpg

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

работаю оператором на станке Ир-320 системы FANUC 6M

Попробуйте пропустить через графику на станке такую программку,это только графика

начальную (шапку)поставте сами G,S,F

#100=0

#103=0

G0X0YO

WHILE[#100LE20]DO1

#100=#100+1

G90

#101=SQRT[441-[#100*#100]]

#102=50-#101

#103=#103-1

#104=-[sQRT[441-[#100*#100]]]

G0X0Y#103

G1X#102

G2X[#102-#104+#101]R21.

G1X100.

END1

M30

или эту

#100=0

WHILE[#100 LE 7]DO1

#100=#100+1

G240 P#100

G243 P0 , @99@

END1

M30

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

Попробовал. Первую программу. С второй надо разбираться - не встречал коды G240 G243 и т.д.

Что-то такое? DXF - файл этой траектории, прикладываю.

post-534-1199859716_thumb.png

траектория.rar

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

UAV.Во-первых, привет от коллеги по цеху.

NCm-штука полезная,НО!

Меня терзает вот какой вопрос: как в NCm закладываются алгоритмы симуляции тех или иных команд стойки?У меня на заводе их уйма,и как я буду подстраивать под NCm.?

Для примера хотя бы возьмите стойку 8600,или ее Российский аналог NC210.

Весьма рекомендую ознакомиться с этой стойкой, прежде чем делать заявления типа: " Какая еще система может такое?"

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

sudakhp И Вам, здравствуйте!

Для примера хотя бы возьмите стойку 8600,или ее Российский аналог NC210.

Если есть описание в электронном виде руководства программиста, по этой стойке - дайте пожалуйста. Что именно в этой стойке проблематично настроить?

Меня терзает вот какой вопрос: как в NCm закладываются алгоритмы симуляции тех или иных команд стойки?У меня на заводе их уйма,и как я буду подстраивать под NCm.?

Есть файл настройки, где описываются буквы, G-коды, M-коды. Описание этого файла настройки можно почитать в папке .../doc если установлен NCM. В данный момент, упрощаем прочедуру настройки. Сделаем приложение, которое упростит работу с настройкой. Сейчас спецсредств нет, настройка идет в текстовом редакторе.

Алгоритм симуляции закладываем мы, естественно. Например станочные циклы которых еще не было. Узнаем работу из доки или у пользователя NCM и настраиваем интерпретацию внутри NCM. Работа не с нуля, т.к. аппарат обработки циклов у нас, как разработчиков, есть. В результате появляется новые буквы и коды в файле настройки.

В принципе, можно написать макро подпрограмму в формате G-кода стойки и повесить ее вызов на неизвестный NCM-у G-код. Тело этой ПП поместить в файл настройки в спец раздел. Таким образом некоторые команды и алгоритмы работы стойки может закладывать пользователь.

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • Bot
      Об авторах: Мария Золотова — BIM-специалист строительной компании, по первому образованию — театральный режиссер, Софья Минина — BIM-менеджер, по второму образованию — психолог, Владимир Талапов — BIM-эксперт, всего одно образование — математик. См. также BIM и Театр: искусство возможного. Часть 1, BIM и Театр: искусство возможного. Часть 2, BIM и Театр: искусство возможного. Часть 3. Информационное моделирование зданий и сооружений, как творческий процесс, имеет много общего с не менее творческим процессом постановки театральных спектаклей. Поэтому изучение театрального опыта, его наработанных взаимосвязей участников и методик их взаимодействия может существенно помочь становлению и использованию BIM в строительной отрасли. В этой части речь пойдет о тех, кто вроде бы непосредственно не участвует в постановке спектакля или информационном моделировании, но от кого эти процессы существенно зависят. «Кто платит, тот и заказывает музыку» Итак, кто же [...] View the full article
    • Guhl
      Понятия не имею
    • Александр 36
      А где можно скачать русифицированную версию
    • BASH_HD
      В Москве) но вообще по мнению японцев станок в Германии) но это не точно...   Аукцон и BAFA знали куда продали.
    • Alexandr97
    • Andrey_kzn
      Логика работы у них та же самая. И интерфейсные сигналы те же. Вы упускаете из виду сигнал готовность привода. Это DB3x.DBX93.5. Выстраивайте логическую цепь событий. Формирование сигнала DDX2.1 может быть завязано на готовность привода.  Не будет готовности привода, можете сколько угодно выставлять DBX2.1, ось никуда не поедет. А готовность может пропадать из-за дефекта энкодера, кабеля, разъёмов и т.п.  Надо сделать трассировку всех этих приводных сигналов,  заодно посмотрите также DBX93.7 и DBX21.7.  И понять, что какой сигнал пропадает первым.
    • Guhl
      Опять я забыл про это меню. Оно в корне лежит, а я туплю Спасибо  
    • gudstartup
      @Guhl все это настраивается здесь
    • Guhl
      У меня 25я версия, но может ревизия не та. Скачаю с рутрэкера, посмотрю 
    • mrVladimir
      Странно. Сейчас попробовал выборочно разные ЧПУ - везде есть такие пункты. А у Вас на других также нет этих панелей? Может что-то при установке не так пошло...  
×
×
  • Создать...