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

FAQ/Unigraphics/POST


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

 

Подскажите, как добиться вывода значения оси "С" в декартовых координатах в стандартном токарно-фрезерном постпроцессоре XZC? Сейчас при вводе в декартовых координатах всегда выводит С=0.    Станок CTX 450 eco. Стойка Sinumerik 840D.

 

Если метод обработки с фиксированной осью инструмента параллельной оси Z, то рассудите сами, а с чего бы C оси быть отличной от нуля? 

Для вывода ХС координат имеется стандартное событие Lock Axis, блокируйте там Y ось и выведется все как вы хотите.

Однако, на станке CTX 450 скорее всего есть полезная функция - TRANSMIT. Советую оставить вывод  в виде декартовых координат - XYZ, и применить функцию TRANSMIT. Результат будет наилучшим, во первых - более короткий текст УП, во вторых - возможность работы с коррекцией на радиус, в третьих - гарантия согласования движений на станке и отсутствие огранки, нежели в случае вывода в полярном виде XCZ.

 

Да, TRANSMIT работает, проверено. Вот как раз для функции TRANSMIT и хочу добиться вывода оси С для позиционирования перед обработкой. Например, 2 паза на торце детали расположенных под 90 градусов относительно друг друга.

Сейчас стандартный пост из библиотеки в декартовых координатах всегда выводит С=0.

 

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


Да, TRANSMIT работает, проверено. Вот как раз для функции TRANSMIT и хочу добиться вывода оси С для позиционирования перед обработкой. Например, 2 паза на торце детали расположенных под 90 градусов относительно друг друга. Сейчас стандартный пост из библиотеки в декартовых координатах всегда выводит С=0.

 

 

А чем не устраивает с позиции С0 обрабатывать два паза под 90 град или вообще с произвольной исходной позиции оси С? Просто предварительно отведите инструмент на безопасную плоскость, можно воспользоваться маневрированием от машинной системы координат.

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

 

Получается, что после включения TRAORI станок сам будет позиционировать ось "С"  исходя  из значения "Y" ? 

А сверлить в этом режиме можно?

Ссылка на сообщение
Поделиться на других сайтах
Получается, что после включения TRAORI станок сам будет позиционировать ось "С"  исходя  из значения "Y" ?  А сверлить в этом режиме можно?
 

 

Команды TRAORI на станке CTX 450 eco нет вообще) имеете в виду TRANSMIT? Да будет работать исходя из значения Y, просто активируйте режим TRANSMIT! И циклы осевые тоже работать будут. Вы попробуйте на станке 

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

 

Получается, что после включения TRAORI станок сам будет позиционировать ось "С"  исходя  из значения "Y" ?  А сверлить в этом режиме можно?
 

 

Команды TRAORI на станке CTX 450 eco нет вообще) имеете в виду TRANSMIT? Да будет работать исходя из значения Y, просто активируйте режим TRANSMIT! И циклы осевые тоже работать будут. Вы попробуйте на станке 

 

Извиняюсь, конечно же TRANSMIT. На станке составил простенькую программу фрезерования одного паза на торце с включение команды TRANSMIT. Но почему-то получилось фрезеровать только когда значение  "X" задавал в диаметрах и в начале программ указывал DIAMON. Если указывал DIAMOF и значение "X" задавал в радиусах, то станок писал о лимите по "X". Так и должно быть? Или я пропустил что-то в документации?

Ссылка на сообщение
Поделиться на других сайтах
Извиняюсь, конечно же TRANSMIT. На станке составил простенькую программу фрезерования одного паза на торце с включение команды TRANSMIT. Но почему-то получилось фрезеровать только когда значение  "X" задавал в диаметрах и в начале программ указывал DIAMON. Если указывал DIAMOF и значение "X" задавал в радиусах, то станок писал о лимите по "X". Так и должно быть? Или я пропустил что-то в документации?

 

Вообще в режиме DIAMOF работает фрезерный режим обработки, но и в DIAMON работать тоже будет. Только в постпроцессоре соответственно нужно не забывать при режиме DIAMON координаты X и I домножать на "2". Покажите программу. 

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

Вообще в режиме DIAMOF работает фрезерный режим обработки, но и в DIAMON работать тоже будет. Только в постпроцессоре соответственно нужно не забывать при режиме DIAMON координаты X и I домножать на "2". Покажите программу. 

 

 

Вот прорамма

