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

FAQ/Unigraphics/POST


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

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

что имеем - круговая интерполяция выводимая постом

%
G40 G17 G90 G71
M05
M09
G91 G28 Z0.0
M01
(=======================)
( HOLE_MILLING )
( FREZA_D8 )
T00 M06
G0 G90 G55 X-49. Y24. S0 M03
G43 Z11. H00
M08
Z3.
(korrektor)
G41 G1 X-50.073 Y19.017 F250. D00
G3 X-39. Y24. I4.416 J4.983
X-39. Y24. Z1.4 I-10.
X-39. Y24. Z-.2 I-10.
X-39. Y24. Z-1.8 I-10.
X-39. Y24. Z-3.4 I-10.
X-39. Y24. Z-5. I-10.
X-39. Y24. Z-6.6 I-10.
X-39. Y24. Z-8.2 I-10.
X-39. Y24. Z-9.8 I-10.
X-39. Y24. Z-11.4 I-10.
X-39. Y24. Z-13. I-10.
X-39. Y24. Z-14.6 I-10.
X-39. Y24. Z-16.2 I-10.
X-39. Y24. Z-17.8 I-10.
X-39. Y24. Z-19.4 I-10.
X-39. Y24. Z-21. I-10.
X-39. Y24. Z-22.6 I-10.
X-39. Y24. Z-24.2 I-10.
X-59. Y24. Z-25. I-10.
I10. J0.0
X-47.927 Y19.017 I6.658 J0.0
G40
G1 X-49. Y24.
G0 Z11.
M05
M09
G28 G91 Z0.0
G28 Y0.0
M30
(PROGRAMM TIME: MINUTES: 5)
%

 

 

нужно следующее:

 

 

 

%
G40 G17 G90 G71
M05
M09
G91 G28 Z0.0
M01
(=======================)
( HOLE_MILLING )
( FREZA_D8 )
T00 M06
G0 G90 G55 X-49. Y24. S0 M03
G43 Z11. H00
M08
Z3.
(korrektor)
G41 G1 X-50.073 Y19.017 F250. D00
G3 X-39. Y24. I4.416 J4.983


X-39. Y24. Z-17.8 I-10. Z-1.6 L18

 

I10. J0.0
X-47.927 Y19.017 I6.658 J0.0
G40
G1 X-49. Y24.
G0 Z11.
M05
M09
G28 G91 Z0.0
G28 Y0.0
M30
(PROGRAMM TIME: MINUTES: 5)
%

 

L - число повторений полных окружностей, ну и еще в нагрузку по теме - как реализовать вывод полной окружности по G13 ?

заранее спасибо

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


10 часов назад, Artas28 сказал:

1) Есть станок 4х осевой, горизонтально фрезерный со стойкой fanuc7m, у меня при отключении коррекции на радиус, G40 , отключается корректор на длину инструмента, т.к. корректор на длину задается не G43H1  а D1.

Собственно вопрос, как можно сделать, что бы после отмены коррекции G40 следующей шла строка G43$tool_numberZ

Я пытался вставить в раздел G40 дополнительную строку, но он ставит её перед кадром с G40 :(

 

2) есть ли команда в постбилдере, что бы просто пропустить кадр?

%

O:0001

             <----- тут должна быть пустая строка, иначе станок не читает программу.

N1.....

 

 

п.с. я задолбался писать и настраивать посты на заводские станки, а большинство тех, которое руководство завода купило у каких то бомжей, просто не работают :D

На станках с ЧПУ Fanuc 7M коррекция на радиус отменяется командой G41(G42)D00. По G40 инструмент сначала пойдет по Z-, даже если в кадре нет Z, т.е. воткнетесь в деталь.

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

Хорошо, тогда как подавить вывод G40 после отключения коррекции? Если ввести строку в поле (управление станокм) ->(отключение кореекции)  D00XD00Y
то получим
N1 D00XD00Y
N2 G40XY

