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

Поворотная ось, индексная - как программировать?


Rionet

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

Работаю в Mach3 в трех осях.

Есть детали для которых была бы удобна обработка с автоповоротом. Синхронно 4 оси не требуются.

Если мы ставим поворотную ось по типу делительного приспособления, с фиксированными положениями, допустим через 15 градусов.

То управляться она будет макросами, верно понимаю? (шаг+, шаг-, зажим, отжим?)

 

Как в таком случае писать программы?

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

И также делать трансформации программ по углу?

Что будет если я выберу неправильный угол?

 

Каким образом солидкам будет преобразовывать угловой поворот оси в макросы?

 

Перерыл все справки и видео, нашел только установку "indexable" для "порядка осей" в редакторе станка "vmid", и больше ничего.

Как это работает?

 

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


11 час назад, Rionet сказал:

То управляться она будет макросами, верно понимаю? (шаг+, шаг-, зажим, отжим?)

 

Нет, не обязательно

11 час назад, Rionet сказал:

Как в таком случае писать программы?

Как и для 3х осей только с добавлением еще одной оси А или В смотря как она у вас будет называться

11 час назад, Rionet сказал:

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

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

11 час назад, Rionet сказал:

И также делать трансформации программ по углу?

Да

11 час назад, Rionet сказал:

Что будет если я выберу неправильный угол?

 Что бы такого не случилось перед тем как делать вывод УП надо сделать симуляцию и посмотреть все ли правильно и без зарезов отрабатывается, а только потом делать вывод УП, а дальше уже дело за постпроцессором, если он правильно настроен то и на станке все будет хорошо ! 

11 час назад, Rionet сказал:

Каким образом солидкам будет преобразовывать угловой поворот оси в макросы?

Это зависит от того как у вас написан постпроцессор, способен ли он выводить макросы или нет и сможет ли ваш мач3 их прочитать )

11 час назад, Rionet сказал:

Перерыл все справки и видео, нашел только установку "indexable" для "порядка осей" в редакторе станка "vmid", и больше ничего.

Как это работает?

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

Изменено пользователем CNC_SKILL
Ссылка на сообщение
Поделиться на других сайтах
В 14.10.2019 в 08:30, CNC_SKILL сказал:
В 13.10.2019 в 21:13, Rionet сказал:

То управляться она будет макросами, верно понимаю? (шаг+, шаг-, зажим, отжим?)

 

Нет, не обязательно

 

В 14.10.2019 в 08:30, CNC_SKILL сказал:
В 13.10.2019 в 21:13, Rionet сказал:

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

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

Допускаю также вариант при котором ось имеет непрерывный привод и тормоз, тогда, пожалуй соглашусь.

В таком случае ось может управляться обычной командой поворота G0 Axx как непрерывная, а тормоз может отрабатываться самой стойкой.

 

Я рассматриваю ось, которая имеет фиксированные положения и никакие другие.

Пример - http://www.ckd.co.jp/kiki/en/digitalcatalog/standard/Index/HTML5/pc.html#/page/52

 

В таком случае мне непонятно как объяснить солидкаму эту механику?

В 14.10.2019 в 08:30, CNC_SKILL сказал:
В 13.10.2019 в 21:13, Rionet сказал:

Что будет если я выберу неправильный угол?

 Что бы такого не случилось перед тем как делать вывод УП надо сделать симуляцию и посмотреть все ли правильно и без зарезов отрабатывается, а только потом делать вывод УП, а дальше уже дело за постпроцессором, если он правильно настроен то и на станке все будет хорошо ! 

И это тоже непонятно, т.к. неясно как он отсимулирует то что ось имеет только фиксированные положения?

 

В 14.10.2019 в 08:30, CNC_SKILL сказал:
В 13.10.2019 в 21:13, Rionet сказал:

Перерыл все справки и видео, нашел только установку "indexable" для "порядка осей" в редакторе станка "vmid", и больше ничего.

Как это работает?

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

У нас видимо разное понимание понятия "индексная". В моем случае это предполагает набор фиксированных положений. В вашем (и в солидкаме также?) ось, которая поворачивается произвольно и не двигается в ходе обработки. (на мой взгляд сам корень index предполагает отсчет положений..) Буду признателен за подробный ответ на исходные вопросы.

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

Буду признателен за подробный ответ на исходные вопросы.

Пиши  в личку )

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

Все у тебя отработает нормально, если ты собираешься делать трехосевую обработку на указанных углах поворота. Т. е. у тебя в программе появится А0. , А15. , А30. и т. д.

