Techno_Tasha

GPOST создание цикла сверления/нарезания резьбы

Привет всем. Проблема в постпоцессировании циклов для SINUMERIK 840D SL. Станок - DMG DMU 50.

При повороте стола и сверлении в наклонной плоскости детали не прописывает циклы. Проблема в координатной плоскости TRAORI. Решила ее перейдя в TOROT.

Есть математическое описание пересчета координат, так что обеспечить движение только по Z я могу. Написанная программа от руки - работает.

Как прописал ее в FIL файле?

 

Программа, написанная вручную исходя из CL data:

 

N16 T="BOOR_D8.5" M6
N17 TRAORI
N18 S1300 M3
N19 TRAFOOF
N20 G0 C315. B54.736
N21 TRAORI
N22 TOROT
N23 X39.433 Y10.566
N24 Z132.79
G0 F570
N26 X39.4335 Y10.566 
CYCLE81 (48.867,28.867,20,-8.1203) 
TOROTOF
G0 C225.
TOROT
G0 X0 Y0 
CYCLE81 (20,0,20,-36.988)
TOROTOF
G0 C135
TOROT
G0 X10.566 Y39.433 
CYCLE81 (48.867,28.867,20,-8.1203)
TOROTOF
G0 C45
TOROT
G0 X28.867 Y28.867
CYCLE81 (77.735,57.735,20,20.747)
N38 G0 Z161.6584
N39 M5
TOROTOF
N40 TRAFOOF
 
CL data:
 
GOTO/61.547,-1.547,11.547
0.57735,-0.57735,0.57735
CYCLE/DRILL,DEPTH,36.97414, MMPM, 570, CLEAR, 20
GOTO 50,0,0
....
 
Вопрос: как сохранить значения X,Y,Z перед циклом для просчета RTP, RFP и DP? 
Дальше планирую ловить цикл и замещать значения.
CIMFIL/ON,CYCLE,DRILL
  IF(MULTAC.EQ.1) THEN
  DEPTH = POSTF(7,6) $$depth record
  FREC = POSTF(7,8) $$F record
  ClearREC = POSTF(7,10)$$Clear record
      
  INSERT/'TOROT'
  POSTN/OUT,'MCALL CYCLE81 (',RTP,RFP,SDIS,DP,DPR,')'

 

Поделиться сообщением


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


Многие смотрят, никто не отвечает.

Может не ясно выражаюсь. Необходимо словить кадр перед циклом в CL Data. Кто знает как это можно прописать в FIL файле?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Вопрос: как сохранить значения X,Y,Z перед циклом для просчета RTP, RFP и DP?  Дальше планирую ловить цикл и замещать значения.

 

Можно по разному:

например с помощью  POSTF(7,_) из GOTO

X = POSTF(7,6)      

Y = POSTF(7,7)  
Z = POSTF(7,8)
 
или из переменных после отработки  GOTO
 X = POSTF(1,1,344)
 Y = POSTF(1,1,345)
 Z = POSTF(1,1,346)
1 пользователю понравилось это

Поделиться сообщением


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

Многие смотрят, никто не отвечает.

Может не ясно выражаюсь. Необходимо словить кадр перед циклом в CL Data. Кто знает как это можно прописать в FIL файле?

Можно использовать функцию POSTF(30, ...) при обработке GOTO

1 пользователю понравилось это

Поделиться сообщением


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

 

Привет всем. Проблема в постпоцессировании циклов для SINUMERIK 840D SL. Станок - DMG DMU 50.

При повороте стола и сверлении в наклонной плоскости детали не прописывает циклы. Проблема в координатной плоскости TRAORI. Решила ее перейдя в TOROT.

Есть математическое описание пересчета координат, так что обеспечить движение только по Z я могу. Написанная программа от руки - работает.

Как прописал ее в FIL файле?

 

Программа, написанная вручную исходя из CL data:

 

