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

Доработка постпроцессора!


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

Доюрый день!!!

 

В спруткам имеется постпроцессор на ДМГ - Heidenhain (CNC Pilot 4290)_TurnMill, у нас имеются станки с такой же стойкой, сам код программы совпадает, но в программе которую выдает постпроцессор нехвает описание контура изделия, без которого станок не хочет принимать программу. Код который выдает постпроцессор выглядет следующим образом:

 

 

PROGRAMMKOPF [ PROGRAM HEAD]
#MASCHINE                CTX-310        [ MACHINE ]
#WERKSTUECK              DMG ПРОБА 2    [ WORKPIECE ]
#FIRMA                   VIMPEL         [ DEPT. ]
#AUTOR                   PG             [ AUTOR ]
#DATUM                   23.07.2015     [ DATE ]
#EINSPANNDURCHM          150            [ CLAMP. DIAM. ]
#AUSSPANNLAENGE          6              [ CLAMP. LENGTH ]
#SPANNDRUCK              25             [ CLAMP. PRESS. ]
#KOMMENTAR               DMG ПРОБА 2    [ COMMENT ]
#SYNCHRO                 0              [ SYNCHRO ]
#SCHLITTEN               $1             [ SLIDE ]


REVOLVER 1 [ TURRET ]
[ T   5 ID"New  l16, Ti1.98" ]


SPANNMITTEL 1


ROHTEIL [ BLANK ]
N   1 G20 X7.6 Z33.3 K23


BEARBEITUNG [ MACHINING ]
[ Tоkаrnyj kоntur ]
N   2 G14 Q0
N   3 T5 G96 S150 M3 G95 F0.5
N   4 G0 X4.6 Z0.7
N   5 G1 G42 X6 Z0 M108
N   6 G1 X7.2 Z-0.9
N   7 G1 Z-10.1
N   8 G1 G40 X8.8 Z-10.9
N   9 M5 M109
N  10 G14 Q0
N  11 G0

ENDE [ END ]

 

В данной программе присутствует описание заготовки Rohteil, что очень хорошо, и следом за заготовкой для станка должно быть описание контура детали "FERTIGTEIL [ FINISHED PART ]", которого как вы видите нет, в самом посте подпрограммы выдачи контура тоже нет и как я понимаю его необходимо дописать в виде подпрограммы или где то в командах!! подскажите как сделать этот контур с чего вообще начать??

 

 

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


Мне кажется в этой УП просто не хватает строчки   FERTIGTEIL [FINISHED PART], а описание образующего контура,  после FERTIGTEIL, не обязательно.
Другое дело если вы обрабатываете деталь циклом. Думаю, в этом случает постпроцессор отработает нормально и выведет этот контур в УП.
А пока попробуйте организовать вывод строки FERTIGTEIL [FINISHED PART] 
Скорее всего это делается в PPFUN командой    Output "FERTIGTEIL [FINISHED PART]"
В общем, в любом случае, сообщите что получилось, постараюсь помочь.

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

Да так и есть, нехватало строчки FERTIGTEIL [FINISHED PART], добавил вывод в постпроцессоре, пока все нормально. Спасибо!!))

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

Добрый день!

Вопрос по постпроцессору Морисеики!

При выполнении подряд 2 операций (2д контур) с одной осевой фрезой и используя ось С, постпроцессор на Мори (да и все остальные), к сожалению, после первой операции не возвращают ось в С=0 и имея поворотные преобразования, получается так что точка отсчета по оси С начинается (во второй операции) не в нуле и после включения G12 происходит смещение траектории обработки, подскажите как это можно исправить в постпроцессоре в каких командах!. Показал для наглядности в скриншоте:post-49150-0-72195700-1438145214_thumb.jpg

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

Добрый день!

Вопрос по постпроцессору Морисеики!

