Jump to content

Welcome to eMastercam

Register now to participate in the forums, access the download area, buy Mastercam training materials, post processors and more. This message will be removed once you have signed in.

Use your display name or email address to sign in:

Recommended Posts

I have been running forged AR15 lower receivers for a few years now and we have always segregated the parts by thickness in groups of a .003 total tolerance. We would then set up the machine to run a certain lot size then move our work offset up in z for the two vice ops and over in x for the indexer op. Since our program is based off of centerline and we have probing capabilities I know there is a way to have a known z location (bottom of fixture parts rest on ) and a known x location (side of fixture in the indexer the part bolts to) then we can probe top of part in the vice and take the middle between the known z and our new probed z and make that our Z work offset and same thing goes for the X on the indexer. I just don't know how to properly code a probing cycle to do just that. I have used the probing cycles that the has machines spit out when you want to pick up work offsets but there is nothing for centerline on a known z to a new probed z or x. I've also looked at renishaws probing cycle book and it all just seems jibberish to me.

Link to comment
Share on other sites

I have been running forged AR15 lower receivers for a few years now and we have always segregated the parts by thickness in groups of a .003 total tolerance. We would then set up the machine to run a certain lot size then move our work offset up in z for the two vice ops and over in x for the indexer op. Since our program is based off of centerline and we have probing capabilities I know there is a way to have a known z location (bottom of fixture parts rest on ) and a known x location (side of fixture in the indexer the part bolts to) then we can probe top of part in the vice and take the middle between the known z and our new probed z and make that our Z work offset and same thing goes for the X on the indexer. I just don't know how to properly code a probing cycle to do just that. I have used the probing cycles that the has machines spit out when you want to pick up work offsets but there is nothing for centerline on a known z to a new probed z or x. I've also looked at renishaws probing cycle book and it all just seems jibberish to me.

I think this is what you might be looking for:

#5221 is G54 X System Variable

#5223 is G54 Z System Variable

 

(Set X fixture machine position)

#600=#5221

(Probe Part X)

#601=#5221

(Reset G54 X)

#5221=[#600+#601]/2

 

(Set Z fixture machine position)

#610=#5223

(Probe Part Z)

#611=#5223

(Reset G54 Z)

#5223=[#610+#611]/2

 

I hope this helps. Just some basic math should get you going in the right direction.

Link to comment
Share on other sites

Machine guy, I did a search before I wrote this and did see your post but I don't have a bore to probe its simply a solid surface.. I've used probing on a bore before on every part in order to maintain concentricity on the bolt patern I was putting on the part and it works really well . I think cncchip makers post is exactly what I am looking for. Let me go out to the machine and try that code out ill let you know soon if I get it to work. Thanks

Link to comment
Share on other sites

I guess I still need some help here is an example right out of one of my programs that we are using right now in order to set several z heights on the same part for engraving.

 

G00 G17 G40 G49 G80 G90
T25 M06 
G00 G90 G54 X4.56 Y-0.47
G43 H25 Z0.5
G00 G90 Z0.075
G65 P9023 A9. S154.01
G00 G90 Z0.5

 

G00 G90 G54 X5.07 Y0.95
G43 H25 Z0.5
G00 G90 Z0.075
G65 P9023 A9. S154.02
G00 G90 Z0.5

 

G00 G90 G54 X1.23 Y-0.55
G43 H25 Z0.5
G00 G90 Z-0.03
G65 P9023 A9. S154.03
G00 G90 Z0.5
G91 G28 Z0

 

This is the extent of how I go about using the probe in a program. I just learned about the protected probe move code today. But am I supposed to write my own Sub  Program and write the logic statement inside of that or do I write the logic statement directly in the main program? If you run a single surface probing cycle all you have to do is write G65 P9023 A9. S154.01 and hit cycle start with the probe within .400 above the surface you are probing but then its actually running a 9000 protected program and has the logic statement inside of it.

 

As of right now this is what I have as a program. The question mark is where I get confused

 

 

GOO G40 G80 G91 G28 ZO
G103 P1
T25 M06
G65 P9832
G43 H25
G00 G90 G54 XO YO
G65 P9810 Z1.25 F200.
G65 P9810 G01 Z1.1 F50.
?
?
#610=#5223
?
G65 P9995 W54. A20. H-.1
?
?
#611=#5223
#5223=[#610+#611]/2
?
G00 G91 G28 Z0
G103 P0

Link to comment
Share on other sites