N1 G40 G17 G94 G90
N2 DIAMON
N3 G54
N4 G0 G153 X500 D0
N5 G0 G153 Z735
N6 ;----------------------------------------------
N7 T11 ;(FR_D6R0)
N8 ;----------------------------------------------
N9 TC(1)
N10 SETMS(1)
N11 L707(0)
N52 C4=0.0
N12 TRANSMIT_S4
N13 
N14 G0 X160. Y0.0 Z50.7 S1=3000 M1=3
N15 X51.635 Y.95 Z29.7
N16 Z-.3
N17 G1 X41.635 F1000. M108
N18 X-43.635
N19 Y-.95
N20 X41.635
N21 X51.635
N22 G0 Y.95 Z-.6
N23 G1 X41.635
N24 X-43.635
N25 Y-.95
N26 X41.635
N27 X51.635
N28 G0 Y.95 Z-.9
N29 G1 X41.635
N30 X-43.635
N31 Y-.95
N32 X41.635
N33 X51.635
N34 G0 Y.95 Z-1.
N35 G1 X41.635
N36 X-43.635
N37 Y-.95
N38 X41.635
N39 X51.635
N40 G0 Z34.
N41 X160. Y0.0 Z50.7
N42 M30 
Ссылка на сообщение
Поделиться на других сайтах

Перед включением режима полярной интерполяции выводите рабочие органы в координату Y0 всегда, независимо от действительной первой координаты Y в траектории, и только потом уже выводитеTRANSMIT_S4. Скорее всего в этом и проблема.  

 

Также предварительно сманеврируйте сначала по Z, перед включением TRANSMIT_S4. Предварительно включите режим DIAMOF, координаты по Х I выводите без домножения на "2"

  

        DIAMOF

        G0 Z50.7  S1=3000 M1=3

        G0  Y0.0

N12 TRANSMIT_S4

N14 G0 X80.0 Y0.

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

Перед включением режима полярной интерполяции выводите рабочие органы в координату Y0 всегда, независимо от действительной первой координаты Y в траектории, и только потом уже выводитеTRANSMIT_S4. Скорее всего в этом и проблема.  

 

Также предварительно сманеврируйте сначала по Z, перед включением TRANSMIT_S4. Предварительно включите режим DIAMOF, координаты по Х I выводите без домножения на "2"

  

        DIAMOF

        G0 Z50.7  S1=3000 M1=3

        G0  Y0.0

N12 TRANSMIT_S4

N14 G0 X80.0 Y0.

Пришлось на некоторое время отложить вопрос с TRANSMIT.

Снова вернулся к проблеме. 

Если указать "G0  Y0.0"  до включения команды  TRANSMIT, то станок ругается, что нет оси "Y" на станке. Это логично.

В ноль шпиндель выходит по команде L707(0).

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

Коллеги!

Может из вас кто-нибудь просветить старого токаря касательно реализации из NX черновых и чистовых, продольных и поперечных токарных циклов в УП для HH Pilot? И особенно нарезание резьбы. Реализуемо или это все бла-бла пока и блуждание в тумане? Или это только под Синумерик и только под него? Хотя, если есть под Синумерик, то переделать под остальное тоже можно. Все ж так делают. Есть у кого достижения в решении этой задачки?

Сам от дел уже давно отошел. Некопенгаген уже. Последний раз юзал еще NX4.

Насколько я понял, заполнить цикл - не проблема, все параметры есть, а проблема есть описать контур.

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

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

Станок DMU125 HI DYN имеет вектор оси B наклоненный под углом 45 градусов к оси Y. Это не позволяет обрабатывать деталь "снизу"(например GOTO/35.3,37.5,-2,0.8,0.5,-0.1). А постпроцессор, когда встречает такое перемещение, просто его пропускает. События нарушения лимита оси не срабатывают.

 

Проверка в линейном движении через $mom_tool_axis(2) также не помогает. Кадры с минусовыми значениями просто пропускаются. 

 

Постпроцессор создавал с шаблоном для стойки HEIDENHAIN 

  Изменено пользователем alexey_br
Ссылка на сообщение
Поделиться на других сайтах
Проверка в линейном движении через $mom_tool_axis(2) также не помогает. Кадры с минусовыми значениями просто пропускаются

 

 

Ну тогда напишите текст условия, по которому проверяете и где именно.

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

 

Проверка в линейном движении через $mom_tool_axis(2) также не помогает. Кадры с минусовыми значениями просто пропускаются

 

 

Ну тогда напишите текст условия, по которому проверяете и где именно.

 

в начале линейного перемещения вставил комманду с такой проверкой:

 if { $mom_tool_axis(2) < 0 } then {
 MOM_output_literal "b 1"
 } else {
 MOM_output_literal "b 2"
 }
 
перемещения :
GOTO/35.3349,37.5141,-2.2635,0.8564251,0.5149646,-0.0367101
GOTO/35.0366,37.9481,-2.7679,0.8534743,0.5193802,-0.0427297
...
GOTO/47.7692,33.7523,-28.2827,0.8959729,0.4439052,-0.0134469
GOTO/48.7765,33.3022,-29.9614,0.9000075,0.4358407,-0.0054298
GOTO/49.7865,32.8524,-31.6386,0.9039274,0.4276784,0.0025399
GOTO/50.5467,32.5159,-32.8947,0.9068183,0.4214361,0.0085014
...
 
