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

Переменные обороты шпинделя.


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

@Alex... Существует цикл для этих целей, лично сам пользовался на 840D, работает. https://support.industry.siemens.com/cs/document/78452062/sinumerik-828d-840d-sl%3A-avoiding-vibration-in-slewing-gear-pieces?dti=0&pnid=14588&lc=en-IL

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


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

Программа с передачей параметров устанавливается в пользовательские циклы.

PROC SPEED(REAL TIME,REAL AMPL) DISPLOF SBLOF
DEF REAL _S0
TIME=TIME/18

_S0=$P_S[$P_MSNUM]

$AC_TIMER[1]=0

ID=1 EVERY $AC_TIMER[1]>=(TIME*1) DO S=_S0+(AMPL*(SIN(20)))
ID=2 EVERY $AC_TIMER[1]>=(TIME*2) DO S=_S0+(AMPL*(SIN(40)))
ID=3 EVERY $AC_TIMER[1]>=(TIME*3) DO S=_S0+(AMPL*(SIN(60)))
ID=4 EVERY $AC_TIMER[1]>=(TIME*4) DO S=_S0+(AMPL*(SIN(80)))
ID=5 EVERY $AC_TIMER[1]>=(TIME*4.5) DO S=_S0+(AMPL*(SIN(90)))
ID=6 EVERY $AC_TIMER[1]>=(TIME*5) DO S=_S0+(AMPL*(SIN(80)))
ID=7 EVERY $AC_TIMER[1]>=(TIME*6) DO S=_S0+(AMPL*(SIN(60)))
ID=8 EVERY $AC_TIMER[1]>=(TIME*7) DO S=_S0+(AMPL*(SIN(40)))
ID=9 EVERY $AC_TIMER[1]>=(TIME*8) DO S=_S0+(AMPL*(SIN(20)))
ID=10 EVERY $AC_TIMER[1]>=(TIME*9) DO S=_S0
ID=11 EVERY $AC_TIMER[1]>=(TIME*10) DO S=_S0-(AMPL*(SIN(20)))
ID=12 EVERY $AC_TIMER[1]>=(TIME*11) DO S=_S0-(AMPL*(SIN(40)))
ID=13 EVERY $AC_TIMER[1]>=(TIME*12) DO S=_S0-(AMPL*(SIN(60)))
ID=14 EVERY $AC_TIMER[1]>=(TIME*13) DO S=_S0-(AMPL*(SIN(80)))
ID=15 EVERY $AC_TIMER[1]>=(TIME*13.5) DO S=_S0+(AMPL*(SIN(90)))
ID=16 EVERY $AC_TIMER[1]>=(TIME*14) DO S=_S0-(AMPL*(SIN(80)))
ID=17 EVERY $AC_TIMER[1]>=(TIME*15) DO S=_S0-(AMPL*(SIN(60)))
ID=18 EVERY $AC_TIMER[1]>=(TIME*16) DO S=_S0-(AMPL*(SIN(40)))
ID=19 EVERY $AC_TIMER[1]>=(TIME*17) DO S=_S0-(AMPL*(SIN(20)))
ID=20 EVERY $AC_TIMER[1]>=(TIME*18) DO S=_S0
ID=21 EVERY $AC_TIMER[1]>=(TIME*19) DO $AC_TIMER[1]=0
SBLON
RET

 

И программа по отмене данной функции.

PROC SPEEDOFF DISPLOF SBLOF
CANCEL(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21)
SBLON
RET

 

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

у меня поизящнее была программка, и прекращалась при остановке шпинделя

https://youtu.be/mFp51a8l-Kw

Ссылка на сообщение
Поделиться на других сайтах
  • 3 месяца спустя...
15.06.2021 в 14:02, Povar1 сказал:

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

Программа с передачей параметров устанавливается в пользовательские циклы.

PROC SPEED(REAL TIME,REAL AMPL) DISPLOF SBLOF
DEF REAL _S0
TIME=TIME/18

_S0=$P_S[$P_MSNUM]

$AC_TIMER[1]=0