I am not familiar with Haas/Reinashaw probe macros. We use different macros on the Makinos here at work, which are Fanuc based. In your first example you are using P9023 to set Z. Why are you not using that in your program? What does the P9995 do? I do however know that Fanuc and Haas have a lot of the same system variables. To me it looks as though if you ignore the question marks that should be enough code to get you what you want. You would just write the logic statement in your main program, do not alter the 9000 programs in any way.

Link to comment
Share on other sites

At the control you can output all the probing routines, then merge them into existing programs. In the VQC you can use probe block starting from center. Then add some protected moves. I can whip up something in a few if you want. The Renishaw book has a lot of info on this stuff. I would probe the top of the parts though. The center of block routine does that as well.

Link to comment
Share on other sites

Here is a very simple probe routine I did a few months ago.  It collects an approximate start point, picks up 2 points, does the trig, rotates C axis, collects two points again and then checks the C axis rotation.  It's about as simple as you can get for following a probe routine to see how it works.

O800(PROBE U205_S2 AFTER ROUGH)(PROBE U205_S2 AFTER ROUGH)(PART MUST BE ROUGHED!!!)G20G40G80G94G0G28G91Z0.G28Y0.G28X0.B0.C0.N5 (BEGIN PROBE U205)T80T0M6  (call probe)G94G4P5000  (dwell for probe to sync)G54G90  (offset, absolute)N10 (COLLECT APPROX Y)G65P9810X0.Y18.Z1.  (protected position for first point)G65P9810Z-3.  (protected Z down)G65P9811Y15.9449Q1.5S1   (single face -y direction, Q allows overtravel)G65P9810Z1. (protected Z back up)N20 (COLLECT PT1)G65P9810X8.3Y15.  (protected move to first point for z axis)G65P9810Z-2.5  (z down)G65P9811X7.862  (single face -x direction)#500=#135  (store collected point)G65P9810Z1.  (protected z up)N30 (COLLECT PT2)G65P9810Y-15.  (protected z to next point)G65P9810Z-7.25  (protected z to next depth)G65P9811X7.862  (single face point 2)#501=#135  (store second point)G65P9810Z1.  (protected z up)(C AXIS CALC)N40 (POS ROTATION)IF [#500GT#501] GOTO50#502=#501-#500#503=#502/30#504=ATAN[#503]#5225=#504GOTO100N50 (NEG ROTATION)#502=#500-#501#503=#502/30#504=ATAN[#503]#505=-1*#504#5225=#505N100 (CHECK C ROT)G0G28G91Z0.G28X0.Y0.G0G54G90C0.(RECOLLECT PT1)G65P9810X8.3Y15.Z1.G65P9810Z-2.5G65P9811X7.862#505=#135G65P9810Z1.(RECOLLECT PT2)G65P9810Y-15.G65P9810Z-7.25G65P9811X7.862#506=#135G65P9810Z1.IF [#506GT#505] GOTO110#507=#505-#506IF [#507LT0.0005] GOTO120#3000=21(C_AXIS_ERROR_CHECK_SETUP)N110 #507=#506-#505IF [#507LT0.0005] GOTO120#3000=21(C_AXIS_ERROR_CHECK_SETUP)N120(SET G54XY)G65P9810X0.Y2.Z1.G65P9812X15.726Z-.8Q1.5S1R2.G65P9810X-1.Y0.G65P9812Y31.8898Z-3.Q1.5S1R2.G0G28G91Z0.G28Y0.G28X0.B0.C0.M30

I added comments after pasting so you can see what it's doing.  Most people over complicate probing.  Think of G65P9810 or what ever your protected positioning macro is as G1.  You'll rarely if ever use G0 in a probe routine.

 

You should be able to get a probe manual from Haas or Renishaw..  Any time I've ever dealt with Renishaw, they were always more helpful than I expected.

 

Hope that helps.

  • Like 1
Link to comment
Share on other sites

I think this is what you might be looking for:

#5221 is G54 X System Variable

#5223 is G54 Z System Variable

 

(Set X fixture machine position)

#600=#5221

(Probe Part X)

#601=#5221

(Reset G54 X)

#5221=[#600+#601]/2

 

(Set Z fixture machine position)

#610=#5223

(Probe Part Z)

#611=#5223

(Reset G54 Z)

#5223=[#610+#611]/2

 

I hope this helps. Just some basic math should get you going in the right direction.

I forgot to mention that you are going to want to use the G10 Line function at the beginning of your program. It looks something like this: G90G10L2P1X(Hard Location)Z(Hard Location).

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.

Join us!

eMastercam - your online source for all things Mastercam.

Together, we are the strongest Mastercam community on the web with over 56,000 members, and our online store offers a wide selection of training materials for all applications and skill levels.

Follow us

×
×
  • Create New...