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:

Renishaw productivity plus problem


Recommended Posts

Hello everyone, 

so I'm currently having some trouble with my productivity plus inside mastercam 2022. I can use it and probe G54 offset with no problem, but we have setups where we run 2 vises and cut two parts at once. My machine which is an 07 Haas VF3 seems to default back to G54 no matter what when it tries to probe G55. it picks up G54 and updates the WCS moves to G55 and as the probe turns back on to probe G55 it moves in the protected feed all the way back to the G54 work offset re-probes my G54 block but then here is the kicker it then updates G55 in the control.  any help would be greatly appreciated I have been batting this problem for weeks now and have learned far more about macros then I ever thought I would. attached is a video file as well https://photos.app.goo.gl/UUjL6fKnRKsAiWSX6

Link to comment
Share on other sites
26 minutes ago, jedeyelaser said:

Hello everyone, 

so I'm currently having some trouble with my productivity plus inside mastercam 2022. I can use it and probe G54 offset with no problem, but we have setups where we run 2 vises and cut two parts at once. My machine which is an 07 Haas VF3 seems to default back to G54 no matter what when it tries to probe G55. it picks up G54 and updates the WCS moves to G55 and as the probe turns back on to probe G55 it moves in the protected feed all the way back to the G54 work offset re-probes my G54 block but then here is the kicker it then updates G55 in the control.  any help would be greatly appreciated I have been batting this problem for weeks now and have learned far more about macros then I ever thought I would. attached is a video file as well https://photos.app.goo.gl/UUjL6fKnRKsAiWSX6

Without a file to see what your seeing to understand the process you are using to use Productivity Plus cannot be much help. I would call each one as their own probing cycle updating the workoffset using the S variable for the cycle and call it a day. 100 ways to make things do it and since you have found the 101 way hard to know if the other 100 ways might be the answer.

 

I see many problems right off looking at this part of the program. 6 Lines should be all you need to do a single corner probing.

1 Approach line.

1 Single Corner Probing Line Set G54

1 retract line

1 approach line

1 Single Corner Probing line Set G55

1 retract line.

Edited by crazy^millman
Pictures removed to add space
Link to comment
Share on other sites
2 minutes ago, jedeyelaser said:

Combined program probing only.NC

I attached the file with the probing functions only. unless all the drilling and milling cycles are needed i can post another. From what i can tell the error occurs in the Productivity Plus move out Program o2001 or o2109

Yes you should only need to call the Renishaw cycles embedded in the machine. No need to have it give you all the extra garbage. These lines make no sense and should error out the machine. I have never seen a macro statement line output that many IJK values and even work. If it is reading it then it must be reading the last ones and using them. That looks like a major problem in my opinion.

G65P2106A-0.6181B-0.5C-0.4181I0.3819J0.5K-0.5I0.5J-0.5K0.5I0.6181J-0.4181K-0.3819I103.J100.K101.I102.J0.K1.I1.J0.4K0.

Looks like you need to reach out to the dealer you got the Post from and have them look into why these are not correct,

NC Code does me no good. I need a Z2G that gives me the Post and HASP Number, I can then reach out to CNC software and make sure your a legal user of the software. Without such information sorry to be the bad guy and suspect you, but with that or your company information I have no way to do so.

Link to comment
Share on other sites
51 minutes ago, crazy^millman said:

Yes you should only need to call the Renishaw cycles embedded in the machine. No need to have it give you all the extra garbage. These lines make no sense and should error out the machine. I have never seen a macro statement line output that many IJK values and even work. If it is reading it then it must be reading the last ones and using them. That looks like a major problem in my opinion.

G65P2106A-0.6181B-0.5C-0.4181I0.3819J0.5K-0.5I0.5J-0.5K0.5I0.6181J-0.4181K-0.3819I103.J100.K101.I102.J0.K1.I1.J0.4K0.

Looks like you need to reach out to the dealer you got the Post from and have them look into why these are not correct,

NC Code does me no good. I need a Z2G that gives me the Post and HASP Number, I can then reach out to CNC software and make sure your a legal user of the software. Without such information sorry to be the bad guy and suspect you, but with that or your company information I have no way to do so.

It is correct.  And they will tell you all the extra lines are needed for Pro+ to do what it needs to do in regards to logic and re-machining.  I've recently switched to the Cimco probing add-in and it was much better.

 

image.png.f3b4e6175f8641e80d61ba690d7c5bcc.png

 

  • Like 2
Link to comment
Share on other sites
54 minutes ago, Kyle Brunner said:

It is correct.  And they will tell you all the extra lines are needed for Pro+ to do what it needs to do in regards to logic and re-machining.  I've recently switched to the Cimco probing add-in and it was much better.

 

image.png.f3b4e6175f8641e80d61ba690d7c5bcc.png

 

Kyle, thank you I wasn't aware of that so appreciate you responding to the topic.

Link to comment
Share on other sites

They cannot post anymore today due to the spam controls in place on the forum. I was sent the Files and they are legit customer. I cannot see anything that is being done incorrectly so I have passed this on to my contact at CNC software to get involved to help them get this sorted out. Sorry I could not offer more help, but interested in hearing the answer since I agree this seems to be acting wonky.

Link to comment
Share on other sites

The Macro Calls can be done in 2 Styles:

Type I > Type 1 Macro Calls only allow up to like 18 arguments. "N", "G", "P", and a couple of other Letters aren't allowed with Type 1 Macro Calls. This limits the amount of data which can be passed. Values are stored in #1-#26 with Type 1 Macro Calls. (A=#1, Z=#26), but the values are not sequential. So, D=7, E=8, F=9 (see table above).

