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

Перехват заготовки с упором


voronin_vv

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

Доброго времени суток!

Уважаемые форумчане, столкнулся я с такой проблемой. Пытаюсь в Vericut осуществить перехвата заготовки с упором в контршпиндель на токарном станке (Стойка Sinumerik 840d). Подскажите какие макрокоманды применять?

Пробовал реализовать через:

1. TouchComponentName 

2. Touch

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

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


UnPinned posts

@voronin_vv 

1. В TouchComponentName указываешь имя компонента заготовки в главном шпинделе, через Touch проверяешь касание.

2. В ClampCompName указываешь fixture главного шпинделя и ClampOnOff разжимаешь его. 

3. В ClampCompName указываешь fixture контршпинделя и ClampOnOff зажимаешь его.

Вроде так.

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

1. В TouchComponentName указываешь имя компонента заготовки в главном шпинделе, через Touch проверяешь касание.

2. В ClampCompName указываешь fixture главного шпинделя и ClampOnOff разжимаешь его. 

3. В ClampCompName указываешь fixture контршпинделя и ClampOnOff зажимаешь его.

Вроде так.

 

Немного уточню о чем спрашивает автор.

У нас к примеру приходит строка

G1 Z3=0 F100 FXS[Z3]=1 FXST[Z3]=20 FXSW[Z3]=10

где - Z3 ось КШ которая должна по команде FXS[Z3]=1 прийти в координату 0 с ограничением усилия

Какие макросы стоит указать и на каких командах?

Мы указали по FXS[Z3]=1 - TouchComponentName с именем компонента заготовки и затем Touch, но после этого при движении по Z3 

патрон КШ продолжает двигаться сквозь заготовку, не видя его. 

У кого ни будь есть пример остановки по жесткому упору?

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

@Vladislav-dobrynin Лучше бы видеть проект, чтобы проверить все варианты.

Я бы начал с такого:

В строке G1 Z3=0 F100 FXS[Z3]=1 FXST[Z3]=20 FXSW[Z3]=10 игнорим все кроме Z3=. В Z3= проверяем наличие FXS FXST FXSW и если они есть, то просто читаем их значения и принимаем решение о том движемся ли мы куда-то. Далее в Z3= уже идет TouchComponentName , Touch, движение по заданной оси и ProcessMotion. Можно на api или подпрограммой это реализовать.

По сути ваш подход от моего ничем не отличается. Может в кинематической модели дело?

Попробуйте TouchStockComponent со значением 1, пусть ловит касание любой заготовки с чем угодно.

Делал перехват в нескольких проектах (MX2100ST, Takamaz XY120, 518MT), все везде делал +/- одинаково.

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

Я бы начал с такого:

В строке G1 Z3=0 F100 FXS[Z3]=1 FXST[Z3]=20 FXSW[Z3]=10 игнорим все кроме Z3=. В Z3= проверяем наличие FXS FXST FXSW и если они есть, то просто читаем их значения и принимаем решение о том движемся ли мы куда-то. Далее в Z3= уже идет TouchComponentName , Touch, движение по заданной оси и ProcessMotion. Можно на api или подпрограммой это реализовать.

По сути ваш подход от моего ничем не отличается. Может в кинематической модели дело?

Попробуйте TouchStockComponent со значением 1, пусть ловит касание любой заготовки с чем угодно.

Делал перехват в нескольких проектах (MX2100ST, Takamaz XY120, 518MT), все везде делал +/- одинаково.

 

Вы делали по адресу Z3 если с ним приходит FXS - макросы TouchStockComponent и Touch?

Может действительно так нужно.

А мы вешаем именно на FXS эти макросы

У меня с ISV эта идеология тянется - по FXS вызывать режим а потом двигаться уже по Z3 упором 

Сейчас попробуем по Z3 вызвать TouchStockComponent и Touch и потом перемещение давать 

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

Вы делали по адресу Z3 если с ним приходит FXS - макросы TouchStockComponent и Touch?

Я обычно ориентируюсь именно на команду перемещения. В Z3= проверка на наличие FXS FXST FXSW, считывание их значений и далее уже принятие решения о движении с учетом касания или без него и все остальное, включая само движение.

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

Я обычно ориентируюсь именно на команду перемещения. В Z3= проверка на наличие FXS FXST FXSW, считывание их значений и далее уже принятие решения о движении с учетом касания или без него и все остальное, включая само движение.

Спасибо. Заработало, но только в "автомате", в режиме чтения MDI почему то не хочет

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

в режиме чтения MDI почему то не хочет

Такая же ерунда, но стоит хоть одну строку из уп отработать  - начинает работать как надо. Думаю это из-за инициализации контроллера чпу.

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • Viktor2004
      руку привязки так сломать легко
    • lem_on
      По моему вполне логично если станок вывалится в ошибку если рука не доехала до места. У меня так же если кулачки или деталь на пути, просто пихаеш ее до места и станок опять активен. Но нынешние пановья даже не могут написать модель станка.
    • Viktor2004
      Я согласен что скорее всего проблема механическая Но если логика прописана криво и возможно не предусмотрела остановку в промежуточном состоянии, разве не логично будет попробовать принудительно подав напряжение дернуть эту руку вверх-вниз? Возможно то что туда попало выпадет  
    • Guhl
      Если оставить за скобками вопрото том, что до м19 работает нормально, а после нет, то вы не считали сколько у него реально импульсов на оборот? с помощью стороннего плк, например  А если ориентацию м5 снимать, а не м20?
    • lem_on
      Что это за станок такой в котором сразу ладер ковырять надо, даже не смотря на возможность механической проблемы? Или профдеформация?
    • Viktor2004
      не сразу я понял в чем вопрос. Долго соображал что такое режим управления скоростью. При завершении ориентации PMC снимает сигнал G70.6 ? И если он после снятия сигнала продолжает удерживать шпиндель, при каких условиях эта ориентация все же снимается? После нажатия аварийного грибка или еще как?
    • Viktor2004
      Ладдер пришлите. Будем принудительно пробовать поднимать и опускать
    • streamdown
      Коллеги приветствую! IPS 8. Подскажите пожалуйста, кто какое серверное железо использует? Интересуют параметры при одновременной работе, ну например, 400 пользователей онлайн
    • gudstartup
      так он так и позиционируется по m19 pmc выдает g70.6 а чпу отвечает f45.7 но ориентацию и смещение в 4077 он отрабатывает нормально шпиндель встает ровно и смена происходит хорошо. вопрос почему после ввода команды управления скоростью он все еще продолжает контролировать число импульсов между нуль метками хотя в принципе уже должен отменить позиционный контроль и просто считать обороты по 0 метке как он это делает без М19? это все понятно но почему оно продолжает проверять это после завершения ориентации мне непонятно
    • Александр1979
      SP9047 SSPA:47 ILLEGAL SIGNAL OF POSITION CODER "The relationship between the A/B phase and 1-rotation signal is incorrect (Pulse interval mismatch)." "Неправильное значение счетчика импульсов сигнала на энкодере ALPHAi. На фазах A и B энкодера за один оборот шпинделя насчитывается 4096 импульсов обратной связи. Программное обеспечение по управлению шпинделем проверяет количество импульсов на фазах A и B, соответствующее энкодеру, при каждой генерации сигнала одного оборота. Данный аварийный сигнал срабатывает, если регистрируется число импульсов, нарушающее заданный диапазон."
×
×
  • Создать...