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

Токарный пост с циклами G71, G70


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

Здравствуйте. Есть ли у кого-нибудь постпроцессор для токарного станка (стойка fanuc0i) , который бы выводил УП с циклами G70, G71, G72? Либо видео как в post builder прописываются эти циклы. Заранее спасибо.

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


Коллеги, доброго времени суток. Хотелось бы узнать есть ли возможность в NX вывести УП на токарную черновую обработку через цикл G71 (а также G72) для fanuc или только через единичные перемещения? Спасибо.

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

Посмотрите в качестве примера Program Files\Siemens\NX\POSTBUILD\pblib\controller\lathe файлы fanuc.pui и fanuc_system_A.pui. Но надо их до ума доводить.

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

Посмотрите в качестве примера Program Files\Siemens\NX\POSTBUILD\pblib\controller\lathe файлы fanuc.pui и fanuc_system_A.pui. Но надо их до ума доводить.

Посмотрел. Результат тот же, не генерит. 

 

 

Неужели никто не знает?

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

@Seryinx какой версии? Выбрали в настройках траектории "вывод в циклах"? 

NX 11.

Вывод в циклах не выбирал.

Где это задаётся?

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

Управление станком - Вывод перемещения - Цикл станка.

А вообще, вы не знаете элементарных вещей, при этом какие-то претензии.

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

Всем добрый день! Есть поспроцессор с циклами G72, G71 Fanuc, контур выводит, но нумерация внутри тела цикла почему-то ставится на отдельных строчках, но стойка на такой код ругается, надо чтобы номер кадра был в одной строке с координатами. В tcl я новичек. Пост брал на основе стокового NX12.02; пост от sim12_turn_2ax. Почему  Mom_seq_num_on и off вставляет номера в пустые строки? 


G00 X207.483 Z20.
Z23.5
G72 W0.5 R0.5
G72 P1 Q2 U0.4 W0.1 F0.2
N1  
G01 X198.4 Z0.0
X100.
Z2.2
N2  
G00 X95.2 Z23.5
X207.483

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

Всем добрый день! Есть поспроцессор с циклами G72, G71 Fanuc, контур выводит, но нумерация внутри тела цикла почему-то ставится на отдельных строчках, но стойка на такой код ругается, надо чтобы номер кадра был в одной строке с координатами. В tcl я новичек. Пост брал на основе стокового NX12.02; пост от sim12_turn_2ax. Почему  Mom_seq_num_on и off вставляет номера в пустые строки? 


G00 X207.483 Z20.
Z23.5
G72 W0.5 R0.5
G72 P1 Q2 U0.4 W0.1 F0.2
N1  
G01 X198.4 Z0.0
X100.
Z2.2
N2  
G00 X95.2 Z23.5
X207.483

Здравствуйте! Была такая проблема. Станок у вас ругается только на пустой номер в конце цикла (N2). На пустой N1 не будет ругаться. На сколько я понял, как устроен этот шаблон, контур собирается в отдельном файле и вставляется между этими двумя номерами.  Решается эта проблема довольно просто. Пропишите как на картинках, будет дублировать последние координаты в N2 и выглядеть вот так:

 

%;
O0000(obrabotka_160-01-022_v12);
(MACHINE**STMSI-TK36S);
(-----------TOOL**LIST-----------);
(T0101***PROH-R0-8** R*0.800);
(---------END**TOOL**LIST--------);
G53 X0. Z0.;
N1 T0101 (INSTR*PROH-R0-8**OPER*CHERN-1);
G54;
G97 S900 M03;
M08;
G00 X30. Z3.5;
X28.043;
X30.;
G99;
G71 U1. R1. (ROUGH*TURN*CYCLE);
G71 P2 Q3 U.4 W.05 F.12;
N2 (CONTOUR**START);
G01 X11.431 Z-.234;
X15.9 Z-2.469;
Z-44.8;
G02 X16.3 Z-45. R.2;
G01 X28.363;
X29.531 Z-45.584;
N3 G01 X29.531 Z-45.584 (CONTOUR**END);
G00 X30. Z3.5;
M05;
M09;
G53 X0. Z0.;
M30;
%;