N16 T="BOOR_D8.5" M6
N17 TRAORI
N18 S1300 M3
N19 TRAFOOF
N20 G0 C315. B54.736
N21 TRAORI
N22 TOROT
N23 X39.433 Y10.566
N24 Z132.79
G0 F570
N26 X39.4335 Y10.566 
CYCLE81 (48.867,28.867,20,-8.1203) 
TOROTOF
G0 C225.
TOROT
G0 X0 Y0 
CYCLE81 (20,0,20,-36.988)
TOROTOF
G0 C135
TOROT
G0 X10.566 Y39.433 
CYCLE81 (48.867,28.867,20,-8.1203)
TOROTOF
G0 C45
TOROT
G0 X28.867 Y28.867
CYCLE81 (77.735,57.735,20,20.747)
N38 G0 Z161.6584
N39 M5
TOROTOF
N40 TRAFOOF
 
CL data:
 
GOTO/61.547,-1.547,11.547
0.57735,-0.57735,0.57735
CYCLE/DRILL,DEPTH,36.97414, MMPM, 570, CLEAR, 20
GOTO 50,0,0
....
 
Вопрос: как сохранить значения X,Y,Z перед циклом для просчета RTP, RFP и DP? 
Дальше планирую ловить цикл и замещать значения.
CIMFIL/ON,CYCLE,DRILL
  IF(MULTAC.EQ.1) THEN
  DEPTH = POSTF(7,6) $$depth record
  FREC = POSTF(7,8) $$F record
  ClearREC = POSTF(7,10)$$Clear record
      
  INSERT/'TOROT'
  POSTN/OUT,'MCALL CYCLE81 (',RTP,RFP,SDIS,DP,DPR,')'

 

В нормальных постпроцессорах нет такой проблемы. Все это на Sinumerik'е делается через команду ROT. Проверьте выбранное количество осей в вашем постпроцессоре и почитайте инструкцию на Сименс. Ваш подход и вопрос более чем непонятны.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
О мудрейшие, подскажите пожалуйста как вывести DCYC?

Через INSERT/DCYC не получается, в list файле пишет слишком много знаков. Подскажите, что делать :worthy: .

 

 WHEN/84

DCYC=TEXT/'CYCLE84','(',RTP,',',RFP,',',SDIS,',',DP,',',DPR,', ,'SDAC,', ,',FD,', ,',SST,','SST,')$'

 ENDCAS

    ELSE

    NUL = POSTF(13)              $$ PROCESS THE GOTO RECORD...

   ENDIF

   

   POSTN/OUT,G,0,C,GD1,B,BD1

   INSERT/'TOROT$'

   POSTN/OUT,G,0,X,XGT,Y,YGT

   INSERT/DCYC

   INSERT/'TOROTOF$' 

Поделиться сообщением


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

В нормальных постпроцессорах нет такой проблемы. Все это на Sinumerik'е делается через команду ROT. Проверьте выбранное количество осей в вашем постпроцессоре и почитайте инструкцию на Сименс. Ваш подход и вопрос более чем непонятны.

Вот именно, в нормальных. Универ решил сделать из нас первоклассных специалистов и повесил на студентов задачу разрабатывать постпроцессор. Поэтому костылей там меряно не меряно :biggrin: .

ROT для меня не так удобна как TOROT в плане постпроцессирования. В ROT необходимо еще и углы X Y Z указывать, а по сути результат будет тот же. Инструкций на Сименс у меня гора,не переживайте. Опыт работы на 5-координатном станке тоже есть.

 

Проблему, о которой писала в начале, я решила. С циклом сверления все четенько. На станке протестировала, работает!

Теперь бы вот вывести цикл нарезания резьбы  :g:

Поделиться сообщением


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

Для вывода длинных строк используется вывод нескольких команд INSERT. В генератор забиваете символ сцепления и у вас несколько текстовых переменных выведутся в одну строку:

Например если задать символом сцепления \

INSERT/MYMY1,'\$'

INSERT/MYMY2,'$'

выведется строка содержащая MYMY+MYMY2

Поделиться сообщением


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

Проблему, о которой писала в начале, я решила. С циклом сверления все четенько. На станке протестировала, работает!

