Автоноль?
Изолированная пластина известной толщины, сверху нанесен токопроводящий слой, подключен на один из пинов лпт. Фреза опускается до касания, пересчитываются координаты
Omron D5A удобнее. Ну или сделать что-то подобное, что-бы оно разрывало контакт при касании инструмента.
Здравствуйте. помогите пожалуйсто разобраться с макросом автонуля. У меня датчик имеет высоту 74мм + 3 мм подпружинин.
В итоге при автоопределении мне нужно чтоб выставлялось 74 и далее шпиндель подымался до 80 и останавливался.
Чтоб четко останавливался и выставлялось значение, это работает из следующего скрипта:
Rem VBScript To probe In the z axis
If GetOemLed (825) <> 0 Then 'Check to see if the probe is already grounded or faulty
Code “(Z-Plate is grounded, check connection and try again)” 'this goes in the status bar if aplicable
Else
Code “G4 P1” 'Pause 1 seconds to give time to position probe plate
PlateOffset = GetUserDRO(1151) 'Get plate offset DRO
CurrentFeed = GetOemDRO(818) 'Get the current feedrate to return to later
Code “F4” 'slow down feedrate to 4 ipm
Rem Probe in the z direction
ZNew = GetDro(2) -2 'probe move to current z - 2 inches
Code “G31Z” &ZNew
While IsMoving() 'wait for probe move to finish
Wend
ZNew = GetVar(2002) 'read the touch point
Code “G0 Z” &ZNew 'move back to hit point incase there was overshoot
While IsMoving ()
Wend
If PlateOffset <> 0 Then
Call SetDro (2, PlateOffset) 'set the Z axis DRO to plate thickness
Code “G4 P0.25” 'Pause for Dro to update.
'ZNew = PlateOffset + .25
Code “G92Z” &PlateOffset
Code “G0 Z” &ZNew 'put the Z retract height you want here
Code “(Z axis is now zeroed)” 'puts this message in the status bar
End If
Code “F” &CurrentFeed 'Returns to prior feed rate
End If
я заменил строчку ZNew = PlateOffset + .25 на эту Code “G92Z” &PlateOffset . Потомучто с предыдущей строкой если к примеру фреза находится ниже 74 или значительно выше, происходили странные вещи. после обнуления при касании (в смысле установки 74мм) фреза начинала отъезжать вверх или вниз, отсчитывая значение от предустановочного.
На примере это так. Скажем на дро показывало 90мм я даю установку Z (74толщина датчика). начинается двигаться в низ, скажем на 85 срабатывает датчик. Естественно значение 85 сбрасывается до 74, а после начинает опять двигаться с 85 до 74.
Если значение при срабатыванье было меньше 74, ну скажем 55. то после сброса в 74, начиналет подыматься с 55 до 74.
После замены строчки, фреза при касании останавливается и сбрасывается на 74. Все на этом все заканчивается.
Я хочу, чтоб после этого фреза поднялась на 6 мм в верх грубо говоря после калибровки значение показывало 80 и зазор между датчиком и фрезой был 6мм.
Я хочу, чтоб после этого фреза поднялась на 6 мм в верх грубо говоря после калибровки значение показывало 80 и зазор между датчиком и фрезой был 6мм.
Evgeny_l, сразу извиняюсь если начну тут прописные истины… Игрался весь вечер, но у себя добился нужного…
Во первых я поменял все F4 на F100, там в дюймах было.
ZNew = GetDro(2) -2 'probe move to current z - 2 inches. Тут -2 поменял на 25. Было 2 дюйма, стало 25мм. Прошло 25мм, нет контакта “0”, остановилось.
ZNew = PlateOffset + .25. Тут тоже .25 дюйма заменил на 20. В вмиллиметрах теперь. “Отскок” теперь 20 мм. Так же и в поисковике центра. Там всё в дюймах было. Поменял, и теперь оно вычисляет центр, но инструмент туда не переводит. Надо жать Goto Z.
Вот тоже заморочился с этим автонольом,создал кнопку,загрузил этот скрипт с поста №5 привязал к кнопке - работает,но куда вписать толщину пластины?я так понимаю нужно создать окошко куда вписать толщину пластины так?если так то как связать окошко со скриптом или как то по другому.
Создай окошко и присвой ему код OEM 1151.
И вот образец скрипта
Rem VBScript to probe in the z axis
If GetOemLed (825) <> 0 Then
Code “(Z-Plate is grounded, check connection and try again)”
Else
Code “G4 P1”
PlateOffset = GetUserDRO(1151) ’ в этой строке отражается толщина пластины
CurrentFeed = GetOemDRO(818)
Code “F100”
Rem Probe in the z direction
ZNew = GetDro(2) - 50
Code “G31Z” &ZNew
While IsMoving()
Wend
ZNew = GetVar(2002)
Code “G0 Z” &ZNew
While IsMoving ()
Wend
If PlateOffset <> 0 Then
Call SetDro (2, PlateOffset)
Code “G4 P0.5”
ZNew = PlateOffset + 10
Code “G0 Z” &ZNew
Code “(Z axis is now zeroed)”
End If
Code “F” &CurrentFeed
End If