dodalem probe basic
This commit is contained in:
105
configs/atc_sim/macros_sim/probe_x_minus_wco.ngc
Normal file
105
configs/atc_sim/macros_sim/probe_x_minus_wco.ngc
Normal file
@@ -0,0 +1,105 @@
|
||||
(author: Chris P)
|
||||
(version: 0.2)
|
||||
(date: 06/27/24)
|
||||
|
||||
(Probe X Minus direction and set X 0 in current WCO)
|
||||
(Start probe position to the right side edge of stock)
|
||||
(inside the max xy distance with the probe tip below the stock top edge)
|
||||
(ensure all settings have been set properly according to help diagrams)
|
||||
|
||||
o<probe_x_minus_wco> sub
|
||||
|
||||
(uses NGCGUI style arg spec)
|
||||
(number after "=" in comment is default value)
|
||||
#<probe_tool_number> = #3014 (=99)
|
||||
#<probe_slow_fr> = #3015 (=0)
|
||||
#<probe_fast_fr> = #3016 (=10.0)
|
||||
#<probe_traverse_fr> = #3017 (=50)
|
||||
#<max_xy_distance> = #3018 (=0.5000)
|
||||
#<xy_clearance> = #3019 (=0.1000)
|
||||
#<max_z_distance> = #3020 (=0.5000)
|
||||
#<z_clearance> = #3021 (=0.1000)
|
||||
#<extra_probe_depth> = #3022 (=0.0000)
|
||||
#<step_off_width> = #3023 (=0.5000)
|
||||
#<probe_mode> = #3030 (=0)
|
||||
#<calibration_offset> = #3032 (=0)
|
||||
|
||||
(Cancel G92 offsets)
|
||||
G92.1
|
||||
|
||||
(Cancel Feedrate Override)
|
||||
M50 P0
|
||||
|
||||
#<workspace_x> = #[5201 + [20 * #5220]]
|
||||
|
||||
(Probe Tool Safety Check)
|
||||
o100 if [#5400 NE #<probe_tool_number>]
|
||||
(DEBUG, Specified probe tool %d#<probe_tool_number> not in spindle, aborting)
|
||||
M50 P1
|
||||
o<probe_x_minus_wco> return
|
||||
o100 endif
|
||||
|
||||
(Probe Diameter)
|
||||
#<probe_diameter> = #5410
|
||||
|
||||
(Probe Radius)
|
||||
#<probe_radius> = [#<probe_diameter> / 2]
|
||||
|
||||
(Probe Centerline Offset)
|
||||
#<probe_center_offset> = [#<probe_radius> - #<calibration_offset>]
|
||||
|
||||
(Current X Position including offsets in current program units)
|
||||
#<x> = #5420
|
||||
|
||||
(Initiate Fast X- Probe)
|
||||
G91
|
||||
F[#<probe_fast_fr>]
|
||||
G38.2 X-[#<max_xy_distance>]
|
||||
#<x_minus_probed> = #5061
|
||||
|
||||
(Probe Error check, #5070 will be 0 if failed)
|
||||
o110 if [#5070 EQ 0]
|
||||
(back to start point and feed)
|
||||
G90
|
||||
G1 F[#<probe_traverse_fr>] X#<x>
|
||||
F[#<probe_fast_fr>]
|
||||
M50 P1
|
||||
o<probe_x_minus_wco> return
|
||||
o110 endif
|
||||
|
||||
(Move to xy_clearance distance for slow probe)
|
||||
G90
|
||||
G1 F[#<probe_traverse_fr>] X[#<x_minus_probed> + #<xy_clearance>]
|
||||
|
||||
(Slow Probe Rule, if Slow Probe FR is set to 0, Slow Probe is Bypassed)
|
||||
o120 if [#<probe_slow_fr> GT 0]
|
||||
(Initiate Slow X- Probe)
|
||||
G91
|
||||
F[#<probe_slow_fr>]
|
||||
G38.2 X-[#<xy_clearance> * 2]
|
||||
#<x_minus_probed> = #5061
|
||||
G90
|
||||
G1 F[#<probe_traverse_fr>] X[#<x_minus_probed> + #<xy_clearance>]
|
||||
o120 endif
|
||||
|
||||
#<x_minus_zero_edge> = [#<x_minus_probed> - #<probe_center_offset>]
|
||||
|
||||
(defines the edge as x_probed_position for DRO reporting)
|
||||
#<x_minus_probed_position> = #<x_minus_zero_edge>
|
||||
|
||||
(output to gui DRO "X PROBED POSITION")
|
||||
#1005 = #<x_minus_probed_position>
|
||||
(DEBUG, EVAL[vcp.getWidget{"x_minus_probed_position"}.setValue{#1005}])
|
||||
|
||||
(probe mode rule for WCO or probe position measuring only)
|
||||
o130 if [#<probe_mode> EQ 0]
|
||||
(Record X Zero in selected WCO)
|
||||
G10 L2 P#5220 X[#<x_minus_zero_edge> + #<workspace_x>]
|
||||
o130 endif
|
||||
|
||||
(Reinstate Feedrate Override)
|
||||
M50 P1
|
||||
|
||||
o<probe_x_minus_wco> endsub
|
||||
|
||||
M2 (end program)
|
||||
Reference in New Issue
Block a user