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

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 пользователей

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




  • Сообщения

    • Артур8991
      Подскажите ещё вопрос листогиб стал опускаться медленно и коретка уходит бестрее от металла,в чём может быть проблема???
    • vad0000
      Эти поправки для коррекции развертки, и все. Никакого отношения они не имеют   к полученному углу. Если угол не соответствует, то для этого. и существует режим коррекций..
    • Sivolap36
      Сбросится, я пробовал уже. Хотя, может я уже запутался, кучу всего менял....Пока станок больше не трогаю, он в работе. Как приедет привод, отпишусь 
    • Viktor2004
      Может автору 1902#0 поставить 1 и снова произвести конфигурирование 24004 поставить 1004 И посмотреть сбросится ли после перезагрузки
    • Viktor2004
      Странно как-то. Эти параметры сами не слетают Похоже у вас где-то вредная приблуда установлена не позволяющая поставить в FSSB 4-ю ось Эта приблуда сбрасывает параметр 24004 На 0i-MD был параметр 1902#0 Если туда поставить 1, то шина FSSB конфигурировалась сама. Может у автора такой бит включен. Не знаю есть ли он в 0i-MF Тогда эти параметры система по своему усмотрению пропишет Ну, или надо искать блокировку в PMC, MACRO, C-Exe, FPictures  
    • Sivolap36
      Должно, но после перезагрузки стойки настройки слетают на 1000. Отключал основной привод и подключал второй вместо первого, после перезагрузки слетело вообще на все оси. Жду другой привод, приедет, отпишусь
    • Viktor2004
      а разве в параметре 24004 не 1004 должно быть?  
    • Sivolap36
      Нашёл параметры от одного из известных поставщиков поворотного стола. Может кому-то пригодится   Detron 210z.pdf
    • ID_Hacker
      Для обмена пользовательскими данными между NC и PLC зонами есть системная функция FC21. Позволяет читать и записывать данные в программе PLC из/в зону $A_DBB[x], $A_DBD[x] и т.д. Можно найти в документации по системным переменным NC PLC.   Программа PLC загруженная определённой версией TIA может быть выгружена только этой или более старшей версией TIA.  Step7 и TIA не совместимы даже на S300, S400 контролерах, в виду разных версий прошивок контроллеров.   Toolbox нужен для того, что в Sinumerik не просто PLC а связка PLC, CU, NC и CP, и стандартный Step или TIA просто не понимает аппаратную конфигурацию контроллера без ToolBox.   Здесь проблема программирования станка производителем. Он не ожидает завершения выполнения М команды от PLC. Либо проблемы в электроавтоматике и команда завершается до зажима патрона - например реле давления зажима всегда даёт сигнал.   Проекты реализованные на TIA хранят в контроллере не только программу, но и все комментарии и данные. Если не стоит защита паролем выгружается всё в том же виде в котором было загружено.
    • noindex
      Да, выбор второй плоскости помог, спасибо!     К счастью без понятия что сейчас проходят в школе, а что проходили в 80-90-х, когда я ходил в школу, уже не помню.   Да не, всё понятно, спасибо что заморочились с видео)!
×
×
  • Создать...