1 004 сообщения в этой теме
N1  ;PROG# 4X TEST

N3  ;UNIGRAPHICS NX

N5  ;SINUMERIK 840D

N7  ;MACHINE MECAPRO 4020

N9  ;DATE:Fri Jun 13 05:55:26 2014

;----MIN Z..-18.23---- 

; TOTAL TIME:2.93 

 

Поделиться сообщением


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


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

 

объясни как применить..пока ничего не выходит

Поделиться сообщением


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

Не могу настроить функцию M41..M43 с помощью постбилдера. Это код переключения передачи оборотов шпинделя на стареньких фрезерных станках. В настройках частота вращения шпинделя привязал диапазон оборотов к коду, M41 от 1 до 180, М42 от 181 до 500 и тд...добавил туда же M41 отдельный код  диапазона из меню - результат меню (M41 S M3)Добавил в ускоренный подход а также в линейное перемещение код M41. После постпроцессирования никаких изменений не обнаружил.  Как будто нечего и не трогал.. Если у кого ни будь есть постпроцессор с полноценным файлом pui и реализованной функцией выбора передачи М41..43 пожалуйста поделитесь. Или подскажите способ реализации этой функции через постбилдер.

Поделиться сообщением


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

не выводит резьбофрезу в списке инструмента.как сделать чтоб выводило..нашел на eng-tips что то подобное но там конкретно другая система как выводится список инструментаю..пример с форума

 

global ptp_file_name mom_definition_file_name mom_output_file_full_name
global mom_output_file_directory mom_output_file_basename mom_output_file_suffix
global mom_warning_info
global mom_machine_time mom_group_name mom_operation_name mom_part_name
global mom_tool_count mom_tool_use
global mom_logname mom_ug_version mom_date mom_machine_name

set tm1 [clock seconds]
set tm2 [clock format $tm1 -format "%M:%S"]
MOM_log_message "MOM Start = $tm2 "

set tmp_file_name "${ptp_file_name}_"
if {[file exists $tmp_file_name]} {
MOM_remove_file $tmp_file_name
}
MOM_close_output_file $ptp_file_name
file rename $ptp_file_name $tmp_file_name

set ifile [open $tmp_file_name r]
set ofile [open $ptp_file_name w]

set temp ";%_N_"
set temp1 $mom_output_file_basename
set temp2 _MPF
set stroka [concat $temp$temp1$temp2]
puts $ofile "$stroka"

set temp ";$"
set temp1 "PATH=/_N_WKS_DIR/_N_WORK_PROGRAMS\_WPD"
set stroka [concat $temp$temp1]
puts $ofile "$stroka"

puts $ofile " "
set path $mom_part_name
puts $ofile ";(PART: $path)"

if {[info exists mom_operation_name] == 0} { set mom_operation_name "" }
if {[info exists mom_group_name] == 0} { set mom_group_name $mom_operation_name }
puts $ofile ";(Program: $mom_group_name)"
puts $ofile ";(Date:$mom_date User:$mom_logname)"
puts $ofile ";(MACHINE: $mom_machine_name, Siemens CNC)"

puts $ofile ";(MACHINE TIME: [format "%.2f" $mom_machine_time] MIN)"
puts $ofile " "

puts $ofile ";(----------- TOOL LIST -----------)"
for { set nn 0 } { $nn < 99 } {incr nn} {
if {[hiset mom_tool_use($nn,0)] && [hiset mom_tool_use($nn,1)]} {
set a [scan $mom_tool_use($nn,0) %d tn]
set str [format "%s %.2f" $tn $mom_tool_use($nn,1)]
puts $ofile ";(TOOL NUMBER $str MIN)"
}
}
puts $ofile ";(--------- END TOOL LIST ---------)"

while { [gets $ifile buf] > 0 } {
puts $ofile $buf
}

close $ifile
close $ofile
MOM_remove_file $tmp_file_name

set tm1 [clock seconds]
set tm2 [clock format $tm1 -format "%M:%S"]
MOM_log_message "MOM End = $tm2 "

MOM_open_output_file $ptp_file_name

 

нужно поместить в конец программы и тогда будет работать..половину с приведённого выше можно стереть

 

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

 

1 пользователю понравилось это

Поделиться сообщением


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

 

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

 

объясни как применить..пока ничего не выходит

 

Ну примерно так

4ax_tikito.rar

 

