Jump to content

Как в PostBuilder сделать чтобы кординаты поворота оси выводились с меньшей дискретизаацией?


_vlad_ng_

Recommended Posts

_vlad_ng_

Здравствуйте, пишу собственный пост под  токарно-фрезерный станок на Sinumeric 840d, по ходу уперся в проблему - координаты поворота оси выводятся с дискретизаацией примерно в 2-3 градуса (код приложил ниже), может кто сталкивался с таким? Еще выводятся не нужные координаты Y и точки где нужно и нет, что не делал ничего не помогает, если поможете будет не плохо, заранее спасибо!

 

;L1001
;DATE : Sat Sep  4 19:31:40 2021
;T0  : DRILLING : DRILL_D10     : D=10.00     
N10 G18 G40 G54 G90
N20 G59 Z0 X0
N30 L710(1)  ;Move to tool change position, axes: X=>Z
;
N40 MSG("METHOD // DRILLING_COPY_COPY")
N50 T="DRILL_D10"
N60 TC(1)  ;Tool change
N70 SETMS(1)
N80 L707(0)  ;C4 - Switch on axis
N90 M108
N100 G17
N110 G0 C4=DC(0)
N130 G97 S1=0 M1=03 ;check rotation: M1=04-clockwise, M1=03-counterclockwise!!!
N140 G0 G19 G94 X120. Y0.0 Z-15. C60.
N150 F250.
N160 MCALL CYCLE81(120.,73.,5.,49.268)
N170 Y0.0 Z-15.
N180 MCALL
N190 X120. Y0.0 Z-15. C57.447
N200 C54.894
N210 C52.34
N220 C49.787
N230 C47.234
...
N610 C-49.787
N620 C-52.34
N630 C-54.894
N640 C-57.447
N650 C-60.
N660 MCALL CYCLE81(120.,73.,5.,49.268)
N670 Y0.0 Z-15.
N680 MCALL
N690 X120. Y0.0 Z-15. C-62.553
N700 C-65.106
N710 C-67.66
N720 C-70.213
N730 C-72.766
N740 C-75.319
...
N1110 C-169.787
N1120 C-172.34
N1130 C-174.894
N1140 C-177.447
N1150 C-180.
N1160 MCALL CYCLE81(120.,73.,5.,49.268)
N1170 Y0.0 Z-15.
N1180 MCALL
N1200 G54
N1210 M1=05 M109
N1220 L710(1)  ;Move to tool change position, axes: X=>Z
N1230 L708  ;C4 - Switch on spindle
N1240 M17

Link to post
Share on other sites


UnPinned posts
mr_Voden

@_vlad_ng_ Знать бы еще что за траекторию Вы пытаетесь вывести своим постом. 

Поворот по С - переход на следующую позицию? Сделайте переход между отверстиями "по прямой" и посмотрите что выведет пост.

 

Link to post
Share on other sites
_vlad_ng_
5 часов назад, mr_Voden сказал:

@_vlad_ng_ Знать бы еще что за траекторию Вы пытаетесь вывести своим постом. 

Поворот по С - переход на следующую позицию? Сделайте переход между отверстиями "по прямой" и посмотрите что выведет пост.

 

Да, сверление отверстия - переход к следующему.
https://drive.google.com/file/d/14R6vr2A3JOCl1yQmrZAV1fCgf_jA4n2Z/view?usp=sharing

Поставил переход по прямой - выводиться тот же код.
...
N160 MCALL CYCLE81(120.,73.,5.,49.268)
N170 Y0.0 Z-15.
N180 MCALL
N190 X120. Y0.0 Z-15. C57.447
N200 C54.894
N210 C52.34
N220 C49.787
N230 C47.234
N240 C44.681
...

Знаю что выводиться блок "rapid_traverse", возможно в ускоренных перемещениях нужно что-то изменить?
https://drive.google.com/file/d/1ZJ4ChSMhjIcLhjKSJDB1yhJyoD1AiWug/view?usp=sharing

Link to post
Share on other sites
Vladislav-dobrynin
04.09.2021 в 19:39, _vlad_ng_ сказал:

