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

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 пользователей

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




  • Сообщения

    • dps
      Да. На моем случает 5шт кажется опций. И я сейчас уже не вспомню порядок восстановления. Если кто-то возьмется его все же полно и достоверно изложить- было бы очень замечательно. Или может инструкция есть от того же ХААс-а?
    • Александр 36
    • Igor Lipin
      Доброва времени суток, помогите разобраться с неисправностью станка Hiperturn 65-dt на стойке Sinumerik 840 DSL.  После сервисного обслуживания подрядчиком периодически срабатывает ошибка 21612: Канал 1: Ось S1/C11 разрешение сброшено, причина 1. Сервомотор шпинделя оснащен датчиком на валу AMO, других энкодеров на валу не нашел. Неисправность возникает хаотично, на разных операциях программы обработки, но при вращении шпинделя. По рекомендации справки (Help) повышали параметр 36060, на какое-то время помогало, а потом опять ошибка. Пробовали при работе шевелить все соединения в КК двигателя и привода, SMC20, датчики температуры, энкодер AMO.Короче ничего не помогает. Кто встречался с такой ошибкой, посоветуйте.  
    • Jesse
      по штоку смотрите. Т.е. в миллиметрах. Ну , у нас так..))
    • clavr
      переменные одни и те же? не будет конфликта? 
    • Alexandr97
      Проблема кроется в следующем. После создания библиотеки стандартных изделий и создания конфигурации системы в tflex docs через cad, невозможно обновить библиотеку на других компьютерах. Вся библиотека была привязана к конфигурации формата tws. Пользователи Tflex cad через меню документов закрепляют у себя библиотеку с помощью выбранной конфигурации, но она автоматически сохраняется у них на диске. Таким образом, если начальный разработчик в библиотеке воспроизведет изменение, то остальные пользователи этого не увидят, данные не обновятся, так как все сохранено у них на компьютере почему-то, и с docs новые изменение не подтягиваются. Вопрос: подскажите, пожалуйста, как же все таки настроить библиотеку в docs так, чтобы при ее обновлении, вся библиотека у всех пользователей автоматически обновилась? Сейчас выходит так:разработчик делает изменение, сохраняет в докс, пользователи этого не видят, так как система не обновляется. Разработчику остается только создать заново конфигурацию и всем пользователям ее заново у себя прикрепить... Так же не должна работать система?
    • Snake 60
      @clavrНет, мои макросы самостоятельные, только делают тоже что и Мпроп заносят свойства в деталь/сборку. Плюс в том, что есть пакетный режим обработки
    • clavr
      там экзешник MProp.exe. его тоже запустит? или именно макрос нужен? p.s. сижу на макросах SWPlus.NET v.1.0
    • Snake 60
      @clavr Мой макрос делает это для сборки: https://snake-60.ru/blog/blog-list/84-onepage-blog/78-fromfilenametoproperties-vba-makros-paketnogo-zaneseniya-svojstv-v-detali-i-ili-podsborki А этот для папки с проектом: https://snake-60.ru/blog/blog-list/84-onepage-blog/80-makros-paketnogo-zaneseniya-svojstv-v-detali-sborki-nakhodyashchiesya-v-papke
    • Kelny
      Версия должна быть SW2014 и выше: https://help.solidworks.com/2014/RUSSIAN/SolidWorks/sldworks/c_3d_bounding_boxes.htm   Как вариант макросом (но не всегда корректно давал габарит на не прямые поверхности, например, сферы или кривые поверхности): https://kelnyproject.ucoz.ru/load/6-1-0-7 при желании можно поковываться и встроить макрос в документ модели, что бы обнавляло при запуске или обновлении модели.   А в последних версиях так же появилась ГРАНИЧНАЯ РАМКА (см. ссылку на справку выше), которая имеет габариты и эти габариты могут быть вставленны как ссылка на размер, как раз в том виде как вы приводите.
×
×
  • Создать...