Теперь бы вот вывести цикл нарезания резьбы  :g:

Поздравляю с успехами. Хорошо, что государство наконец-то озаботилось воспитанием кадров, соответсвующих требованиям времени.

По поводу циклов - чем вас не устраивают автоматически сформированные циклы Gpost'ом?(ну за исключением, может быть мелких каких-то доработок, например, растачивания)

Там и выдумывать ничего не нужно - этож не хейденхайн... Там никаких супер процедур писать не требуется, просто на вкладке настроек формата цикла нужно указать Siemens, и тип модальный-не модальный. Для 99% стандартных осевых циклов этого достаточно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 29.11.2016 в 21:32, LxCoder сказал:

 

Поздравляю с успехами. Хорошо, что государство наконец-то озаботилось воспитанием кадров, соответсвующих требованиям времени.

По поводу циклов - чем вас не устраивают автоматически сформированные циклы Gpost'ом?(ну за исключением, может быть мелких каких-то доработок, например, растачивания)

Там и выдумывать ничего не нужно - этож не хейденхайн... Там никаких супер процедур писать не требуется, просто на вкладке настроек формата цикла нужно указать Siemens, и тип модальный-не модальный. Для 99% стандартных осевых циклов этого достаточно.

 

Запарились, потому что при пяти координатном ( вернее 3+2 координатном) нарезании резьбы или сверлении для прямого перемещения шпинделя вниз необходимо изменить все три координаты (так как наша система координат повернута и наклонена вместе с деталью). Постпроцессор понятное дело цикл вывести не может.  Он его формирует через G1 и G0.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 28.11.2016 в 09:50, GARRY сказал:

Для вывода длинных строк используется вывод нескольких команд INSERT. В генератор забиваете символ сцепления и у вас несколько текстовых переменных выведутся в одну строку:

Например если задать символом сцепления \

INSERT/MYMY1,'\$'

INSERT/MYMY2,'$'

выведется строка содержащая MYMY+MYMY2

Спасибо. Я так и сделала. Только вот без очищения пробелов он не хотел нормально выводить, посему OMIT,3.

Короче решила поделиться одним из циклов для примера :

 

WHEN/83                        $$DEEP HOLE DRILLING
    IF(MULTAC.EQ.1) THEN   
   DCYC=TEXT/'CYCLE83 '
   DCY1=TEXT/'(',RTP,',',RFP,',',SDIS,',',DP,',', DPR,',,',FDPR,','
   DCY1=TEXT/OMIT,DCY1,3
   DCY2=TEXT/'0,0,0,1,1,)$'
   DCY2=TEXT/OMIT,DCY2,3
   POSTN/OUT,G,0,X,XD1,Y,YD1,Z,ZD1
   POSTN/OUT,G,0,C,GD1,B,BD1
   INSERT/'TOROT$'
   INSERT/DCYC,DCY1,DCY2
   INSERT/'TOROTOF$'
   ELSE
   POSTN/OUT,X,XD1,Y,YD1
  ENDIF
 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 07.12.2016 в 20:57, Techno_Tasha сказал:

 

Запарились, потому что при пяти координатном ( вернее 3+2 координатном) нарезании резьбы или сверлении для прямого перемещения шпинделя вниз необходимо изменить все три координаты (так как наша система координат повернута и наклонена вместе с деталью)

А через наклонный план работать не пробовали? (Типа CYCLE800 и проч. фигня?) Просто я никак не могу понять, чего же вы там такого делаете с бедным DMU 50 с синумериком, что вам не хватает стандартного функционала и приходится прописывать свои процедуры для осевых циклов... Как мне кажется, просто ваш подход не совсем верен, либо на станке отсутствует процедура пересчета наклонного плана (перенос СК при 3+2 обработке). Но даже при вашем подходе, через TRAORI и TOROT ось Z должна параллельной оси инструмента...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 22.12.2016 в 22:28, LxCoder сказал:

