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

Поиск переменных в NX Postbuilder


Алексей1956

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

Здравствуйте. Помогите разобраться.
При создании своего постопроцессора в Postbuilder, если использовать библиотечный постопроцессор fanuc, есть возможность выводить циклы продольного и поперечного точения. В варианте для поперечного точения постопроцессор меняет G71 на G72, но не меняет параметр U- глубина резанья, на W, что необходимо для цикла поперечного точения Haas.
Я решил подкорректировать этот момент, и у меня возник вопрос. За этот параметр отвечает переменная mom_turn_cycle_cut_depth. Это я увидел во вкладке N/C Data Definitios/Block постбилдера. Я стал искать эту переменную во всех 3-х файлах: *.tcl, *.def, *.cdl и в Browse MOM Variables. В файлах  *.def  ее значение выводится BLOCK_TEMPLATE lathe_roughing
  {
       G_motion[$dpp_turn_cycle_g_code]
       turn_cycle_depth[$mom_turn_cycle_cut_depth]
       turn_cycle_retract[$dpp_turn_cycle_retract]
       turn_cycle_msg[$dpp_turn_cycle_msg]\opt
И всё. Я предположил, что это какая-то встроенная переменная самого NX. Но почему её нет в Browse MOM Variables? Посмотрел некоторые другое переменные, и тоже не смог найти. В этом и вопрос: если переменная - машинная, то почему её нет в Browse MOM Variables, а если пользовательская, то почему я не могу её найти? В моем понимании все переменные должны быть назначены в каком-то файле постпроцессора посредством переменных и средств самого NX или являться "исходной" переменной.

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


UnPinned posts

Эта обычная mom переменная, она создается не постпроцессором, а NX-ом. Если ты не решил еще свою проблему могу помочь?

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

Эта обычная mom переменная, она создается не постпроцессором, а NX-ом. Если ты не решил еще свою проблему могу помочь?

Если не сложно, расскажите, пожалуйста. Может будет полезна информация. Ещё интересен вопрос, где посмотреть полный список mom переменных в идеале хоть с коротким описанием. Заранее спасибо!

в Browse MOM Variables к сожалению не все переменные описаны.

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

Если не сложно, расскажите, пожалуйста. Может будет полезна информация. Ещё интересен вопрос, где посмотреть полный список mom переменных в идеале хоть с коротким описанием. Заранее спасибо!

в Browse MOM Variables к сожалению не все переменные описаны.

Не необходимо что бы автор прислал как выводи цикл постпроцессор и как надо что бы выводил. Ну а так логика такая если направление резания 90 или 270 градусов то присвоить переменной turn_cycle_depth значение W, если 0 или 180 то U

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

Спасибо. Мне подсказка не помешает. Случай с изменением цикла G71 на G72 мне кажется несколько проще, потому что меняется значение переменной $dpp_turn_cycle_g_code при изменении угла обработки. А как поменять значение ячейки "Leader" в "слове" опционально, для того чтобы поменять U на W я не знаю. Мне видится, что нужно просто писать циклы G72 и G71 в отдельных процедурах, а не в одной, как сейчас. Прав ли я в этом предположении? 

2 часа назад, dimsond88 сказал:

Не необходимо что бы автор прислал как выводи цикл постпроцессор и как надо что бы выводил. Ну а так логика такая если направление резания 90 или 270 градусов то присвоить переменной turn_cycle_depth значение W, если 0 или 180 то U

Это стандартный токарный пост Fanuc из библиотеки постбилдера. В нем в зависимости от угла обработки выводится G71 или G72. Численное значение глубины резания выводится правильно. А вот буквенное остается неизменным. Оно задается значением ячейки Leader во вкладке Word.

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

@Алексей1956 Поступите проще.

Есть в def файле следующий код:

Скрытый текст

  ADDRESS turn_cycle_depth
  {
      FORMAT      Coordinate
      FORCE       always
      LEADER      "U"
  }

В дальнейшем он используется в:

Скрытый текст

  BLOCK_TEMPLATE lathe_roughing
  {
       G_motion[$dpp_turn_cycle_g_code]
       turn_cycle_depth[$mom_turn_cycle_cut_depth]
       turn_cycle_retract[$dpp_turn_cycle_retract]
  }

В посте этот шаблон вызывается в MOM_lathe_roughing

Скрытый текст

#=============================================================
proc MOM_lathe_roughing { } {
#=============================================================
   MOM_force Once G_motion
   MOM_do_template lathe_roughing

   MOM_force Once G_motion
   MOM_do_template lathe_roughing_1
}

Почему бы не сделать еще один шаблон:

Скрытый текст

  ADDRESS turn_cycle_depth2
  {
      FORMAT      Coordinate
      FORCE       always
      LEADER      "W"
  }

 

  BLOCK_TEMPLATE lathe_roughing2
  {
       G_motion[$dpp_turn_cycle_g_code]
       turn_cycle_depth2[$mom_turn_cycle_cut_depth]
       turn_cycle_retract[$dpp_turn_cycle_retract]
  }

 

 

И, отредактировав MOM_lathe_roughing, в зависимости от:

22 часа назад, Алексей1956 сказал:

Не необходимо что бы автор прислал как выводи цикл постпроцессор и как надо что бы выводил. Ну а так логика такая если направление резания 90 или 270 градусов то присвоить переменной turn_cycle_depth значение W, если 0 или 180 то U

выводить или lathe_roughing или lathe_roughing2?

Ссылка на сообщение
Поделиться на других сайтах
30.01.2021 в 12:50, Алексей1956 сказал:

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

 

Fanuc_turn.tcl Fanuc_turn.pui Fanuc_turn.def

2 часа назад, mr_Voden сказал:

@Алексей1956 Поступите проще.

Есть в def файле следующий код:

  Показать содержимое

  ADDRESS turn_cycle_depth
  {
      FORMAT      Coordinate
      FORCE       always
      LEADER      "U"
  }

В дальнейшем он используется в:

  Показать содержимое

  BLOCK_TEMPLATE lathe_roughing
  {
       G_motion[$dpp_turn_cycle_g_code]
       turn_cycle_depth[$mom_turn_cycle_cut_depth]
       turn_cycle_retract[$dpp_turn_cycle_retract]
  }

В посте этот шаблон вызывается в MOM_lathe_roughing

  Показать содержимое

#=============================================================
proc MOM_lathe_roughing { } {
#=============================================================
   MOM_force Once G_motion
   MOM_do_template lathe_roughing

   MOM_force Once G_motion
   MOM_do_template lathe_roughing_1
}

Почему бы не сделать еще один шаблон:

  Показать содержимое

  ADDRESS turn_cycle_depth2
  {
      FORMAT      Coordinate
      FORCE       always
      LEADER      "W"
  }

 

  BLOCK_TEMPLATE lathe_roughing2
  {
       G_motion[$dpp_turn_cycle_g_code]
       turn_cycle_depth2[$mom_turn_cycle_cut_depth]
       turn_cycle_retract[$dpp_turn_cycle_retract]
  }

 

 

И, отредактировав MOM_lathe_roughing, в зависимости от:

выводить или lathe_roughing или lathe_roughing2?

Согласен, я так и сделал.

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

Здравствуйте.. Сделал цикл в  постпроцессоре по подобию постпроцессора, который выложил dimsond88. 


Кусок программы в CLS:

TOOL PATH/FACING,TOOL,ПРОХОДНОЙ_РЕЗЕЦ_55
TLDATA/TURN,LEFT,OUTSIDE,MCSZ,0.8000,4.0000,5.0000,5.0000,150.0000,270.0000
MSYS/0.0000,0.0000,-24.0000,1.0000000,0.0000000,0.0000000,0.0000000,-1.0000000,0.0000000
$$ centerline data
PAINT/PATH
PAINT/SPEED,10
PAINT/COLOR,186
FROM/150.0000,0.0000,26.0000,1.0000000,0.0000000,0.0000000
TURRET/FACE,1,ADJUST,1,XOFF,0.0000,YOFF,0.0000
PAINT/COLOR,211
RAPID
GOTO/150.0000,0.0000,0.0000
$$ GENERIC_CYCLE,ON
RAPID
GOTO/10.9000,0.0000,0.0000
PAINT/COLOR,42
FEDRAT/MMPR,0.1000
GOTO/10.5000,0.0000,0.0000
PAINT/COLOR,31
GOTO/-0.4000,0.0000,0.0000
PAINT/COLOR,37
GOTO/-0.4000,0.0000,0.5000
$$ GENERIC_CYCLE,OFF
PAINT/COLOR,211
RAPID
GOTO/150.0000,0.0000,0.5000
RAPID
GOTO/150.0000,0.0000,26.0000
PAINT/SPEED,10
PAINT/TOOL,NOMORE
END-OF-PATH
Распечатка траектории содержит 31 строк.

Кусок программы после постпроцессора dimsond88
%
N0010 G94 G90 G21
N0020 (FACING)
N0030 G50 X0.0 Z0.0
N0040 T01 H01 M06
N0050 G94 G00 X150.
N0060 G97 S6000 M03
N0070 G72 W2. R.3 (ROUGH FACE CYCLE)
N0080 P0090 Q0100 U0.0 W0.0 F.1 S6000
N0090 (CONTOUR TURN START)
G01 X8.5
X-.4
Z2.
N0100 (CONTOUR TURN END)
N0110 M02
%
Распечатка траектории содержит 16 строк.

Кусок программы после постпроцессора, который я мучаю.
%
(FACING)
(T1 -ПРОХОДНОЙ_РЕЗЕЦ_55)
N10 G53 X0.0 Z0.0
N20 G53 X200.  Y300.
N30 T101
N40 M08
N50 G40 G18 G94 G99 G00 G90 G21 G80
N60 G00 X300.
N70 G97 S6000 M03
N140 G72 W2. R.3
N150 G72 P120 Q130 U0.0 W0.0 F.1 S6000
N100 G00 X300. Z.5
N110 G00 Z26.

N120 (CONTOUR DATA START)
G01 X16.2 Z0.0 F.1
G01 X-.8
G01 Z1.6
N130 (CONTOUR DATA END)
N160 M09
N170 M30

Проблема в отводе.
У dimsond88 он вообще не выводится.
У меня выводится перед  (CONTOUR DATA START). Хотя в CLS он,  как и должен быть, в конце.  Подскажите, где искать проблему. Почему в таком порядке выводит.

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

В  cls последовотельно выводится каждое движение инструмента, ну а пост может запихнуть его куда угодно или вообще игнорировать. Скинте свой пост. 

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

https://dropmefiles.com/sV6HK  

Только так могу скинуть. Или мне нужно больше сообщений на форуме, или я нуб, но прикрепить файл к сообщению у меня не получилось. Спасибо.

Ссылка на сообщение
Поделиться на других сайтах
12.03.2021 в 08:00, Алексей1956 сказал:

https://dropmefiles.com/sV6HK  

Только так могу скинуть. Или мне нужно больше сообщений на форуме, или я нуб, но прикрепить файл к сообщению у меня не получилось. Спасибо.

У вас в архиве нет основного файла с расширение .tcl

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

https://dropmefiles.com/jJwlI 

Вот новая ссылка. Извиняюсь за невнимательность.

11.03.2021 в 22:19, dimsond88 сказал:

В  cls последовотельно выводится каждое движение инструмента, ну а пост может запихнуть его куда угодно или вообще игнорировать. Скинте свой пост. 

Мне попался сейчас постпроцессор, который выводит процедуры из end of programm в самом начале программы. Не подскажете, как в постпроцессоре порядок прописывается? 

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

Подскажите, что нжно сделать в постпроцессоре NX чтоб в начале каждой операции выводить максимальные и минимальные значения координат X, Y или Z, для этой операции.

Ссылка на сообщение
Поделиться на других сайтах
  • 5 месяцев спустя...
31.01.2021 в 11:26, mr_Voden сказал:

@Алексей1956 Поступите проще.

Есть в def файле следующий код:

  Показать содержимое

  ADDRESS turn_cycle_depth
  {
      FORMAT      Coordinate
      FORCE       always
      LEADER      "U"
  }

В дальнейшем он используется в:

  Показать содержимое

  BLOCK_TEMPLATE lathe_roughing
  {
       G_motion[$dpp_turn_cycle_g_code]
       turn_cycle_depth[$mom_turn_cycle_cut_depth]
       turn_cycle_retract[$dpp_turn_cycle_retract]
  }

В посте этот шаблон вызывается в MOM_lathe_roughing

  Показать содержимое

#=============================================================
proc MOM_lathe_roughing { } {
#=============================================================
   MOM_force Once G_motion
   MOM_do_template lathe_roughing

   MOM_force Once G_motion
   MOM_do_template lathe_roughing_1
}

Почему бы не сделать еще один шаблон:

  Показать содержимое

  ADDRESS turn_cycle_depth2
  {
      FORMAT      Coordinate
      FORCE       always
      LEADER      "W"
  }

 

  BLOCK_TEMPLATE lathe_roughing2
  {
       G_motion[$dpp_turn_cycle_g_code]
       turn_cycle_depth2[$mom_turn_cycle_cut_depth]
       turn_cycle_retract[$dpp_turn_cycle_retract]
  }

 

 

И, отредактировав MOM_lathe_roughing, в зависимости от:

выводить или lathe_roughing или lathe_roughing2?

 

Здравствуйте. А вывод/переключение как задействовать: -или lathe_roughing, - или lathe_roughing2 ? Как пост поймёт, что при поперечном точении надо переключаться на lathe_roughing2. Нужно добавлять кнопку/выбор в САМ и самомувыбирать в нём ?

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

@ddteshnik Если нет желания придумывать алгоритм для переключения между шаблонами можно просто сделать ude-шку.

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

@ddteshnik В постах сгенерированных 10-м постбилдером вывод токарных циклов отличается от последнего варианта. В тех версиях использовалась переменная mom_level_step_angle, которая принимала значения 0,90,180,270. По ней можно сделать переключение, как это сделано в посте, выложенным выше dimsond88.

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

@mr_Voden

1 час назад, mr_Voden сказал:

@ddteshnik Если нет желания придумывать алгоритм для переключения между шаблонами можно просто сделать ude-шку.

Правильно понимаю, это вы про создание своего пользовательского события через ude.cdl ?

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

@mr_Voden

1 час назад, mr_Voden сказал:

@ddteshnik В постах сгенерированных 10-м постбилдером вывод токарных циклов отличается от последнего варианта. В тех версиях использовалась переменная mom_level_step_angle, которая принимала значения 0,90,180,270. По ней можно сделать переключение, как это сделано в посте, выложенным выше dimsond88.

 

А просто скопировать её и то где она применяется из tcl @dimsond88 в свой файл поста поможет?

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

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

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

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

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

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

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

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

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

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

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




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