результат процессирования:
N111
N1 G54 I1
N2 T10 M06
N3 M73
N4 b 2
N5 G141
N6 G01 X49.787 Y32.852 Z-31.639 B174.222 C-60.598 F100. M08
N7 b 2
N8 X50.547 Y32.516 Z-32.895 B169.419 C-57.613
N9 b 2
N10 X51.307 Y32.179 Z-34.151 B166.186 C-55.747
N11 b 2
N12 X52.071 Y31.844 Z-35.404 B163.601 C-54.342
 
Постпроцессор пропускает кадры с минусовым вектором.
 
Постпроцессор созданный без шаблона стойки кадры не пропускает, просто выдает их без углов. Зато потом вносит ненужную корректировку координат:
N111
N1 G54 I1
N2 T10 M06
N3 M73
N4 G01 G90 X80.522 Y61.139 Z3.5 B0.0 C0.0 F5000. M08
N5 X37.536 Y35.651 Z5.091
N6 X36.597 Y36.071 Z.198 F100.
N7 X36.385 Y36.232 Z-.594
...
N42 X47.769 Y33.752 Z-28.283
N43 X48.777 Y33.302 Z-29.961
N44 X10.645 Y-31.11 Z58.973 B174.222 C-60.598
N45 X12.452 Y-32.054 Z59.26 B169.419 C-57.613
...
Ссылка на сообщение
Поделиться на других сайтах

Вам что сделать нужно сделать? Просто сообщение вывести при недопустимом положении вектора оси? 

В PB_CMD_before_motion напишите:

 

 global  mom_tool_axis mom_warning_info

 

   if {[EQ_is_lt $mom_tool_axis(2) 0]} {

  set mom_warning_info "Недопустимое положение"

  MOM_output_to_listing_device $mom_warning_info 

  MOM_abort

  }

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

Вам что сделать нужно сделать? Просто сообщение вывести при недопустимом положении вектора оси? 

В PB_CMD_before_motion напишите:

 

 global  mom_tool_axis mom_warning_info

 

   if {[EQ_is_lt $mom_tool_axis(2) 0]} {

  set mom_warning_info "Недопустимое положение"

  MOM_output_to_listing_device $mom_warning_info 

  MOM_abort

  }

 

спасибо. работает.

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

возник вопрос при реализации винтовой интерполяции.

 

пытаюсь реализовать ее через круговую.

круговое движение имеет формат:

G2илиG3 (принудительно), X,Y,Z,R(радиус, принудительно)

 

если командой в винтовом движении вызвать MOM_circular_move, постпроцессор пропускает Z.

а если вызвать MOM_do_template circular_move - пропускает G02.

 

Если я правильно понимаю MOM_circular_move работает через блок circular_move, почему тогда такая разница в результате?

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

Я конечно не знаток, но может вам посмотреть здесь (см. рисунок) как раз винтовая интерполяция, правда для сименса! 

post-22461-0-72368800-1431530497_thumb.jpg

Ссылка на сообщение
Поделиться на других сайтах
Если я правильно понимаю MOM_circular_move работает через блок circular_move
 

Не обязательно. Рботает через тот блок который описан в процедуре PB_CMD_init_helix

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

Я конечно не знаток, но может вам посмотреть здесь (см. рисунок) как раз винтовая интерполяция, правда для сименса! 

 

при создании поста использовал шаблон Heidenhain. в нем была аналогичная процедура, но я решил ее упростить и подогнать под свою стойку MillPlus.

 

 

Не обязательно. Рботает через тот блок который описан в процедуре PB_CMD_init_helix

 

в PB_CMD_init_helix у меня только определение шага (set mom_sys_helix_pitch_type) и вид вывода (set mom_kin_helical_arc_output_mode END_POINT).

назначенные блоки нашел в *.tcl файле поста:

#=============================================================
proc MOM_helix_move { } {
#=============================================================
   MOM_output_literal "(helix move )"
   MOM_do_template helix_move_2
   MOM_force Once G_motion I J
   MOM_do_template helix_move_1
}
 
решил винтовую сделать своим блоком через центр, шаг и угол.
 
понимание почему не выводило через круговую тоже пришло.
MOM_circular_move не выдавал Z видимо потому что это круговая интерполяция и в ней только две оси. 