А через наклонный план работать не пробовали? (Типа CYCLE800 и проч. фигня?) Просто я никак не могу понять, чего же вы там такого делаете с бедным DMU 50 с синумериком, что вам не хватает стандартного функционала и приходится прописывать свои процедуры для осевых циклов... Как мне кажется, просто ваш подход не совсем верен, либо на станке отсутствует процедура пересчета наклонного плана (перенос СК при 3+2 обработке). Но даже при вашем подходе, через TRAORI и TOROT ось Z должна параллельной оси инструмента...

Мне было легче прописать перерасчет координат в постпроцессоре. В 800 цикле на мой взгляд намного больше параметров и он сложней в определении. По факту, TOROT делает то же самое. Он просто создает систему координат, ось Z которой совпадает с текущей осью инструмента, без изменения нуля детали. Все остальное дело математики.  

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В ‎21‎.‎01‎.‎2017 в 22:02, Techno_Tasha сказал:

Мне было легче прописать перерасчет координат в постпроцессоре. В 800 цикле на мой взгляд намного больше параметров и он сложней в определении. По факту, TOROT делает то же самое. Он просто создает систему координат, ось Z которой совпадает с текущей осью инструмента, без изменения нуля детали. Все остальное дело математики.  

Я не сомневаюсь в том, что в итоге у вас все получится, но, на мой взгляд, этот подход очень похож на "удаление гланд через прямую кишку". Поверьте, GPost в состоянии обработать стандартные циклы для 3+2 обработки (тем более для такой распространенной стойки как S840D) без всяких доп. пересчетов, процедур и т.п. Единственное, что нужно сделать - это научить его формировать строку с циклом наклонного плана, а для 99% случаев для него реально нужны только два параметра - это значения углов вращения и наклона. И все.

Ну хотя, это дело каждого - чего и как добиваться. Я лишь говорю о том, что все можно сделать гораздо проще.

Поделиться сообщением


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

@LxCoder 

В САМ программе у нас все перемещения относительно одной системы координат. Если мы ее как-либо изменяем в постпроцессоре (будь то 800 цикл или TOROT) нам все равно нужен пересчет координат точек из старой системы координат в новую трансформированную систему координат. Так что без этого не обойтись. 

 

800 цикл по факту вращает/перемещает систему координат и координаты точки все равно станок воспринимает уже относительно новой системы координат.  

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 11.03.2017 в 23:45, Techno_Tasha сказал:

 

В САМ программе у нас все перемещения относительно одной системы координат.

В САМ программе все перемещения строятся относительно СК, заданной в качестве основной в операции - это правильно. Все вспомогательные СК(ну кроме непрерывных 4-х и 5-ти осевых обработок) строятся таким образом, чтобы ось Z была направлена коллинеарно оси инструмента (конечно и тут есть свои моменты, но для 99% 3+2 обработки это так)

В 11.03.2017 в 23:45, Techno_Tasha сказал:

... Если мы ее как-либо изменяем в постпроцессоре (будь то 800 цикл или TOROT) нам все равно нужен пересчет координат точек из старой системы координат в новую трансформированную систему координат. Так что без этого не обойтись. 

Обойтись, поверьте. Не думайте так плохо об американцах, что они, такие неумехи, и не смогли зашить в математический аппарат постпроцессора собственные процедуры пересчета. Все что вам нужно - сформировать строку поворота осей по В,С, повернуть соответствующим образом СК в управляющей программе через план (через ROT, TOROT или CYLE800 - а именно сформировать строку с ранее считанными углами поворота осей В,С, а не пересчитывать все координаты через формулы поворота!), а затем пост сам(!) сформирует вам осевой цикл.

Вот кусок получаемой программы из-под поста:

 

CYCLE800() ; выкл. накл. план перед сменой угла
B60 C=DC(45) ; поворачиваем реальные оси станка
CYCLE800(0,"DMG",200000,192,0,0,0,60,45,0,0,0,0,1,,1) ; повторяем углы в 800 цикле и поворачиваем СК, чтобы ось Z была коллинеарна оси инструмента
X23.404 Y0 ; позиционируем в новой СК - тут тоже не нужны пересчеты
Z67.619
G0 F200
MCALL CYCLE83 (27.619,17.619,10,,18.502,,4,100,0,0,100,1,0,0,0,0,0,0,0,11211111) ; сверлим отверстие
X23.404 Y0
MCALL
 

