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

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


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

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

Станок - фрезерно-расточной ИР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 пользователей

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




  • Сообщения

    • lem_on
      Поздравляю. Но замена подшипников на таком шпинделе тот ещё квест. Нужно название шпинделя, там наклейка на борту и по нему искать чертеж. Подшипники скорее всего керамические. Сначала найти чертеж, а потом разбирать. А если нет опыта то лучше отдать тем кто умеет. Балансировку обязательно и стразу пакет тарельчатых пружин со всеми уплотнениями перетрясти. 
    • Ветерок
      Зачем это нажимать? Лучше нажать проецировать кривую. Как выяснилось :) такая функция есть. @mannul даже файл выложил - бери и смотри/повторяй.
    • Stanislav
      Относительно POP and PUP в фале постпроцессора вот такое нашел для POP прослеживается возростающая закономерность, а вот для  PUP не ясно почему прыгает значение. # POP and PUP functions for initialization. H parameters are used to  # # get the correct POP and PUP values. If the thickness of the sheet   # # is between the minimum and maximum thickness, the postprocessor     # # will use POP and PUP parameters to write them in the PS file.       # # Example: H000 0.0 1.0 30000 25000                                   # #                                                                     # #     Minimum      Maximum       POP        PUP                       # #    Thickness    Thickness     Value      Value                      # #---------------------------------------------------------------------# H001    0.0          0.5        14000      9000 H002    0.51         1.0        14500      9000 H003    1.01         1.5        15000      9000 H004    1.51         2.0        15500      9000 H005    2.01         2.5        16000      8500 H006    2.51         3.0        16500      8000 H007    3.01         3.5        17000      8000 H008    3.51         4.0        17500      8000 H009    4.01         4.5        18000      9000 H010    4.51         5.0        18500      8000 H011    5.01         5.5        19000      9000 H012    5.51         6.0        19500      8000
    • Krusnik
      Да там же ничего сложного.   Делаете вашу спираль.   Потом делаете эскиз. В эскизе нажимаете Преобразование объектов и тыкаете на созданную спираль.   Нажимаете поверхность вытянуть и выбираете только что созданный эскиз. В опциях вытягивание ставите "До поверхности". И вытягиваете спиральку до вашего купола.   И последний шаг - вырез по траектории. Думаю с этим вы без моих советов справитесь.   Лишнее скрываете и вуаля.  
    • IgP
      Это, конечно, да, не хорошо ... Но и конструктор не бог чтобы всё знать ... Для этого есть и д.б. этап "технологическая проработка", со всеми вытекающими.
    • arsenev
      Спасибо за ответ. Нет, в видео он говорит, что это такая стратегия. Пробовал использовать шаблон и обрабатывать его со смещением, получается не то (именно, когда нужно обработать цилиндрическое отверстие). Лучше отводится стружка и не мешает резанию. (см. видео, где-то с 18 минуты).
    • scrimline
      Если ещё нужна информация, fanuc oi-tf станок akira-seiki, М14 на опускание руки, для привязки и М15 для поднятия
    • Богоманшин Игорь
      Эта проблема от незнания некоторыми конструкторами технологических особенностей порошковой окраски. Максимум на чертеже научатся указывать РАЛ и толщину слоя. А необходимо предусмотреть места подвеса, можно туда шпильки или гайки запрессовать в нужных местах.
    • MagicNight
      Добрый день! Обратил внимание, что стал шуметь (свистеть) шпиндель станка, причём на всех режимах. Я так понимаю, что полетели подшипники. Хотим найти их, но не знаем как они называются, может у кого-то было подобное? Ну и отремонтировать своими силами. Станок швейцарский Mikron UCP-710 пятиосевой.  
    • maxx2000
      это не одно и тоже что и создать шаблон? А если мне нужен будет документ без зон?
×
×
  • Создать...