​ ​

Форум клана ЧПУшников

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.



Скрипт для Z

Сообщений 1 страница 13 из 13

1

Ребят если кого срипт для для выставления 0 по оси Z.
Что находил на просторах инета, не подходит. Выставляю свои параметры в скрипте, после чего фреза доходя и касаясь датчика резко опускается вниз на милимметров 5 и потом еще происходит медленное перемещение по вертикали.
Вот данный скрипт, кто может подсказать что не так?

PlateOffset=8.5 'толщина платы мм.
Zup=5 'Расстояние на которое отойдет фреза после коррекции
MaxZPlus=80 'максимальный ход станка по оси Z мм.
Code "G4 P1" 'Пауза 1 сек.
CurrentFeed = GetOemDRO(818) 'Запомнить текущюю скорость, для того чтобы восстановить после коррекции.
Code "F300" 'Задать скорость подачи до касания инструментом
ZNew = GetDro(2) - MaxZPlus 'опустить инструмент до касания
Code "G31Z" &ZNew
While IsMoving() 'Подождать пока произойдет касание платы.
Wend
ZNew = GetVar(2002) 'читать точку касания
Code "G0 Z" &ZNew + 3 'отьехать вверх на 3мм от точки касания
While IsMoving ()
Wend
Code "F50" 'замедлить подачу до 50мм\мин
ZNew = GetDro(2) - 6
Code "G31Z" &ZNew 'опустить инструмент до касания
While IsMoving() 'Подождать пока произойдет касание платы.
Wend
If PlateOffset <> 0 Then
Call SetDro (2, PlateOffset) 'записать в окно Z толщину платы, тем самым откорректировав позицию по Z
Sleep 500
'Code "G4 P0.25" 'пауза для того чтобы записались значения в DRO
ZNew = PlateOffset + Zup 'вычислени точки подьема
Code "G0 Z" &ZNew 'поднять на заданную Z
While IsMoving ()
Wend
Code "(Z axis is now zeroed !)" 'послать сообщение в статус
End If
Code "F" &CurrentFeed 'Возвращаем установленное значение подачи
Sleep 100
' End If
'End If

0

2

А где аппаратный 0 по Z?
Внизу на столе или в верхней точке?
Если второе, то либо знаки в скрипте менять, либо инвертировать ось в настройках mach3.

Судя по тому, что в скрипте стоит отскок 3 мм, а в сообщении говорится о 5 - то инверсия оси будет проще. :)

0

3

Я только начинаю в этом деле и плохо пока разбираюсь . Если не трудно, то вы могли бы подкорректировать скрипт? Буду очень признателен

0

4

nik81 написал(а):

Я только начинаю в этом деле и плохо пока разбираюсь . Если не трудно, то вы могли бы подкорректировать скрипт? Буду очень признателен

ZNew = GetVar(2002) 'читать точку касания
Code "G0 Z" &ZNew - 3 'отьехать вверх на 3мм от точки касания
While IsMoving ()
Wend
Code "F50" 'замедлить подачу до 50мм\мин
ZNew = GetDro(2) + 6
Code "G31Z" &ZNew 'опустить инструмент до касания

Но лучше инвертировать ось.
Это, по моему, в port&pins/motor output.

0

5

К сожалению скрипт не помог
скажите а какие оси инвектировать?

0

6

nik81 написал(а):

К сожалению скрипт не помог
скажите а какие оси инвектировать?

Что значит не помог?
Какие симптомы?

Насчет инверсии осей - нет mach по рукой, но искать примерно там.

0

7

Я заменил что вы прописали при задевании фрезой датчика симптомы теже, фреза уходит вниз и т.п.
Вот пока по осям не пробовал.

0

8

nik81 написал(а):

Я заменил что вы прописали при задевании фрезой датчика симптомы теже, фреза уходит вниз и т.п.
Вот пока по осям не пробовал.

Скинуть какой у меня работает ?

0

9

Было бы очень хорошо.

0

10

nik81 написал(а):

Я заменил что вы прописали при задевании фрезой датчика симптомы теже, фреза уходит вниз и т.п.
Вот пока по осям не пробовал.

Этого не может быть  :no:
Похоже где-то в кеше старый вариант сидит. Для уверенности надо бы выйти из мача и зайти назад.

0

11

к сожалению нет. Все по прежнему.

0

12

Попробуйте этот скрипт. Устанавливал на нескольких компах, везде работает правильно

Поиск 0 по Z

'VB Code Start
'-------------------
CurrentFeed = GetOemDRO(818)  'Запомнить текущюю скорость, для того чтобы восстановить после коррекции.
DoSpinStop()                  ' Стоп шпиндель

ZMove = 20.00            'максимальная величина опусания Z до касания (в мм), если нет                                 
                                      ‘касания, подъем на ZSal

ZOffset = 1.60                ' Plate Hight - толщина пластины
ZSal = ZOffset + 2.00         'величина подъема от контакта с пластиной
                     
StopZmove = 0
If GetOemLed (825)=0 Then
DoOEMButton (1010)
Code "G4 P2.5"              'Пауза 2,5 сек
Code "G31 Z-"& ZMove & "F25"  ' скорость опускания по Z 25 мм /мин
While IsMoving()             'Подождать пока произойдет касание платы.
Sleep(200)
Wend
Probepos = GetVar(2002)     'читать точку касания
If Probepos = - ZMove Then
responce = MsgBox ("**ERROR** " , 4 , "Probe **ERROR**" )
Code "G0 Z10"
StopZmove = 1
Code "F" &CurrentFeed
End If
If StopZmove = 0 Then
Code "G0 Z" & Probepos
While IsMoving ()   'Подождать пока произойдет касание платы.
Sleep (200)
Wend
Call SetDro (2, ZOffset)  'записать в окно Z толщину платы, тем самым откорректировав позицию по Z
Code "G4 P1"
Code "G0 Z" & ZSal   'подъем на безопасную высоту ZSal
Code "(Z zeroed)"    'успешное окончание калибровки
Code "F" &CurrentFeed
End If
Else
Code "(Check Ground Probe)"  ' Изменить значение Active Low для входа Probe
End If
Exit Sub
'-------------------
'VB Code Stop

Значения, выделенные красным цветом, изменяются под конкретный станок.
Если контактная пластина ставится на заготовку, «ноль» по Z будет по верху заготовки, если же
ставится на стол, то «ноль» по Z будет по столу.
  В настройках Мач «ноль» Z – по столу, движение по Z вверх – значения Z увеличиваются.
См. дополнительный скрин настройки в Мач.

http://s019.radikal.ru/i630/1609/04/72ad34821d71.jpg

0

13

Вот ссылка на рабочий скрипт ставил все пашет
https://yadi.sk/i/G49LQjtyusfNN

0