При выполнении подряд 2 операций (2д контур) с одной осевой фрезой и используя ось С, постпроцессор на Мори (да и все остальные), к сожалению, после первой операции не возвращают ось в С=0 и имея поворотные преобразования, получается так что точка отсчета по оси С начинается (во второй операции) не в нуле и после включения G12 происходит смещение траектории обработки, подскажите как это можно исправить в постпроцессоре в каких командах!. Показал для наглядности в скриншоте:attachicon.gifВопрос.jpg

Может воспользоваться правилами подводов/отводов ? Например указать, что после отработки операции необходимо делать отвод (по умолчанию в станке прописан вроде как такой: X;Z; а потом дописать еще следом C0.

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

а можете Ваш проект приложить ? 

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

Заметил  что пост реализован так, что если в этих двух операциях были бы разные инструменты, то после первой операции ось С по умолчанию ушла бы в ноль, если один инструмент. то действительно приходится в правилах отвода, в первой операции, прописать С0, но на это, в принципе, можно закрыть глаза. Основная проблема в том, что G12 включается после того как ось С проворачивается в начало обработки и получается так, что начальное значение оси С станок принимает за ноль и происходит смещение. Для нормальной работы необходимо, чтобы G12 выводилось до того как ось С провернется в начало обработки, но как это сделать я пока не понял, дело в том что G12 выводится в команде Interp, а данная команда В СLDATA всегда идет после Multigoto.

post-49150-0-51486600-1438238174_thumb.jpg

Проект.zip

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

Установите галочку, как показано на рисунке. В результате в начале операции ось С принудительно выводится в ноль. А внутри полярной интерполяции (между G12 и G13) ускоренные перемещения интерполируются со скоростью перемещения 10000.
post-717-0-92220400-1438247068_thumb.png
 

Станок который вы используете с противошпинделем, а пост морисейки - без. Поэтому высылаю в личку пост где в Multigoto прописана ось С противошпинделя. Имейте ввиду на станке не проверялось, поэтому, если в УП что то не так сообщите, подправим или скажу что подправить. 


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

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

Установите галочку, как показано на рисунке. В результате в начале операции ось С принудительно выводится в ноль. А внутри полярной интерполяции (между G12 и G13) ускоренные перемещения интерполируются со скоростью перемещения 10000.

attachicon.gifРис1.png

 

Станок который вы используете с противошпинделем, а пост морисейки - без. Поэтому высылаю в личку пост где в Multigoto прописана ось С противошпинделя. Имейте ввиду на станке не проверялось, поэтому, если в УП что то не так сообщите, подправим или скажу что подправить. 

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

 

Почта: eppavel105@yandex.ru

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

Установите галочку, как показано на рисунке. В результате в начале операции ось С принудительно выводится в ноль. А внутри полярной интерполяции (между G12 и G13) ускоренные перемещения интерполируются со скоростью перемещения 10000.

attachicon.gifРис1.png

 

Станок который вы используете с противошпинделем, а пост морисейки - без. Поэтому высылаю в личку пост где в Multigoto прописана ось С противошпинделя. Имейте ввиду на станке не проверялось, поэтому, если в УП что то не так сообщите, подправим или скажу что подправить. 

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

 

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

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

Заметил  что пост реализован так, что если в этих двух операциях были бы разные инструменты, то после первой операции ось С по умолчанию ушла бы в ноль, если один инструмент. то действительно приходится в правилах отвода, в первой операции, прописать С0, но на это, в принципе, можно закрыть глаза. Основная проблема в том, что G12 включается после того как ось С проворачивается в начало обработки и получается так, что начальное значение оси С станок принимает за ноль и происходит смещение. Для нормальной работы необходимо, чтобы G12 выводилось до того как ось С провернется в начало обработки, но как это сделать я пока не понял, дело в том что G12 выводится в команде Interp, а данная команда В СLDATA всегда идет после Multigoto.

Ведь при полярной интерполяции, ось Y меняется на C.  И вот так вот с бухты-барахты переставлять команду я бы не советовал.

Скорее всего, надо разделить начальную строку на части

 

т.е допустим сейчас выводится так...

G0X0.Y51.369Z-11.C115.444
Z20.375
G12.1
 
а надо проверить вот такую конструкцию..
G0Z-11.
C115.444
G12.1
G1X0.C51.369F10000.
Z20.375

 

Возможно смещение даже не столько из-за С, сколько из-за Y

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

Ведь при полярной интерполяции, ось Y меняется на C.  И вот так вот с бухты-барахты переставлять команду я бы не советовал.

Скорее всего, надо разделить начальную строку на части

 

т.е допустим сейчас выводится так...

G0X0.Y51.369Z-11.C115.444
Z20.375
G12.1
 
а надо проверить вот такую конструкцию..
G0Z-11.
C115.444
G12.1
G1X0.C51.369F10000.
Z20.375

 

Возможно смещение даже не столько из-за С, сколько из-за Y

 

Если перед G12.1 стоит ось С, то он ее будет принимать как точку отсчета, т.е. в нашем случае С115.444 после кадра G12.1 будет восприниматься станком как С0, что не совсем правильно...

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

Если перед G12.1 стоит ось С, то он ее будет принимать как точку отсчета, т.е. в нашем случае С115.444 после кадра G12.1 будет восприниматься станком как С0, что не совсем правильно...

да команды местами поменять - дело то житейское  :smile:

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

да команды местами поменять - дело то житейское  :smile:

 

попробуй аккуратненько 

attachicon.gifMoriSeiki_TurnMill_experimenten.rar

 

Посмотрел пост, также выводит G12.1 после кадра с осью С.post-49150-0-52764400-1439188266.jpg

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

Посмотрел пост, также выводит G12.1 после кадра с осью С.attachicon.gifБезымянный.jpg

да, извиняюсь. действительно, залил неверный

 MoriSeiki_TurnMill_experimenten_v2.rar

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

Посмотрел пост, также выводит G12.1 после кадра с осью С.attachicon.gifБезымянный.jpg

 

ну и как, подошло? все-таки ждем продолжения этой саги :)

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