Нет у меня в посте ни пересчета координат в "повернутую" СК, ни процедур для формирования строк осевых циклов для Siemens Sinumerik 840d. Этот постпроцессор отработан на реальном станке и работает по сей день. Так что вы все усложняете.

 

Поделиться сообщением


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

Создайте аккаунт или войдите для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!


Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.


Войти сейчас

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

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



  • Реклама

  • Сообщения

    • Dalexey
      Добрый день! Предприятию необходимо наладить собственное производство латунных вентилей для автомобильных дисков.  Рассмотрим предложения поставки оборудования, дальнейшей наладки и организации производства. пример готовых изделий прилагаем почта 38v147@mail.ru
    • Vdmitriev
      Здравствуйте. Интересует ситуация с производством подшипников. Если вы по работе заказываете подшипники, то чьего производства и где у нас их производят ещё? Как с качеством наших, китайских и западных? Очень много умерло подшипниковых заводов у нас, а потребность осталась. Китай всё своим барахлом наводнил?
    • Tar.Vl
      @Snake 60 О причинах нет информации
       
    • lobzik
      А, ну если Вы собираетесь вернуться туда, где родились и выросли- тогда да...
    • Goodmet
      Доброго времени суток. Пытаюсь смоделировать расчет охлаждения змеевика с нагретой жидкостью, погруженного в бочку с водой. Хотелось бы получить такие результаты, как температура воды после определенного объема прошедшей нагретой жидкости, температура жидкости в змеевике, после прохождения бочки с водой. Возможно ли это вообще сделать? Я сделал модель, задал массовый расход, подобласть течения - бочка (вода), все задал, но чего то постоянно не хватает, выдаются ошибки при начале расчета (Невозможно найти поверхность, связанную с этим элементом., например). Вопрос: возможно ли вообще промоделировать данную ситуацию в солиде и как это лучше всего сделать, если можно. Спасибо.
    • Machinist
      Некорректно были распознаны 2D элементы.
    • ded-
      Честно говоря не вижу выигрыша в экзоскелете. По моему это всё липа (отбивка  финансов в военке, используя  эффектную подачу для не посвящённых). По любому закон сохранения энергии не обойдёшь, а экзоскилет имеет вес и необходима энергия для преодоления сопротивления в узлах трения. Хотя есть возможность использовать некоторые другие моменты, но в этом экзоскилете я не вижу. Тем более не вижу связи с экзоскилетом для больных. Для больных на мой взгляд решение в другом- в развивающейся системе с управлением т.н. силой мысли. Работы эти ведутся и я уже подсказывал как выйти на того кто работает в этом направлении (доктор наук из передачи по телевидению). Другое дело помочь этому врачу в решении технических вопросов по конструкции. Кстати, я только интуитивно подозреваю, что  в этом деле может помочь сжатый воздух. Сейчас правда не занимаюсь сжатым воздухом, но есть решения которые до сих пор никто не применяет в частности шаговый пневматический двигатель.  Но однозначно этому надо посвящать рабочий день на протяжении нескольких лет, и иметь экспериментальную базу....
    • алеус
      Хелп !!!!! Ребятаааа нужно из 14 версии сохранить в 13 Послезавтра защита!!!! Спасите! (с меня шоколадка))   Tekhnologia_moyki_avtomobilya_AT_VKR_200000_TB2.cdw SPETs_VO_2.cdw SPETs_VO.cdw SPETs_RAMY.cdw SPETs_1_detalirovki_2.cdw Do_rekonstruktsii.cdw Posle_rekonstruktsii.cdw BZhD.cdw vid_obschiy.cdw
    • Skinwalker
      Автор того самого трактора Архипов живет на помойке :(. Статья тут попадалась, наверно он уж и помер. http://www.kp40.ru/news/vabank/23725  
    • FAHRENHEIT
      да...все верно     вставка_.rar