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

Смещение подпрограммы


FF12F

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

Доброго времени.
Работаю не так давно. основная часть написание уп через диалоговое программирование.
Но вот потребовалось сделать уп на 32 отверстия. Основная программа, вней смещение. вызов подпрограммы. обработка отверстия.
смещение...не получается совсем
Помогите пожалуйста разобраться.

1.jpg

2.jpg

3.jpg

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


36 минут назад, FF12F сказал:

смещение...не получается совсем

А без смещения получается?

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

А без смещения получается?

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

в том же диалоговом, там не получается задать координаты.
только на одно отверстие.
со сверление проще, до 8ми отверстий.

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

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

что вы хотите сделать ? профрезеровать паз со смещением , что то типа трахоиды ?

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

что вы хотите сделать ? профрезеровать паз со смещением , что то типа трахоиды ?

хочу сделать массив отверстий по разным координатам.
т.е. по основной программе перемещается на х30 у100 фрезерует отверстие от центра этой координаты.(по подпрограмме)
далее перемещается на х50 у 150 и тоже самое к подпрограмме 
и так далее на все 32 отверстия.
координаты забить не проблема.

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

Помогите пожалуйста разобраться

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

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

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

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

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

А если убрать G91 и в подпрограмме реализовать через приращения? В основной программе писать только координаты G0 X  Y и вызов подпрограммы?

Показать содержимое  

G0 Z100.
#1=0
#2=0.2
#3=9.5
#4=#3
N10 IF[#4 LT #3] GOTO11
#4=#3
N11 G1 Z-#4 F2222
G41 V9.99 F1600
G3 I0. J-9.99
G40 G1 V-9.99
IF [#4 EQ #3] GOTO 15
#4=#4+#2
GOTO 10
N15 G0 Z200.
M99

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

так ?

O2222
G90G54
M3S15555G43D10
#6=0
N10
#5=0
N11G0X#5Y#6
M98P3333
#5=#5+25
IF[#5LT100]GOTO11
#6=#6+30
IF[#6LT200]GOTO10
M30

O3333
G0Z1
G1Z-4 F2222
G91G41X0Y9.99
G3X0Y-19.98R9.99
G3X0Y19.98R9.99
G1G40Y-9.9
G90G0Z50
M99

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

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

В основной программе пишем:

#20=(позиция X) #21=(позиция Y);

M98 P3333

 

В подпрограмме:

G90

...

X#20 Y#21

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

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

можно в коде? если не сложно.

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

Вот, пример основной программы:

G65 P70 X100 Y50 D40 H20

G65 P70 Y-50

G65 P70 X20 Y20

Эта форма записи удобна тем, что все параметры (D, H, а также X, Y и другие) обладают свойством модальности: их не нужно повторять в каждом кадре (но для этого требуется небольшая доработка кода).

Подпрограмма O0070 получает нужные параметры в соответствующих переменных: в переменной #24 будет значение, заданное под адресом X, в #25 - Y, в #7 - D, в #11 - H. Движение к отверстию в подпрограмме будет задаваться: G0 X#24 Y#25. Ну и далее программируются необходимые расчеты и обработка.

 

 

 

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

Всем спасибо.
решил проблему через g52
и зеркала.
в итоге на 32 отверстия ушло 6 часов (сталь каленая)
диаметр 20мм
глубина 10мм
благодарю за помощь

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

Зачем зеркало?

А если у станка эта опция не куплена? Тогда как будете выходить из положения? :)

G52 - верный вариант. Если станок его поддерживает. К примеру HAAS - да, а OKUMA уже нет.

Ловите метод на все времена:

 

O11111 ( , REV-) 

( PITCH 1.100 )

G00 G90 G54 G40 

 

T1 D01 M06 (T1-.250 SPOT DRILL) 
S6000 M03 
G43 H01 M08 

G52 X0. 
M97 P10 
G52 X-1.1 
M97 P10 
G52 X-2.2 
M97 P10 
G52 X-3.3 
M97 P10 

 

Соответственно в подпрограмме Р10 прописываете цикл центрования, или сверления и т. д.

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • ДОБРЯК
      Ты до сих пор не понял, что тебе уже три-четыре раза сказали. Все кроме тебя поняли и успокоились.:=) Копирую для тебя еще раз, что нужно сделать. Или ты опять не понял. :=) Напиши как ты будешь решать эту задачу методом Ланцоша или методом итераций подпространства.  Матрицу масс найдешь выше по тексту. Только не пиши много лишних букв и слов. А в прочем пиши. Интересно наблюдать как ты подгораешь...;=) Сам себя заводишь, пяткой себя в грудь бьешь доказывая, что все знаешь и умеешь  и при этом еще глубже себя закапываешь и подгораешь.
    • Maxim.Oi TF
      Биение есть это точно. Фреза режет не равномерно, слышно по звуку
    • AlexKaz
      Нагуглил старый список отличий профкарт от GTX, кому интересно   А тут - полный список важных для производительности карты настроек на потыцкать https://www.goengineer.com/blog/optimizing-solidworks-for-faster-performance Если солид жёстко привязан к OpenGL - логично поискать любую доступную карту с наилучшим быстродействием в OpenGL.
    • AlexKaz
      @eljer0n, в настройках драйвера и графики игровой карты попробуйте вручную выставить на максимум все видеоэффекты и привязать карту к приложению принудительно (а то у Вас симптомы как софтверного рендера на CPU). Пример: https://www.mlc-cad.com/solidworks-help-center/how-to-force-solidworks-to-use-your-graphics-card/ По дефолту там что-то среднее, скорее всего. Не поможет - установить дрова к профкартам и там покрутить настройки, сменить версию Windows с 11 на 10. И только потом можно смотреть на профкарты. Также потестить опции в самом солиде. Вот тут ниже рекомендуют включить Enable petformance pipeline и не юзать SW 2018 https://www.engineering.com/story/20-to-30-times-faster-graphics-response-with-solidworks-2019s-new-graphics-engine
    • Killerchik
      Лихой Вы, однако....   Да, это уже сильно сложнее.
    • neon0404
      Да, действительно, огромное спасибо! Ошибка новичка) Не тот режим визуализации был
    • Максим604
      @Killerchik ну да, пишу реальную и стойка переправит, а если пишу руками, то считать для центра.  Просто резьбу писал или через переменные или через turn. И подачу считал как на обычную фрезеровку.   Ещё раз спасибо) 
    • gudstartup
      100% taxid - это не совершенно секретная инфа.  а вот корпоративный ящичек у этой же фирмы посложнее  
    • Killerchik
      Скорость я бы поставил метров 15-20. Подача - лучше измерить биение зубьев прям индикатором на станке. В идеале, если биение между соседними зубьями менее трети подачи на зуб, то эту самую подачу я бы поставил порядка 2-3 соток на зуб. Фрезеруйте так же, за 2 прохода, если это не прям супер критично для времени выполнения УП.
    • Alexejswt
      Все работает.  Job-1.inp
×
×
  • Создать...