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

FAQ/Unigraphics/POST


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

ни одна их этих переменных не подходит. variable streamline вобще выдаёт как planar mill.

эта вроде выводит правильно mom_operation_type

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


ни одна их этих переменных не подходит. variable streamline вобще выдаёт как planar mill.

эта вроде выводит правильно mom_operation_type

 

Значит ее используйте

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

искал в нете как активировать авто тормоз поворотной оси но не совсем понял как это сделать именно через пост.

в самом файле как там говорится в начале я тоже нехочу делать..надо через пост

вот такая переменная mom_clamp_status.но как применить

 

http://www.eng-tips.com/viewthread.cfm?qid=258025

 

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

искал в нете как активировать авто тормоз поворотной оси но не совсем понял как это сделать именно через пост.

в самом файле как там говорится в начале я тоже нехочу делать..надо через пост

вот такая переменная mom_clamp_status.но как применить

 

http://www.eng-tips.com/viewthread.cfm?qid=258025

 

По-моему, значение переменной mom_clamp_status как раз и задается через стандартную UDEшку Clamp. Так что от событий у тебя вряд ли уйти получится. Ну либо отслеживать тип операции. Если пятиосевая, то не выводить блокировку, иначе - выводить

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

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

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

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

Кстати автор того топика и на этом форуме есть (во всяком случае ник и имя совпадаю). И еще ваша ссылка в России не работает, приходится на этот ресурс переходить через анонимайзеры (пэдээф не смотрел в начале).

По задаче, вам по сути надо сделать следующее (поправьте если не так): необходимо при подходе в операции включить блокировку осей (типа М25 в HH), а в конце операции разблокировать (M26), но это все безобразие надо делать только при 2+3, при много осевой такой блокировки делать не надо?

Если так, что здесь можно поступить по разному, например, при пяти осеовой обработки вводить UDE, которое подавляет вывод блокировки/разблокировки или каким-либо образом "узнавать", что идет непрерывная много осевая обработка и так подавляет. Также есть всегда метод имени рабочего и крестьянки - постпостпроцессинг (но это вообще не интересно).

Вопрос как узнавать также можно решить по разному.

По своему опыту использования много осевой обработки (проще использовать UDE).

 

П.С. Интресно что вам заокеанские коллеги посоветуют? Напишите если будет что-то интресное.

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

я потом понял что кто то русский пишет там..да ты всё правильно понял что мне нужно сделать..но только пока для 3+1.мне надо распознание где позиционная обработка а где неприрывная..хочется как можно меньше вмешиваться в сам файл prt поэтому нехочу делать через EDE

я создал там новую тему..старая уже закрыта..ответят отпишусь

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

я потом понял что кто то русский пишет там..да ты всё правильно понял что мне нужно сделать..но только пока для 3+1.мне надо распознание где позиционная обработка а где неприрывная..хочется как можно меньше вмешиваться в сам файл prt поэтому нехочу делать через EDE

я создал там новую тему..старая уже закрыта..ответят отпишусь

В принципе это реально сделать (я так думаю), нужно заготовку поста и примеры prt и что и куда вставлять

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

выкладываю хасовский пост и файл..в нём нужно сделать автоматическую блокировку и разблокировку.

теперь другая проблема появилась..на nx 8 все работало. пост синумерик

там пост выводит наименьшую координату по z и потом перемешает её в начало программы.на на nx 9 не перемешает то что нужно в начало программы

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

кто подскажет переменную для выводы радиуса фрезерного инструмента..именно радиуса а не радиус скрулления

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

спасибо разобрался..только теперь как кол-во знаков уменьшить..

Первый вариант (имхо не красивый, по программистки)

MOM_output_text "G90 G10 L12 P1 R[format %1.3lf expr[$mom_tool_diameter/2]] # не проверял

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

 

global radii_tool mom_tool_diameter

set radii_tool expr[$mom_tool_diameter / 2]

MOM_output_text "G90 G10 L12 P1 R[format %1.3lf $radii_tool]"

 

Второй вариант

Настроить BLOCK с необходимыми WORD и на R настроить вывод числа

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