Дальше все зависит от постпроцессора. Он автоматом выведет тебе эти углы.

Тебе надо выставить систему координат по оси вращения. Дальше стандартная трехосевая обработка.

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

 

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

У нас видимо разное понимание понятия "индексная". В моем случае это предполагает набор фиксированных положений. В вашем (и в солидкаме также?) ось, которая поворачивается произвольно и не двигается в ходе обработки. (на мой взгляд сам корень index предполагает отсчет положений..) Буду признателен за подробный ответ на исходные вопросы.

Нужно для МАС1 создавать дополнительные Позиции с номерами 2,3 ну т.д., если постпроцессор поддерживает позиционирование для таких поворотов. Концентрирую - Позиции. В матчасти это описывалось.

 

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

для себя я сделал вот так для вращения осиY, для себя можешь сделать что то подобное. это я лично придумал для себя. КАК СДЕЛАТЬ ПО ДРУГОМУ Я НЕ ЗНАЮ.

 

;       {nb,'A'(rotate_angle_x) ' B'(rotate_angle_y) ' C'(rotate_angle_z)}


      global numeric rot_b rot_b2 rot_b3  
      rot_b =(rotate_angle_x+rotate_angle_y*-1)
      rot_b2 =(-rotate_angle_x+rotate_angle_y)
      rot_b3 =(rotate_angle_x+rotate_angle_y)

 

 

;                                  Поворот стола B (от 0 до 180) и (от 0 до -179)  

   ;     if machine_plane eq XY
 ;     if rot_b >180 and rot_b <270                                  ;*-
 ;     {nb,'G0',' B'(-rotate_angle_x+rotate_angle_y*-1)}     ;--
 ;     endif

 

 ;     if rot_b2 >= -90 and rot_b2 <0                               ;--
 ;     {nb,'G0',' B'(-rotate_angle_x+rotate_angle_y)}        ;*-
 ;     endif
 
 ;     if rot_b3 >=0  and rot_b3  <=90                            ;--
 ;    {nb,'G0',' B'(-rotate_angle_x+rotate_angle_y)}         ;-*
 ;     endif
 
 ;     if rot_b3 >=180  and rot_b3  <=269                        ;-*
 ;     {nb,'G0',' B'(rotate_angle_x+rotate_angle_y*-1)}      ;--
 ;    endif
  ;       endif
; --------------------------------------------------------------------------------------------

 

;                                     Поворот стола B РЕВЕРС (от 0 до -180) и (от 0 до 179)

 

          if machine_plane eq XY

        if rot_b >180 and rot_b <270                                     ;*-
        {nb,'G0',' B'(rotate_angle_x+rotate_angle_y)}              ;--
        endif

 

        if rot_b2 >= -90 and rot_b2 <0                                  ;--
        {nb,'G0',' B'(rotate_angle_y*-1)}                                ;*-
        endif

 

        if rot_b3 eq 0                                                          ;- -
        {nb,'G0',' B'(rotate_angle_y)}                                   ;-*-
        endif

 

        if rot_b3 eq 180                                                      ;-*-
        {nb,'G0',' B'(rotate_angle_x)}                                    ;- -
        endif

 

        if rot_b3 >180  and rot_b3  <=269                            ;-*
        {nb,'G0',' B'(-rotate_angle_x+rotate_angle_y)}            ;--
        endif


         if rot_b3 >0  and rot_b3  <=90                                ;--
        {nb,'G0',' B'(rotate_angle_y*-1)}                               ;-*
        endif
      
          endif
 
; --------------------------------------------------------------------------------------------
; --------------------------------------------------------------------------------------------
;                                 Поворот стола B (от 0 до 359)

 ;   rot_b =(-rotate_angle_x+rotate_angle_y)

    ;  if machine_plane eq XY   
 ;   if rot_b <-90                                                             ;**
 ;   {nb,'G0',' B'(rotate_angle_x+rotate_angle_y*-1)}         ;--
 ;   endif

 

 ;   if rot_b >=0 and rot_b <=90                                    ;--
 ;   {nb,'G0',' B'(-rotate_angle_x+rotate_angle_y)}           ;-*
 ;   endif

 

 ;   if rot_b >=-90 and rot_b <0                                     ;--
 ;   {nb,'G0',' B'(360+rotate_angle_y)}                            ;*-
 ;   endif
    ;   endif
; --------------------------------------------------------------------------------------------

