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

Оптимизаци УП


brshatcher

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

Доброго времени суток, 

 

проблема вот в чем. Есть контура, разделенный на 12 секторов. Каждый сектор - дуга. Нужно, чтоб по этому контуру прошел инструмент и задействованны были только ось X и Z. В принципе пробовал какие-то посты. Выводит, но выводит 80 тыс. кадров на один контура и приблизительно так

 

N9870 X.51 C80.918 N9880 X.5101 C80.824 N9890 X.5102 C80.731 N9900 X.5103 C80.637 N9910 X.5104 C80.543 N9920 X.5105 C80.449 N9930 X.5106 C80.355 N9940 X.5107 C80.261 N9950 X.5108 C80.167 N9960 X.5109 C80.073

 

Хотелось бы как то так 

 

C0 X12.5138

C15 X13.0366

C30 X12.5138

 

Т.е. чтоб дугу разбивало на 2 отрезка. Одновременно врващалсь бы ось С на 15 град (полый сектор) при этом Х смещался на +0.5228; далее С30 и X в свою исходную позицию 

 

Bildschirmfoto 2020-05-07 um 15.13.05.png

KONTUR.prt

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


UnPinned posts

Собственно вопрос: почему фикс выводит хордами, а не круговой интерполяцией? 

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

Хотелось бы как то так 

 

C0 X12.5138

C15 X13.0366

C30 X12.5138

 

Кхм... может я что-то не понимаю, но тут у нас имеется G2, а не G1. У вас при таком типе движения C0 X12.5138 должна быть разная подача по осям, ИМХО. 

 

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

Собственно вопрос: почему фикс выводит хордами, а не круговой интерполяцией? 

 

Какой смысл фикседа в плоской операции? Или вы из секты "могу всё написать одной операцией"? Planar Mill наше всё

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

 

Кхм... может я что-то не понимаю, но тут у нас имеется G2, а не G1. У вас при таком типе движения C0 X12.5138 должна быть разная подача по осям, ИМХО. 

 

 

Какой смысл фикседа в плоской операции? Или вы из секты "могу всё написать одной операцией"? Planar Mill наше всё

 

1. почему? вот пример, как выводит программу обработки окружности 

 

Спойлер

 


%
N0010 G40 G17 G90 G71
N0020 G91 G28 Z0.0
N0030 T00 M06
N0040 G12.1
N0050 G01 G90 X-4.5 Y0.0 Z0.0 C0.0 F250. S0 M03 M08
N0060 X-4.506 C351.818
N0070 C343.636
N0080 C335.455
N0090 C327.273
N0100 C319.091
N0110 C310.909
N0120 C302.727
N0130 C294.545
N0140 C286.364
N0150 C278.182
N0160 C270.
N0170 C261.818
N0180 C253.636
N0190 C245.455
N0200 C237.273
N0210 C229.091
N0220 C220.909
N0230 C212.727
N0240 C204.545
N0250 C196.364
N0260 C188.182
N0270 C180.
N0280 C171.818
N0290 C163.636
N0300 C155.455
N0310 C147.273
N0320 C139.091
N0330 C130.909
N0340 C122.727
N0350 C114.545
N0360 C106.364
N0370 C98.182
N0380 C90.
N0390 C81.818
N0400 C73.636
N0410 C65.455
N0420 C57.273
N0430 C49.091
N0440 C40.909
N0450 C32.727
N0460 C24.545
N0470 C16.364
N0480 C8.182
N0490 X-4.5 C0.0
N0500 M02
%

 

Вот как выводит обработку сектора

 

%
N0010 G40 G17 G90 G71
N0020 G91 G28 Z0.0
N0030 T00 M06
N0040 G12.1
N0050 G01 G90 X.152 Y0.0 Z0.0 C30.001 F250. S0 M03 M08
N0060 X25.028
N0070 X25.31 C27.87
N0080 X25.545 C25.731
N0090 X25.737 C23.588
N0100 X25.887 C21.443
N0110 X25.994 C19.297
N0120 X26.059 C17.149
N0130 X26.08 C15.
N0140 X26.059 C12.851
N0150 X25.994 C10.703
N0160 X25.887 C8.557
N0170 X25.737 C6.412
N0180 X25.545 C4.269
N0190 X25.31 C2.13
N0200 X25.028 C359.999
N0210 M02
%

 

Кстати, а почему разбивает окружность на сектора? 

 

