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

FAQ/Unigraphics/POST


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



как реализовать в постпроцессоре вывод инструмента в УП  T0202,  сейчас выводит просто Т02.. а то так  станок не хавает

Ссылка на сообщение
Поделиться на других сайтах
6 минут назад, ssuss1 сказал:

как реализовать в постпроцессоре вывод инструмента в УП  T0202,  сейчас выводит просто Т02.. а то так  станок не хавает

 

Заведите дополнительный адрес корректора с пустым значением Leader, с форматом вывода Tcode. Далее в блок где стоит адрес T добавьте адрес корректора со значением $mom_tool_number. Далее, на адрес T поставьте настройку No Word Seperator

 

23 часа назад, HD Gluk сказал:

А как это можно реализовать?

 

Следующим вопросом будет - "а готовые варианты есть?"

Вы средствами tcl языка пользоваться умеете? Имеет смысл рассказывать как это можно реализовать?

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

Есть проблема с выводом координат в токарной обработкt. Вообщем, инструмент-  резец с квадратной пластиной, делается торцовка сначала потом обработка конуса. Для корректного вывода траекторий приходится менять точки трассировки на пластине, для торцевой обработки точку ставлю в крайнюю левую вершину, для обработки самого конуса в нижнюю вершину пластины, все ок , но у меня резец привязан на станке по нижней кромке (X,Z). Соответственно при торцевой обработке в УП должно выводиться значение Z со смещением на половину диагонали пластины, то есть не Z0. Как и  где мне в обработке поставить смещение , что бы корректно в уп выводилось? Можно делать через редактор траекторий, но не удобно, при каждой генерации надо менять опять( 

%
G54 G40 G99 G90
(FACING_S)
T0202
S400 M03
G00 X157.2 Z10.
X137.2 Z0.       <----
G01 X101.6 F.6
G00 X157.2 Z10.
X280.
Z140.
(ROUGH_TURN_OD)
X139.096 Z17.475
X119.096 Z7.475
G01 Z6.675 F.6
G00 Z0.8
X119.743 Z0.453
X122.928 Z-2.962
X127.6 Z-75.987
G01 X128.731 Z-75.422 F1.
G00 X139.096 Z17.475
X280.
Z140.
M30
%

2021-06-03 (1).png

2021-06-03 (2).png

2021-06-03 (3).png

D127.prt

Ссылка на сообщение
Поделиться на других сайтах
1 час назад, ssuss1 сказал:

Есть проблема с выводом координат в токарной обработкt. Вообщем, инструмент-  резец с квадратной пластиной, делается торцовка сначала потом обработка конуса. Для корректного вывода траекторий приходится менять точки трассировки на пластине, для торцевой обработки точку ставлю в крайнюю левую вершину, для обработки самого конуса в нижнюю вершину пластины, все ок , но у меня резец привязан на станке по нижней кромке (X,Z). Соответственно при торцевой обработке в УП должно выводиться значение Z со смещением на половину диагонали пластины, то есть не Z0. Как и  где мне в обработке поставить смещение , что бы корректно в уп выводилось? Можно делать через редактор траекторий, но не удобно, при каждой генерации надо менять опять( 

 

Если Вы работаете с двумя точками трассировки - вы должны работать с двумя корректорами на станке.

Привязываете нижнюю кромку в корректор 02, левую кромку например в 22, и в каждой операции вызываете соответственно: Т0202 и Т0222. Никакого смещения "на половину диагонали" в координатах здесь быть не должно, она будет учтена в разности привязки корректоров на станке. Это в случае как у Вас на прикрепленных рисунках показано.

И в действительности так работать правильно - взаимное расположение контуров, обрабатываемых различными кромками резца, не будут зависеть от действительного размера пластины. 

 

Если вы хотите работать одним корректором - в проекте обработки назначайте одну единую точку трассировки на обе операции - нижнюю и тогда в выводимых координатах траекторий, как раз таки, будет та разница о которой Вы говорите.

Но так работать не желательно, если размер действительной пластины будет отличаться от назначенной в NX, то получите погрешность между поверхностями, обрабатываемыми различными кромками пластины резца.

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

@Vladislav-dobrynin я понял, спасибо. вообще  я менял точку трассировки на боковую кромку для того что бы получить нормальную траекторию , а то при  нижней кромке  получается какая то хрень)  вот как на скрине:

image.png

Ссылка на сообщение
Поделиться на других сайтах
4 минуты назад, ssuss1 сказал:

@Vladislav-dobrynin я понял, спасибо. вообще  я менял точку трассировки на боковую кромку для того что бы получить нормальную траекторию , а то при  нижней кромке  получается какая то хрень)  вот как на скрине:

image.png

 

Проблема в ограничениях регионов обработки скорее всего. У меня NX19 сейчас не установлен, посмотреть не могу.

