Rionet

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

10 posts in this topic

Pinned posts

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

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

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

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

 

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

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

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

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

 

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

 

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

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

 

Share this post


Link to post
Share on other sites


UnPinned posts

ID: 2   Posted (edited)

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

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

 

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

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

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

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

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

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

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

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

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

Да

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

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

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

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

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

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

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

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

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

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

Edited by CNC_SKILL

Share this post


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 предполагает отсчет положений..) Буду признателен за подробный ответ на исходные вопросы.

Share this post


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

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

Пиши  в личку )

Share this post


Link to post
Share on other sites

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

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

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

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

 

Share this post


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

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

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

 

1 person likes this

Share this post


Link to post
Share on other sites

ID: 7   Posted (edited)

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

Share this post


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 ну т.д., если постпроцессор поддерживает позиционирование для таких поворотов. Концентрирую - Позиции. В матчасти это описывалось.

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

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

Share this post


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

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

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

Share this post


Link to post
Share on other sites

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

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

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.



  • Сообщения

    • Mr. Tim
      Всем привет! Занялся изучением программирования на Delphi под Вертикаль 2011. Создавать свои ActiveX формы и кнопки я научился, но стоит задача расширения функционала встроенного модуля "библиотека пользователя" и "архив ТП".  Судя по документации, в поставке с вертикалью есть библиотеки, используя которые можно сделать своё приложение с необходимыми функциями, зарегистрировать его и пользоваться, НО можно ли каким-то образом подключиться и расширить функционал самих модулей Вертикали("библиотека пользователя" и "архив ТП" ??? Буквально не хватает парочки кнопок в этих модулях, но не могу к ним подсоединиться никак.... Подскажите пожалуйста как это можно сделать?     п.с. кто программирует под Вертикаль на Delphi - пообщаюсь в лс для обмена идеями, опытом
    • Sergey2
      ну типа того. Я впринципе все уже "наладил", остались мелочи :) да мне в модели и нужно. Вид то появился, а как его в макросе вызвать?
    • Di-mann
      Вирус скотского самолетонеприятия ИМХО похлеще будет. Были людьми, а стали ублюдками... 
    • AlexKaz
      Если искать просто "дефектоскоп Рельс-6", то находятся принципы работы и лабораторные работы с ним. Здесь 120-я страница и далее http://vtgtvolgograd.ru/sveden/Metod/Metod_81.pdf Здесь 69-я http://www.rgups.ru/site/assets/files/92193/metod_prakt_rab_mdk.03.03_08.02.10_stroiteljstvo_geleznyh_dorog-_putj_i_putevoe_hozaistvo_rostov_30.08.2016.pdf Здесь https://rzd-puteetz.ru/ultrazvukovoj-defektoskop-rels-6/ и т.д.  
    • Fedor
      Пусть ездит в экспедиции, а не халтурит. Нечего баловать :) 
    • Di-mann
      Значит экспедитору двойную, чтоб поддерживал концентрацию паров в салоне. 
    • Fedor
      На работе автомобилистам, им за рулем нельзя :) 
    • Claus
      Спасибо, интересно.   Можно было и одну окружность отзеркалить, проблем нет.
    • Oleganchik
      Всем привет. Обращаюсь ко всем любителям и хранителям информации. Достался мне дефектоскоп по металлу. А так как я сам в машиностроении, отказываться от сие прибора не стал. Именуется прибор УД-13УРВ1П1 "Рельс-6". Поюзав инет, инфы как сие прибором пользоваться, не нашёл. Может кто поделится информацией? Спасибо.
    • Ветерок
      Объясните как при помощи вспомогательных линий построить вот такой простейший эскиз. Две прямые я построить могу, а вот дуги построить не могу. Вспомогательной дуги нету, есть окружность, но она строится по узлам. А узлы строятся не где попало, а в точках пересечения. Получается, чтобы построить окружность мне надо сначала построить две вертикальные линии, потом в точках пересечения этих линий с горизонтальными построить узлы, а потом по этим узлам построить окружность. Так? А как потом получить зеркальную копию этой окружности? Она у меня не зеркалится.