Работает на станке 100%.

 

Я смотрю, вы уже поправили вывод G72. Стандартный пост в первой строке  вместо G72 W R выводит G72 U R (что не правильно). 

И еще проверьте вывод G71 для внутренней расточки. Припуск U должен выводиться со знаком "-". Стандартный пост выводил всегда положительный, пришлось допиливать.

Опять же, все описанное выше для постпроцессора из post builder. Как там в пост конфигураторе хз.  

111.jpg

222.jpg

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

Здравствуйте! Была такая проблема. Станок у вас ругается только на пустой номер в конце цикла (N2). На пустой N1 не будет ругаться. На сколько я понял, как устроен этот шаблон, контур собирается в отдельном файле и вставляется между этими двумя номерами.  Решается эта проблема довольно просто. Пропишите как на картинках, будет дублировать последние координаты в N2 и выглядеть вот так:

 

%;
O0000(obrabotka_160-01-022_v12);
(MACHINE**STMSI-TK36S);
(-----------TOOL**LIST-----------);
(T0101***PROH-R0-8** R*0.800);
(---------END**TOOL**LIST--------);
G53 X0. Z0.;
N1 T0101 (INSTR*PROH-R0-8**OPER*CHERN-1);
G54;
G97 S900 M03;
M08;
G00 X30. Z3.5;
X28.043;
X30.;
G99;
G71 U1. R1. (ROUGH*TURN*CYCLE);
G71 P2 Q3 U.4 W.05 F.12;
N2 (CONTOUR**START);
G01 X11.431 Z-.234;
X15.9 Z-2.469;
Z-44.8;
G02 X16.3 Z-45. R.2;
G01 X28.363;
X29.531 Z-45.584;
N3 G01 X29.531 Z-45.584 (CONTOUR**END);
G00 X30. Z3.5;
M05;
M09;
G53 X0. Z0.;
M30;
%;

Работает на станке 100%.

 

Я смотрю, вы уже поправили вывод G72. Стандартный пост в первой строке  вместо G72 W R выводит G72 U R (что не правильно). 

И еще проверьте вывод G71 для внутренней расточки. Припуск U должен выводиться со знаком "-". Стандартный пост выводил всегда положительный, пришлось допиливать.

Опять же, все описанное выше для постпроцессора из post builder. Как там в пост конфигураторе хз.  

111.jpg

222.jpg

Да, U для расточек поправил, меняю знак в зависимости от ориентации держателя, там какая то функция была как раз где припуски для цикла расчитываются, я там сделал сразу проверку на расточку (в свое время когда начинал, по невнимательности несколько деталей запороли, неприятное.....), W и U тоже поправил, тут проще. На счет номеров, способ с дублированием не особо нравится, ибо наладчики все равно станут руками исправлять если я так отдам, чтобы было в одну строку, ну и на меня ругаться мастеру параллельно. На счет контура, я пытался выцепить отдельно первую и последнюю строки контура, но не прокатило, почему то все равно номера отдально вписываются, я хз. Попробую сделать как вы сказали. У меня тогда еще вопрос, помимо номеров в этих контурах куча косяков, например, в первом кадре станок (leadwell) ругается на одновременное перемещение по 2м координатам, поэтому приходилось вручную переносить Х на другую строку, а в этой Z оставлять, может тоже знаете как исправить? Потом еще в торцовках Z перед строками G72 предпочтительно чтобы была такая же как и в самом конце, те в той же с строке где и N2. Далее на G71 перед шапкой цикла не выводятся начальные точки, откуда цикл стартует, хотя в nx они желтым подсвечены как врезание (т.е точки по факту есть, но эта штука, которая контура формирует для цикла их пропускает). Может знаете как это поменять? 

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