Только здесь надо тестировать. Даже на простом вашем примере выпал случай, что простая планар, выдал что он много осевой - сделал дополнительную проверку для этого случая.

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

Вопрос я правильно понимаю, что блокировать надо ось после поворота?

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

Думаю, я понятливо объяснил)))

1 пользователю понравилось это

Поделиться сообщением


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

Не могу настроить функцию M41..M43 с помощью постбилдера. Это код переключения передачи оборотов шпинделя на стареньких фрезерных станках. В настройках частота вращения шпинделя привязал диапазон оборотов к коду, M41 от 1 до 180, М42 от 181 до 500 и тд...добавил туда же M41 отдельный код  диапазона из меню - результат меню (M41 S M3)Добавил в ускоренный подход а также в линейное перемещение код M41. После постпроцессирования никаких изменений не обнаружил.  Как будто нечего и не трогал.. Если у кого ни будь есть постпроцессор с полноценным файлом pui и реализованной функцией выбора передачи М41..43 пожалуйста поделитесь. Или подскажите способ реализации этой функции через постбилдер.

Выложите ваш поспроцессор, попробую отредактировать.

Поделиться сообщением


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

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

clamp_fourth_axis не работает не распознаёт вектор инструмента

Поделиться сообщением


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

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

clamp_fourth_axis не работает не распознаёт вектор инструмента