Type II > Type 2 Macro Calls allow up to 33 Arguments. It does this by using A=1, B=2, C=3, and then 10-Sets of IJK Arguments. You cannot skip a letter, so you must use "I=0.", or "J=0.", or "K=0.", if you want to skip any of the sequential numbers. (But if you're doing that, you're probably writing inefficient macro code anyway...

In that Macro line above, I see A,B,C, (#1-#3), and then 6-sets of IJK values. So, that would be 18 variables for the IJK's, #4-#21. So technically, there are 12 unused IJK values available, which could be included on that Macro Line, and have it still be a valid Type 2 Call.

To be fair, "Type II" Calls are far less commonly used. Really, it's only when you require more values than can be passed with Type I.

 

 

Link to comment
Share on other sites
8 hours ago, jedeyelaser said:

Hello everyone, 

so I'm currently having some trouble with my productivity plus inside mastercam 2022. I can use it and probe G54 offset with no problem, but we have setups where we run 2 vises and cut two parts at once. My machine which is an 07 Haas VF3 seems to default back to G54 no matter what when it tries to probe G55. it picks up G54 and updates the WCS moves to G55 and as the probe turns back on to probe G55 it moves in the protected feed all the way back to the G54 work offset re-probes my G54 block but then here is the kicker it then updates G55 in the control.  any help would be greatly appreciated I have been batting this problem for weeks now and have learned far more about macros then I ever thought I would. attached is a video file as well https://photos.app.goo.gl/UUjL6fKnRKsAiWSX6

Can you post up the whole Macro Code Program? I can't see beyond where it is probing the left edge of the block, then the top, then the back if the block, where it probes the solid jaw.

The issue here, is that your RenMF File is not configured to "call the existing macros on your machine". This is a simple switch in the RenMF File.

Also, your Macro Program Range is set to the 2000 series. You should change that to the 9810 series, so it can just call the existing macros on the machine.

  • Like 1
Link to comment
Share on other sites
so i manually load in the rough location of the work offsets using the macro variables before it probes. so the probe has a reference to get close to the block.

%
O0000 (00004)
(MCX FILE  - COMBINED PROGRAMS..MCAM)
(PROGRAM   - 00004.NC)
(DATE      - MAR-29-2022)
(TIME      - 4:00 PM)
(T40  - PROBE                - H40  - D40  - D0.2362" - R0.1181")
#149=0 (RENPROGSTART)
#148=0 (RENPROGSTARTEND)
(_RENGCODE_START0001)

#5221= -31.7983
#5222= -5.7755
#5223= -22.5301
#5241= -11.2886
#5242= -5.7755
#5243= -22.5301
 
G00 G20 G40 G80 G90
(_RENGCODE_END)

(PRODPLUS_BEGIN)
M5
G54
G90
G65P2109A1.C1.I0.1181D2.E2.H40.M0.Q0.R0.T-999U40.V2.W9.Z1.
G65P2002Z1.
G65P2002X-0.6181Y-0.5Z1.
G65P2106A-0.6181B-0.5C-0.4181I0.3819J0.5K-0.5I0.5J-0.5K0.5I0.6181J-0.4181K-0.3819I103.J100.K101.I102.J0.K1.I1.J0.4K0.
G65P2002Z1.
G65P2108B5221.I0.J1.C0.0075D-0.0075E-0.0075F1.H1.K5221.M1.Q0.R103.S104.T105U1.V1.W1.X100.Y101.Z102.
G65P2007
(PRODPLUS_END0004)
(_RENGCODE_START0005)

(_RENGCODE_END)

(PRODPLUS_BEGIN)
M5
G55
G90
G65P2109A1.C1.I0.1181D2.E2.H40.M0.Q0.R0.T-999U40.V2.W9.Z1.
G65P2002Z1.
G65P2002X-0.6181Y-0.2Z1.
G65P2106A-0.6181B-0.2C-0.4181I0.3819J0.2K-0.2I0.5J-0.5K0.2I0.6181J-0.4181K-0.3819I103.J100.K101.I102.J0.K1.I1.J0.4K0.
G65P2002Z1.
G65P2108B5241.I0.J1.C0.0075D-0.0075E-0.0075F1.H1.K5241.M1.Q0.R103.S104.T105U1.V1.W1.X100.Y101.Z102.
G65P2007
(PRODPLUS_END0008)
(_RENGCODE_START0009)

G90
M30
(_RENGCODE_END)

O2106(PRODPLUS-MEAS-3D-CORNER)
(_RENMACRO_START_)
(V2.9 - COPYRIGHT RENISHAW PLC 2017)
G65P2001 X#1 Y#2 Z#3
G65P2003 A#1 B#2 C#3 D#4 E#2 F#3 K1. Q#13 R#14 S#15 T#16
IF[ABS[#17]LT0.0001]GOTO01
#22=#[#14]
#23=#[#15]
#24=#[#16]
G103P1
DPRNT[RAW*POINT/#22[44]/***#23[44]/***#24[44]]
G4P50
G103
N01
#30=#[#14]
#29=#4-#1
IF[#29LT0]GOTO10
G65P2012 A1. B0. R#13
#30=#30+#[#13]
GOTO20
N10
G65P2012 A-1. B0. R#13
#30=#30-#[#13]
N20
IF[#20EQ#0]GOTO30
#28=#21+#20
IF[#28LT#7]GOTO21
G65P2001 Z#28
G65P2001 X#5 Y#6
G65P2001 Z#7
GOTO22
N21
G65P2001 Z#7
G65P2001 X#5 Y#6
N22
GOTO40
N30
G65P2001 X#5 Y#6 Z#7
N40
G65P2003 A#5 B#6 C#7 D#5 E#6 F#8 K1. Q#13 R#14 S#15 T#16
IF[ABS[#17]LT0.0001]GOTO41
#22=#[#14]
#23=#[#15]
#24=#[#16]
G103P1
DPRNT[RAW*POINT/#22[44]/***#23[44]/***#24[44]]
G4P50
G103
N41
#32=#[#16]
IF[#20EQ#0]GOTO50
#28=#21+#20
IF[#28LT#7]GOTO42
G65P2001 Z#28
G65P2001 X#9 Y#10
G65P2001 Z#11
GOTO43
N42
G65P2001 X#9 Y#10
G65P2001 Z#11
N43
GOTO60
N50
G65P2001 X#9 Y#10 Z#11
N60
G65P2003 A#9 B#10 C#11 D#9 E#12 F#11 K1. Q#13 R#14 S#15 T#16
IF[ABS[#17]LT0.0001]GOTO61
#22=#[#14]
#23=#[#15]
#24=#[#16]
G103P1
DPRNT[RAW*POINT/#22[44]/***#23[44]/***#24[44]]
G4P50
G103
N61
#31=#[#15]
#29=#12-#10
IF[#29LT0]GOTO70
G65P2012 A0. B1. R#13
#31=#31+#[#13]
GOTO80
N70
G65P2012 A0. B-1. R#13
#31=#31-#[#13]
N80
#[#14]=#30
#[#15]=#31
#[#16]=#32
M99
O2001(PRODPLUS-PROVEOUT-MOVE)
(_RENMACRO_START_)
(V2.9 - COPYRIGHT RENISHAW PLC 2017)
IF[#13EQ#0]GOTO9
#[#13]=0.
#14=#11
#21=#24-#17
#22=#25-#18
#23=#26-#19
IF[ABS[#21]GT0.0001]GOTO11
IF[ABS[#22]GT0.0001]GOTO11
IF[ABS[#23]GT0.0001]GOTO11
#2=29
M98P2005
N11
#20=SQRT[[#21*#21]+[#22*#22]+[#23*#23]]
#21=#21/#20
#22=#22/#20
#23=#23/#20
IF[#14NE#0]GOTO8
#24=#17-[#21*#4]
#25=#18-[#22*#4]
#26=#19-[#23*#4]-#4
GOTO9
N8
#24=#24-[#21*[#4-#5]]
#25=#25-[#22*[#4-#5]]
#26=#26-[#23*[#4-#5]]-#4
N9
#28=0.
#29=0.
#30=0.
IF[#24EQ#0]GOTO1
#28=#24
N1
IF[#25EQ#0]GOTO2
#29=#25
N2
IF[#26EQ#0]GOTO3
#30=#26
N3
IF[#24EQ#0]GOTO4
#24=#28
N4
IF[#25EQ#0]GOTO6
#25=#29
N6
IF[#26EQ#0]GOTO7
#26=#30
N7
#11=0
#28=#[2000+#4111]
G103P1
#1=#[5040+1]
#2=#[5040+2]
#3=#[5040+3]-#28
G103
IF[#24NE#0]GOTO20
#24=#1 + #660
N20
IF[#25NE#0]GOTO30
#25=#2 + #661
N30
IF[#26NE#0]GOTO40
#26=#3
#26 = #26-#675
N40
#24 = #24-#660
#25 = #25-#661
#26 = #26+#675
N42
#10=0
N5006
IF[ABS[#11]LT0.0001]GOTO55
#10=0
N55
IF[#14GT0.0001]GOTO44
G31X#24Y#25Z#26F200.
GOTO58
N44
G31X#24Y#25Z#26F60.
N58
G103P1
#4=#[5060+1]
#5=#[5060+2]
#6=#[5060+3]-#28
G103
IF[ABS[#24-#4]GT0.002] GOTO60
IF[ABS[#25-#5]GT0.002] GOTO60
IF[ABS[#26-#6]GT0.002] GOTO60
GOTO999
N60
#10=#10+1
IF[#10GT5]GOTO100
#7=#24-#1
#8=#25-#2
#9=#26-#3
#27=SQRT[[#7*#7]+[#8*#8]+[#9*#9]]
#7=#7/#27
#8=#8/#27
#9=#9/#27
N5007
#31=#4+[#7*0.008]
#32=#5+[#8*0.008]
#33=#6+[#9*0.008]
G31X#31Y#32Z#33F7.87
G103P1
#4=#[5060+1]
#5=#[5060+2]
#6=#[5060+3]-#28
G103
#20=#31-#4
#21=#32-#5
#22=#33-#6
#12 = [#20*#20]+[#21*#21]+[#22*#22]
IF[#12LT[0.002*0.002]]GOTO5006
#10=#10+1
IF[#11GT0]GOTO120
IF[#10LE5]GOTO5007
N100
IF[ABS[#4-#1]GT0.08]GOTO170
IF[ABS[#5-#2]GT0.08]GOTO170
IF[ABS[#6-#3]GT0.08]GOTO170
IF[#11GT0]GOTO170
N120
IF[ABS[#11]LT0.0001]GOTO130
IF[0LT0.0001]GOTO121
#3001=0
WHILE[#3001LT0.]DO2
END2
GOTO130
N121
G4 P[0*1000]
N130
G65 P9832
#11=#11+1
IF[#11GE5]GOTO160
GOTO5007
N160
#2=7
M98P2005
N170
IF[#13EQ#0]GOTO175
IF[#14EQ#0]GOTO175
#[#13]=1.
#4=#[5060+1]
#5=#[5060+2]
#6=#[5060+3]-#28
#31=#4-[#7*0.064]
#32=#5-[#8*0.064]
#33=#6-[#9*0.064]
G01 X#31 Y#32 Z#33 F200.
GOTO999
N175
#2=5
M98P2005
N999
M99
O2005(PRODPLUS-ERROR-MESSAGES)
(_RENMACRO_START_)
(V2.9 - COPYRIGHT RENISHAW PLC 2017)
IF[ABS[#2-1]GT0.0001]GOTO02
#3000=90(REN1.FALSE*TRIGGER*ERROR)
N02
IF[ABS[#2-2]GT0.0001]GOTO03
#3000=91(REN2.PROBE*RE-SEAT*ERROR)
N03
IF[ABS[#2-3]GT0.0001]GOTO04
#3000=92(REN3.REACHED*OVERTRAVEL)
N04
IF[ABS[#2-4]GT0.0001]GOTO05
#3000=93(REN4.LINE/PLANE*PARALLEL*ERROR)
N05
IF[ABS[#2-5]GT0.0001]GOTO06
#3000=94(REN5.PATH*OBSTRUCTED)
N06
IF[ABS[#2-6]GT0.0001]GOTO07
#3000=95(REN6.PROBE*BACKOFF*ERROR)
N07
IF[ABS[#2-7]GT0.0001]GOTO08
#3000=96(REN7.PROBE*NOT*READY)
N08
IF[ABS[#2-8]GT0.0001]GOTO09
#3000=97(REN8.G21/G71*ACTIVE*-*METRIC)
N09
IF[ABS[#2-9]GT0.0001]GOTO10
#3000=98(REN9.G20/G70*ACTIVE*-*IMPERIAL)
N10
IF[ABS[#2-10]GT0.0001]GOTO11
#3000=99(REN10.NO*WEAR*REGISTER)
N11
IF[ABS[#2-11]GT0.0001]GOTO12
#3000=100(REN11.PROBE*SWITCH*ON*ERROR)
N12
IF[ABS[#2-12]GT0.0001]GOTO13
#3000=101(REN12.PROBE*SWITCH*OFF*ERROR)
N13
IF[ABS[#2-13]GT0.0001]GOTO14
#3000=102(REN13.NO*WORK*OFFSET*ACTIVE)
N14
IF[ABS[#2-14]GT0.0001]GOTO15
#3000=103(REN14.COMMAND*POS*ERROR)
N15
IF[ABS[#2-15]GT0.0001]GOTO16
#3000=104(REN15.INCORRECT*MACRO*UNITS)
N16
IF[ABS[#2-16]GT0.0001]GOTO17
#3000=105(REN16.INCORRECT*DRIVE*NUMBER)
N17
IF[ABS[#2-17]GT0.0001]GOTO18
#3000=106(REN17.STYLUS*OFFSET*POSITION*ERROR)
N18
IF[ABS[#2-18]GT0.0001]GOTO19
#3000=107(REN18.INCORRECT*MACRO*VERSION)
N19
IF[ABS[#2-19]GT0.0001]GOTO20
#3000=108(REN19.INCORRECT*TOOL*NUMBER)
N20
IF[ABS[#2-20]GT0.0001]GOTO21
#3000=109(REN20.ERROR*WITH*USE*ACTIVE*WCS)
N21
IF[ABS[#2-21]GT0.0001]GOTO22
GOTO99
N22
IF[ABS[#2-22]GT0.0001]GOTO23
GOTO99
N23
IF[ABS[#2-23]GT0.0001]GOTO24
GOTO99
N24
IF[ABS[#2-24]GT0.0001]GOTO25
#3000=113(REN24.USE*ACTIVE*DOES*NOT*SUPPORT*G154*EXTENDED*OFFSETS)
N25
IF[ABS[#2-25]GT0.0001]GOTO26
#3000=114(REN25.INCORRECT*CALIBRATION*DATA)
N26
IF[ABS[#2-26]GT0.0001]GOTO27
GOTO99
N27
IF[ABS[#2-27]GT0.0001]GOTO28
GOTO99
N28
IF[ABS[#2-28]GT0.0001]GOTO29
#3000=117(REN28.SOFT*ROT*METHOD*NOT*CONFIGURED)
N29
IF[ABS[#2-29]GT0.0001]GOTO30
#3000=118(REN29.CONS*POINT*DIV*BY*0)
N30
IF[ABS[#2-30]GT0.0001]GOTO31
#3000=119(REN30.CONS*POINT*NULL*VECTOR)
N31
IF[ABS[#2-31]GT0.0001]GOTO32
#3000=120(REN31.CONS*POINT*ISECT*ANGLE*TOO*SMALL)
N32
IF[ABS[#2-32]GT0.0001]GOTO33
#3000=121(REN32.SPINDLE*ORIENTATION*NOT*CONFIGURED)
N33
IF[ABS[#2-33]GT0.0001]GOTO34
#3000=122(REN33.OLD*LEN*CAL*PROG*INVALID)
N34
IF[ABS[#2-34]GT0.0001]GOTO35
#3000=123(REN34.WCS*HAS*LARGE*ANGULAR*OFFSETS)
N35
IF[ABS[#2-35]GT0.0001]GOTO36
#3000=124(REN35.MACHINE*ORIENTATION*ERROR)
N36
IF[ABS[#2-36]GT0.0001]GOTO37
#3000=125(REN36.FEEDRATE*TOO*SLOW*FOR*RMP600)
N37
IF[ABS[#2-37]GT0.0001]GOTO38
#3000=126(REN37.INCORRECT*Z*ELECTRONIC*ERROR*VALUE)
N38
IF[ABS[#2-38]GT0.0001]GOTO39
#3000=127(REN38.NO*VALUE*ALLOWED*IN*LENG*CO*OR*ACT*CO)
N39
IF[ABS[#2-39]GT0.0001]GOTO40
#3000=128(REN39.TOOL*NUMBER*WITH*SUFFIX*NOT*FOUND)
N40
IF[ABS[#2-40]GT0.0001]GOTO41
#3000=129(REN40.OUT*OF*TOL)
N41
IF[ABS[#2-41]GT0.0001]GOTO42
#3000=130(REN41.SAFETY*HEIGHT*INSUFFICIENT)
N42
IF[ABS[#2-42]GT0.0001]GOTO43
#3000=131(REN42.WEAR*NOT*ALLOWED*FOR*PROBES)
N43
IF[ABS[#2-43]GT0.0001]GOTO44
#3000=132(REN43.STANDOFF*TOO*LARGE)
N44
IF[ABS[#2-44]GT0.0001]GOTO99
GOTO99
N99
#3000=188(REN99.INVALID*ERROR*CODE)
M00
M99
O2003(PRODPLUS-DOUBLE-TOUCH-MEASURE-POINT)
(_RENMACRO_START_)
(V2.9 - COPYRIGHT RENISHAW PLC 2017)
#30=3.937
IF[#21EQ#0]GOTO2
#30=#30/#21
N2
#7=#7-#660
#8=#8-#661
#9=#9+#675
#3=#3+#675
N3
G4 P100
G31X#7Y#8Z#9F60.
#[#17]=0
#28=#[2000+#4111]
#1=#1-#660
#2=#2-#661
#16=0.002*0.002
#21=#7-#1
#22=#8-#2
#23=#9-#3
#27=SQRT[[#21*#21]+[#22*#22]+[#23*#23]]
#21=#21/#27
#22=#22/#27
#23=#23/#27
#4=0
N5002
#4=#4+1
G103P1
#24=#[5060+1]
#25=#[5060+2]
#26=#[5060+3]-#28
IF[ABS[#24-#7]GT0.002]GOTO31
IF[ABS[#25-#8]GT0.002]GOTO31
IF[ABS[#26-#9]GT0.002]GOTO31
#2=3
M98P2005
N31
G103
#3004=2
#31=#24-[#21*0.064]
#32=#25-[#22*0.064]
#33=#26-[#23*0.064]
G103P1
#13=#[5040+1]
#14=#[5040+2]
#15=#[5040+3]-#28
#13=#13-#31
#14=#14-#32
#15=#15-#33
#29=SQRT[[#13*#13]+[#14*#14]+[#15*#15]]
G103
IF[#29LT[4*0.064]]GOTO25
#2=14
M98P2005
N25
G01 X#31 Y#32 Z#33 F200.
G4 P100
IF[ABS[#24-#1]GT0.002]GOTO40
IF[ABS[#25-#2]GT0.002]GOTO40
IF[ABS[#26-#3]GT0.002]GOTO40
#2=7
M98P2005
N40
#13=#24+[#21*[0.024]]
#14=#25+[#22*[0.024]]
#15=#26+[#23*[0.024]]
#5=0
N5003
#5=#5+1
G31X#13Y#14Z#15F#30
G103P1
G01 X#31 Y#32 Z#33 F200.
#3004=0
#24=#[5060+1]
#25=#[5060+2]
#26=#[5060+3]-#28
#10=#24-#13
#11=#25-#14
#12=#26-#15
IF[[[#10*#10]+[#11*#11]+[#12*#12]]LT#16]GOTO80
G103
#[#18]=#24+#660
#[#19]=#25+#661
IF[#20EQ#0]GOTO60
#[#20]=#26
N60
#10=#24-#31
#11=#25-#32
#12=#26-#33
IF[[[#10*#10]+[#11*#11]+[#12*#12]]LT#16]GOTO70
IF[ABS[#6]LT0.0001]GOTO100
G31X#1Y#2Z#3F200.
G103P1
#24=#[5060+1]
#25=#[5060+2]
#26=#[5060+3]-#28
#24=#24-#1
#25=#25-#2
#26=#26-#3
IF[[[#24*#24]+[#25*#25]+[#26*#26]]GT#16] GOTO120
G103
GOTO999
N100
#24=#31-[#21*0.008]
#25=#32-[#22*0.008]
#26=#33-[#23*0.008]
G31X#24Y#25Z#26F200.
G103P1
#24=#[5060+1]
#25=#[5060+2]
#26=#[5060+3]-#28
#24=#24-#31
#25=#25-#32
#26=#26-#33
IF[[[#24*#24]+[#25*#25]+[#26*#26]]LT#16] GOTO120
G103
GOTO999
N70
IF[#5GT4]GOTO75
G65P2004A#1B#2C#3I#31J#32K#33D#21E#22F#23
GOTO5003
N75
#[#17]=1
G01X#1Y#2Z#3F60.
#2=6
M98P2005
GOTO999
N80
IF[#4GT5]GOTO90
G01X#1Y#2Z#3F60.
G31X#7Y#8Z#9F60.
GOTO5002
N90
#[#17]=1
#2=1
M98P2005
GOTO999
N120
IF[#5GT4]GOTO130
G65P2004A#1B#2C#3I#31J#32K#33D#21E#22F#23
GOTO5003
N130
#[#17]=1
G01X#1Y#2Z#3F60.
#2=2
M98P2005
N999
M99
O2004(PRODPLUS-RESEAT-PROBE)
(_RENMACRO_START_)
(V2.9 - COPYRIGHT RENISHAW PLC 2017)
#27=#4+[#7*0.2]
#28=#5+[#8*0.2]
#29=#6+[#9*0.2]
G103P1
G09 G00 X[#27-#660] Y[#28-#661] Z#29
G09 G00 X[#1-#660] Y[#2-#661] Z#3
G09 G00 X#4 Y#5 Z#6
G103
M99
O2012(PRODPLUS-LOOKUP-ALGORITHM)
(_RENMACRO_START_)
(V2.9 - COPYRIGHT RENISHAW PLC 2017)
#31=#1*#663 - #2*#664
#2=#1*#664 + #2*#663
#1=#31
IF[ABS[#1]LT0.0001]GOTO19
G65P2017A#2B#1C1.D#18
#14=#[#18]
IF[ABS[#14]LT0.0001]GOTO18
IF[ABS[#14-180]LT0.0001]GOTO18
IF[ABS[#14-360]LT0.0001]GOTO18
IF[ABS[#14-90]LT0.0001]GOTO19
IF[ABS[#14-270]LT0.0001]GOTO19
#3=30
IF[#14GT30.0]GOTO06
#5=#656
#6=#666
GOTO17
N06(#4=6)
IF[#14GT60.0]GOTO07
#3=#3+30
#5=#666
#6=#667
GOTO17
N07 (#4=7)
IF[#14GT90.0]GOTO08
#3=#3+60
#5=#667
#6=#657
GOTO17
N08 (#4=8)
IF[#14GT120.0]GOTO09
#3=#3+90
#5=#657
#6=#668
GOTO17
N09 (#4=9)
IF[#14GT150.0]GOTO10
#3=#3+120
#5=#668
#6=#669
GOTO17
N10 (#4=10)
IF[#14GT180.0]GOTO11
#3=#3+150
#5=#669
#6=#656
GOTO17
N11 (#4=11)
IF[#14GT210.0]GOTO12
#3=#3+180
#5=#656
#6=#670
GOTO17
N12 (#4=12)
IF[#14GT240.0]GOTO13
#3=#3+210
#5=#670
#6=#671
GOTO17
N13 (#4=13)
IF[#14GT270.0]GOTO14
#3=#3+240
#5=#671
#6=#657
GOTO17
N14 (#4=14)
IF[#14GT300.0]GOTO15
#3=#3+270
#5=#657
#6=#672
GOTO17
N15 (#4=15)
IF[#14GT330.0]GOTO16
#3=#3+300
#5=#672
#6=#673
GOTO17
N16 (#4=16)
#3=#3+330
#5=#673
#6=#656
GOTO17
N17(INTERPOLATE)
#2=#5+[[#6-#5]*[[#14-#3+30]/30]]
GOTO20
N18(ANGLE=0,180 OR 360)
#2=#656
GOTO20
N19(=90 OR 270)
#2=#657
GOTO20
N20 (SET #100 TO PROBE RADIUS)
#[#18]=#2
M99
O2017(PRODPLUS-ARCTAN2)
(_RENMACRO_START_)
(V2.9 - COPYRIGHT RENISHAW PLC 2017)
IF[ABS[#2]GT0.0001]GOTO02
#14=90.
GOTO03
N02
#14=ABS[#1/#2]
#14=ATAN[#14]/[1]
IF[#14 LE 90.0] GOTO20
#14=#14-360.0
N20
N03
IF[ABS[#3]LT0.0001]GOTO999
IF[#2LT0]GOTO04
IF[#1GT0]GOTO06
#14=360.-#14
GOTO06
N04
IF[#1GT0]GOTO05
#14=180.+#14
GOTO06
N05
#14=180.-#14
GOTO06
N06
N999
#[#7]=#14
M99
O2109(PRODPLUS-TOOL-CHANGE)
(_RENMACRO_START_)
(V2.9 - COPYRIGHT RENISHAW PLC 2017)
IF[#2NE#0]GOTO990
IF[#21EQ#0]GOTO01
#20=#21
N01
IF[#22NE#0]GOTO02
#22=1.
#23=0.02
N02
IF[[#22-2.]GT0.0001]GOTO03
IF[[#22-2.]LT0]GOTO04
IF[[#23-9.]LT0.0001]GOTO04
N03
#2=18
M98P2005
N04
G94
#660=#658
#661=#659
#663=1.
#664=0.
IF[#20GT0.0001]GOTO05
#2=19
M98P2005
N05
G65P2006A#3
#31=#3
#30=0
IF[ABS[#3026-#20]LT0.0001]GOTO06
T#20M6
M19
#30=1.
N06
IF[ABS[#11]GT0.0001]GOTO07
#11=#20
N07
#32=#11
#11=#32
IF[ABS[#[2200+#11]]LT0.0001]GOTO08
#2=42.
M98P2005
N08
#10=#[2000+#11]
IF[ABS[#4111]LT0.0001]GOTO09
IF[ABS[#30-1]LT0.0001]GOTO09
IF[ABS[#149-1]LT0.0001]GOTO18
N09
G91G28Z0
X-.05 Y-.05
G4P500
G49
M19
G90
G103P1
#12=[#[5040+3]-#10]-0.2
 G01 G43 Z#12 H#11 F200.
#149=1.
#3=#12-0.008
#9=0
G103
GOTO15
N5000
G31Z#3F7.87
G103P1
#5=#[5040+3]-#10
G103
G00Z#12
IF[ABS[#5-#3]LT0.002]GOTO20
IF[0GT0.0001]GOTO14
#3001=0
WHILE[#3001LT0.]DO2
END2
GOTO15
N14
G4 P[0*1000]
N15
G65 P9832
IF[#9GT0.0001]GOTO16
G4 P100
N16
#9=#9+1
IF[#9GE5]GOTO17
GOTO5000
N17
#2=11
M98P2005
N18
G103P1
#6=#[5040+3]-#10
G103
IF[#26LT#6]GOTO20
G01 Z#26 F200.
N20
IF[#17GT0.0001]GOTO30
IF[0GT0.0001]GOTO24
IF[#31LT0.0001]GOTO22
IF[ABS[#658]GT0.04]GOTO23
IF[ABS[#659]GT0.04]GOTO23
GOTO24
N22
IF[ABS[#658]GT1.]GOTO23
IF[ABS[#659]GT1.]GOTO23
GOTO24
N23
#2=17
M98P2005
N24
IF[#4EQ#0]GOTO985
IF[#31LT0.0001]GOTO25
IF[ABS[#4-#656]GT0.008]GOTO38
GOTO30
N25
IF[ABS[#4-#656]GT0.2]GOTO38
N30
IF[#31LT0.0001]GOTO35
IF[ABS[#675]GT0.04]GOTO38
GOTO985
N35
IF[ABS[#675]GT1.]GOTO38
GOTO985
N38
IF[#17LT0.0001]GOTO39
#675=0
GOTO985
N39
#2=25
M98P2005
N985
#663=1.
#664=0.
#12=0.25/[1.0+[1*24.4]]
G91
G01 X#12
G09
G31 X0. F7.87
#13=#[5020+1]
#14=#[5020+2]
#30=#12*3.
G01 X#30
G09
G31 X0. F7.87
#15=#[5020+1]
#16=#[5020+2]
G90
#17=#15-#13
#18=#16-#14
#30=SQRT[[#17*#17]+[#18*#18]]
#19=#17/#30
#20=#18/#30
#663=#19
#664=#20
#1=#658
#2=#659
#3=#1*#663 + #2*#664
#2= #2*#663 - #1*#664
#1=#3
#660=#1
#661=#2
GOTO999
N990
G91G28Z0
X-.05 Y-.05
G4P500
G49
G90
IF[#20EQ#0]GOTO900
#11=#20
GOTO901
N900
#11=#2
N901
#10=#[2000+#11]
IF[ABS[2200]LT0.0001]GOTO902
#10=#10+#[2200+#11]
N902
T#20M6
M19
G103P1
IF[#24EQ#0]GOTO903
H#11
GOTO904
N903
#12=[#[5040+3]-#10]-0.2
G49 Z#[5040+3]
 G01 G43 Z#12 H#11 F200.
N904
G103
N999
M99
O2006(PRODPLUS-IMPERIAL-METRIC-CHECK)
(_RENMACRO_START_)
(V2.9 - COPYRIGHT RENISHAW PLC 2017)
IF[#1NE1]GOTO04
IF[ABS[#1]LT0.0001]GOTO02
IF[ABS[#4006-21]LT0.0001]GOTO01
IF[ABS[#4006-71]LT0.0001]GOTO01
GOTO05
N01
#2=8
M98P2005
N02
IF[ABS[#4006-20]LT0.0001]GOTO03
IF[ABS[#4006-70]LT0.0001]GOTO03
GOTO05
N03
#2=9
M98P2005
N04
#2=15
M98P2005
N05
M99
O2007(PRODPLUS-PROBE-OFF)
(_RENMACRO_START_)
(V2.9 - COPYRIGHT RENISHAW PLC 2017)
IF[ABS[0-1]LT0.0001]GOTO80
IF[ABS[#149-1]GT0.0001]GOTO80
#10=#[2000+#4111]
G103P1
#2=#[5040+3]-#10
#3=#2-0.008
#4=0
G103
N5008
IF[ABS[#4]LT0.0001]GOTO40
IF[0LT0.0001]GOTO41
#3001=0
WHILE[#3001LT0.]DO2
END2
GOTO40
N41
G4 P[0*1000]
N40
G65 P9833
G4 P100
G4 P100
G4 P100
G4 P100
G4 P100
IF[0GT0.0001]GOTO80
G31Z#3F7.87
G103P1
#5=#[5040+3]-#10
G103
G00Z#2
IF[ABS[#5-#3]GT0.002]GOTO80
#4=#4+1
IF[#4GE5]GOTO70
GOTO5008
N70
#2=12
M98P2005
N80
M99
O2108(PRODPLUS-UPDATE-WCS)
(_RENMACRO_START_)
(V2.9 - COPYRIGHT RENISHAW PLC 2017)
G103P1
IF[#1EQ#0]GOTO10
IF[ABS[#1]LT0.0001]GOTO10
#6 = [5201+[#1*20]]
#21 = 1
N10
IF[#2EQ#0]GOTO20
IF[ABS[#1]LT0.0001]GOTO20
#2 = [5201+[#2*20]]
#23 = 1
N20
IF[#17NE#0]GOTO30
#17=0.
N30
IF[#22NE#0]GOTO40
#22=2.
N40
#10=#22
IF[#9EQ#0]GOTO50
#24=#[#24]
N50
IF[#11EQ#0]GOTO60
#25=#[#25]
N60
IF[#13EQ#0]GOTO70
#26=#[#26]
N70
#30=0
IF[#18EQ#0]GOTO80
#[#18]=0.
N80
IF[#19EQ#0]GOTO90
#[#19]=0.
N90
IF[#20EQ#0]GOTO100
#[#20]=0.
N100
IF[#6NE#0]GOTO150
#30=0
#31=0
#32=#4012
IF[#32NE#0]GOTO104
#2=13
M98P2005
N104
IF[#32GE110]GOTO105
#31=#32-53
#30=1
GOTO107
N105
IF[#32GE154]GOTO106
#31=#32-110
#30=2
GOTO107
N106
#31=154
#2=24
M98P2005
N107
IF[ABS[#30-2]LT0.0001]GOTO110
#6=[5201+[#31*20]]
#21=1
GOTO120
N110
#6=[14001+[#31*20]]
#21=1
N120
IF[#2NE#0]GOTO150
#2=#6
#23=#21
N150
IF[#2NE#0]GOTO220
#30=0
#31=0
#32=#4012
IF[#32NE#0]GOTO154
#2=13
M98P2005
N154
IF[#32GE110]GOTO155
#31=#32-53
#30=1
GOTO157
N155
IF[#32GE154]GOTO156
#31=#32-110
#30=2
GOTO157
N156
#31=154
#2=24
M98P2005
N157
IF[ABS[#30-2]LT0.0001]GOTO200
#2=[5201+[#31*20]]
#23=1
GOTO220
N200
#2=[14001+[#31*20]]
#23=1
N220
IF[0LT0.0001]GOTO250
#1 = [[#2-5201]/20]
N250
#11=#17
#6=#6-#21
#2=#2-#23
#12=#6+[1*#21]
#13=#6+[2*#21]
#14=#6+[3*#21]
#15=#2+[1*#23]
#16=#2+[2*#23]
#17=#2+[3*#23]
#31=0.
#32=0.
#33=0.
IF[#24EQ#0]GOTO270
#31=#24+#3
IF[ABS[#31]GT#4]GOTO260
#31=0.
N260
N270
IF[#25EQ#0]GOTO290
#32=#25+#7
IF[ABS[#32]GT#4]GOTO280
#32=0.
N280
N290
IF[#26EQ#0]GOTO310
#33=#26+#8
IF[ABS[#33]GT#4]GOTO300
#33=0.
N300
N310
#31=#31*[#5]
#32=#32*[#5]
#33=#33*[#5]
IF[#11LE0.0001]GOTO350
N350
IF[#10LT1.5]GOTO360
#21=#[#15]+#31
#22=#[#16]+#32
#23=#[#17]+#33
GOTO370
N360
#21=#[#12]+#31
#22=#[#13]+#32
#23=#[#14]+#33
N370
IF[0GT0.0001]GOTO500
IF[#18EQ#0]GOTO400
IF[#10LT1.5]GOTO380
#[#18]=#31
GOTO390
N380
#[#18]=#21
N390
#[#15]=#21
N400
IF[#19EQ#0]GOTO430
IF[#10LT1.5]GOTO410
#[#19]=#32
GOTO420
N410
#[#19]=#22
N420
#[#16]=#22
N430
IF[#20EQ#0]GOTO460
IF[#10LT1.5]GOTO440
#[#20]=#33
GOTO450
N440
#[#20]=#23
N450
#[#17]=#23
N460
GOTO600
N500
IF[#18EQ#0]GOTO530
IF[#10LT1.5]GOTO510
#[#18]=#31
GOTO520
N510
#[#18]=#21
N520
G10 L2 P#1 X#21
N530
IF[#19EQ#0]GOTO560
IF[#10LT1.5]GOTO540
#[#19]=#32
GOTO550
N540
#[#19]=#22
N550
G10 L2 P#1 Y#22
N560
IF[#20EQ#0]GOTO590
IF[#10LT1.5]GOTO570
#[#20]=#33
GOTO580
N570
#[#20]=#23
N580
G10 L2 P#1 Z#23
N590
N600
G103
GOTO900
N999
#2=13
M98P2005
N900
G103
M99
O2002(PRODPLUS-SAFE-RAPID-MOVE)
(_RENMACRO_START_)
(V2.9 - COPYRIGHT RENISHAW PLC 2017)
IF[#24NE#0]GOTO10
IF[#25NE#0]GOTO10
#10=#[2000+#4111]
G103P1
#20=#[5040+3]-#10
G103
IF[#26LT#20]GOTO30
G00Z#26
N30
GOTO80
N10
#28=0.
#29=0.
#30=0.
IF[#24EQ#0]GOTO40
#28=#24
N40
IF[#25EQ#0]GOTO41
#29=#25
N41
IF[#26EQ#0]GOTO42
#30=#26
N42
IF[#24EQ#0]GOTO43
#24=#28
N43
IF[#25EQ#0]GOTO44
#25=#29
N44
IF[#26EQ#0]GOTO45
#26=#30
N45
N49
IF[#24EQ#0]GOTO50
#24=#24-#660
IF[#25EQ#0]GOTO47
#25=#25-#661
G00X#24Y#25
GOTO60
N47
G00X#24
GOTO60
N50
IF[#25EQ#0]GOTO60
#25=#25-#661
G00Y#25
N60
IF[#26EQ#0]GOTO80
G65P2001Z#26
N80
M99
%
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...