Slightly more compact subroutine...
G91 (switch to incremental mode)
G01 X28.00 Y4.00 F6000 (position probe switch)
G04 P0 (wait until the move finishes)
G90 (switch to absolute mode)
#15239=1 (this var is monitored by a brain and triggers the probe cylinder)
G04 P0
G28.1 Z5.000 (probe the surface)
G92 Z#15045 (apply the torch height offset from settings screen DRO (currently switch offset))
#15239=0 (raise the probe)
G91 (switch to incremental mode)
G01 X-28.00 Y-4.00 F6000 (put the axes back to where we came from)
G90 (switch to absolute mode)
M99
%
cuts out two z moves and three lines of code, should work ok