Если в строке catcom_off заменить G40 на D00XD00Y то всё равно выводится G40XY :(  а D00XD00Y почему то не выводится :(((

Как быть? подскажите?

Может быть как то через пользовательские команды можно сделать, если используется G40  то как то подавить  её вывод  и вывести D00XD00Y? Help pls >_<

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

Нашел решение, правда кривое и неграмотное. Удалил  блок catcom_off, в последовательности слов отключил G40 (сделал серым). В управлении станком- отключение коррекции ввел D00XD00Y

получилось так, что был создан новый сблок catcom_off но уже с отключенным выводом G40.

Вывод теперь следующий и опять неграмотный.


N D00XD00Y
N X12345Y12345  <---- здесь раньше было G40, G40 больше не выводится но одинаковая строка выводится(((
N X12354Y12345

Не критично. но не красиво((( если кто то может предложить другой вариант через TCL,  напишите плиз.

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

На станках с ЧПУ Fanuc 7M коррекция на радиус отменяется командой G41(G42)D00. По G40 инструмент сначала пойдет по Z-, даже если в кадре нет Z, т.е. воткнетесь в деталь.

Да что то бред какойто. Это равносильно тому, что после того как забил гвоздь, ввалить молотком во всей дури себе по пальцу. Может проще будит параметр какой нибудь в стойке изменить? Обратитес в тему по стойкам. 

 

на счет пропуска кадра, поставь MOM_output_literal " " .

 

10 часов назад, museok сказал:

круговая интерполяция выводимая постом

 

Посмотри PDM_CMD_init_helix.  set mom_kin_helical_arc_output_mode END_POINT. Так я делал на синумерике. 

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

Да что то бред какойто. Это равносильно тому, что после того как забил гвоздь, ввалить молотком во всей дури себе по пальцу. Может проще будит параметр какой нибудь в стойке изменить? Обратитес в тему по стойкам. 

Это не бред, это Fanuc7. Коррекция и на длину, и на радиус вводится по адресу D.

У вас есть  Fanuc7 - можете поэкспериментировать. Как на нем работает G40, убедился лично еще 35 лет назад.

И параметров у него мизер, это не Fanuc 6М.  

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

При отключении G40 Перестала выводиться G41\G42
 

В блоке с перемещениями, есть вот такая писанина, может здесь можно что то "подкрутить" ? что бы g41\42 выводилась а G40 нет?

 



# This command is to be called in the linear move event to suppress
# G_plane address when the cutcom status has not changed.
# -- Assuming G_cutcom address is modal and G_plane exists in the block
#
#<10-11-09 gsl> - New
#<01-20-11 gsl> - Force out plane code for the 1st linear move when CUTCOM is on
#

  # Restrict this command to be executed only by MOM_linear_move
   if { [string compare "MOM_linear_move" [info level -1] ] } {
return
   }


   global mom_cutcom_status mom_user_prev_cutcom_status

   if { ![info exists mom_cutcom_status] } {
      set mom_cutcom_status UNDEFINED
   }

   if { ![info exists mom_user_prev_cutcom_status] } {
      set mom_user_prev_cutcom_status UNDEFINED
   }


  # Suppress plane code when no change of CUTCOM status
   if { [string match "UNDEFINED" $mom_cutcom_status] ||\
        [string match $mom_user_prev_cutcom_status $mom_cutcom_status] } {

      MOM_suppress once G_plane

   } else {

     # Force out plane code for the 1st CUTCOM activation of an operation,
     # otherwise plane code will only come out when work plane has changed
     # since last activation.
     #

      set force_1st_plane_code  "1"


      if { $force_1st_plane_code } {

        # This var should have been set in PB_first_linear_move
         global mom_sys_first_linear_move

         if { ![info exists mom_sys_first_linear_move] || $mom_sys_first_linear_move } {

            if { [string match "LEFT"  $mom_cutcom_status] ||\
                 [string match "RIGHT" $mom_cutcom_status] ||\
                 [string match "ON"    $mom_cutcom_status] } {

               MOM_force once G_plane
               set mom_sys_first_linear_move 0
            }
         }
      }
   }


   if { ![string match $mom_user_prev_cutcom_status $mom_cutcom_status] } {
      set mom_user_prev_cutcom_status $mom_cutcom_status
   }

 

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

Короче с отменой G40 ничего не получилось,  сделал самым простым способом.
Надо будет потом сходить к оператору проверить, как станок отреагирует на эти писанину. Думаю всё будет работать нормально.

 

13685192.jpg

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

Добрый день ! Стоит такая задача , вывод полной окружности через XYIJ ,а дуги через XY R . Как я понимаю , тут надо прописать обработчик дуги и круга

 

#=============================================================
proc MOM_circular_move { } {
#=============================================================

   global mom_sys_abort_next_event
   if { [info exists mom_sys_abort_next_event] } {
      if { [llength [info commands PB_CMD_kin_abort_event]] } {
         PB_CMD_kin_abort_event
      }
   }


   CIRCLE_SET
   if { [PB_CMD__check_block_circular_move] } {
      MOM_force Once X Y
      MOM_do_template circular_move
   }
}

 

 

 

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

Доброго времени суток! Нужен совет: при составлении поста на токарный с контршпинделем возникли следующий вопрос:

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

 

Работаю в стандартном токарно-фрезерном шаблоне, для главного шпинделя - G54, для контршпинделя - G55.

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

КТО НИБУДЬ ПОМОГИТЕ ПОСТ ПОД СИНУМЕРИК ПЕРЕДЕЛЫВАЕТЬСЯ ПОД СТАНОЧЕК, ВРОДЕ ВСЕ НОРМ , НО G2 И G3  НЕ РАБОТАЮТ ПОМОГИТЕ 

PS. ВСЕ В АРХИВЧИКЕ

ret.cdl

ret.def

ret.pui

ret.tcl

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

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

Подскажите пожалуйста , почему  разворачивается ось  С  1367 PLANE SPATIAL SPA0.0 SPB+0 SPC+180. STAY SEQ+ TABLE ROT 

Если ТOOL 12 выводить отдельно ,то разворота нет

Как заблокировать в посте этот ненужный поворот?

 

1 BEGIN PGM KORPUS KIVSH 731 143 016 MM

3 BLK FORM 0.1 Z X-100 Y-100 Z-50

4 BLK FORM 0.2 X+100 Y+100 Z+30

5 PLANE RESET STAY

6 L A+0 C+0 F5000

7 CYCL DEF 7.0 DATUM SHIFT

8 CYCL DEF 7.1 X+0

9 CYCL DEF 7.2 Y+0

10 CYCL DEF 7.3 Z+0

11 * - F6_2 : D=6.000 R=0.100 L=40.0 FL=30.0

12 TOOL CALL 3 Z S10000 DR+0

13 L Z+0 FMAX M92 M3

14 L A-90. C+180. F5000

15 PLANE SPATIAL SPA-90. SPB+0 SPC+180. STAY SEQ- TABLE ROT

16 M26

17 CYCL DEF 9.0 DWELL TIME

18 CYCL DEF 9.1 WYDWR1

19 L X+15.293 Y-79.799 FMAX

20 L Z+142.7 FMAX

21 L Z+42.7 F3000.

22 L X+16. Y-80.506 RR F700.

23 CC X+16. Y-79.506

24 C X+17. Y-79.506 DR+

.

.

.

1355 L Z+48. FMAX

1356 L Z+0 FMAX M92

1357 M5 M9 M25

1358 PLANE RESET STAY

1359 L A0 C0 F5000

1360 M0

1361 * - CENTR_UDL : D=1.000 L=3.0 FL=3.0

1362 TOOL CALL 12 Z S4000 DR+0

1363 L Z+0 FMAX M92 M3

1364 L X-24.5 Y+11.5 FMAX

1365 L Z+188. FMAX

1366 L A0.0 C+180. F5000

1367 PLANE SPATIAL SPA0.0 SPB+0 SPC+180. STAY SEQ+ TABLE ROT

1368 M26

1369 CYCL DEF 9.0 DWELL TIME

1370 CYCL DEF 9.1 WYDWR1

1371 L X-24.5 Y+11.5 FMAX

1372 L Z+93. FMAX

1373 CYCL DEF 200 DRILLING ~

Q200=+3 ;SET-UP CLEARANCE ~

Q201=-1 ;DEPTH ~

Q206=+150 ;FEED RATE FOR PLNGNG ~

Q202=+1 ;PLUNGING DEPTH ~

Q210=0 ;DWELL TIME AT TOP ~

Q203=+88 ;SURFACE COORDINATE ~

Q204=+3 ;2ND SET-UP CLEARANCE ~

Q211=+0 ;DWELL TIME AT DEPTH

1374 L X-24.5 Y+11.5 Z+88. R0 FMAX

.

.

.

 

забыл! кинематика стол-стол  А -25..120 градусов, С- 0..360 градусов

Ссылка на сообщение
Поделиться на других сайтах
В 05.05.2017 в 15:39, Jobman21 сказал:

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

 

Работаю в стандартном токарно-фрезерном шаблоне, для главного шпинделя - G54, для контршпинделя - G55.

Если определять через G54-55, то читать нужно эту переменную: $mom_fixture_offset_value + 53

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

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

111.prt

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

Если определять через G54-55, то читать нужно эту переменную: $mom_fixture_offset_value + 53

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

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

Вроде задал операцию вдоль по потоку, а у меня комп с ума сходит((.

даа, вот это я понимаю - КРУТОЙ @62Alex33 ! Я тоже всегда вдоль по потоку, а так же поперёк потока и по диагонали свой NX нагибаю ))

13 часа назад, 62Alex33 сказал:

подскажите пожалуйста как задать обработку в NX

да всё сплошником КАВИТИ_МИЛЛОМ да Z_левеллом , тудыть её в качель...

 

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

Добрый день. 

Есть рабочий постпроцессор, который нужно запустить с диска D (к диску С у меня нет доступа, а хотелось немного подкорректировать его), но есть дополнительный файл *.tcl

NX начинает ругаться на его отсутствие.  

 

Возможно ли заменить к нему путь UGII_CAM_POST_DIR на конкретный.

[MOM_ask_env_var UGII_CAM_POST_DIR]

Если да, то если не сложно хотелось бы пример строчки выше.

Заранее спасибо.

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

def, pui и tcl должны находиться в одной папке. Иначе никак вроде. А путь к посту прописывается в файле template_post.dat в папке c:\Program Files\Siemens\NX 9.0\MACH\resource\postprocessor\

 

Если всё-таки можно в разных папках и указать в каких, поправьте плиз

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

def, pui и tcl должны находиться в одной папке. Иначе никак вроде. А путь к посту прописывается в файле template_post.dat в папке c:\Program Files\Siemens\NX 9.0\MACH\resource\postprocessor\

 

Если всё-таки можно в разных папках и указать в каких, поправьте плиз

У меня 4 файла def, pui, tcl и еще один tcl вызываемый из основного tcl, так вот его и не находит NX. А путь к посту я при постпроцессировании вручную выбираю.

Так вот в первом tcl есть набор строк c командами, одна из которых [MOM_ask_env_var UGII_CAM_POST_DIR] для вызова второго tcl.

Вот в ней я и хочу , если это возможно заменить UGII_CAM_POST_DIR на точный путь к этому tcl.

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

Как заблокировать альтернативное положение (C180) в плоскости х y ? 

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

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

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

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

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

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

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

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

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

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

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




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