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

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

Здравствуйте.
Извиняюсь за много букоф, попытался объяснить как смог и, вероятно, моё объяснение будет ужасным.
С SolidCAM познакомился недавно, поэтому есть несколько вопросов по настройке файла станка, настройке фрезерной обработки и в последствии написании\допиливания постпроцессора. Карусельно-фрезерный станок(или вертикальный токарно-фрезерный) с физическими тремя координатами: линейные "X-Z", поворотная "C". Стойка Sinumerik 840D и на неё имеется фишка с мнимой\виртуальной линейной осью "Y"(через TRANSMIT), с помощью которой можно сделать прямые линии при обработке по торцу детали(да и не только на торце полагаю), которая часто используется.
Оси и расположение инструмента попытался изобразить на рисунке.

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

5b166c0b1bc4e_.PNG.815cbaae3083bc7f75bc95f0a26c4d81.PNG


Ещё одна фишка с этой мнимой осью "Y" такая, что эта ось относительная. Сначала поворачиваем деталь на нужный угол "С", потом включается TRANSMIT и ось "C" становится осью "Y" и в этот момент "Y"=0. После выключении TRANSMIT поворачивается на следующий угол "C" и при включении TRANSMIT в этот момент снова "Y"=0. При движении по "Y" станок физически одновременно поворачивает планшайбу и доводит координату "X".
Пазы пробовал обрабатывать функцией "Обработка кармана". И пока просто всё выглядит не плохо, да вот значения координат не те. Если оставить как есть, то координаты "Y" будут выдаваться не от середины паза, где можно было бы задать "C"=0 и от него бы другие пазы на других заданных углах делать. Трансформацию в SolidCAM я пробовал и все бы ничего, если пазы у нас однаковые. Но если на торце есть разные пазы на разных углах, то при трансформации первый паз в визуализации всегда имеет "C"=0, а не относительно заданной МАС-позиции. От этого я не могу понять, как и где нужно отредактировать постпроцессор\файл станка, чтобы поворот оси C на угол был относительно одной точки, а не постоянно равен нулю при создании нового перехода и повороте плоскости при трансформации. И так же если делать сверление отверстий будь то на торце или наружном диаметре требуется правильное позиционирование по углу "C" Что я делаю не так и куда тыкать мозгов у меня уже не хватает.

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

Снимок44.jpg

Снимок55.jpg

 

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


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

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

Оно и понятно, что нужен нормальный постпроцессор, но где же его взять.:smile:Если у кого такой имеется я бы на него поглазел:biggrin(old):. А из-за его отсутствия пробую ковырять что есть, а точнее чего даже нет.

Появилась идея-костыль, как можно вывести нужные уголы в УП, но надо подумать как правильно реализовать это в постпроцессоре. А идея следующая. Ввести переменную в файле станка - "Фрезерование - Доп. параметры" в которую, при создании перехода, необходимо будет написать начальный угол на котором будет производиться обработка. А так как при трансформации выводится относительный угол(насколько я понимаю) "вокруг 4ой оси" для первого выбранного контура, то в постпроцессоре вычислять уже настоящий угол от вписанного начального.

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

У нас на предприятии стоит похожий стерлитамакского производства 800VT. Программы для фрезерной обработки пишем как для обычного 3-х осевого. Пример программы прилагаю.

D14.txt

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

Находим центр стола и записываем полученные координаты в G54. Потом в MDA прописываем G54 TRANSMIT нажимаем пуск,станок переводится в X,Y и подводим к предполагаемому нулю детали, без сброса G54 и TRANSMIT записываем в G55 полученные  координаты(В "С" записываем координаты Y).

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

Мы делаем иначе. Если нужна ширина паза 100мм по торцу, то поворачиваем на нужный угол(относительно выставленного в G54, если он имеется), который делит паз пополам и включаем TRANSMIT. Так Y будет меняется от +(100/2-Rфрезы) до -(100/2-Rфрезы). Так как подобная фрезеровка пишется вручную, то использую расширенное программирование через переменные,оператор условия IF, оператор цикла с предусловием WHILE.

 