Да, U для расточек поправил, меняю знак в зависимости от ориентации держателя, там какая то функция была как раз где припуски для цикла расчитываются, я там сделал сразу проверку на расточку (в свое время когда начинал, по невнимательности несколько деталей запороли, неприятное.....), W и U тоже поправил, тут проще. На счет номеров, способ с дублированием не особо нравится, ибо наладчики все равно станут руками исправлять если я так отдам, чтобы было в одну строку, ну и на меня ругаться мастеру параллельно. На счет контура, я пытался выцепить отдельно первую и последнюю строки контура, но не прокатило, почему то все равно номера отдально вписываются, я хз. Попробую сделать как вы сказали. У меня тогда еще вопрос, помимо номеров в этих контурах куча косяков, например, в первом кадре станок (leadwell) ругается на одновременное перемещение по 2м координатам, поэтому приходилось вручную переносить Х на другую строку, а в этой Z оставлять, может тоже знаете как исправить? Потом еще в торцовках Z перед строками G72 предпочтительно чтобы была такая же как и в самом конце, те в той же с строке где и N2. Далее на G71 перед шапкой цикла не выводятся начальные точки, откуда цикл стартует, хотя в nx они желтым подсвечены как врезание (т.е точки по факту есть, но эта штука, которая контура формирует для цикла их пропускает). Может знаете как это поменять? 

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

По поводу наладчиков и операторов... Мне тут на работе операторы пытались предъявить как-то почему есть лишние координаты (например врезание, сам рез и т.п.). Были благополучно посланы лесом. Если программа рабочая, детали годные и не устраивает пару кадров лишних, пусть пишут ручками сами и мозг не мучают никому. Смысл в том, чтобы настроить пост так, чтобы в случае чего поправить проект, вывести уп и не заглядывать туда и не править ничего ручками от слова совсем. А сколько там кадров, 10 или 15 вообще пофиг, если все работает.

Код который как пример вывел выше абсолютно рабочий и было сделано не мало деталей по нему. Есть в начале по G0 небольшое лишнее движение. Это связано с разницей координат XZ начальной точки цикла (которую я сам задаю) и первой координатой реза, куда резец выходит при расчете чернового точения. Это движение в воздухе и совсем не заметное. Поэтому забил на этот момент. Хотя может в будущем и поправлю.

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

Что сейчас выводит (сделал в посте по максимуму что смог, если нужно, могу исходники скинуть в личку).

(CHERN_TOREC)
 
T0101
(INSTR: CHERN_NARUZH_ROMB_ R=0.8)
G54
G50 S1500
G96 S150 M03
M01
G0 Z200.0
 
Z10.0 M8
G00 X207.483 Z20.
Z23.5
G72 W0.5 R0.5
G72 P1 Q2 U0.4 W0.1 F0.2
N1  
G01 X198.4 Z0.0
X100.
Z2.2
N2  
G00 X95.2 Z23.5
X207.483
G0 Z500.0 M9
M5
M1
 
(CHERN_NARUZH_DIAM)
 
T0101
(INSTR: CHERN_NARUZH_ROMB_ R=0.8)
G54
G50 S1500
G96 S150 M03
G0 Z200.0
 
Z10.0 M8
G00 X199. Z23.5
Z23.842
G71 U0.5 R0.5
G71 P3 Q4 U0.4 W0.1 F0.2
N3  
G01 X129.894 Z.1
Z-.036
G03 X132.849 Z-.3 I-1.6 K-8.764
G01 X165.849 Z-4.721
G03 X170. Z-7.426 I-1.449 K-2.705
G01 Z-12.8
X200.
N4  
G00 X130.131 Z23.842
X199.
G0 Z500.0 M9
M5
M1

 

 

Что хотелось бы видеть в итоге

(CHERN_TOREC)
 
T0101
(INSTR: CHERN_NARUZH_ROMB_ R=0.8)
G54
G50 S1500
G96 S150 M03
M01
G0 Z200.0
X207.483
Z10.0 M8
Z2.2
G72 W0.5 R0.5
G72 P1 Q2 U0.4 W0.1 F0.2
N1 G01 Z0.0 
X100.
N2 Z2.2
G0 Z500.0 M9
M5
M1
 