2. Как бы в секту не вступал, но понимать хотелось бы. Почему фикс делит на хорды? 

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

Кстати, а почему разбивает окружность на сектора? 

 

Это не сектора, а линейные перемещения. 

Вот так выглядит ваша траектория при круговой интерполяции. 

 

Спойлер

N8 G94 G1 Z0. F250.
N9 G41 X-12.689 Y3.4
N10 X-12.641 Y3.387
N11 G2 X-10.883 Y6.283 I5.844 J-1.566
N12 X-6.283 Y10.883 I5.907 J-1.307
N13 X0. Y12.566 I4.462 J-4.086
N14 X6.283 Y10.883 I1.821 J-5.769
N15 X10.883 Y6.283 I-1.307 J-5.907
N16 X12.566 Y0. I-4.086 J-4.462
N17 X10.883 Y-6.283 I-5.769 J-1.821
N18 X6.283 Y-10.883 I-5.907 J1.307
N19 X0. Y-12.566 I-4.462 J4.086
N20 X-6.283 Y-10.883 I-1.821 J5.769
N21 X-10.883 Y-6.283 I1.307 J5.907
N22 X-12.566 Y0. I4.086 J4.462
N23 X-12.641 Y3.387 I5.769 J1.821
N24 G1 X-12.689 Y3.4
N25 G40

 

3 часа назад, brshatcher сказал:

2. Как бы в секту не вступал, но понимать хотелось бы. Почему фикс делит на хорды? 

 

Видимо Фикс изначально задумывался как 3Д операция и только для линейной интерполяции

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

 

Это не сектора, а линейные перемещения. 

Вот так выглядит ваша траектория при круговой интерполяции. 

 

  Показать контент

 

 

Видимо Фикс изначально задумывался как 3Д операция и только для линейной интерполяции

 

 

Дело все в том, что, как я писал в пером посте, мне нужно отключить ось Y и задействованы должны быть оси X, Z и поворотный стол - ось С

 

Бог с тем фиксом. Интересует, почему пост дробит окружность как здесь в случае описания полной окружности 

 

%
N0010 G40 G17 G90 G71
N0020 G91 G28 Z0.0
N0030 T00 M06
N0040 G12.1
N0050 G01 G90 X-4.5 Y0.0 Z0.0 C0.0 F250. S0 M03 M08
N0060 X-4.506 C351.818
N0070 C343.636
N0080 C335.455
N0090 C327.273
N0100 C319.091
N0110 C310.909
N0120 C302.727
N0130 C294.545
N0140 C286.364
N0150 C278.182
N0160 C270.
N0170 C261.818
N0180 C253.636
N0190 C245.455
N0200 C237.273
N0210 C229.091
N0220 C220.909
N0230 C212.727
N0240 C204.545
N0250 C196.364
N0260 C188.182
N0270 C180.
N0280 C171.818
N0290 C163.636
N0300 C155.455
N0310 C147.273
N0320 C139.091
N0330 C130.909
N0340 C122.727
N0350 C114.545
N0360 C106.364
N0370 C98.182
N0380 C90.
N0390 C81.818
N0400 C73.636
N0410 C65.455
N0420 C57.273
N0430 C49.091
N0440 C40.909
N0450 C32.727
N0460 C24.545
N0470 C16.364
N0480 C8.182
N0490 X-4.5 C0.0
N0500 M02
%

 

или как тут, если говорить о конкретном секторе 

 

%
N0010 G40 G17 G90 G71
N0020 G91 G28 Z0.0
N0030 T00 M06
N0040 G12.1
N0050 G01 G90 X.152 Y0.0 Z0.0 C30.001 F250. S0 M03 M08
N0060 X25.028
N0070 X25.31 C27.87
N0080 X25.545 C25.731
N0090 X25.737 C23.588
N0100 X25.887 C21.443
N0110 X25.994 C19.297
N0120 X26.059 C17.149
N0130 X26.08 C15.
N0140 X26.059 C12.851
N0150 X25.994 C10.703
N0160 X25.887 C8.557
N0170 X25.737 C6.412
N0180 X25.545 C4.269
N0190 X25.31 C2.13
N0200 X25.028 C359.999
N0210 M02
%
Цитата

 

 

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

Бог с тем фиксом. Интересует, почему пост дробит окружность как здесь в случае описания полной окружности

 

