What's new
What's new

Probe for X Offset starting at a machine position. Long Probe Distance.

Cbyrdtopper

Plastic
Joined
Oct 10, 2020
To start out, here is our setup. Using a 03 Haas with classic controls. We put a part on the rotary table and probe for our X Offset on the biggest OD of the part; the position from the 4th axis chuck and the body we are probing varies from part to part. I made a macro that allows the operator to put in the OD of the probed part, the distance from the chuck to the body, and the Machine Position of the 4th axis chuck face.
I'm trying to get a probing routine to work with as few inputs as possible.
The program we use to generate our G Code has everything I need in it so I don't want to add variables to the macro that the operator has to put in.
The code I'm trying to use is the Renishaw 9811 single surface; however, it doesn't work right. It doesn't give me the same position as the probing for X offset inside the Hass probing routine. I'm wanting to start next to the chuck face and then probe over to the part, which could be several inches from the chuck face. I know the 9023 routine wants to start within 0.4" of the part.

This O1111 works as expected using the 9023 from renishaw and making the probe start within 0.4" of the part to be probed.
%
O01111
(Probe X Offset: G54)
G90 G94 G17
G20
G53 G00 Z0.00
M109 P501 (Body Diameter?)
M109 P501 (Chuck Spacing?)
(Variables)
#135= 4.0 (Body Diameter)
#136= -12.45 (4th Axis Machine Position)
#137= 1.525 (Body to Chuck Spacing)
#26= [#135/2] (Z Probe Position)

T30 M6
G54
G00 G53 X[#136-[#137 -0.4]]
G90 G00 Y0.00
G43 H30
G65 P9832
G65 P9810 Z[#26+0.125] F150.
G65 P9810 Z[#26-0.125] F150.
G65 P9023 A6. S54
G65 P9833
G53 G0 Z0.00
M30
%

This O1010 does not work as expected using the 9811 using a Q of (in this case) 6.0"

%
O1010
(Probe X Offset: G54)
G90 G94 G17
G20
G53 G00 Z0.00
M109 P501 (Body Diameter?)
M109 P501 (Chuck Spacing?)
(Variables)
#1= 4.0 (Body Diameter)
#2= 1.525 (Body to Chuck Spacing)
#3= -12.45 (4th Axis Chuck Face Machine Position)
#17 = 6.00 (Probe Overtravel: Q Value)
#23 = 6.0 (Work Offset to Set)
#26= [#1/2] (Z Probe Position)
#24=0 (Reset X Postion)
G103P1
T30 M6
G54
G00 G53 X[#3-[#2 -0.375]]
G90 G00 Y0.00
G43 H30
#24 = [#5041]
G65 P9832
G65 P9810 Z[#26+0.125] F150.
G65 P9810 Z[#26-0.125] F150.
G65 P9811 X#24 Q#17 S#23
G65 P9833
G103
G53 G0 Z0.00
M30
%

Is there something with where the probe starts or the position I have it probing to that changes the outcome of the macro?
Thanks for any input
 
I’m not sure what you’re asking but why not use a WCS not used in the program to position your probe where you want it (ie. G112). Make the probe the first tool but probe for G54 (or whatever). Scale the part out from the jaws and run it. If the stick out or OD changes drastically just adjust G112.
 
My Dad made a program in C++ to make the gcode for this specific product; so I'm able to get information from these inputs that generate the gcode to make my macro arguments without any additional input from the operator. I can have the Chuck spacing hard coded since it isn't going to change very often if ever; and the diameter is one of the variables for the program to be made. I'm trying to make the program generate the macro without any more additional inputs from the operator IE adjusting where the probe starts like you're suggesting. I don't care if the probe travels an extra 1-3 inches if the operator doesn't have to do anything and add risk to the operation.
 
So program 9023 is a renishaw easyset program. Does the haas let you modify the program at all?

So if you can modify the program, look at the #27 line (according to my easyset program, for fanuc controls) and you can set it to a higher value to allow a further overtravel similar to the q you use for the inspection+ macro 9811.

#27=10(DEFAULT Q IN MM)


Off the top of my head, I would think the code you provided should give you the same number but I may be missing something. For the simple sake of making sure you're looking at the right numbers, you are aware that you're setting the first program to g54 and the 2nd program to g59? Just want to make sure you're looking at the correct numbers.


What are the results of variables #135-#149 after you run the 9811 program? Those output variables are very helpful when debugging. I am again assuming that your haas uses the same variables for outputting data as the book I have for fanuc.

It's also worth pointing out that the variables you're using for the first program could possibly be interfered with by the probe macros, if you plan on using those variables further along in your program and don't re-initialize them.
 
Yeah, I have the one set to G54 because it works in the machine; I was just testing with G59 on the other program.
I though about getting into the 9023 to change the overtravel, I was just hoping to avoid that.
I will see if I get the same value for the probe strike position on each program. I'm going to change them to volatile variables like I show in the 1010 program.
 
I had some weird stuff going on when I ran my program the 2nd time. It moved in a negative direction (which is what I want) but once it set the work offset and I ran it again to see if anything changed it ran in a positive direction. I changed my #24 to #24 = [#5041 -0.05] to start it going in a negative direction to probe for the work offset. Once I did that, it changes the offset by a little over 1.5" every single time; so it just keeps decreasing.
 
I wonder if it has something to do with not having G54 or some other offset active? I've never had a probe use G53.

In a case like yours I'd do something like use an extended offset (g54p48, or whatever the extra work offsets are on a haas, i don't recall) to have it go to a location such as your chuck.

Edit: I am wondering if you need to use #5021 (machine coordinate) instead of #5041 (work coordinate)

Double edit: Ignore the line above. I think you should call up your coordinate g54 just before your 9811 line, and have it probe at x0:

T30 M6
G54
G00 G53 X[#3-[#2 -0.375]]
G90 G00 Y0.00
G43 H30
#24 = [#5041] REMOVE THIS
G65 P9832
G65 P9810 Z[#26+0.125] F150.
G65 P9810 Z[#26-0.125] F150.
G54 OR WHATEVER COORDINATE

G65 P9811 X0 Q#17 S#23
G65 P9833
G103
G53 G0 Z0.00
M30



If you have a value other than 0 as your x value on the p9811 line, it will add that value to your probe. So if it was probing a surface at X-6.000, it would set G54 as X+6.000" from wherever it touched. If you type X0, it will set the surface you touch as x0. Make sense?
 
Yes, that would make sense to what I'm seeing.
I did change my current offset to G59 and then set G59. I did notice I had it still in G54 and changing the G59 offset, so I changed that with no luck.
I will try your edit once the machine is available. Running parts right now. I should have time this afternoon.
 
I got this working on Tuesday and forgot to get back on here. It is working as expected now.
dandrummerman21, your suggestion of setting the X Argument to 0 worked.
I had to fix a couple of other things as well, but it is working. I also ended up talking to Renishaw later that day.
It wouldn't work with an offset that was already set to 0.00. So I have to have some value in the offset, Renishaw confirmed this, they said that probing routines are ran under the assumption that we have a general idea of where they are starting and going; all in the name of safety; it makes total sense.
But I just ran a G10 L2 P# and set the X Offset -0.125" of my chuck face and then ran the routine with an overtravel of 20.00".
Thanks for all the help with my issue!!
 








 
Back
Top