(CHERN_NARUZH_DIAM)
 
T0101
(INSTR: CHERN_NARUZH_ROMB_ R=0.8)
G54
G50 S1500
G96 S150 M03
G0 Z200.0
X200. (X199. была + 0.5*2) Тут тоже, начальная координата цикла почему то берется уже с вычтеным первым проходом
Z10.0 M8
Z2.0 (начальная точка врезания цикла, ее не выводит пост в стоке)
G71 U0.5 R0.5
G71 P3 Q4 U0.4 W0.1 F0.2
N3 G01 X129.894 
Z-.036
G03 X132.849 Z-.3 I-1.6 K-8.764
G01 X165.849 Z-4.721
G03 X170. Z-7.426 I-1.449 K-2.705
G01 Z-12.8
N4 X200.
G0 Z500.0 M9
M5
M1

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

Добрый день! Пишу цикл резьбы G76 для фанука, нашел в файле дебага переменную кол-ва проходов на чистовой обработке mom_total_depth_finish_passes_number_of_passes, точнее это массив из 100 элементов:

Var: mom_total_depth_finish_passes_number_of_passes[0] = 2
Var: mom_total_depth_finish_passes_number_of_passes[1] = 0

и т.д.

хотел получить первое значение:

set p11 [format "%02d" $mom_total_depth_finish_passes_number_of_passes(0)]

но потсбилдер не дает сохранить код и пишет ошибку "can't read $mom_total_depth_finish_passes_number_of_passes(0) variable is not array". А если уберу индекс, то при постпроцессировании сименс пишет что это именно массив, как так?

В интернете погуглил, решения не нашел. Помогите, пожалуйста, как это выражение написать правильно)

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

Var: mom_total_depth_finish_passes_number_of_passes[0] = 2

Формат скобок проверьте

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

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

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

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

Вы бы хоть текст выложили. Откуда ж я знаю? Телепатов тут нет

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

global mom_turn_thread_pitch_lead
#F shag = podacha
global mom_minimum_clearance
# R - othod
global mom_total_depth_finish_passes_number_of_passes
# [0] kolvo chistovyh prohodov
global mom_pos
# [0] - x, [2] - z
global mom_total_depth_finish_passes_increment
# [0] s'em na chistovyh profhodah
global mom_tool_left_angle
# v radianah
global mom_tool_right_angle
# v radianah
global mom_turn_thread_crest_line
global mom_total_depth_constant_increment
# shag Q1
global mom_tool_orientation
# v radianah 1.5 eto 90 - naruzhnya

# set t1 [set $mom_total_depth_finish_passes_number_of_passes(0)]
# upvar 0 ${mom_total_depth_finish_passes_number_of_passes} theAlias
# array set d1 $mom_total_depth_finish_passes_number_of_passes

# set p11 [format "%02d" $t1]
#set p11 [format "%02d" $d1(0)]
# set i0 0
# set i2 2
# set i5 5
# upvar i0 v0
# upvar i2 v2
# upvar i5 v5

# puts $v($mom_total_depth_finish_passes_number_of_passes)
# set p11 [format "%02d" $v0($mom_total_depth_finish_passes_number_of_passes)]
# set p11 [format "%02d" $mom_total_depth_finish_passes_number_of_passes{0}]

set tl_orient [format "%02d" [get_deg $mom_tool_orientation]]
set p11 "02"
set p12 "00"
set p13 [format "%02d" [expr [get_deg $mom_tool_left_angle]*2]]
set p1 "$p11$p12$p13"
set q1 [format "%2.0f" [expr int($mom_total_depth_constant_increment*1000)]]
# set r1 [format "%3.3f" [expr $mom_total_depth_finish_passes_number_of_passes*$mom_total_depth_finish_passes_increment]]
set r1 "0.2"
set p2 [format "%d" [expr int($mom_turn_thread_pitch_lead*524)]]


set q2 [format "%d" [expr int($mom_total_depth_constant_increment*1500)]]
set f2 [format "%3.3f" $mom_turn_thread_pitch_lead]