ID=1 EVERY $AC_TIMER[1]>=(TIME*1) DO S=_S0+(AMPL*(SIN(20)))
ID=2 EVERY $AC_TIMER[1]>=(TIME*2) DO S=_S0+(AMPL*(SIN(40)))
ID=3 EVERY $AC_TIMER[1]>=(TIME*3) DO S=_S0+(AMPL*(SIN(60)))
ID=4 EVERY $AC_TIMER[1]>=(TIME*4) DO S=_S0+(AMPL*(SIN(80)))
ID=5 EVERY $AC_TIMER[1]>=(TIME*4.5) DO S=_S0+(AMPL*(SIN(90)))
ID=6 EVERY $AC_TIMER[1]>=(TIME*5) DO S=_S0+(AMPL*(SIN(80)))
ID=7 EVERY $AC_TIMER[1]>=(TIME*6) DO S=_S0+(AMPL*(SIN(60)))
ID=8 EVERY $AC_TIMER[1]>=(TIME*7) DO S=_S0+(AMPL*(SIN(40)))
ID=9 EVERY $AC_TIMER[1]>=(TIME*8) DO S=_S0+(AMPL*(SIN(20)))
ID=10 EVERY $AC_TIMER[1]>=(TIME*9) DO S=_S0
ID=11 EVERY $AC_TIMER[1]>=(TIME*10) DO S=_S0-(AMPL*(SIN(20)))
ID=12 EVERY $AC_TIMER[1]>=(TIME*11) DO S=_S0-(AMPL*(SIN(40)))
ID=13 EVERY $AC_TIMER[1]>=(TIME*12) DO S=_S0-(AMPL*(SIN(60)))
ID=14 EVERY $AC_TIMER[1]>=(TIME*13) DO S=_S0-(AMPL*(SIN(80)))
ID=15 EVERY $AC_TIMER[1]>=(TIME*13.5) DO S=_S0+(AMPL*(SIN(90)))
ID=16 EVERY $AC_TIMER[1]>=(TIME*14) DO S=_S0-(AMPL*(SIN(80)))
ID=17 EVERY $AC_TIMER[1]>=(TIME*15) DO S=_S0-(AMPL*(SIN(60)))
ID=18 EVERY $AC_TIMER[1]>=(TIME*16) DO S=_S0-(AMPL*(SIN(40)))
ID=19 EVERY $AC_TIMER[1]>=(TIME*17) DO S=_S0-(AMPL*(SIN(20)))
ID=20 EVERY $AC_TIMER[1]>=(TIME*18) DO S=_S0
ID=21 EVERY $AC_TIMER[1]>=(TIME*19) DO $AC_TIMER[1]=0
SBLON
RET

 

И программа по отмене данной функции.

PROC SPEEDOFF DISPLOF SBLOF
CANCEL(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21)
SBLON
RET

 

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

Ссылка на сообщение
Поделиться на других сайтах
16.05.2023 в 06:22, s_liam сказал:

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

Для смены диапазона вращения нужно сначала завершить параллельный процесс и начать новый.

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • Andrey_kzn
      - тут возможно смысл сообщения в том, что оси не синхронизированы, только вот зачем синхронизировать  оси X и Y не понятно. В случае двух шпинделей например,  coupled будет означать синхронизацию.
    • niagara39
      Правильно ХУ на этом станке не перпендекулярны. Тормоз оси У включен постоянно, отключается только при перемещении самой оси У. Координаты не  меняются... Знать бы что за параметры, пока ничего подобного не нашли
    • nicomed
      Поднял старые записи. Из того что было максимально похоже на то, что можно было назвать "получалось" :   Самому не совсем понятно поведение СкетчМенеджера при отрисовке линии от координат 0,0,0 - частенько слетает в произвольное место на виде. 
    • maxx2000
      на втором  скрине PLC сообщает что-то типа "старт программы запрещён потому что оси ХУ не связаны". Возможно станок в режиме точения должен заблокировать перемещение У, включить тормоз или что-то ещё для произвольного смещения под нагрузкой. Возможно косяк в тексте программы.
    • maxx2000
      @sneg0vik как это? Если ХУ не перпендикулярны то это уже не У, а скажем ось В. Нет, конечно в теории можно построить станок с неперпендикулярными ХУ. Вопрос зачем? Gildemeister CTX 420 это же токарно-фрезерный с осью У
    • sneg0vik
      На станке ось "X" является наклонной по отношению к оси "Y" (т. е. они не перпендикулярны). Поэтому надо полагать (учитывая текст ошибки) у вас отключена связь оси "Y" с осью "X".   Проверьте меняются ли координаты оси "X", когда вы двигаете ось "Y". И наоборот. Если - нет, то ищите как включить (наверное через параметры) взаимосвязь оси "Y" с осью "X".
    • ДОБРЯК
      Если ваш Заказчик и такую работу примет, то необходимо в шпоночное отверстие добавить и массу воды. Примерно 1/4 от той массы которую вы будете добавлять.  Да и еще и не забыть добавить момент инерции от воды.
    • Soprin
      В функции MOVE по F7.3 должно же из R270 переносить в R278?
    • niagara39
      Причина все еще не найдена... Но заметил, что сразу после включения в меню диагностики появляется следующее предупреждающее сообщение: 10155 M: Y-axis: Y-axis and X-axis not coupled , но причина его появления и его смысл неизвестны
    • maxx2000
      скажите, Вам уже делали эти детали? Вы себе представляете как и главное  чем, можно обработать внутренние углы без скругления на вашей детали? Разве что проволокой. НО оно же стоить будет как крыло от боинга. 
×
×
  • Создать...