Возвращаясь к основной теме, я думал уже обрадоваться, что может получиться вывести нужный угол в УП через процедуры "@tmatrix" и "@transform_info", как прилетает процедура "@arc" с своим блэкджэком и координатами.:black_eye: Пока мучался с углами не замечал, что "@arc" выдаёт не то, что надо и даже trace показывает, что другого он выдать не может(или я не туда смотрю), что как-то не логично. А вот с @line, вроде, всё нормально.

 

Вырезал часть сгенерированного кода с trace

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

;>>> P-contour6 >>>
N410 M0
N420 G0 C307.5
N430 ONTRANSMIT
N440    X524.368 Y5 Z25
N450    Z-140
(1)@line            ==> xpos:450.000T ypos:5.000F zpos:-140.000F feed:0.200T feed_teeth:0.050T spin:500.000F
                    ..> xhpos:277.910T yhpos:-353.965T zhpos:-140.000F
                    ..> next_direction:270.000 feed_type:'feed_rate'
                    ..>
N460 G1 X450 F0.2
(1)@line            ==> xpos:450.000F ypos:-5.000T zpos:-140.000F feed:0.200F feed_teeth:0.050F spin:500.000F
                    ..> xhpos:269.976T yhpos:-360.052T zhpos:-140.000F
                    ..> next_direction:0.000 feed_type:'feed_rate'
                    ..>
N470    Y-5
(1)@line            ==> xpos:524.368T ypos:-5.000F zpos:-140.000F feed:0.200F feed_teeth:0.050F spin:500.000F
                    ..> xhpos:315.248T yhpos:-419.053T zhpos:-140.000F
                    ..> next_direction:0.000 feed_type:'feed_rate'
                    ..>
N480    X524.368
N490 G0 Z25
N500    Y15
N510    Z-140
(1)@line            ==> xpos:445.000T ypos:15.000F zpos:-140.000F feed:0.200F feed_teeth:0.050F spin:500.000F
                    ..> xhpos:282.799T yhpos:-343.911T zhpos:-140.000F
                    ..> next_direction:180.000 feed_type:'feed_rate'
                    ..>
N520 G1 X445
(1)@arc             ==> xpos:427.595T ypos:-104.221T zpos:-140.000F feed:0.200F
                    ..> feed_teeth:0.050F spin:500.000F
                    ..> arc_direction:ccw radius:5.000
                    ..> xcenter:432.425 ycenter:-105.515
                    ..> arc_plane:xy next_direction:270.000
                    ..> start_angle:90.000 end_angle:180.000 arc_size:90.000
                    ..> xcenter_rel:0.000 ycenter_rel:-5.000 zstart:-140.000
                    ..> feed_type:'feed_rate' arc_feed:0.067
                    ..> xhpos:275.789T yhpos:-342.987T zhpos:-140.000F
                    ..> xhcenter:278.833 yhcenter:-346.954 zhcenter:-140.000
                    ..> xhstart:282.799 yhstart:-343.911 zhstart:-140.000
                    ..> xhcenter_rel:-3.967 yhcenter_rel:-3.043 zhcenter_rel:0.000
                    ..> arc_plane_h:xy arc_direction_h:ccw start_angle_h:90.000 end_angle_h:180.000
                      > N530 G3 X855.191 Y-104.221 Z-140 CR=5.
(1)@line            ==> xpos:440.000F ypos:-10.000T zpos:-140.000F feed:0.200F feed_teeth:0.050F spin:500.000F
                    ..> xhpos:259.922T yhpos:-355.164T zhpos:-140.000F
                    ..> next_direction:270.000 feed_type:'feed_rate'
                    ..>
N540 G1 Y-10
(1)@arc             ==> xpos:425.955T ypos:-129.663T zpos:-140.000F feed:0.200F
                    ..> feed_teeth:0.050F spin:500.000F
                    ..> arc_direction:ccw radius:5.000
                    ..> xcenter:427.249 ycenter:-124.833
                    ..> arc_plane:xy next_direction:0.000
                    ..> start_angle:180.000 end_angle:270.000 arc_size:90.000
                    ..> xcenter_rel:5.000 ycenter_rel:0.000 zstart:-140.000
                    ..> feed_type:'feed_rate' arc_feed:0.067
                    ..> xhpos:258.999T yhpos:-362.174T zhpos:-140.000F
                    ..> xhcenter:262.966 yhcenter:-359.130 zhcenter:-140.000
                    ..> xhstart:259.922 yhstart:-355.164 zhstart:-140.000
                    ..> xhcenter_rel:3.044 yhcenter_rel:-3.966 zhcenter_rel:0.000
                    ..> arc_plane_h:xy arc_direction_h:ccw start_angle_h:180.000 end_angle_h:270.000
                      > N550 G3 X851.91 Y-129.663 Z-140 CR=5.
