﻿PlateOffset=10 'Толщина платы мм. 
Zup=25 'Расстояние на которое отойдет фреза после коррекции. 
MaxZPlus=100 'Максимальный ход станка по оси Z мм. 

Sleep 100 'Пауза 0,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 .
Code "G4 P0.25" 'Пауза для успешной записи значения в DRO 
ZNew = PlateOffset + Zup 'Вычислени точки подьема. 
Code "G0 Z" &ZNew 'Поднять на высоту отхода после коррекции. 
While IsMoving () 
Wend 
Code "( Ось Z - Высота заготовки зафиксирована!)" 'Послать сообщение в статус. 

End If 

Code "F" &CurrentFeed 'Возвращаем установленное значение подачи. 
Sleep 100  
 