set z_st1 [format "%3.3f" $mom_pos(2)]

if {$tl_orient == 90} {
    set x_st [format "%3.3f" [expr $mom_turn_thread_crest_line(0)*2+1]]
    set z_st [format "%3.3f" $mom_turn_thread_crest_line(2)]
    set z2 [format "%3.3f" $mom_turn_thread_crest_line(5)]
    set x2 [format "%3.3f" [expr $mom_turn_thread_crest_line(0)*2-$mom_turn_thread_pitch_lead]]
} else {
    set x_st [format "%3.3f" [expr $mom_turn_thread_crest_line(0)*2-1]]
    set z_st [format "%3.3f" $mom_turn_thread_crest_line(5)]
    set z2 [format "%3.3f" $mom_turn_thread_crest_line(2)]
    set x2 [format "%3.3f" [expr $mom_turn_thread_crest_line(0)*2+$mom_turn_thread_pitch_lead]]
}
MOM_output_literal "X$x_st"
MOM_output_literal "Z$z_st1"
MOM_output_literal "Z$z_st M8"
MOM_output_literal "G76 P$p1 Q$q1 R$r1"
MOM_output_literal "G76 X$x2 Z$z2 P$p2 Q$q2 F$f2"

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

@leoprogr Никаких проблем с сохранением не заметил. Кстати, это массив из 100 элементов. Синтаксически должно быть так, например:

set r1 [format "%3.3f" [expr $mom_total_depth_finish_passes_number_of_passes(0)*$mom_total_depth_finish_passes_increment(0)]]

 

 

Ссылка на сообщение
Поделиться на других сайтах
07.01.2024 в 18:49, vanek77777 сказал:

Здравствуйте! Была такая проблема. Станок у вас ругается только на пустой номер в конце цикла (N2). На пустой N1 не будет ругаться. На сколько я понял, как устроен этот шаблон, контур собирается в отдельном файле и вставляется между этими двумя номерами.  Решается эта проблема довольно просто. Пропишите как на картинках, будет дублировать последние координаты в N2 и выглядеть вот так:

 

%;
O0000(obrabotka_160-01-022_v12);
(MACHINE**STMSI-TK36S);
(-----------TOOL**LIST-----------);
(T0101***PROH-R0-8** R*0.800);
(---------END**TOOL**LIST--------);
G53 X0. Z0.;
N1 T0101 (INSTR*PROH-R0-8**OPER*CHERN-1);
G54;
G97 S900 M03;
M08;
G00 X30. Z3.5;
X28.043;
X30.;
G99;
G71 U1. R1. (ROUGH*TURN*CYCLE);
G71 P2 Q3 U.4 W.05 F.12;
N2 (CONTOUR**START);
G01 X11.431 Z-.234;
X15.9 Z-2.469;
Z-44.8;
G02 X16.3 Z-45. R.2;
G01 X28.363;
X29.531 Z-45.584;
N3 G01 X29.531 Z-45.584 (CONTOUR**END);
G00 X30. Z3.5;
M05;
M09;
G53 X0. Z0.;
M30;
%;

Работает на станке 100%.

 

Я смотрю, вы уже поправили вывод G72. Стандартный пост в первой строке  вместо G72 W R выводит G72 U R (что не правильно). 

И еще проверьте вывод G71 для внутренней расточки. Припуск U должен выводиться со знаком "-". Стандартный пост выводил всегда положительный, пришлось допиливать.

Опять же, все описанное выше для постпроцессора из post builder. Как там в пост конфигураторе хз.  

111.jpg

222.jpg

Может кому-нибудь пригодится, чтобы Nки были в одной строке с координатами, надо просто в этом цикле изменить начальный и конечный индексы, начальный был 0, надо сделать 1, конечный сделать -2, вместо -1. Это нужно из-за этого, что в списке координат контура, первая и последняя строки ПУСТЫЕ. Всем спасибо. 

 

N6nvYh7VNFc.jpg?size=1729x833&quality=96

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

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

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

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

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

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

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

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

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

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

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




×
×
  • Создать...