(1)@line            ==> xpos:524.368T ypos:-15.000F zpos:-140.000F feed:0.200F feed_teeth:0.050F spin:500.000F
                    ..> xhpos:307.315T yhpos:-425.140T zhpos:-140.000F
                    ..> next_direction:0.000 feed_type:'feed_rate'
                    ..>
N560 G1 X524.368
N570 G0 Z25
OFTRANSMIT
;<<< KONEC P-contour6 <<<

 

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

6a71389c9u.jpg

TTBh0S8Fe2.jpg

 

 

 

Процедура "@arc"

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

@arc
{nb}
    if arc_direction eq CCW then
        gcode = 3
    else         ; CW
        gcode = 2
    endif
    ;{['G'gcode] ' X'xend:'5.3(/1p)' ' Y'yend ' Z'zend}
     {['G'gcode] ' X'xpos:'5.3(/1p)' ' Y'ypos ' Z'zpos}
        
if arc_size > 180 then
            radius = -radius
        endif
        {' CR='radius}
 if feed_unit eq css

        if m_feed_flag eq 1
           {' F'feed }
           m_feed_flag = 0
        else
           {[' F'feed] }
        endif
    else
        if m_feed_flag eq 1
           {' F'feed:'5.0(p)'}
           m_feed_flag = 0
        else
           {[' F'feed:'5.0(p)']}
        endif
    endif  
 endp

 

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

Возвращаясь к основной теме, я думал уже обрадоваться, что может получиться вывести нужный угол в УП через процедуры "@tmatrix" и "@transform_info", как прилетает процедура "@arc" с своим блэкджэком и координатами.:black_eye: Пока мучался с углами не замечал, что "@arc" выдаёт не то, что надо и даже trace показывает, что другого он выдать не может(или я не туда смотрю), что как-то не логично. А вот с @line, вроде, всё нормально.

нужные процедура которые вам требуется прописать это

@move_5x

xrad1=xrpos*2
gcode = 0
    {nb, 'G' gcode, ' ', ['X' xrad1:'5.3(p)', ' '] , ['Z' zpos, ' '] , ['C' apos' ']}

endp

@line_5x

xrad1=xrpos*2

if next_command eq '@turn_endproc'
        blknum_exist = true
    endif
     gcode = 101
    {nb, 'G' gcode, ' '}
    

If bTurnCycle eq TRUE Then
    {['X' xrad1:'5.3(p)', ' '], ['Z' zpos, ' '] , ['C' apos, ' ']}    
    Else
        If Prev_command eq '@compensation' then
        {'G' iCompSide, ' '}
        endif
    
    {['X' xrad1:'5.3(p)', ' '], ['Z' zpos, ' '], ['C' apos, ' ']}
      If bFLineMv eq TRUE Then
      {['F' feed]}
      Endif
    
      Endif
endp


@arc_5x
if arc_direction eq CCW then
        gcode = 103
    else         ; CW
        gcode = 102
    endif
    {nb,'G' gcode, ' '}
    If Prev_command eq '@compensation' then
        {'G' iCompSide, ' '}
    endif
    {['X' xrpos], ['Z' zpos], ['C'apos]' '}
    if arc_size >= 180 then
        radius = - radius
    endif
    {['R' radius, ' ']}
    If bFArcMv eq TRUE Then          
        If feed_unit eq mm_rev Then
            {'F' feed : sFeedUpr_f}
        Else
            {'F' feed : sFeedUpm_f}
        Endif
    Else
        If bCycleFeed eq TRUE Then
            If feed_unit eq mm_rev Then
                {['F' finish_feed : sFeedUpr_f]}
            Else
                {['F' finish_feed : sFeedUpm_f]}
            Endif
        Else
            If feed_unit eq mm_rev Then
                {['F' feed : sFeedUpr_f]}
            Else
                {['F' feed : sFeedUpr_f]}
            Endif
        Endif
    Endif
    bFLineMv = FALSE                    
    bFArcMv = FALSE                    
    if prev_command eq '@turn_proc'
        blknum_exist = false
    endif    