MOM_do_template circular_move терял принудительный вывод G03, думал что команда модальная и не выводил ее после окружности с тем же направлением.

 

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • ANT0N1DZE
      Это не поможет ответить на этот вопрос конкретными числами. Судя по всему, там металлические частички внутри материала. Подобные эластомеры существуют и применяются. 
    • gudstartup
      как перевести шпиндель снова первоначальный режим управления скоростью когда ему пофиг число импульсов на оборот? резьбу пока резать не будут а в подпрограмму смены можно что нить добавить или в реализацию m19  чтобы чпу из режима контроля позиционного кодера вышло?
    • gudstartup
    • mactepnew
      Вот я тоже так думал, пока не столкнулся с обратным) Как еще столкнусь, пришлю скриншот. Хаос еще в том, что порядок в дереве построения весьма условный. операция, которая стоит перед групой, имеет бОльший timestamp(пардон, не знаю как это в переводе), чем эта группа, и выполняется позже. При этом все операции в группе имеют timestamp на пару сотен меньше и выполняются раньше, чем две группы, стоящие перед ней. Логика?  Если в эскизе все элементы определены, то можно поставить еще один размер (хочешь переопределить эскиз - да пожалста!), изменить его - и NX самостоятельно выберет, какой размер или ограничение отпустить и весь эскиз летит к чертям. Это ли не хаос?   Назовете хоть один CAD, которым можно пользоваться так? Любой из встреченных мной имеет много неочевидных нюансов, которые конечно не проявляются при выполнении университетского или базового курса. В Creo я на протяжении 5 лет находил всё новые фишки, которые не прописаны в документации. Огромная благодарность Ruslan за пояснения тонкостей. Даже Компас и Solidworks, которые считаются самыми дружественными, оказалось непросто обуздать, когда проходил собеседования и делал тестовые. А ведь университетский курс знал на отлично!   Возвращаясь к NX - вот сегодняшний пример. Утром деталь была оранжевая, единая. Изменил пару уклонов и толщин, стала желтая с элементами оранжевого и частично твердотельной, частично листовой. Я даже не знаю, как сформулировать вопрос в поддержку. 
    • Mikhail_Podgornyj
      Добрый день, кто может поделиться SKF Bearing V1.6 (ANSYS App)? Заранее благодарен!
    • kkk
      Короче, как сделать автоматом не нашел. Раскрасил нужные грани нужными цветами. Затем на вкладке с цветом модели можно выбирать нужный цвет, тогда в модели выбираются грани, покрашенные этим цветом. Можно еще сохранить выбор этих граней, но смысла не вижу, т.к. все легко выбирается по цвету. Затем либо в инструменте Измерить смотрим площадь и как-то ее используем, либо можно макросом (что выкладывал Kir95 ) внести площадь в свойства (на вкладку Конфигурации). Можно еще внести выбранные грани в датчики, но как использовать их в свойствах не нашел.    Макрос прикрепляю.     Площадь выбранных граней в свойства.swp
    • IgnatvKudrin
      Для нашего производства требуются постоянно инструментальные пружины для штампов. Сейчас заказы обрабатываются довольно долго - до 2-х месяцев. А у нас сроки на штампы 1-2 месяца с испытанием, доработкой и т.п. Хотелось бы найти поставщика, у которого уже есть склад с данными пружинами или кто может доставить за 1 месяц.   Пружины стандартные по ISO, но на всякий случай приложил каталог. Вот список пружин, которые нужны очень срочно:   LR 32 x 44 - 1 шт. LR 25 x 51 - 2 шт. LB 63 x 89 - 7 шт. LB 32 x 102 - 10 шт. LB 32 x 89 - 20 шт. LB 32 x 76 - 12 шт. LB 32 x 51 - 6 шт. LB 25 x 127 - 9 шт.   Готов выслушать все предложения. Возможно даже есть те, кто сможет изготовить подобные пружины с такими же параметрами. 20231101.pdf
    • bubblyk
      Знатоки форума, подскажите, как смоделировать простую (на первый взгляд) задачу термомеханики в упругой постановке.   Есть брусок правильный формы ака кирпич, в котором генерируется НЕРАВНОМЕРНОЕ удельное тепловыделение (HGEN). Задняя и передняя поверхности конвективно охлаждаются с известными (но различными) коэффициентами теплоотдачи и температурами жидкости/газа. Свойства кирпича (теплофизика + механика) принимаются зависящими от температуры. Постановка - стационарная Собственно вопрос : как грамотно смоделировать температурное поле в кирпиче с учетом температурного расширения?   Исходный код приложил.     Надеюсь на коллективный разум и опыт! EPTH2D.mac p.s.   Если есть опыт решения этой задачи в Ansys WB, тоже можно сюда приложить командные вставки.
    • OutXL
      Это было давно использовал NC-Link  и данную инструкцию. The Maho.docx
    • Mikhail_Podgornyj
      Добрый день, кто может поделиться SKF Bearing V1.6 (ANSYS App)? Заранее благодарен!
×
×
  • Создать...