Здравствуйте, пишу собственный пост под  токарно-фрезерный станок на Sinumeric 840d, по ходу уперся в проблему - координаты поворота оси выводятся с дискретизаацией примерно в 2-3 градуса (код приложил ниже), может кто сталкивался с таким? Еще выводятся не нужные координаты Y и точки где нужно и нет, что не делал ничего не помогает, если поможете будет не плохо, заранее спасибо!

 

А зачем с наименьшей дискретизацией выводить?

Вообще переход от одного отверстия к другому делается через специальную функцию, которая отслеживает изменение угла в операциях "3+2", если происходит изменение углов, то она сбрасывает все трансформации, выводит безопасные отходы в машинных координат в крайние положения и отключает вывод промежуточных значений углов поворотных осей - до тех пор пока не выведется угол следующего отверстия, затем необходимые трансформации включаются и производится безопасный подход.

Ну а уменьшить дискретизацию, можно непосредственно перед генерацией траектории, в меню NX "максимальное изменение оси инструмента"

Link to post
Share on other sites
_vlad_ng_
11 минут назад, Vladislav-dobrynin сказал:

 

А зачем с наименьшей дискретизацией выводить?

 

Ну а уменьшить дискретизацию, можно непосредственно перед генерацией траектории, в меню NX "максимальное изменение оси инструмента"

Вы наверное не так поняли, мне нужно чтобы этого дробления не было, нужно чтобы выводилась сразу последняя (конечная) координата.
Максимальное изменение оси инструмента менял, ничего не меняется...

Пимерно так:

;model2_setup_1
;DATE : Sun Sep  5 21:14:43 2021
;T0  : DRILLING : DRILL_D10     : D=10.00     
N10 G18 G40 G54 G90
N20 G59 Z0 X0
N30 L710(1)  ;Move to tool change position, axes: X=>Z
;
N40 MSG("METHOD // DRILLING_COPY_COPY")
N50 T="DRILL_D10"
N60 TC(1)  ;Tool change
N70 SETMS(1)
N80 L707(0)  ;C4 - Switch on axis
N90 M108
N100 G17
N110 G0 C4=DC(0)
N130 G97 S1=0 M1=03 ;check rotation: M1=04-clockwise, M1=03-counterclockwise!!!
N140 G0 G19 G94 X120. Y0.0 Z-15. C60.
N150 F250.
N160 MCALL CYCLE81(120.,73.,5.,49.268)
N170 Y0.0 Z-15.
N180 MCALL

N650 C-60
N660 MCALL CYCLE81(120.,73.,5.,49.268)
N670 Y0.0 Z-15. ;UTIL_CP1
N680 MCALL

N1150 C-180.
N1160 MCALL CYCLE81(120.,73.,5.,49.268)
N1170 Y0.0 Z-15.
N1180 MCALL
N1200 G54
N1210 M1=05 M109
N1220 L710(1)  ;Move to tool change position, axes: X=>Z
N1230 L708  ;C4 - Switch on spindle
N1240 M17

Только желательно без Y0.0 (это вторая проблема) так как ось Y не физическая и без трансформации она стопорит стойку...

Link to post
Share on other sites
Vladislav-dobrynin
1 час назад, _vlad_ng_ сказал:

Вы наверное не так поняли, мне нужно чтобы этого дробления не было, нужно чтобы выводилась сразу последняя (конечная) координата.
Максимальное изменение оси инструмента менял, ничего не меняется...

 

Как я и писал выше необходимо разработать специальную функцию в постпроцессоре

В процедуре PB_CMD_before_motion (перед каждым движением) проверяем условие: если тип обработки 3+2 и выполняется условие: если mom_pos(3) не равно mom_prev_pos(3) или mom_pos(4) не равно mom_prev_pos(4), то блокируем вывод адреса командой MOM_disable_address С А (пишем те адреса поворотных осей какие нужно). Далее в маркере событий всех осевых циклов, перед их выводом: MOM_enable_arddress С A. Далее, перед выводом всех осевых циклов добавляем движение по оси C. 

Это упрощенно конечно, рабочий код данной функции сложнее, но попробуйте так.

А вот по Y вопрос - он всегда 0? на станке нет физической оси? тогда в маркере начала start of program пишем  MOM_disable_address Y

Если Вам по какой то причине необходимо убрать вывод адреса перед циклом, то перед его выводом пишем - MOM_suppress Always Y - адрес Y не будет выведен только в текущем перемещении

 

 

Edited by Vladislav-dobrynin
  • Чемпион 1