endp

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

нужные процедура которые вам требуется прописать это

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

@move_5x

xrad1=xrpos*2
gcode = 0
    {nb, 'G' gcode, ' ', ['X' xrad1:'5.3(p)', ' '] , ['Z' zpos, ' '] , ['C' apos' ']}

endp

@line_5x

xrad1=xrpos*2

if next_command eq '@turn_endproc'
        blknum_exist = true
    endif
     gcode = 101
    {nb, 'G' gcode, ' '}
    

If bTurnCycle eq TRUE Then
    {['X' xrad1:'5.3(p)', ' '], ['Z' zpos, ' '] , ['C' apos, ' ']}    
    Else
        If Prev_command eq '@compensation' then
        {'G' iCompSide, ' '}
        endif
    
    {['X' xrad1:'5.3(p)', ' '], ['Z' zpos, ' '], ['C' apos, ' ']}
      If bFLineMv eq TRUE Then
      {['F' feed]}
      Endif
    
      Endif
endp


@arc_5x
if arc_direction eq CCW then
        gcode = 103
    else         ; CW
        gcode = 102
    endif
    {nb,'G' gcode, ' '}
    If Prev_command eq '@compensation' then
        {'G' iCompSide, ' '}
    endif
    {['X' xrpos], ['Z' zpos], ['C'apos]' '}
    if arc_size >= 180 then
        radius = - radius
    endif
    {['R' radius, ' ']}
    If bFArcMv eq TRUE Then          
        If feed_unit eq mm_rev Then
            {'F' feed : sFeedUpr_f}
        Else
            {'F' feed : sFeedUpm_f}
        Endif
    Else
        If bCycleFeed eq TRUE Then
            If feed_unit eq mm_rev Then
                {['F' finish_feed : sFeedUpr_f]}
            Else
                {['F' finish_feed : sFeedUpm_f]}
            Endif
        Else
            If feed_unit eq mm_rev Then
                {['F' feed : sFeedUpr_f]}
            Else
                {['F' feed : sFeedUpr_f]}
            Endif
        Endif
    Endif
    bFLineMv = FALSE                    
    bFArcMv = FALSE                    
    if prev_command eq '@turn_proc'
        blknum_exist = false
    endif    
endp

 

Эти процедуры, вроде как, для многоосевой обработки, а я использую обычный "Переход обработки кармана" в "2.5D Переходы"(пока писал сообщение уже попробовал и "Обработка паза" и "Контур 3D", но результат тот же). Поэтому процедура "@arc" как раз мне и нужна, но мне не понятно, почему она выдаёт мне координаты относительно какой-то другой системы координат(MAC1-позиция1, насколько я понимаю), когда я специально сделал другую МАС1-позиция2, где ось "X" смотри в середину паза, тем самым Y=0 будет серединой паза. Далее произвожу трансформацию "4-я ось" на нужные углы(Судя по выводу координат в "@line", то МАС1-позиция2 поворачивается тоже). В постпроцессоре уже даже прописал расчет углов по "C" относительно новой MAC-позиции и трансформации и пока на моей выдуманной детали они записываются в УП даже правильно, но "@arc" всё загадочно портит. Прям так и напрашивается ощущение, что может это какой-то глюк\баг, а может чего в файле станка недокрутил.

 

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

Эти процедуры, вроде как, для многоосевой обработки