Ясно, что переменная новая и с глюками((

Попробую еще ввести одно условие.

ИМХО считаю, что непрерывную обработку нужно определять человеку. Если у вас много много осевой, то позиционную.

Самый надежный способ это написать расширение для MOM (dll), которое с вероятностью 99% определяло бы метод ориентации оси -> непрерывность обработки

 

 

...

еще немного потестировал, в первой операции выдает не ту инфу, что есть. При  использовании динамического  способа задания оси координат выдает чудной способ ориентации оси. Видимо на нулевой версии много глюков. Может в каком-нибудь из QRM исправят((( may be yes, may be no...

Кроме того, в описании к данной переменной mom_tool_axis_type написана, что она определяет для "Output from surface coutouring operations. Indicates the tool axis setting for the operation." может здесь еще собака порылась, но как тогда определить что операция surface coutouring непонятно.

Есть еще атрибут CAM_TOOLTIP, который, вроде, определяет тип операции, но он тоже не адекватно выводит информацию для первой операции

Для полной автоматизации необходимо писать dll, это на мой взгляд самый надежный способ (на него у меня сейчас врядли хватит времени и сил), ну и второй как уже и предлагаю это UDE.

Также можно ждать QRM. Есть еще вариант обратиться в поддержку, может они что посоветуют.

...

test_post_pb9.rar

Попробовал с нуля создать пост в PB9. Попробуйте его. Он вроде по лучше выдает. Проблема с планаром и заданным осью инструмента по нормали к первой грани осталась

Изменено пользователем avd

Поделиться сообщением


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

Если можно то поправьте М41 через постбилдер. Я хачу понять что я делал не так. Буду очень признателен.

Попробуйте снова

MAF.rar

Изменено пользователем Digbus

Поделиться сообщением


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

 

Vicebear
 
 

Если можно то поправьте М41 через постбилдер. Я хачу понять что я делал не так. Буду очень признателен.

 

Пишет, что нет такого вложенного файла. Может вам ещё по сроку службы файлы цеплять не положено? Отправьте на vicebear@yandex.ru.

Поделиться сообщением


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

 

Vicebear
 

Если можно то поправьте М41 через постбилдер. Я хачу понять что я делал не так. Буду очень признателен.

Ваш постпроцессор работает, вы просто в самом NX не до конца допрограммировали.

Я чуть позже допишу ваш пост, чтобы без этой галки, автоматом, через пересчёт оборотов, передачи включал.

 

Изменил. Смотрите "Начало траектории" PB_CMD_spindle_range.

1 пользователю понравилось это

Поделиться сообщением


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

Vicebear большущее тебе спасибо.

3 года с NX работаю и все время что то новое узнаю :smile:

Есть у меня пост написанный чисто через TCL там все работало без этого. Поэтому я даже не думал что M41 в NX активируется.

Поделиться сообщением


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

Vicebear большущее тебе спасибо.

3 года с NX работаю и все время что то новое узнаю :smile:

Есть у меня пост написанный чисто через TCL там все работало без этого. Поэтому я даже не думал что M41 в NX активируется.

Так я вам ваш пост изменил. Там уже галку ставить не надо. Вы там посмотрите, я правильно соотношение оборотов к передаче прописал? Ещё я там проверку воткнул, типа если S=0, то будет S=1. Тоже осторожнее, а то забудете обороты прописать и будете сверлить миллиметровым сверлом с S=1об/мин.

P.S. Меня работать в Unigraphics мой начальник учил, и он говорил, что NX можно изучать вечно. Кстати, я себе похожий пост писал для ИР-160 с приделанной к нему недавно российской стойкой, NC-230 по-моему.

Поделиться сообщением


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

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

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

наверно прописывли вручную

 

Поделиться сообщением


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

В постпроцессоре для станка DMU80 MonoBlock нужен вывод команды "M52", если угол поворота оси "B" от -35 до -90 градусов. Сделал через команду пользователя

 
global mom_out_angle_pos
 
    if {$mom_out_angle_pos(1) >=-35 ||$mom_out_angle_pos(1) <=-90 } {
   MOM_output_literal "M52"
   }

 

и добавил в начало траектории каждой операции

 

Но  "М52" выводится всегда. Что я делаю не так?

 

Ещё обратил внимание: если оставить условие if {$mom_out_angle_pos(1) <=-35} ,то в операциях фрезерования условие работает и "М52" выводиться верно, а в операциях сверления не выводится никогда, даже если угол B=-90.

Изменено пользователем Лёлик

Поделиться сообщением


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

Так я вам ваш пост изменил. Там уже галку ставить не надо. Вы там посмотрите, я правильно соотношение оборотов к передаче прописал? Ещё я там проверку воткнул, типа если S=0, то будет S=1. Тоже осторожнее, а то забудете обороты прописать и будете сверлить миллиметровым сверлом с S=1об/мин.

P.S. Меня работать в Unigraphics мой начальник учил, и он говорил, что NX можно изучать вечно. Кстати, я себе похожий пост писал для ИР-160 с приделанной к нему недавно российской стойкой, NC-230 по-моему.

 

 

Я конечно же сразу увидел ваше изменение. Мне кажется есть еще какой то способ через их интерфейс, там где у них обороты прописываются. Но ваш способ тоже очень хорошо работает. Еще раз большое спасибо.

 

Поделиться сообщением


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

В постпроцессоре для станка DMU80 MonoBlock нужен вывод команды "M52", если угол поворота оси "B" от -35 до -90 градусов. Сделал через команду пользователя

 
global mom_out_angle_pos
 
    if {$mom_out_angle_pos(1) >=-35 ||$mom_out_angle_pos(1) <=-90 } {
   MOM_output_literal "M52"
   }

 

и добавил в начало траектории каждой операции

 

Но  "М52" выводится всегда. Что я делаю не так?

 

Ещё обратил внимание: если оставить условие if {$mom_out_angle_pos(1) <=-35} ,то в операциях фрезерования условие работает и "М52" выводиться верно, а в операциях сверления не выводится никогда, даже если угол B=-90.

В сверлильных не выводится, потому что у вас эти события обрабатываются другими командами. Смотри сверлильные циклы для вывода вашей команды

 

Но  "М52" выводится всегда. Что я делаю не так?

Вы хотите чтобы эта команда была модальной? Если да, что лучше сделать вывод через MOM_do_template с соответствующим блоком и вордами.

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

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

наверно прописывли вручную

Мне кажется надо посмотреть какой это типа инструмента и сделать очередной elseif.

Так как вы сделали будет выводит фрезерный в любом случае, которые не удовлетворяет условию выше.

Хотя если работает, то супер!

Поделиться сообщением


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

В постпроцессоре для станка DMU80 MonoBlock нужен вывод команды "M52", если угол поворота оси "B" от -35 до -90 градусов. Сделал через команду пользователя

 
global mom_out_angle_pos
 
    if {$mom_out_angle_pos(1) >=-35 ||$mom_out_angle_pos(1) <=-90 } {
   MOM_output_literal "M52"
   }

Я бы вместо || поставил &&.

И ещё >= и <= проверил бы.

Поделиться сообщением


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

Спасибо всем за ответы!

 

Вы хотите чтобы эта команда была модельной? Если да, что лучше сделать вывод через MOM_do_template с соответствующим блоком и вордами.

 

Я хочу, чтобы эта команда выводилась  при условии если ось "B"  больше меньше -35 градусов в каждой операции. 

Во фрезерных операциях выводит нормально. Я вставил эту команду в начало операции, первое перемещение, начальное перемещение.

Как побороть операции сверления? MOM_do_template вместо MOM_output_literal  поможет?

 

Я бы вместо || поставил &&. И ещё >= и <= проверил бы.

 

Я пробовал разные варианты. Остановился на варианте  if {$mom_out_angle_pos(1) <=-35} {. Пока работает только на фрезерных операциях.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Я бы вместо || поставил &&. И ещё >= и <= проверил бы.

 

Я пробовал разные варианты. Остановился на варианте  if {$mom_out_angle_pos(1) <=-35} {. Пока работает только на фрезерных операциях.

 

Вот и я про это. У вас посте №55 было прописано: если угол больше или равен -35 ИЛИ(||) меньше или равно -90. Я просто не озвучил, а попытался на ошибку указать. Я бы написал:

global mom_out_angle_pos
 
    if {$mom_out_angle_pos(1) <=-35 && $mom_out_angle_pos(1) >=-90 } {
   MOM_output_literal "M52"
   }
А если хотите через MOM_do_template, то создайте либо свою М или возьмите какую-либо ненужную из вашего поста. Сделайте её модальной и выводите в своей PB_CMD в начале всех перемещений и циклов. Хотя, я бы впихнул в эту команду флаг и дополнительную проверку, и выводил бы всё-таки через MOM_output_literal. Кстати, а что это за странная М52 и именно в промежутке -35 - -90? Что-то как-то не могу геометрию станка в голове прикинуть.
1 пользователю понравилось это

Поделиться сообщением


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

 

Я бы вместо || поставил &&. И ещё >= и <= проверил бы.

 

Я пробовал разные варианты. Остановился на варианте  if {$mom_out_angle_pos(1) <=-35} {. Пока работает только на фрезерных операциях.

 

Вот и я про это. У вас посте №55 было прописано: если угол больше или равен -35 ИЛИ(||) меньше или равно -90. Я просто не озвучил, а попытался на ошибку указать. Я бы написал:

global mom_out_angle_pos
 
    if {$mom_out_angle_pos(1) <=-35 && $mom_out_angle_pos(1) >=-90 } {
   MOM_output_literal "M52"
   }
А если хотите через MOM_do_template, то создайте либо свою М или возьмите какую-либо ненужную из вашего поста. Сделайте её модальной и выводите в своей PB_CMD в начале всех перемещений и циклов. Хотя, я бы впихнул в эту команду флаг и дополнительную проверку, и выводил бы всё-таки через MOM_output_literal. Кстати, а что это за странная М52 и именно в промежутке -35 - -90? Что-то как-то не могу геометрию станка в голове прикинуть.

 

Огромное спасибо за разъяснения. На самом деле всё просто, просто я путано спрашиваю. В деле написания постов я новичок, не судите строго. 

Кинематика станка : Голова - стол. DMU80 MonoBlock. Лимиты по "В" от 0 до -90. Команда М52 нужна для того, чтобы станок повернул голову "В" на угол меньше -35 градусов. Ограничение до -90 я ставил от незнания, оно здесь не обязательно. 

Ещё раз спасибо за совет. Буду пробовать.

Поделиться сообщением


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

 

Вы хотите чтобы эта команда была модельной? Если да, что лучше сделать вывод через MOM_do_template с соответствующим блоком и вордами.

 

Я хочу, чтобы эта команда выводилась  при условии если ось "B"  больше меньше -35 градусов в каждой операции. 

Во фрезерных операциях выводит нормально. Я вставил эту команду в начало операции, первое перемещение, начальное перемещение.

Как побороть операции сверления? MOM_do_template вместо MOM_output_literal  поможет?

 

 

0_1195b0_cf7757a8_L.png

Поделиться сообщением


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

беда с постом.нужна такая строчка G90 G10 L12 P23  R25.  перед сменой интрумента.

 P=номер инта  R=радиус инста

всё делает пост хорошо кроме радиуса..выводит непонятные значения.файли в прицепе

делается в pb_cmd_tool_name

 

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

 

со всеми последующими инструментами всё отлично

Поделиться сообщением


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

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

post-43426-0-66890300-1403104658_thumb.png

Поделиться сообщением


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

пАмАгитИ, спасиТИ - срочно нужен пост!!!!! Вы же тут все добры - все все знаИТИ, у фсех фсе есть!!!! Пост нужен простенький - на станочек токано-фрезерненький, и всего лишь двухканальненький - ну ... скажем на СТХ2000 со стоечкой 840Д, ну или Mazak Integrex 200 ST со стоечкой Mazatrol Matrix. Срочно жду здесь пост!!! Если никто не ответит - убьюсь об стенку!!!! (вот приблизительно для чего была создана ветка по мнению многих...)

Поделиться сообщением


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

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

Возможно. У меня на прошлой работе постпроцессор, который мой начальник написал, выводил именно так. Как именно у него там всё было прописано, я не смотрел, но думаю надо посмотреть в выводе цикла режимы force output, optional. Я бы для начала убрал с них force output, если он там есть.

Поделиться сообщением


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

Здравствуйте.


Подскажите пожалуйста, какая МОМ переменная отвечает в токарном инструменте за регистр настройки (Резец токарный – трассировка - регистр настройки).


Поделиться сообщением


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

 

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

Возможно. У меня на прошлой работе постпроцессор, который мой начальник написал, выводил именно так. Как именно у него там всё было прописано, я не смотрел, но думаю надо посмотреть в выводе цикла режимы force output, optional. Я бы для начала убрал с них force output, если он там есть.

 

 

Все имеющиеся у меня ПП пересмотрел и не нашел нигде упоминания о force output, optional

Эта переменная должна находится во встроенных циклах в общих параметрах? Или это не имеет значения?

 

Поделиться сообщением


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

 

Все имеющиеся у меня ПП пересмотрел и не нашел нигде упоминания о force output, optional

Эта переменная должна находится во встроенных циклах в общих параметрах? Или это не имеет значения?

 

Force output это Обязательный вывод. Правой кнопкой мыши вызывается. Попробуйте, может поможет.

Поделиться сообщением


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

 

 

Все имеющиеся у меня ПП пересмотрел и не нашел нигде упоминания о force output, optional

Эта переменная должна находится во встроенных циклах в общих параметрах? Или это не имеет значения?

 

Force output это Обязательный вывод. Правой кнопкой мыши вызывается. Попробуйте, может поможет.

 

А разве дополнительный вывод поможет убрать из цыкла все ненужное?

Дело в том что при изменении высоты отвода в NX, любой из виденных мной ПП прерывает цыкл выводя G80, делает нужный мне отвод через G0 и начинает новый цыкл через G81. То есть в место одного G81 получается еще один только из за того что изменилась высота отскока.

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

post-43426-0-66890300-1403104658_thumb.png

 

 

Поделиться сообщением


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

А разве дополнительный вывод поможет убрать из цыкла все ненужное?

 

 

Дело в том что при изменении высоты отвода в NX, любой из виденных мной ПП прерывает цыкл выводя G80, делает нужный мне отвод через G0 и начинает новый цыкл через G81. То есть в место одного G81 получается еще один только из за того что изменилась высота отскока.

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

 

Грубо говоря, постпроцессор переделывает файл *.cls. Вы в операции сверления запрограммировали дополнительное перемещение, вот NX вам его и выводит (посмотрите у себя cls этой операции). Чтобы пост это перемещение совсем не выводил, нужно писать свою процедуру обработки этого события. Вам нужно чтобы все основные данные цикла, такие как подача, глубина и шаг, прописывались только в одной строке и нигде больше. Если вы снимете флаг "Обязательный вывод" с параметров цикла, то, по идее, должны получить примерно следующее:

N10 G81 X0 Y0 R2 F40 K50

N20 X10 Y10

N30 G80

N40 G0 Z100

N50 X20 Y20

N60 G81 K100

N70 G80

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

Поделиться сообщением


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

 

Грубо говоря, постпроцессор переделывает файл *.cls. Вы в операции сверления запрограммировали дополнительное перемещение, вот NX вам его и выводит (посмотрите у себя cls этой операции). Чтобы пост это перемещение совсем не выводил, нужно писать свою процедуру обработки этого события. Вам нужно чтобы все основные данные цикла, такие как подача, глубина и шаг, прописывались только в одной строке и нигде больше. Если вы снимете флаг "Обязательный вывод" с параметров цикла, то, по идее, должны получить примерно следующее:

N10 G81 X0 Y0 R2 F40 K50

N20 X10 Y10

N30 G80

N40 G0 Z100

N50 X20 Y20

N60 G81 K100

N70 G80

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

 

 

Все ясно.

Спасибо за разъяснения.

 

Поделиться сообщением


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

беда с постом.нужна такая строчка G90 G10 L12 P23  R25.  перед сменой интрумента.

 P=номер инта  R=радиус инста

всё делает пост хорошо кроме радиуса..выводит непонятные значения.файли в прицепе

делается в pb_cmd_tool_name

 

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

 

со всеми последующими инструментами всё отлично

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

Поделиться сообщением


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

я тоже понял что это из-за списка инструмента.

Поделиться сообщением


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

 

Здравствуйте.

Подскажите пожалуйста, какая МОМ переменная отвечает в токарном инструменте за регистр настройки (Резец токарный – трассировка - регистр настройки).

 

Попробуйте mom_tool_left_adjust_reg и mom_tool_right_adjust_reg. Для уточнения нужна версия NX

Поделиться сообщением


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

я тоже понял что это из-за списка инструмента.

Сделал я костыль для этого случая, но мне кажется он может и проще решаться (типа какой нибудь перезагрузкой). Но я пока другого варианта не нашел

Haas_3Axis_WTL.rar

Поделиться сообщением


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

Я всё ещё не поборол вывод M52.

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

global mom_out_angle_pos


    if {$mom_out_angle_pos(1) <=-35 && $mom_out_angle_pos(1) <=-90} {
     MOM_do_template M52
}
   if {$mom_out_angle_pos(1) >=35 && $mom_out_angle_pos(1) <=90} {
    MOM_do_template M52

   }

в этом варианте М52 не выводится если угол "В" = 0 (это верно), и когда "В" <-35 (это правильно).  Но выводится и если  "B" >-35 (это неверно). 

Почему так? Где логика? 

Изменено пользователем Лёлик

Поделиться сообщением


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

Я всё ещё не поборол вывод M52.

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

global mom_out_angle_pos


    if {$mom_out_angle_pos(1) >=-35 && $mom_out_angle_pos(1) <=-90} {
     MOM_do_template M52
}
   if {$mom_out_angle_pos(1) >=35 && $mom_out_angle_pos(1) <=90} {
    MOM_do_template M52

   }

Я бы так сделал, чтобы проверять диапазоны углов от 35 до 90 град и от -35 до -90 град

Поделиться сообщением


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

 

я тоже понял что это из-за списка инструмента.

Сделал я костыль для этого случая, но мне кажется он может и проще решаться (типа какой нибудь перезагрузкой). Но я пока другого варианта не нашел

 

 

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

Поделиться сообщением


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

Подскажите, пожалуйста, почему может не выводится в УП коррекция на радиус инструмента. В операции коррекция указана, в посте в линейных перемещениях G41 D01 стоит.

Поделиться сообщением


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

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!


Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.


Войти сейчас

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

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



  • Реклама

  • Сообщения

    • Yasik
      Вот видос там запускает цикл и больше ничего не жмёт. А мне приходится на каждой строчке цикла тыкать на цикл старт.
    • Горыныч
      Вы про покупательскую способность расскажите южнокорейцам или немцам, или японцам, т.е. странам с наибольшей концентрацией роботов на душу населения. Это раз. Два, Вы ковровую автоматизацию в масштабах страны наметили? Вы - будущее "наше всё"? Если нет, то это верный путь к благополучию отдельного предприятия, точно говорю. Касаемо специализации, Г.Форд более века назад конвеер придумал - это для массовки.  Для единички, китайцы, например, с успехом пользуют ее в виде специализации по кооперации,и, например, прессформу выдают на первое испытание за 4 недели.   И последнее, говорить о повышении производительности труда вобще, только мозоли на языке натирать. Решать нужно конкретную технологическую задачу.
    • URAn
        Если у вас щуп расположен в оси Z то видимо работать и не должно. 
    • karachun
      Перейти на сдельную оплату труда? В моем городе, на одном крупном заводе, сдельщики считались очень состоятельными людьми. До падения доллара по накупали себе иномарок в кредит, теперь на них после работы таксуют. В тему производительности   Военная часть ?... Курилка. Сидят 4 лейтенанта. Один предлагает идти к командиру части проситься в отпуск. Встали пошли. Заходит к командиру первый: 
          - Товарищи полковник, лейтенант Пупкин. Разрешите в отпуск. 
          - Да ты че! В отпуск, говоришь? Давай рацпредложение (рационализаторское предложение) - пойдешь в отпуск! 
          - Легко! Вон у Вас под окном солдат траву косит. Че он косой в одну сторону машет? Давайте ему вторую косу привяжем, пусть косит налево и направо! 
          - Молодец! В отпуск! 
          Заходит второй: 
          ... 
          - Давай рацпредложение... 
          - Легко! Вон у Вас под окном солдат траву косит. Че он косой туда-сюда машет? Давайте ему к косе привяжем вилы, пусть сразу в кучки складывает! 
          - Молодец! В отпуск! 
          Заходит третий: 
          ... 
          - Давай рацпредложение... 
          - Легко! Вон у Вас под окном солдат траву косит. Че он косой туда-сюда машет, траву в кучки складывает? Давайте к нему привяжем тележку, пусть сразу и отвозит! 
          - Молодец! В отпуск! 
          Заходит четвертый: 
          ... 
          - Давай рацпредложение... 
          - Не знаю. 
          - Ну-у-у-у... Так иди думай. Придумаешь приходи! 
          Выходит лейтенант на крыльцо, закуривает нервно, стоит "репу морщит". И тут подходит к нему этот солдат. С этой хреновиной в руках с привязанной тележкой, весь потный, обессиленный. И злобно так, спрашивает у лейтенанта: 
          - Чё, товарищ лейтенант, в отпуск хотите?! 
          - Да-а... 
          - Б...ь, рацпредложение не можете придумать?! 
          - Да-а... 
          - Б...ь, ФАРУ МНЕ НА ЛОБ!!! ФАРУ!!! ЧТОБЫ НОЧЬЮ КОСИЛ!!! Hide    
    • Rodriguezz
      Обычно не идем, а к станку идет умная женщина. С секундомером. При ее присутствии рабочий может и две три нормы выдать, особенно молодой и с перепугу. И брака наделать тоже может. Рабочий со стажем обычно работает даже медленнее обычного. Так как есть квалификация, опыт, заслуги.            И еще, я ведь не прошу советов. Мы тут обсуждаем как поднять ее, родимую. ПРОИЗВОДИТЕЛЬНОСТЬ. 1. Автоматизация. 2. Я бы добавил специализацию. Ну вот просто личный опыт. Разделили заказы на операции, появилась серийность и возможность автоматизировать труд как таковой вообще.          И потом, есть вот производства серийные, крупносерийные, небольшими партиями и единичные. Не везде наладчик, УП и оператор. Бывает оператор-наладчик, токарь-универсал.
    • psix1488
      Со слов нашего IT. Сервер который поставили у нас не предназначен для этого) . Тем более если требуется расчёт при помощи видеокарты. Поэтому использую машину возле станка.
    • grOOmi
      Идём с секундомером к станку и смотрим на что тратится время. Сначала там, ибо станочное время это самая большая статья. 1. Сколько времени тратит наладчик на установку оснастки? Можно ли это время сократить? 2. Сколько времени тратит на установку и привязку инструмента? 3. Как и сколько отрабатывает УП на первую деталь? 4... не зная конкретики вашего производства давать советы напрасный труд. Можно сделать анализ, вашего производства и выдать рекомендации с конкретными мерами по сокращению издержек.
    • Rodriguezz
      Вот сразу видно бывалого! Автоматизация - согласен. Но вот только СПЛОШНАЯ автоматизация ведет в конечном итоге к тому, что продукцию будут покупать роботы. В автоматическом режиме. Все, кто смотрел на РБК мегазаводы, знают, что там роботов больше людей в разы. В итоге покупательная способность населения снижается, единственный способ что-то выкружить - это экспортировать продукцию в другую страну, где есть заводы, а роботов нет. Причем по демпинговым ценам, чтобы уничтожить заводы конкурентов пока они роботов не купили.
    • Горыныч
      Чем более уровень автоматизации, тем больше производительность. Т.е. меры чисты организационные. Кнут и пряник работают лишь накоротке.
    • Viktor2004
      Не видел пока циклов для руки привязки. Там ведь для проходного резца нужно с одной стороны квадрата касаться, а для расточного резца с другой стороны. Циклы все это учитывают?