Ссылка на сообщение
Поделиться на других сайтах
59 минут назад, ssuss1 сказал:

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

Использование нейтрального резца - принципиально? Почему вы не возьмете обычный проходной левый резец, при этом данный контур с подрезкой торца можно изготовить используя пластину с любым углом. 

Нейтральный резец привязывать на станке теми двумя точками, наладчику будет крайне не удобно 

Изменено пользователем Vladislav-dobrynin
Ссылка на сообщение
Поделиться на других сайтах
02.06.2021 в 16:19, HD Gluk сказал:

А как это можно реализовать?

Если не через постбилдер, то с помощью функции MOM_run_postprocess можно собрать вю информацию по инструменту из программы, а потом добавить ее в шапку.

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

@dimsond88 Т.е. через MOM_run_postprocess постишь собирая информацию, а потом постишь снова ту же траекторию, но в основной файл? Не сталкивался просто, можно подробнее? Я инфу об инструменте собираю функцией на основе PB_CMD_create_tool_list или просто в процессе постпроцессирования с последующей дозаписью собранной инфы в шапку УП по метке.

Ссылка на сообщение
Поделиться на других сайтах
44 минуты назад, mr_Voden сказал:

Я инфу об инструменте собираю функцией на основе PB_CMD_create_tool_list или просто в процессе постпроцессирования с последующей дозаписью собранной инфы в шапку УП по метке.

 

На самом деле, есть два метода формирования информации в начале УП:

 

1. Произвести запись во временный файл, открыть новый файл, сформировать в нем шапку и перезаписать все тело УП из временного файла, затем удалив его.

 

2. Метод очистки буфера вывода, о котором я уже писал ранее. Записываем каждый кадр как строку в массив переменных, очищаем буфера вывода - в конце вывода имеем накопленный массив кадров всей УП и пустой файл. Далее формируем шапку и при помощи цикла распечатываем массив строк всей УП

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

@Vladislav-dobrynin NX хорош тем, что одного и того же результата можно добиться разными способами. Не спорю насчет буферов, временных файлов и пр. - делал и так и так. Но, возможно, есть 3-й способ, раз PB_CMD_create_tool_list работает. Загляните в "Папка с NX\POSTBUILD\pblib\custom_command\pb_cmd_tool_list.tcl", она довольно любопытно устроена. Я не имею в виду вывод списка инструмента, а именно получение данных. Ей удобно пользоваться, чтобы ДО запуска постпроцессирования знать в какой операции какой тип инструмента применяется для автоматического переключения между линкованными постами (токарный/фрезерный).

Ссылка на сообщение
Поделиться на других сайтах
6 часов назад, mr_Voden сказал:

@dimsond88 Т.е. через MOM_run_postprocess постишь собирая информацию, а потом постишь снова ту же траекторию, но в основной файл? Не сталкивался просто, можно подробнее? Я инфу об инструменте собираю функцией на основе PB_CMD_create_tool_list или просто в процессе постпроцессирования с последующей дозаписью собранной инфы в шапку УП по метке.

Да, все верно. С помощью MOM_run_postprocess запускаю пост который выводит только название инструмента например в файл tools.txt, а основным постом уже открываю этот файл и кидаю все в шапку УП.

Ссылка на сообщение
Поделиться на других сайтах
9 часов назад, ssuss1 сказал:

@tm-ares не работает так, пробывал, в уп так же зет нольвыводит

У меня работает. Набросал на скорую руку обработку в NX 12 (см. вложение). Дело всё-таки в постпроцессоре. Из стандартного набора lathe_tool_tip выдаёт Z0. А lathe_turret_ref – как нужно вам Z10.2752.

Скрытый текст

%
N0010 G94 G90 G20
N0020 G50 X0.0 Z0.0
:0030 T00 H00 M06
N0040 G97 S0 M03
N0050 G94 G00 X70.2752 Z15.2752
N0060 Z10.2752
N0070 X35.6807
N0080 G92 S0
N0090 G96 M03
N0100 G95 G01 X34.8807 F.004
N0110 X10.2752
N0120 X9.4752 F.7
N0130 G94 G00 Z15.2752
N0140 X70.2752
N0150 G97 S0 M03
N0160 X60. Z5.
N0170 Z3.0614
N0180 X19.5912
N0190 G95 G02 X19.5122 Z.8 I1.0912 K-1.1702 F.004
N0200 G92 S0
N0210 G96 M03
N0220 G01 X19.8236 Z.4661
N0230 G03 X19.965 Z.275 I-.7679 K-.7161
N0240 G01 X39.8593 Z-34.183
N0250 G03 X40. Z-34.708 I-.9093 K-.525
N0260 G01 Z-99.75
N0270 G03 X39.7179 Z-100.4661 I-1.05 K0.0
N0280 G01 X38.474 Z-101.8
N0290 G02 X38.553 Z-104.0614 I1.1702 K-1.0912 F.7
N0300 G94 G00 X60.
N0310 Z5.
N0320 M02
%

 