;                                 Поворот стола РЕВЕРС B (от 0 до -359)

  ;   rot_b =(-rotate_angle_x+rotate_angle_y)
  ;   rot_b3 =(rotate_angle_x+rotate_angle_y)
 
    ;  if machine_plane eq XY    
  ;  if rot_b <-90                                                            ;**
  ;  {nb,'G0',' B'(-rotate_angle_x+rotate_angle_y)}           ;--
  ;  endif

 

  ;  if rot_b >0 and rot_b <=90                                       ;--
  ;  {nb,'G0',' B'(rotate_angle_y*-1)}                                ;-*
  ;  endif

 

  ;  if rot_b >=-90 and rot_b <0                                      ;--
  ;  {nb,'G0',' B'(-360+rotate_angle_y*-1)}                       ;*-
  ;  endif

 

  ;  if rot_b3 eq 0                                                         ;- -
  ;  {nb,'G0',' B'(rotate_angle_y)}                                  ;-*-
  ;  endif
     ;  endif
; --------------------------------------------------------------------------------------------

 

Изменено пользователем orfey90
Ссылка на сообщение
Поделиться на других сайтах
В 16.10.2019 в 03:25, maxems сказал:

Все у тебя отработает нормально, если ты собираешься делать трехосевую обработку на указанных углах поворота. Т. е. у тебя в программе появится А0. , А15. , А30. и т. д.

Я вас понял, такой вариант я делал когда у меня была непрерывная ось вращения. Соответственно G0 A15 и т.д. отрабатывается станком нативным образом.

А вот на индексной оси с фиксированными положениями я ранее не работал, там нужно чтобы станок шаги делал и как я понимаю делается это макросами (шаг+, шаг-).  Соответственно в коде должно появиться нужное число шагов поворота. Вот этот момент я пока не могу понять.

 

В 16.10.2019 в 16:36, sennik53 сказал:

Нужно для МАС1 создавать дополнительные Позиции с номерами 2,3 ну т.д., если постпроцессор поддерживает позиционирование для таких поворотов. Концентрирую - Позиции. В матчасти это описывалось.

Суть понятна. Соответственно позиции я назначаю по углам как считаю нужным а уже за их соответствием возможностям станка следит постпроцессор?

Такой же эффект я получаю если делаю трансформацию любой программы по множеству углов, верно?

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

Такой же эффект я получаю если делаю трансформацию любой программы по множеству углов, верно

если в постпроцессоре есть поворот по оси, т.е. он должен быть 4-х осевой или 3+1.

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

Еще раз для последнего ряда.

Позиции/трансформации я назначаю по углам как считаю нужным а уже за их соответствием возможностям станка следит постпроцессор?