ну и как, подошло? все-таки ждем продолжения этой саги :)

 

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

post-49150-0-35368500-1440143080_thumb.jpg

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

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

attachicon.gif1111.jpg

А отработает ли G0 при включенной полярной интерполяции?

И второй вопрос: 

При включенной полярной интерполяции зачем выводить Y? (пусть даже и равной нулю)

 

MoriSeiki_TurnMill_experimenten_v3.rar 

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

Всем привет!

Вопрос по генератору постпроцессоров. В управляющей программе  нужно вывести подачу раньше чем она появляется в тексте CLD т.е в кадре перемещения до строки FEDRATE. Как из программки GOTO посмотреть вперед по тексту CLD в FEDRATE, запомнить значение подачи, и вывести его в текущем кадре?  Станочник достал уже, говорит что не красиво... эстет чертов.

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

Всем привет!

Вопрос по генератору постпроцессоров. В управляющей программе  нужно вывести подачу раньше чем она появляется в тексте CLD т.е в кадре перемещения до строки FEDRATE. Как из программки GOTO посмотреть вперед по тексту CLD в FEDRATE, запомнить значение подачи, и вывести его в текущем кадре?  Станочник достал уже, говорит что не красиво... эстет чертов.

Можно сделать так

В программе AbsMov пропиши следующее:

 

  a: Array of Real 
  b: Integer    
 
  b = GetCld(1, a)                !  читаем параметры следующей за GOTO команды (предполагаем что это FEDRAT) 
  if b=CodeOfCmd(“FEDRAT”) then  Feed=Str(a[1]) 
Ссылка на сообщение
Поделиться на других сайтах

 

Можно сделать так

В программе AbsMov пропиши следующее:

 

  a: Array of Real 
  b: Integer    
 
  b = GetCld(1, a)                !  читаем параметры следующей за GOTO команды (предполагаем что это FEDRAT) 
  if b=CodeOfCmd(“FEDRAT”) then  Feed=Str(a[1]) 

 

