При нажатии на кнопку Высота TS выполняется следующий код
Код: Выделить всё
'main working
'Save Z start position
Zpos = GetDRO(2)
'Safe Go to start position under toolsetter
If Not SafeMoveZ(ZAbsSafePlane-GetOEMDRO(85),CurrentFeed) Then
PushMSG("TS Height Probing is interrupted")
Exit Sub
End If
If Not SafeMoveXY(ToolSetterAbsXPos-GetOEMDRO(83),ToolSetterAbsYPos-GetOEMDRO(84),CurrentFeed) Then
PushMSG("TS Height Probing is interrupted")
Exit Sub
End If
If Not SafeMoveZ(ZAbsStartPos-GetOEMDRO(85),CurrentFeed) Then
PushMSG("TS Height Probing is interrupted")
Exit Sub
End If
'Probe Z-
ZHit=ProbeZ(-1,ZMaxDist,Latch,FRate1,FRate2)
If ZHit=999999 Then
Exit Sub
End If
'Indicate result
PushMSG("Z- = " & (ZHit))
Call SetOEMDRO(1831,ZHit)
If Not SafeMoveZ(ZAbsStartPos-GetOEMDRO(85),CurrentFeed) Then
PushMSG("TS Height Probing is interrupted")
Exit Sub
End If
То есть, последовательность движений ожидается такая:
1. Выход по Z на безопасную высоту (задана в поле Safe), обычно это подъём на самый верх.
2. Перемещение по XY в позицию над тулсеттером (поля TS Pos Abs)
3. Опускаемся быстро по Z к точке начала поиска (поле Start)
4. Начинаем медленный(скорость берется из Настройки, самое первое поле) поиск с точки Start на расстояние Dist.
5. После касания идет отскок (дистанция задана в Настройки, четвертое поле сверху) и уточняющее измерение на оч.медленной скорости уточнения (Настройки, второе поле сверху).
6. Результат измерения появляется в поле Высота TS.
Любое отклонение от этого плана - ошибка, с которой нужно разбираться.
У Вас успешно выполняется п.1 (только почему-то Safe задано очень низко), затем как я вижу выскакивает ошибка "Error! Probe tripped during Z..", поэтому дальше действия не выполняются.
И первым делом, не должно выскакивать сообщения "Error! Probe tripped during...".
Затрудняюсь сказать, в чем тут дело. Утверждать, что программа без ошибок, пока не могу, слишком мало статистики откликов пользователей. К сожалению у меня временно нет под рукой машины с mach3 для проверки работы этого места программы.