Link to post
Share on other sites
_vlad_ng_
55 минут назад, Vladislav-dobrynin сказал:

 

Как я и писал выше необходимо разработать специальную функцию в постпроцессоре

В процедуре PB_CMD_before_motion (перед каждым движением) проверяем условие: если тип обработки 3+2 и выполняется условие: если mom_pos(3) не равно mom_prev_pos(3) или mom_pos(4) не равно mom_prev_pos(4), то блокируем вывод адреса командой MOM_disable_address С А (пишем те адреса поворотных осей какие нужно). Далее в маркере событий всех осевых циклов, перед их выводом: MOM_enable_arddress С A. Далее, перед выводом всех осевых циклов добавляем движение по оси C. 

Это упрощенно конечно, рабочий код данной функции сложнее, но попробуйте так.

Спасибо, буду разбираться, может что-то по tcl можете посоветовать, желательно с большим уклонов на PostBuilder?!

57 минут назад, Vladislav-dobrynin сказал:

А вот по Y вопрос - он всегда 0? на станке нет физической оси? тогда в маркере начала start of program пишем  MOM_disable_address Y

Если Вам по какой то причине необходимо убрать вывод адреса перед циклом, то перед его выводом пишем - MOM_suppress Always Y - адрес Y не будет выведен только в текущем перемещении

В данном Y0 так как он не меняется, но я не могу понять почему он выводиться, X к примеру же нет, хотя он в блоке есть, а так то в других случаях Y выводится правильно.

И еще хотел спросить за не нужные точки, их как то убрать можно?

 

Link to post
Share on other sites
Vladislav-dobrynin
1 час назад, _vlad_ng_ сказал:

Спасибо, буду разбираться, может что-то по tcl можете посоветовать, желательно с большим уклонов на PostBuilder?!

Уклона как такового то и нет. Есть специальные готовые команды MOM - они tcl никакого отношения не имеют - как например "MOM_disable_address или MOM_output_literal и т.д" Их описание Вы найдете в MOM Variables Browser в меню PostBuilder Utilities. mom переменные также не являются атрибутами tcl их описание смотреть там же. 

Много книг по tcl можно посоветовать - но на мой взгляд, все они излишни для пользователя PostBuilder

Вот сайт http://tclstudy.narod.ru/tcl/index.html с уроками, я его всем рекомендую

 

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

В данном Y0 так как он не меняется, но я не могу понять почему он выводиться, X к примеру же нет, хотя он в блоке есть, а так то в других случаях Y выводится правильно.

Возможно стоит команда усиленного вывода MOM_foce once Y или что равнозначно - в отдельном блоке на адресе включена настройка Force Output (на адресе отображается белый квадратик)

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

И еще хотел спросить за не нужные точки, их как то убрать можно

У каждого адреса есть формат. Формат это обобщенный атрибут для группы адресов, войдите в соответствующий формат и отредактируйте его

Edited by Vladislav-dobrynin
  • Нравится 1
Link to post
Share on other sites
_vlad_ng_
29 минут назад, Vladislav-dobrynin сказал:

У каждого адреса есть формат. Формат это обобщенный атрибут для группы адресов, войдите в соответствующий формат и отредактируйте его

Это знаю, там все настроено, но мне не нравиться что точка выводиться даже если число целое, к примеру возьмем вывод цикла: CYCLE81(120.,73.,5.,49.268) - по факту точки только путают, а если я уберу вывод точки в формате то когда число будет с дробью, оно будет выводиться слитно без точки (ну или я ока в этом еще не разобрался), может какое то условие прописать но знаний пока маловато...

40 минут назад, Vladislav-dobrynin сказал:

Возможно стоит команда усиленного вывода MOM_foce once Y или что равнозначно - в отдельном блоке на адресе включена настройка Force Output (на адресе отображается белый квадратик)

 

Force Output выключен, скорое всего где-то стоит MOM_foce once Y .

 

Link to post
Share on other sites
Чингачгук
04.09.2021 в 20:39, _vlad_ng_ сказал:

координаты поворота оси выводятся с дискретизаацией примерно в 2-3 градуса

ещё один которого это :boff:....

теперь нас двое, но это не намёк на :boff: ...

:boff: нужно сименс...

