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

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


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

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

 

В спруткам имеется постпроцессор на ДМГ - 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 пользователей

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




  • Сообщения

    • gudstartup
      да у вас очень древний чемоданчик думаю из 90-х ну его ломать не жалко но если все уже заменили с рабочего то тут даже не знаю что и посоветовать....
    • stanislavz
      Спасибо за ответ. Так этот и был заказан на запас. В машине живой рабочий. Носителя нету, все в памяти hm628128-10 + ээпром.
    • gudstartup
      @stanislavz вы уж сразу еще один контроллер закажите а потом этот доламывайте. а со старым комбинировать не пробовали? у вас там диск или ssd в качестве носителя? может hdd загибается а вы сразу в мат.плату полезли. дисковые операции тоже ввод вывод тормозят...
    • maxx2000
      Подушную малость. Чё там. Уже в упор научились резьбу резать без выходной канавки?
    • ispite
      Здравствуйте, не могу построить стандартную сетку, что не позволяет дальше провести расчёт. Получается сделать сетку "на основе кривизны", но солид отказывается считать, после нажатия кнопки "запустить исследование" происходит сбой. https://disk.yandex.ru/d/D8wvRbYMW1lWjQ
    • ddm
      изготовить по чертежу с последующим покрытием,цинкование ,по 1000 шт каждой позиции ,предложение отправить на почту qwer463@yandex.ru
    • sklide008
      И еще можно ли задать горчие клавиши на кнопки открыть, скрыть и тд?
    • sklide008
      Подскажите, пожалуйста, в инвенторе есть такой пункт упорядочи по алфавиту дерево. Здесь найти такого не могу, пытался treesorter ставить но он добавляет просто в папку а не сортирует в дереве. Есть ли такой макрос чтобы все детали в дереве по порядку и алфавиту шли?
    • stanislavz
      Есть станок с данным контроллером. Все работает. Недавно была проблема с передачей данных - установил запасной контроллер. А запасной контроллер сказал нет работе. Проблема была в программе компьютера для передачи данных. Грустно, досадно, контроллер был куплен как рабочий. Как бы и не горит, но необходимо поправить. Плата управления с процессором mc68020, память hm628128-10. Память буферным питанием от 3 батареек + 0,5 Фарада на плате как буфер для замены батареек на 1 сутки. Лежало долго, без батареек. Симптомы: После первого включения, в памяти были и программы и параметры (0 странность). Честно, удивило. Но - система жутко тормозит, отклик на нажатие кнопки 3-5 секунд. В таком режиме сумел закачать машинные параметры под свой станок. Но это заняло час.. 4 строки и ждет секунд 10 итд. Есть видео. Перекинул с рабочего контроллера, БП, плату плц, ээпром плц - все то же. Проверил осциллографом кварцы живые , частота есть, амплитуда хорошая. 1 странность - после манипуляций по замене батарейки, старые записи из памяти исчезли. Ничего не коротнул. Возможно 0,5 Ф был не заряжен. Там тоже необходимы сутки для зарядки. Но как оно было запечатоно до этого - мистика. 2 странность. Если плата лежит ночь без питания, только с буфером - потом 2-3 минуты работает хорошо. 3 аналогично работает 2-3 минуты если питание отключить и очистить питание памяти (выпаял 0,5 Ф буфер с платы) Проверка памяти на старте есть. Проходит хорошо. На зависает, на холодную пайку не похоже. Шевелил / двигал все. Да и не виснет, именно тормозит. При том если оставить на час - тоже все стабильно плохо. Если набрать быстро 5 символей- экран сразу пуст, но после задержки символы будут на экране. Заказал второй процессор и память. 10 штук. Подавал прямо 5 вольт на память - все так же. Токи потребления между плохой и хорошей платой смогу проверит.    
    • brigval
×
×
  • Создать...