эти процедуры для вывода полярных кординат

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • EvgenyAly
      Спасибо за подсказку ,стандартное меню я так и не смог запустить ,а вот благодаря Вашей подсказке нашел пароль от сервисного меню там появились дополнительные возможности, собственно какие я и искал, пароль 1521 
    • Павлуха
      Недоопределённые детали видно. Читайте справку.
    • andref
      @Igor Lipin Основная ошибка 21612 у вас по оси S1/C11 А что за ось С13 с которой связаны остальные ошибки? Это не привод  вращения инструмента?
    • RokiSIA
      Не совсем так, судя по мануалу выхода у OMI-2 гальванически развязаны но это ладно есть другой не мало важный вопрос. У датчика Omi есть выход B (желтые провод) и его выходное напряжение зависит от входа(оранжевый провод). У OMI 2 желтый провод это фиксированное выходное напряжение 5в, а оранжевый провод стал уже выходом и напряжение зависит от напряжения входного питания.
    • Srgwell
      Есть такая штуковина в эскизах соливеркса. В эскизах если отрезки темные они определены. Было бы здорово, если в сборке деталей детали которые подвижные, то есть у которых не хватает сопряжений, обозначались другим цветом. У меня, например вчера большая сборка из-за каких то движений не сопряженных деталей так перевернулась!!! Я долго искал детали, которые подвижные. Конечно я перевертыш вернул назад, но причину искал долго.
    • Udav817
      таки в чём именно проблема? опыта чтения чертежей? строить модели можно очень разными способами. упоротыми и не очень.  даже вал можно построить двумя почти равнозначными способами.  1. сделать эскиз половины вала (по оси) и потом "крутануть" вокруг оси. 2. построить один цилиндр (или конус). потом следующий. и так каждый элемент вала. правда потом нужный размер искать и редактировать, в случае корректировок очень неудобно. но для простых моделей из 2-3 элементов технология построения вполне сойдёт. ну это как раз и есть задача конструктора - выбрать базу построения. или что, на каких-то подобных деталях по аналогии нельзя вывод сделать? перенести могут админы. если им написать. отредактировать можно только в ограниченный промежуток времени. потом - только админы. а ветка видимо эта: https://cccp3d.ru/forum/37-nx/ ну и вообще... может вы там свои ответы и так найдёте.
    • Bot
      14 -15 марта в Центре разработки АСКОН в Коломне состоялось закрытое альфа-тестирование, где приглашенные пользователи первыми опробовали практически готовый КОМПАС-3D v23. В этом году в команду «альфа» вошли сотрудники предприятий Объединенной двигателестроительной корпорации и заслуженные испытатели новых версий САПР из Москвы и Новосибирска. Главная задача участников тестирования — попробовать своими руками, как реализованы их пожелания к системе проектирования. Смотреть полностью
    • Udav817
      второму размеру квалитет выше 9 уже не назначить. это будет бред, который можно и нужно округлить, т.к. значение отклонения превышает значение низшего разряда значащей части размера. а если у обоих размеров 7 квалитет, то с чего бы они оценивались по-разному?
    • roiman
      По картинке у вас идёт контакт зуба "кулачка" с роликом цепи и всё. Профиль никак не задействован. Это не кулачок. Цепь просто передаёт усилие от пружины. Задача этого т.н. "кулачка" - перевести горизонтальное усилие от пружины в вертикальное, наверно. А дальше. Дальше непонятно. Как коромысло закреплено. Где ось вращения. Что это за 3 отверстия. И пр. Скорей всего, регулировка момента проводится просто изменением плеча усилия контакта зуба от оси вращения. Но это, опять же, догадки.   Но мне неинтересно больше. Можете не тратить своё время на объяснение. Достаточно уже моего потраченного. Очевидно, что вы не хотите решить производственную задачу, а просто выполняете поручение, и результат вам не важен.   Ну, не знаю. Зрение, конечно, не идеальное, но на картинке вижу подобие выступов и  впадин. Ещё один аргумент в пользу того, что вы большей части начальных условий задачи не дали. Не удивлюсь, что там есть еще элементы в конструкции, которые снова поменяют постановку задачи.     Вам уже сказали, что это не методичка. Это статья, написанная по-быстрому на коленке, чтобы выполнить годовой кафедральный план на кол-во публикаций. Максимум, что можно из неё взять - схему, и то, половинчатую, т.к. всё интересное упоминается парой малозначащих предложений.   Запятые, пунктуация... Челябинское предприятие, производящее пантографы, делает пантографы для трамваев ПК ТС. Не УКВЗ. Но я мало, что знаю про него. Видел на выставке издалека их стенд. Хотя в вашем предложении можно найти двойной подтекст, учитывая кем работал Иванов, и какое отношение Винокур имел к УКВЗ.   Ладно, закончим. Спасибо за ваше уделённое время и ответы.
    • Guhl
      Питание (6.. 7В) надо подавать на XCommand-24 (V6BACKUP) Параметры сливать либо программой 2000WU.EXE, либо руками переписать Если привод управляется не по модбас, то все не так уж и страшно выглядит. Если по модбас, то либо настраивать чпу, либо ставить между чпу и приводом отдельный плк    
×
×
  • Создать...