Точки трассировки.prt

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

@tm-ares осталось понять как постпроцессор делает этот вывод:k05106: Сравнил их, явных отличий не нашел:boxed:

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

@ssuss1 Отличие в MOM_before_motion.

При lathe_tool_tip

Скрытый текст

#=============================================================
proc MOM_before_motion { } {
#=============================================================
  global mom_motion_event mom_motion_type

   FEEDRATE_SET


   switch $mom_motion_type {
      ENGAGE   { PB_engage_move }
      APPROACH { PB_approach_move }
      FIRSTCUT { catch {PB_first_cut} }
      RETRACT  { PB_retract_move }
      RETURN   { catch {PB_return_move} }
      default  {}
   }

   if { [llength [info commands PB_CMD_kin_before_motion] ] } { PB_CMD_kin_before_motion }
   if { [llength [info commands PB_CMD_before_motion] ] }     { PB_CMD_before_motion }
}

 

При lathe_turret_ref

Скрытый текст

#=============================================================
proc MOM_before_motion { } {
#=============================================================
  global mom_motion_event mom_motion_type

   FEEDRATE_SET

   global mom_pos mom_ref_pos
   set mom_pos(0) $mom_ref_pos(0)
   set mom_pos(1) $mom_ref_pos(1)
   set mom_pos(2) $mom_ref_pos(2)

   switch $mom_motion_event {
      circular_move {
         global mom_ref_pos_arc_center mom_pos_arc_center
         if {[hiset mom_ref_pos_arc_center(0)]} {set mom_pos_arc_center(0) $mom_ref_pos_arc_center(0)}
         if {[hiset mom_ref_pos_arc_center(1)]} {set mom_pos_arc_center(1) $mom_ref_pos_arc_center(1)}
         if {[hiset mom_ref_pos_arc_center(2)]} {set mom_pos_arc_center(2) $mom_ref_pos_arc_center(2)}
      }
      from_move {
         global mom_from_ref_pos mom_from_pos
         if {[hiset mom_from_ref_pos(0)]} {set mom_from_pos(0) $mom_from_ref_pos(0)}
         if {[hiset mom_from_ref_pos(1)]} {set mom_from_pos(1) $mom_from_ref_pos(1)}
         if {[hiset mom_from_ref_pos(2)]} {set mom_from_pos(2) $mom_from_ref_pos(2)}
      }
      gohome_move {
         global mom_gohome_ref_pos mom_gohome_pos
         if {[hiset mom_gohome_ref_pos(0)]} {set mom_gohome_pos(0) $mom_gohome_ref_pos(0)}
         if {[hiset mom_gohome_ref_pos(1)]} {set mom_gohome_pos(1) $mom_gohome_ref_pos(1)}
         if {[hiset mom_gohome_ref_pos(2)]} {set mom_gohome_pos(2) $mom_gohome_ref_pos(2)}
      }
   }

   switch $mom_motion_type {
      ENGAGE   { PB_engage_move }
      APPROACH { PB_approach_move }
      FIRSTCUT { catch {PB_first_cut} }
      RETRACT  { PB_retract_move }
      RETURN   { catch {PB_return_move} }
      default  {}
   }

   if { [llength [info commands PB_CMD_kin_before_motion] ] } { PB_CMD_kin_before_motion }
   if { [llength [info commands PB_CMD_before_motion] ] }     { PB_CMD_before_motion }
}

 

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

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

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

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

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

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

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

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

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

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

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



  • Сообщения

    • Mr_Gray
      Если и расфрезеровывать, то обязательно с коррекцией радиуса инструмента G41, чтобы попасть в середину поля допуска. Но лучше все же разверткой или расточной головкой.
    • lem_on
      При хорошей геометрии станка, можно и расфрезеровать. Если неглубокие отверстия, можно и тс сверлом сразу размер получить.
    • 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, на предмет загрузки драйвера принтера, ничего не получилось, зато перестали открываться некоторые страницы станочного ПО.  Образ у нас был давно снят, и мы развернули его на другую карту памяти. Родную карту я трогать не стал (как чувствовал, что нельзя ). Сервисник восстановил ПО с архивной дискеты на родную карту памяти, и всё заработало. Дискеты с архивами ПО шли вместе с документацией к машине.  Там были дискеты с Досом, станочной оболочкой, параметрами приводов, программой ПЛК. Он же и предупредил нас о предельно аккуратном обращении с родной картой памяти, и посоветовал немедленно сделать образы с архивных дискет, что мы сразу и проделали.. Вот такой сюрприз от машины эпохи Дос.
×
×
  • Создать...