а если FEDRAT не сразу после?

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • Авенир
      ахаха)) мы нет, - мы за развитие российской науки и российского производства!  
    • Борис Е
    • Igor Lipin
      Спасибо, завтра попробуем.
    • Авенир
      Имеются чертежи комнат (помещений) - 16 штук, строящегося здания. Нужно оформить эти чертежи по стандарту DIN. Нам необходимо отправить чертежи иностранной компании, а они не принимают в российском формате. Есть кто-то, кто может помочь в этом вопросе? 1
    • gudstartup
      @Igor Lipin у релюшек контакты почистите и проверьте блокировку замка раб зоны может проводочек от замка отсох но не совсем если кабель подвижен или сам замочек поистерся. вот телеграммы и не доходят до привода
    • KsunReh
      Странно, раньше ИНТОС поставлял их... По поводу выдержит или нет:   1) Усилие гидроцилиндра одна из его рабочих характеристик. Прикиньте грубо какое давление в полости будет действовать на знак (с помощью симуляции или по формулам) и сопоставьте с паспортным усилием г/ц 2) У ТПА (литьевой машины) обычно есть функция удержания давления на ввод гидрознаков во время впрыска. Если этой функции нет или она отключена в меню, то пункт №1 частично теряет смысл. 3) На гидроцилиндр можно поставить гидрозамок. Стоимость вопроса - 5 - 20 т.р. за 1 цилиндр. Гидрозамок увеличивает усилие отжима штока цилиндра и делает его независимым от пункта №2   По вашему случаю картинка у вас маленькая, непонятна конструкция + какое сырье, например льете ли вы ПК или ПП от этого зависит давление в форме...     
    • Авенир
    • andref
      Попробуйте  если заменить реле проблематично, хотя бы поменять их местами (может другая ошибка появится )
    • Orchestra2603
      Была такая проблема у нас. Стол вибростенда бился об ограничитель. Но тогда это было ждя внутренних целей, так что мы сильно не заморчивались - все всё прекрасно понимали.   Но вообще можно по-разному попробовать выкрутиться.   1. Специально для испытаний в низкочастотной области можно присобачить между стендом и изделием какую-то "мягкую" подвеску. Тогда между стендом и изделием булет промежуточная простейшая система с своей АЧХ. Можно подобрать такую жесткость подвески, чтобы как раз в области низких частот был первый резонанс, и тогда при небольшом ходе стола можно получить бОльшую амплитудлу перемещения на самом изделии относительно стенда, ну и соответственно и ускорения будут также кратно выше. Можно поставить на изделие дополнительный акселерометр, чтобы знать точно там амплитуду ускорения. Очень похоже на задачу подбора параметров всяких виброгасителей, только в обратную сторону ))) Насколько это удобно и практично - это конечно вопрос открытый. Если можно было бы посмотреть на изделие и на стенд, может, че-нить придумали бы вместе.   2. Можно просто в МКЭ посчитать гармонический анализ, подогнать демпфирование и скорректировать жесткости/массы, чтобы для более высоких частот все хорошо ложилось. Тогда заказчику можно будет сказать, что это очень сложная задача поставить эксперимент для таких частот, но есть надежные расчетные модели, которые показывают хорошее совпадение с экспериментом на более высоких частотах (показываем графики), и они позволяют надежно предсказать результаты таких испытаний в низкочастотной области. Тут, кончено зависит то того, как это правильно преподнести заказчику. Нужна харизма определенная :)   3. Можно вообще придумать что-то типа маятника, и подвесить туда изделие. Варьируя высоту подвеса, можно менять частоту колебаний.  Амплитуду можно варьировать меняя начальное отклонение, причем можно сделать ее довольно большой (только отклонения должны быть маленькими, чтобы не проявлялась сильно нелинейность восстанавливющего момента). Вот такое я делал для калибровочных целей, был довольно забавный самопал конечно ))             Хз... можно внести искажения в АЧХ изделия. Надо осторожно
    • Igor Lipin
      Извиняюсь, да такой модуль есть. Я предположил он установлен в самом приводе  https://postimg.cc/gallery/cJHmJHg
×
×
  • Создать...