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

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


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

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

 

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

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



  • Сообщения

    • Snake 60
      Скорее всего исправляли в конкретной сборке, для конкретных тел. Насколько я помню, надо в самом эскизе профиля заполнить свойство Description
    • Snake 60
      Делаете дырку в свае - вставляете в нее трубу и 2 человеко-силы крутят сваю ) Дёшево и сердито и не нужен никакой планетарный редуктор ))
    • gudstartup
      вы всегда ищите свой путь или будете делать то что вам советуют? с самого начала прежде чем приступать к экспериментам вам нужно было вынуть носитель и сделать образ. diskcopy делает копию гибкого диска на другой а вам надо сделать образ жесткого диска или карты памяти. делайте как советует @Viktor2004 иначе еще чего нибудь сломаете или вам станок не нужен и вы его приобрели для экспериментов ? вот а печатной машинке из прошлого нельзя а вот на синумерике можно - удивительные вещи в настоящем происходят!! на 100 % уверен что там не модуль а либо писимиси ай либо жд @mircomax81 хотите работать в дос почитайте помощь по командам 
    • PuKoLLleT
      Доброго дня всем. Поделитесь опытом,раньше такое не доводилось делать. На торце фланца нужно сделать  восемь отверстий ф17H7 на токарно-фрезерном станке с осью Y ,имеется ManualGuide.В моем понимании нужно просверлить,а затем торцевой фрезой расточить нужный диаметр.Получится такой фокус,или надо разверткой доводить нужный размер?  Стойка Fanuc 0i-Tf.
    • Snake 60
      Всё верно, я даже русификатор делал для него (ушло на это где-то около года). Хороший софт был, я всех знакомых на него подсадил в свое время :) У меня даже где-то образ на виртуалке лежит с SW2014+MechSoft, Жаль, что автодеск его поглотил, а не DS :( А по сути вопроса, проектировал двухступенчатый планетарный редуктор в свое время. Что было нужно: Справочник по планетаркам (автора не помню, если надо поищу), из софта MathCAD + GearTeq (софтина идет вместе с GearTrax, только рассчитывает и моделирует несколько зацеплений согласно выбранной схеме, в том числе планетарки) Ой и ошибаетесь. Звездочки - не равно зубчатые колеса в планетарке) Мы намучились с малой точностью изготовления на эл.эрозии, а Вы лазером ))) Был собран опытный образец редуктора с незакаленными деталями, чисто проверить геометрию, отладить сборку. Так потом начальство этот редуктор сказало испытать в бою, как я не противился)) Помер за пару дней интенсивных нагрузок ))) Материал, термообработка и точности изготовления решают )
    • Snake 60
      @Тихоход  Ещё один вариант - изучать программирование и писать свою программу/макрос. Вот пример конфигуратора двери: https://www.youtube.com/watch?v=wv4HryWQBSk
    • mircomax81
      Посредством Diskcopy можно сделать адекватную копию на флоппи диск?
    • Andrey_kzn
      Да, ведь советовали автору вытащить жёсткий диск и сделать образ. Неужели самому не интересно, как устроен этот старый промкомпьютер? Там может стоять как жёсткий диск, так и CF-карта, или же Disc-on-chip или Disc-on-module.  Как-то очень давно, на подобном промышленном оборудовании (большая печатная машина) я не смог перенести  ПО с родной CF - карты на другую, такого же размера но другой фирмы. Была также станочная оболочка под досом.  Образ я делал Нортон гостом, развернул его на другую CF-карту без проблем. Машина загрузилась нормально и работала ровно 2 дня, на неродной CF-карте,  потом зависла, и отказалась загружаться. Пришлось вызывать сервисника. От него мы узнали, что нельзя просто так взять и заменить карту  - носитель системного ПО, на другую. А полезли мы туда, так как руководство захотело печатать отчёты по работе машины. В станочном ПО такая функция была. Вот только принтер надо было купить у фирмы - производителя этой самой машины. В попытках заставить работать другой принтер мы редактировали файл  AUTOEXEС.BAT, на предмет загрузки драйвера принтера, ничего не получилось, зато перестали открываться некоторые страницы станочного ПО.  Образ у нас был давно снят, и мы развернули его на другую карту памяти. Родную карту я трогать не стал (как чувствовал, что нельзя ). Сервисник восстановил ПО с архивной дискеты на родную карту памяти, и всё заработало. Дискеты с архивами ПО шли вместе с документацией к машине.  Там были дискеты с Досом, станочной оболочкой, параметрами приводов, программой ПЛК. Он же и предупредил нас о предельно аккуратном обращении с родной картой памяти, и посоветовал немедленно сделать образы с архивных дискет, что мы сразу и проделали.. Вот такой сюрприз от машины эпохи Дос.
    • Борман
    • gudstartup
      а ведь все работало...
×
×
  • Создать...