что обозначают эти буквы

 set output [format "%-10s %-8.3f %-9.1f %-3d"

f - тип данных с плавающей точкой

d - целое число

s - строка

Подробности ИМХО можно смотреть в описании команды sprintf из С http://ru.cppreference.com/w/cpp/io/c/fprintf

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

теперь другая проблема появилась..на nx 8 все работало. пост синумерик

там пост выводит наименьшую координату по z и потом перемешает её в начало программы.на на nx 9 не перемешает то что нужно в начало программы

проанализировав работу поста я выяснил, что команда set file [open $ptp_file_name a] и последующим seek уже не робит. Я изменил ключ а на a+. seek стал "скакать", то он вставляет символы с заменой существующих. ((

Что-то видимо изменилось в TCL

Поэтому можно воспользоваться старым методом - запись в новый файл и переименовывание

 

Вот вариант он работает на 9-ке (я думаю, что и на любой версии)

set temp_dir [MOM_ask_env_var UGII_TMP_DIR]
set temp_file temp.temp
set f [open "$temp_dir\\$temp_file" w+]
set fcom [open $ptp_file_name r]

# shitivaem pervuyou 2 stroku i zapisivaem v fail up
for {set i 0} {$i < 2} {incr i } {
  gets $fcom inLine
  puts $f "$inLine"
}

# zapisivaem vremya
puts $f  "(MACHINE TIME: $mtime)"
puts $f  "$co----MIN Z..[format "%.2f" $coord_z]---- $ci"
puts $f  "$co TOTAL TIME:[format "%.2f" $mom_machine_time] $ci"

# zapisivaem ostalnuya chast UP
while { [gets $fcom inLine] >=0 } {
    puts $f "$inLine"
}

close $f
close $fcom

file rename -force "$temp_dir\\$temp_file" $ptp_file_name
file delete -force "$temp_dir\\$temp_file"

Минус только в том, что в окне NX немного выглядит не так))

 

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

выкладываю хасовский пост и файл..в нём нужно сделать автоматическую блокировку и разблокировку.

Один из вариантов

global mom_tool_axis_type

#0=None, 1=Fixed Vector, 2=Normal to Part, 3=Swarf Relative to Part Surface(+U), 4=Swarf Relative to Drive Surface(+V), 5=Swarf Relative to Part Surface(-U), 6=Swarf Relative to Drive Surface(-V), 7=Relative to Part Non-Perpendicular, 8=4-Axis Normal to Part, 9=Through or Away from a Point, 10=Towards Point, 11=Away from Line, 12=Towards Line, 13=Surface Ruling, 14=Fan, 15=Same, 16=Normal to Drive Surface, 17=Parallel to Part Surface, 18=Parallel to Drive Surface, 19=Relative to Drive Surface, 20=4-Axis Normal to Drive Surface, 21=4-Axis Relative to Part Surface, 22=4-Axis Relative to Drive Surface, 23=Same as Drive Path, 24=Relative to Vector, 25=Dual 4-Axis or Dual 4-Axis Relative to Part, 26=Dual 4-Axis Relative to Drive, 27=Interpolated Tool Axis, 28 = User Defined to Part, 29 = All
switch $mom_tool_axis_type {
  "0" { MOM_output_literal "mom_tool_axis_type = NONE"}
  "1" { MOM_output_literal "mom_tool_axis_type = Fixed Vector"}
  "2" { MOM_output_literal "mom_tool_axis_type = Normal to Part"}
}

  MOM_output_literal "mom_tool_axis_type = $mom_tool_axis_type"
  MOM_output_literal "M10 (*********************************)"

Здесь в зависимости от типа ориентации оси инструмента вводим блокировку или нет

С разблокировкой оси можно поступить аналогично или выводить всегда... как вашей душеньке угодно.

Ограничение такого способа, состоит в том что в старых версия NX (до 9-ки) он всего не будет работать

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

спасибо огромное ..пока до тормаза оси не добрался но все остальное работает..кстати в том примере с минимальным z как сделать чтоб нумерация строчек была..вначало программы бросает но без нумерации строчек

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

кстати в том примере с минимальным z как сделать чтоб нумерация строчек была..вначало программы бросает но без нумерации строчек

не уловил что надо сделать

Вот часть УП

%
O1234 ( 4X TEST.prt )
(MACHINE TIME:    4.6 MINUTES)
(----MIN Z..-6.91---- )
( TOTAL TIME:4.57 )
( CONTROL HAAS )
(------------------------------)
(           TOOLS              )
(------------------------------)
( T#    NAME            LENGTH )
(------------------------------)
(------------------------------------)
( DATE: 13/JUN/2014  TIME: 01:10:21  )
( Part File Name: 4X TEST.prt )
N1 G91 G28 Z0.
N2 G91 G28 A0.
N3 G17 G90 G80 G40 G21
N4 M11
N5 (TOOL #1 MILL)
N6 T1 M6
N7 (VARIABLE_CONTOUR)
N8 G0 A0
N9 G90 X50. Y-30. S100 M3
N10 G43 H1 Z18.03 M8

Покажите где надо исправить?

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • Viktor2004
      Ладдер пришлите. Будем принудительно пробовать поднимать и опускать
    • streamdown
      Коллеги приветствую! IPS 8. Подскажите пожалуйста, кто какое серверное железо использует? Интересуют параметры при одновременной работе, ну например, 400 пользователей онлайн
    • gudstartup
      так он так и позиционируется по m19 pmc выдает g70.6 а чпу отвечает f45.7 но ориентацию и смещение в 4077 он отрабатывает нормально шпиндель встает ровно и смена происходит хорошо. вопрос почему после ввода команды управления скоростью он все еще продолжает контролировать число импульсов между нуль метками хотя в принципе уже должен отменить позиционный контроль и просто считать обороты по 0 метке как он это делает без М19? это все понятно но почему оно продолжает проверять это после завершения ориентации мне непонятно
    • Александр1979
      SP9047 SSPA:47 ILLEGAL SIGNAL OF POSITION CODER "The relationship between the A/B phase and 1-rotation signal is incorrect (Pulse interval mismatch)." "Неправильное значение счетчика импульсов сигнала на энкодере ALPHAi. На фазах A и B энкодера за один оборот шпинделя насчитывается 4096 импульсов обратной связи. Программное обеспечение по управлению шпинделем проверяет количество импульсов на фазах A и B, соответствующее энкодеру, при каждой генерации сигнала одного оборота. Данный аварийный сигнал срабатывает, если регистрируется число импульсов, нарушающее заданный диапазон."
    • vs3dpro
      Добрый день! У нас на есть SLA принтер 600х600х400мм. Можно напечатать мастер- модели, и можно приехать посмотреть. mail@iges.space
    • gudstartup
      после ввода 789 в edit mod надо перейти в режим ручное упр. нажать mod а потом помощь и откроется wzw.hlp  с возможностью выполнения команд управления atc. если не появляется содержимое wzw.hlp то возможно что у вас другой код хотя 789 'это стандарт для dmg в этом случае надо смотреть ваш plc раздел у меня пароль прописан в файле wzw_rett.mod
    • Anat2015
      SERVO TURRET AMP ALARM - переводить не пробовали, учитывая, что AMP - это и есть сервопривод? Что тут не ясного, язык не знаком?
    • Viktor2004
      я бы попробовал позиционировать шпиндель сигналом G70.6 Ответный сигнал, шпиндель сориентирован F45.7
    • gudstartup
      Здравствуйте уважаемые участники форума попрошу вас поделится мнениями. Имеется фрезерный шпиндель с позиционным кодером (зубчатое колесо и считывающая головка). Ошибку 9047 выдает после того отрабатывает M19 c последующим включением оборотов Sxxx M3 причем обороты могут быть любыми от 100-макс. Если задавать обороты без предварительной ориентации то 9047 не возникает и шпиндель нормально вращается на любой скорости при этом обороты не гуляют точность поддержания +-1 об\мин. Кабель заменен заменить сам датчик нет возможности. Мой вопрос в следующем почему шпиндель после M19 и включении управления скоростью Sxxx M3 остается в режиме позиционирования а не сразу переходит врежим управления скоростью и даже явная отмена ориентации кодом M20 ничего не меняет ведь режим позиционного управления должен быть отменен или он остается и отменяется не сразу после подачи команды M3 и кода скорости? Станок достаточно старый 2009 года плату управления шпинделем меняли на соседний ничего не изменилось. Это может быть логика PMC или скорее всего это датчик?   PMC-SB.001
    • Killerchik
      А мы-то думали, что пропорциональный гидравлический.....
×
×
  • Создать...