Может быть надо как-то посту указать, что это должно быть выведено с учётом интерполяции по торцевой поверхности (не знаю какая у вас стойка, но в Siemens есть команда TRANSMIT_S4 (для главного шпинделя) и после неё система сама пересчитывает Y в C и синхронизирует движения осей, даже думать не надо.

Если это Fanuc, то надо смотреть какой и листать мануал, а также смотреть куплена ли данная опция (G12.1 скорее всего).

 

Спойлер

N10 G17 G710 G94 G90 FNORM
N20 ;Operation : PLANAR_MILL
N30 GETD(C4)
N40 ;Tool Change
N50 TC(2,0,0)
N60 G54
N70 TRANS X0. Y0. Z0.
N80 SUPA G0 X598.7 D0
N90 SUPA Y-108. Z450.
N100 C4=0.
N110 TRANSMIT(4)
N120 SETMS(1)
N130 G17 X-13.595 Y3.823 Z10. B0. S1=1061 D1 M1=3
N140 Z3.
N150 G94 G1 G90 Z0. F250.
N160 G41 X-12.689 Y3.4
N170 X-12.641 Y3.387
N180 G2 X-10.883 Y6.283 I5.844 J-1.566
N190 X-6.283 Y10.883 I5.907 J-1.307
N200 X0. Y12.566 I4.462 J-4.086
N210 X6.283 Y10.883 I1.821 J-5.769
N220 X10.883 Y6.283 I-1.307 J-5.907
N230 X12.566 Y0. I-4.086 J-4.462
N240 X10.883 Y-6.283 I-5.769 J-1.821
N250 X6.283 Y-10.883 I-5.907 J1.307
N260 X0. Y-12.566 I-4.462 J4.086
N270 X-6.283 Y-10.883 I-1.821 J5.769
N280 X-10.883 Y-6.283 I1.307 J5.907
N290 X-12.566 Y0. I4.086 J4.462
N300 X-12.641 Y3.387 I5.769 J1.821
N310 G1 X-12.689 Y3.4
N320 G40
N330 X-13.685 Y3.487
N340 Z3.
N350 G0 Z10.
N360 TRAFOOF
N370 TRANS
N380 M1=5

 

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

Стойка не самая свежая, поэтому программу нужно компактно сделать. Получается вместо двух-трех кадров для описания окружности NX дробит на 20-30. Как это лечится?

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

Стойка не самая свежая, поэтому программу нужно компактно сделать.

 

Как можно давать конкретный совет, если непонятно что у вас за станок, стойка и её опции, что за постпроцессор в базе? Это гадание о сферическом коне и смысла не имеет.

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

@grOOmi так причем тут станок? мне кажется любой станок может выехать в точку, врезаться и прокрутить стол от 0 до 360? 

 

Я создал новый пост милтурм. Должно выводить такую примитивную траекторию приблизительно так:

 

C0

X 2

Z-0.1

C360

Z 3

 

Т.е. подъехал, врезался провернулся стол на 360 (в одном кадре) и уехал. А у меня 

Приблизительно так

 

C0

X 2

Z-0.1

C5

С10

С15

...

С350

С355

С360

Z 3

 

 

@mr_Voden может можно вручную поправить траекторию и ее потом размножить, не смотрел. Но вопрос - почему NX дробит? Я думаю это пост так делает. Как это поправить? 

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

@brshatcher Я бы поглядел prt-шку, но ИМХО выше версии 8.5 Siemens NX только регрессировал по возможностям, поэтому не имею вашей версии.

Речь идет о multiaxis операциях? Выбраны линии-точки? Тогда может Настройки управления вам помогут?

111.png.508bedb7d0376fc3be65b2cb48b463c3.png

А вообще вопрос любопытный.

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

так причем тут станок? мне кажется любой станок может выехать в точку, врезаться и прокрутить стол от 0 до 360?

 

Разбирайтесь сами. Я прошу полную информацию, разговаривать ни о чём можете сами с собой

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

мне кажется Вы суть вопроса не поняли. Эту операцию можно сделать на токарном с приводным или на на фрезерном с поворотным столом. Причем тут станок, если пост выводит окружность состоящую их множества дуг?

 

 

В реальности у нас Maho, Sinumerik. Но это все не нужно. Давайте для упрощения скажем у меня Mach3 "стойка". 

 

Не могли бы Вы пояснить какое отношение имеет станок, если пост выводит вместо 

 

N10 C0

N20 C360 

 

Эту хрень

 

N10 C0

N20 C10

N30 C20

...

N360 C350

N370 C360

@grOOmi пожалуйста, поясните, причем тут станок? Все наши станки работают на G кодах. И всем достаточно в строке указать 

 

C0

C360 

 

и стол сделать оборот на 360 градусов. 

 

Совсем не обязательно в программно дробить эту окружность на дуги.

 

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

 

 

@mr_Voden не, делаю обычным Профиль 3Д. Если есть возможность, нарисуйте окружность и 3Д профилем пройдитесь и постом сгенирируйте, пжл, который во вложении. Причем если эту же окружность сгенерировать в 3х осевом посте с XYZ то выведет двумя кадрами, как положено. Как только отключаешь X и врубаешь C - дробит окружность на дуги. 

 

post.rar

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

@brshatcher Есть возможность, поглядел. При выборе полярки режим вывода дуг переходит в "LINEAR", поэтому пост дробит окружность на кучу отрезков.

Полагаю что стоит переключить режим вывода дуг в FULL_CIRCLE (чтобы получать инфу об окружности) и писать кастомный обработчик для MOM_circular_move. Я бы начал с этого.

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

@mr_Voden ну как то так и догадывался. Но как это реализовать - не знаю, не на столько я продвинутый. Может у кого-то есть готовый пост?

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

@brshatcher У меня нет. Полярка не востребована там где я работаю/работал. Впрочем, мне не кажется чтобы обработчик был шибко сложным. Ведь подобный фокус (вывод окружности одной командой поворота) возможен только для окружностей чей центр совпадает с осью вращения. Может я даже сделаю эту фигню, от скуки. И кстати, станок может и не двигаться все 360 градусов, а пойти по кратчайшему пути, и не совершить движения вовсе. Например вместо 355 сдвинуться на -5. Зависит от типа оси и настройки.

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

Изменено пользователем mr_Voden
вспомнилось
Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, brshatcher сказал:

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

 

Мой выводит, но для стойки Siemens 840D sl. Какой пост у вас я вообще без понятия. Реализация поста зависит от возможностей станка и его настроек. Это понятно? Как вам ещё это объяснить?

Нет такого понятия как абстрактный пост, а уж для Фануса так тем более. Там два станка одинаковых могут быть очень разными по стойке. 

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

 

Мой выводит, но для стойки Siemens 840D sl. Какой пост у вас я вообще без понятия. Реализация поста зависит от возможностей станка и его настроек. Это понятно? Как вам ещё это объяснить?

Нет такого понятия как абстрактный пост, а уж для Фануса так тем более. Там два станка одинаковых могут быть очень разными по стойке. 

не могли бы показать, что получилось на выходе?

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

не могли бы показать, что получилось на выходе?

 

Вот ваш пост, это не рабочий вариант, так поправлен на быструю руку. Надо ещё несколько проверок написать и по хорошему добавить новый тип движения.

В событиях начала операции надо повесить событие Set Polar.

 

Да, если есть желание, то могу сделать вам нормальный рабочий пост, но не бесплатно.

post_turn.rar

 

Спойлер

N0010 G40 G17 G90 G71
N0020 G91 G28 Z0.0
N0030 T02 M06
N0040 G12.1
N0050 G00 G90 X-28.245 Y0.0 C344.295 S1061 M03
N0060 G43 Z10. H01
N0070 Z3.
N0080 G01 Z0.0 F250. M08
N0090 G41 X-26.273 C345. D01
N0100 X-26.173
N0110 G02 X-25.132 C330. I6.05 J0.0
N0120 C300. I5.769 J1.821
N0130 C270. I5.769 J0.0
N0140 C240. I5.769 J1.821
N0150 C210. I5.769 J1.821
N0160 G03 C180. I5.769 J1.821
N0170 G02 C150. I5.769 J1.821
N0180 C120. I5.769 J1.821
N0190 C90. I5.769 J1.821
N0200 C60. I5.769 J1.821
N0210 C30. I5.769 J1.821
N0220 C0.0 I5.769 J1.821
N0230 X-26.173 C345. I5.769 J1.821
N0240 G01 X-26.273
N0250 G40
N0260 X-28.245 C345.705
N0270 Z3.
N0280 G00 Z10.
N0290 M02

 

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

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

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

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

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

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

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

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

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

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

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




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