Вот есть команда G38.x Если использовать ее в виде G38.2 или G38.4, то при несрабатывании датчика программа останавливается и выбрасывает ошибку. А если G38.3 или G38.5 - то мы имеем возможность, проанализировав параметр 5070, самостоятельно сообщить пользователю об ошибке, или предпринять какие-то другие действия и корректно выйти из подпрограммы (если нужно).Ворон226 писал(а):А как?
Код: Выделить всё
o<zero_z> sub
#<TLS_height> = 43.13
G49
G40
G10 L2 P1 Z0.
G91
G38.3 Z-25 F500
#<_RealWork> = #5070 ; Флаг реальной работы (отличие от предпросмотра)
o123 if[#5070 NE 0]
G38.5 Z2. ; Отъедем назад
G38.2 Z-3. F30 ; Уточним на малой скорости
o123 else
M100 P0 ; Сообщение "Датчик не обнаружен"
o123 endif
o124 if[#<_RealWork> NE 0]
G10 L20 P1 Z[#<TLS_height>]
o124 endif
G00 Z20
G90
o<zero_z> endsub