Ошибка при работе датчика длины инструмента

Mach, популярные и не очень CAD, CAM. Обсуждение и разработка программ для управления станками.
Аватара пользователя
[TARAN]>
Мастер
Сообщения: 642
Зарегистрирован: 13 янв 2014, 03:58
Репутация: 57
Контактная информация:

Ошибка при работе датчика длины инструмента

Сообщение [TARAN]> »

Ситуация такая, при срабатывании датчика длины, станок начинает двигаться по одной из осей. Движение в случайном порядке, как я понял. Один раз по оси Y начал движение только один двигатель, а их 2...
Происходит это крайне редко, но происходит. Сегодня опять повторилось, повредил датчик.
Стоит винда, мач 3й лицензия, SMOOTHSTEPPER ETHERNET с платой расширения. Датчик BEL-20B.
Вот теперь ему отломило сопло для воздуха.
Проблема скорее всего программная, так как станок начал движение по Y и уперся в концевик, который я туда на всякий случай поставил. Координаты в маче отобразились, при этом они соответствуют положению концевика.
Грешу на скрипт датчика.
Писал его сам, но я плохо разбираюсь. В школе учили бейсик простой и все) Больше я этого не касался по сути то.
Подскажите в чем проблема может быть.
(для просмотра содержимого нажмите на ссылку)
'VB Code Start
'-------------------
CurrentFeed = GetOemDRO(818) 'Запомнить текущую скорость
DoSpinStop() 'Остановить шпиндель

ZMove = 100.00 'Максимальное опускание оси Z
ZMove2 = 1 'Максимальное опускание оси Z

ZOffset =71.32 'Высота датчика
ZSal2 = ZOffset + 0.50 'Высота подъема
ZSal = ZOffset + 40.00 'Высота подъема

StopZmove = 0 'Значение переменной
Code "(Start)" 'Вывод сообщения о старте
If GetOemLed (825)=0 Then 'Значение датчика, активен не активен.
DoOEMButton (1010) 'Обнуление координат Z
Code "G4 P3" 'Пауза 3 сек.
Code "G31 Z-"& ZMove & "F500" 'Опускание оси Z до датчика со скоростью 500 на 100
While IsMoving() 'Ждем касания
Sleep(500) 'Спим 0,5 сек.
Wend 'Тип конец цикла

Probepos = GetOEMDRO(802) 'Записываем значение касания
If Probepos = - ZMove Then 'Следим что бы оно не превышало максимальное опускание на 100
Code "(EROR1)" 'сообщение об ошибке 1
Code "F" &CurrentFeed 'восстанавливаем подачу
Exit Sub
End If

If StopZmove = 0 Then
StopZmove = 2
Call SetDro (2, ZOffset) 'Записываем значение высоты датчика в координаты
Code "G4 P3" 'Пауза 3 сек.
Code "G0 Z" & ZSal2 'Поднимаем фрезу 0,5
While IsMoving() 'Ждем подъёма
Sleep(500) 'Спим
Wend
End If

If StopZmove = 2 Then 'Значение переменной
StopZmove = 4
DoOEMButton (1010) 'Обнуление координат Z
Code "G4 P3" 'Пауза 3 сек.
Code "G31 Z-"& ZMove2 & "F25" 'Опускание оси Z до датчика со скоростью 25 на 1 мм.
While IsMoving() 'Ждем касания
Sleep(500) 'Спим 0,5 сек.
Wend 'Тип конец цикла
End If

Probepos = GetOEMDRO(802) 'Записываем значение касания
If Probepos = - ZMove2 Then 'Следим что бы оно не превышало максимальное опускание на 1мм.
StopZmove = 3 'Значение переменной
Code "(EROR2)" 'Сообщение о ошибке 2
Code "F" &CurrentFeed 'Восстанавливаем подачу
Exit Sub
End If

If StopZmove = 4 Then
Call SetDro (2, ZOffset) 'Записываем значение высоты датчика в координаты
Code "G4 P3" 'Пауза 3 сек.
Code "G0 Z" & ZSal 'Поднимаем фрезу на 40
While IsMoving() 'Ждем подъема
Sleep(500) 'Спим
Wend
Code "(Z zeroed)" 'сообщаем что все вышло
Code "F" &CurrentFeed 'восстанавливаем подачу
End If

Else
Code "(Check Ground Probe)" 'сообщение о ошибке контакта датчика
End If

Exit Sub
'-------------------
'VB Code Stop
Argentum47
Мастер
Сообщения: 867
Зарегистрирован: 05 июн 2015, 10:00
Репутация: 97
Откуда: Саратов
Контактная информация:

Re: Ошибка при работе датчика длины инструмента

Сообщение Argentum47 »

у меня примерно так же мач отрабатывал продолжение подачи после остановки на тех версиях на которых плагин ESS работал (062 или 065 что ли), поэтому приходилось каждый раз пользовать скрипт run from here, иначе эта падла начинала творить беспредел и портила всё на своём пути, в старых версиях мача такого не было, но ESS с ними не работал. Поэтому и завязал с мачем навсегда, только булки расслабишь - тут же глюки прилетают. Это не считая глюков самого ESS, вроде того что при ускоренном ручном перемещении он просто не захочет останавливаться при отпускании кнопки.
Аватара пользователя
[TARAN]>
Мастер
Сообщения: 642
Зарегистрирован: 13 янв 2014, 03:58
Репутация: 57
Контактная информация:

Re: Ошибка при работе датчика длины инструмента

Сообщение [TARAN]> »

Ну у меня проблем не было других. Все работало хорошо и не на одном станке, просто вот решил я датчик стационарный поставить и началось. До этого самодельный был, по типу центроискателя устроен, и скрипт простой. Но тут надо выше фрезу поднимать, и с разной скоростью опускать. Еще заметил, когда опускается ось Z координаты по X и Y иногда немного меняются. Ну там на сколько то микрон в окне координат.
Скорее всего я накосячил со скриптом, но не пойму где...
Ответить

Вернуться в «Windows / Mach»