Т.е. если выбранные углы не совпадут с возможностями индексатора должна быть выдана ошибка при генерации G-кода?

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • MagicNight
      Да дело не в бедности, ищу оптимальный ноут, пока не могу найти.
    • Bot
      АСКОН объявляет о старте открытого бета-тестирования новой версии КОМПАС-3D и приложений. Коммерческая версия КОМПАС-3D v23 выйдет летом 2024 года, но уже сейчас испытать новинки может любой желающий. Бета-тестирование — это проверка новой функциональности в «полевых» условиях, когда пользователи знакомятся с нововведениями на собственных проектах и сценариях работы, а также проверяют совместимость со своим программно-аппаратным обеспечением. Новая версия создавалась в соответствии с дорожной картой АСКОН для задач проектирования изделий высокотехнологичных отраслей и стала еще более функциональной и производительной. При разработке учитывались предложения пользователей по темам трехмерного моделирования, подготовки чертежей и спецификаций, приложений для машиностроения, приборостроения и строительства. Бета-версия КОМПАС-3D открыта для всех. Дистрибутив предоставляется бесплатно на время проведения тестирования. *** Период проведения бета-тестирования: с 6 [...] View the full article
    • fenics555
      Уважаемые Дамы и Господа!  Есть библиотечные изделия, которые почему-то очень доооооолго грузятся в сборках. Я хочу попросить Вас потестить их и сказать в чем причина, ибо совсем невозможно работать. gost18829-73.prt.1 pin_split.prt.1 Как это всё можно ускорить?
    • gudstartup
      а вы хоть станок проверяли по программе на изделии на точность прежде чем товарищей этих выгнать? если нет то грешите на самих себя! система в наших краях еще не распространенная поэтому и тем тут нет надо в поднебесную писать
    • AlexArt
      Ну допустим, ты и на другом ресурсе это опубликовал. А не коммуниздил. Но вот продвигать воровство от государства, ворующее из Вики, это верх мерзости.
    • maxx2000
      Ах, да. Фильтры выбора добавили. Теперь можно выбрать только то что видно на первом плане, а не вместе с тем что с обратной стороны детали. В общем надо обновляться. Как раз работёнка на прессформу нарисовалась 
    • maxx2000
      Причина того - Кроилово. Кроилово всегда приводит к попадалову. Месяц простоял сколько мильонов деревянных потеряли? Вопрос риторический. И ещё будет стоять. Как памятник человеческой глупости и жадности.
    • AlexKaz
      "9 июля 1968 года на мышах был проведен самый знаменитый эксперимент американского ученого-этолога Джона Кэлхуна «Вселенная-25». Суть опыта заключалась в создании идеальных условий, где мыши могли бы жить и размножаться, не ведая никаких забот, вдали от хищников и в отсутствие эпидемий и заболеваний. Для этих целей ученый построил специальный загон, куда были помещены четыре пары белых мышей (самцов и самок). В распоряжении мышей всегда была чистая вода и еда в изобилии, специальные гнезда, где можно обустроить себе жилище ― гнезд в загоне хватало для проживания нескольких тысяч мышей. Температура в загоне в среднем составляла около 20 ℃ и была комфортной для мышей. Животные не подвергались никаким влияниям извне и жили в идеальных условиях в свое удовольствие. А дальше началось самое интересное. На первом этапе эксперимента мыши хорошо размножались, вели активный образ жизни, охотно играли. На следующей фазе эксперимента мыши стали есть меньше, перестали наедаться до отвала. На третьей фазе эксперимента, когда в загоне были уже сотни мышей, произошло распределение социальных ролей, стала ярко выраженной иерархия, клановость. Появились так называемые отверженные ― молодые особи, которых другие, взрослые мыши сгоняли в центр загона, не давали им вести нормальный образ жизни, причиняли физический вред. В природе такое, наверное, было бы невозможно, ведь эти мыши-агрессоры просто не дожили бы до старости: их бы съели хищники. Но в загоне Кэлхуна хищников не было, и взрослые мыши начали попросту издеваться над молодняком. Образовались две большие группировки: самцы-одиночки и самки-одиночки. При этом самки-одиночки отказывались спариваться <с менее статусными многочисленными молодыми самцами и с оставшимися старыми статусными> и отвергали ухаживания самцов. У мышей стал проявляться тотальный индивидуализм, мыши не стремились создать семью. На последней, четвертой стадии мышиная популяция стала сокращаться. Появились самцы, которых сам Кэлхун назвал «красивыми» (англ. beautiful ones), из-за отсутствия ран и рубцов. <В оригинале: They never engaged in sexual approaches toward females, and they never engaged in fighting, and so they had no wound or scar tissue. Thus their pelage remained in excellent condition. - Дословный перевод: Они никогда не прибегали к сексуальным подходам к самкам, и они никогда не участвовали в боях, и поэтому у них не было ран или рубцовой ткани. Таким образом, их шерсть сохранилась в отличном состоянии.> Эти мыши не вступали в борьбу за самок и территорию, не проявляли активности к размножению и только питались, спали и чистили шёрстку. У мышей стали проявляться различные формы девиантного поведения, вспышки агрессии. Самки стали проявлять агрессию, защищать себя сами, стали умерщвлять своих детенышей, а затем окончательно отказались размножаться. На пике эксперимента в загоне одновременно проживало чуть более двух тыс. мышей. Еды и гнезд было достаточно для дальнейшего роста популяции, но через четыре года после начала эксперимента Кэлхун остановил свой опыт, потому что в загоне осталось чуть более сотни мышей, и все они уже вышли из репродуктивного возраста. По итогам эксперимента Кэлхун пришел к выводу, что достижение определенной плотности населения и заполнение социальных ролей в популяции приводит к распаду общества" https://physicsoflife.pl/dict/pic/calhoun/calhoun.. https://scientificrussia.ru/articles/utopiya-dlya-mys.. https://ru.wikipedia.org/wiki/Кэлхун,_Джон_(этолог)
    • gudstartup
      @Koels вот в чем дело пока ds609 это предупреждение поэтому F может и не появится если sv601 это значит ошибка. возможно при нагреве радиатора серво определяет это как предупреждение или ваш вентилятор крутиться медленнее чем оригинальный и серва думает что он встал хотяпри этом обычно на экране в строке состояния FAN.мигает больше у меня вариантов нет....  
    • ДОБРЯК
      Решите любым алгоритмом. Тогда будет конструктивный разговор. :=)
×
×
  • Создать...