переход идеально сделать через максимум 30гр. А то он может крутануть не в ту сторону. Был случай, когда сто раз отработанная программа сделала брак. Поворот на 180гр. произошёл не по часовой а против.
Можно приколоться и поставить допуск мегаохринительный, такой, что при отрисовке окружности будет отображаться шестигранник :blush:

  • Хаха 1
Link to post
Share on other sites
_vlad_ng_
2 часа назад, Чингачгук сказал:

переход идеально сделать через максимум 30гр. А то он может крутануть не в ту сторону. Был случай, когда сто раз отработанная программа сделала брак. Поворот на 180гр. произошёл не по часовой а против.
Можно приколоться и поставить допуск мегаохринительный, такой, что при отрисовке окружности будет отображаться шестигранник :blush:

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

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    No registered users viewing this page.



  • Сообщения

    • syncomp
      Всем доброго дня! Вопрос такой. Требуется профрезеровать канавку под внутреннюю резьбу.  Применяется стратегия "Проекция линии" с одним проходом. Затем траектория копируется с другим припуском несколько раз, таким образом достигается нужная глубина. Все работает. Но мне не нравятся подводы и отводы. Начальные точки установлены в центре заготовки. Требуется обеспечить подвод и отвод сделать в центре заготовки. При одинаковых значениях подводов и отводов  эти точки разные. Для совмещения этих точек в центре заготовки приходится изменять угол. А когда еще добавляются следующие "проходы", то для совмещения приходится корректировать и этот угол. Что делается не так? Почему PowerMill 2021 не делает подвод " 1-вариант Прямо, Длина 10, Угол 90 не делает подвод к траектории ровно на 90 градусов?
    • gudstartup
      А с техподдержкой сименс не связывались думаю они не откажут в помощи? Если с их стороны не будет предложения о сотрудничестве то есть еще один варант(очень непростой) считать сами eprom микросхемы обычным программатором получить из них файл %PCP файл (это текстовый файл образа памяти контроллера STEP5) а затем записать этот файл в 810GA3 и считать из него эту программу при помощи обычного компьютера с RS232С портом. Микросхемы (обычно их 2) в модуле обычно не на колодках поэтому необходимо выпаивать  или сделать переходной разъем для программатора (мы делали разъем чтобы как говорится шкурку не испортить) хотя сейчас можно и паяльной станцией поковыряться!
    • Fedor
      Жаль что этого никто не заметил. Даже вы десятилетия помалкивали. Но ни одной системы базисных функций по ней и не получили.   Но молодец, доказали что все у меня правильно, а то что что-то похожее было раньше, так это мелкий вопрос. Остается  вам найти где опубликовыны и все другие мои результаты   :) 
    • ДОБРЯК
      @Fedor вы второй неугомонный Турта. Который то же что-то изобрел и себе это доказывает.  Эта технология была опубликована в 1964 году.  Никто догадками до вас не получал базисные функции. А в целом клоунада про "новую" технологию построения базисных функций была смешная. Многие даже верили что вы что-то новое изобрели... 
    • Fedor
      Плюс от ваших изысканий в том, что теперь не сомневаетесь в правильности написанного мной. :)  "А до вас якобы функции формы угадывали" так Зенкевич объяснял почему элементы назвали сирендиповыми. Претензии к нему . И Галлагеру. Что не описали в своих книжках как их строить. Статьи иностранные у нас было практически не прочитать в те далекие времена :)
    • ДОБРЯК
      А вот сегодня у вас смешная клоунада. Вот ваша "новая" технология. 
    • Fedor
      Ну и постройте хоть одну систему базисных функций по их формулам :) 
    • MiLloeDelo
      в MDI режиме попробуйте включить C1 S300 M3(4) .......
    • Sokol3
      Здравствуйте, пока не очень... нашел в Красноярске пять программаторов, из них 4ре мертвых,а на том одном мне не смогли помочь считать,или не захотели. Но и дать его мне не могут. Попросил знакомого в Новосибирске и в Москве узнать.. Пока больше нет мыслей, если только в ручную перебирать:(
    • Valerii16
      Спасибо, Всем за помощь! причина была в разьеме USB. В ночную смену разобрали  пульт ,под ним блок управления -попробовали вставить флешку -все работает,В понедельник позвоним в АСУП-пусть меняют разьем.
×
×
  • Create New...