Jump to content

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


Rionet

Recommended Posts

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

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

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

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

 

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

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

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

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

 

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

 

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

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

 

Link to post
Share on other sites


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

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

 

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

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

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

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

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

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

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

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

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

Да

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

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

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

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

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

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

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

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

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

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

Edited by CNC_SKILL
Link to post
Share on other sites
В 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 предполагает отсчет положений..) Буду признателен за подробный ответ на исходные вопросы.

Link to post
Share on other sites
CNC_SKILL
1 час назад, Rionet сказал:

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

Пиши  в личку )

Link to post
Share on other sites

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

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

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

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

 

Link to post
Share on other sites
sennik53
15 часов назад, Rionet сказал:

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

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

 

  • Нравится 1
Link to post
Share on other sites

для себя я сделал вот так для вращения оси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
; --------------------------------------------------------------------------------------------

 

Edited by orfey90
Link to post
Share on other sites
В 16.10.2019 в 03:25, maxems сказал:

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

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

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

 

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

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

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

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

Link to post
Share on other sites
sennik53
3 часа назад, Rionet сказал:

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

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

Link to post
Share on other sites

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

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

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

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.



  • Сообщения

    • Viktor2004
      2. ME0611A_K257661 rus 218-209-220(2).pdf Ошибка 319 это надо прежде чем выставить ноль, провернуть энкодер минимум на 1 оборот
    • Sher
      А не подскажите случаем какой диаметр проходной должен быть у этого дозатора?
    • Fedor
      Здорово, литровая бутылка становится десятилитровой. А то и больше.  Потому что литр эквивалентен килограмму :)  Только как мы это обнаружим если и стакан увеличится ?  Что будет с жесткостью пружины если и у нее будет увеличение ?  Как понять сколько у тебя пива если сидишь в таком корабле ? Выпьешь литр, по старому, а окажется что десять в желудке, а это, согласитесь, ведро    :) 
    • Ветерок
      т.е. не просто костыль, а макрокостыль!
    • Draco
      Like what kind of changes?
    • Мастеровой
      Где-то в тех же популярных  околофизических брошюрках  из 1990-х  из  общемиромывамых  физических констант и из теории большого взрыва выводилось понятие "квант времени " . По памяти , где-то в районе  10 в минус тридцать восьмой степени секунды . Будем тогда считать  что время аналогово ? Или что  "Времени не существует" ? А  существуют реки Лета и Стикс ? 
    • frei
    • vl_cnc
      Судя по индикации на фото - ошибка 319, предположу, что у Вас будут еще ошибки по разряду батареи и необходимости провести процедуру выставления нуля оси. Т.к. ваша проблемная ось связана с АТС, то лучше поискать манул от производителя станка с описанием процедуры выставления, или давайте больше информации, как минимум тип станка, может кто подскажет.
    • grOOmi
      Похоже из Cavity это убрали. В Planar есть операция 2D Profile Wall with Floor, там есть
    • Павел Иноземцев
      Казалось бы - убрал из системы дозаторы и проблема решена! Но так делать тоже нельзя - в этом случае масло будет заливать шпиндель избыточно. А поскольку оно идет ещё на смазку направляющих и ШВП, то вы перезальёте шпиндель и лишите смазки другие немаловажные элементы... Дозатор конструктивно (по обозначению на нем) пропускает за 1 раз 4 капли. Они латунные и при реакции с водой там образуется зеленый гидроксокарбонат меди, промывка в этом случае не помогает. Но можете попробовать, может быть у вас там не все так запущено. Удачи! 
×
×
  • Create New...