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

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


Techno_Tasha

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

Привет всем. Проблема в постпоцессировании циклов для 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)
Ссылка на сообщение
Поделиться на других сайтах

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

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

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

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

 

Привет всем. Проблема в постпоцессировании циклов для 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
 

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

 

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

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

Ссылка на сообщение
Поделиться на других сайтах
  • 5 недель спустя...
В 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% случаев для него реально нужны только два параметра - это значения углов вращения и наклона. И все.

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

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

@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. Этот постпроцессор отработан на реальном станке и работает по сей день. Так что вы все усложняете.

 

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

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

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

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

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

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

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

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

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

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

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




×
×
  • Создать...