What's new
What's new

Setting up Renishaw TS27R with Fanuc 31i control

Uhrenholt

Aluminum
Joined
Jan 28, 2016
Hi all,

Først of all, thanks for the help indtil now with all this probing stuff. I get more help here than with the Company that sold the machine to the Company I work for... When I call the tech department, the first thing they say is, are you the guy up north doing all that stuff with the machine? Answer is yes, an mostly with a Q they need a couple of days to figure out, if they answer at all...

There are thin fine TS27R mounted in the machine, but it has never been used with the macros from Renishaw. So my Qs right now is about the calibrating program for the stylus, and first of all the settings Macro O9750.

The O9750

#101 first probe touch feed rate. What do you guys use?

#113, #114, and #117 initial approach, secondary approach and overtrawel.

The calibrating part.

The tool used, what do you use? I would like to use something neat and precise, but what du you use?

I'll start with this, more will be asked along the way:-)

Cheers,
Daniel
 
Daniel,
First touch feedrate should be about 50-60 IPM. Some go faster, some slower. I'm at home so I don't have access to the numbers we use for the other 3 parameters. Renishaw sells a purpose built calibration too, .5000 diameter and 5.0000 length. You can make one by putting a gauge pin in a collet holder but your runout needs to be around .0001 for accuracy. The main problem will be the known length of whatever you put together. It HAS to be accurate, no guessing. It must be flat on the bottom and if you can measure it in an offline toolsetter, all the better. If the length of your calibration tool is not correct, your tools won't be accurate when you measure them. Renishaw calibration tools are rather pricey but Maritool is making them now and their prices are way more in line.

Paul
 
Hi, thanks for the reply.

I`m not the one who has to pay for calibration tools, I just need to have this up and running, not so much for the company, but because I think its fun to work with :-)

I was thinking of using a dowel or punch needle(dont know the English term for it, used in stamping tools to make holes in sheet metal) these I do know the dimensions on, and are fairly precise.

The tool setter is working now, so I will use it to determine the length of the tool. It just runs with some macro the guy who set the machine up wrote. so it can only measure the length of the tool, without rotating the spindle...

Cheers

Daniel
 
What make of machine is this? I would get the Renishaw macros from Renishaw. You would be missing all the power of the tool setter if you don't have them. If you have O9750, how come you don't have the rest. Maybe you do. Normally you wouldn't the settings macro without having all the rest. I was wrong on feed rate in my earlier post. I was thinking of the spindle probe. The actual first touch feed rate is a ratio of the spindle speed based on the diameter of the cutter you are setting, I presume for measuring tool diameters.

Here is what our machines have for the O9750 settings variables.
#101=200.(FIRST*PROBE*TOUCH)
#102=3.(OFFSET*TYPE)
#103=1.(SINGLE*SIDED*SELECTION)
#104=1.(PROBE*ORIENT)
#105=0.3(BACK*OFF)
#106=0.(2*PROBES*0=NO*1=YES)
#109=1.(OFFSET-RADIUS1/DIAMETER2)
#110=10.(TOOLS*ABOVE*ROTATE)
#111=100.(CUTTER*DIA*ABOVE*SINGLE*SIDE)
#113=100.(INITAL*CLEARANCE)
#114=10.(SECONDARY*CLEARANCE*Z)
#117=5.(DEFAULT*OVERTRAVEL)
#118=1.(OTS*PROBE*YES=1N0=0)
#120=520(BASENUMBER)
#121=1.(AXIS*NUMBER)
#122=2.(AXIS*NUMBER)
#123=3.(AXIS*NUMBER)
#124=2000.(SEARCH*FEEDRATE)
#125=5.(RADIAL*CLEARANCE*)
#127=5000.(RAPIDTRAVERSE)
#138=279.4(LONG*TOOL)
#139=50.8(SHORT*TOOL)
#145=0.005(ZONECHK)
#129=1.
IF[#4006EQ21]GOTO2
IF[#4006EQ71]GOTO2
#129=1/25.4

Paul
 
Thanks for posting Paul.

I had two minutes to see in the system folder, and all macros are there, including the one custom made from the seller.

I have been thinking a bit how to sort the tools in the library, and am thinking about giving all drills an D value of 0, and all the mills and boring tools the diameter in the D offset.

I will then put a little code en my tool change macro, right after a little line of code, watching what tool is in the spindle. Let's say:
#600=#4107 (the D code number)

Then make a small Macro sorting the tools:
O....( tool check before use M102)
If [#600LT0] GOTO100
Code for tool update without rotating the spindle goes here)
M99
N100
Code for tool length with diameter offset goes here
M99

Edit, drills just skips being measured, just goes m99 and back to program.

This is to update the geometry before milling, and want another one checking if the tool is broken before a tool change:-) this is gonna be sweet, now I'm a bit disappointed working with one off jobs, we can really make some sweet things for production milling with this:-)

Don't burn me for not knowing all the code, I'm at home making dinner:-)

How do you guys do it?

Cheers
 
Hi,

A guy told me that the stylus would have to be changed rather often, if used to measure tool diameter? Is this right?

cheers
 
Hi,

Well, I tried a O9857 today, but there is something odd about the position of the tool, it is waaay off the stylus in X and Y. So does anyone know where the X Y Z variables is located on an Fanuc 31i? Its somewhere in the #500 range.

Code run in MDI:

G65 P9857 B3 D20 T40

I did the calibration macro Friday last week with no problems

Code:

G65 P9855 D12.68 (stylus diameter) R12.495(Master Tool Diameter) T60

Have anyone had similar issue?

I will try to run the calibration cycle again tomorrow at some point, and try to measure a tool again, and write down how much its wrong.

Cheers, Daniel
 
Hi,

I did manage to get it working today:-)

There are two macros made from the company who sold the machine for tool length and broken tool detection, and I'm rather sure that they use one variable in the #500 range that mess things up.

So, anyone know what parameter holds the value of the geometry of the active tool? I need the radius from the tool offset list, to do two new macros tomorrow morning...

New macros and it will be up and running for Monday:-)

Cheers, Daniel
 
These are going to be system variables and depending on what control, what type of offset system it is using, usually starting at #2000 but could start at #10001 depending on control. Look in the Fanuc Operators Maual. Check the index for "Variables", you want to find the system variables. One of those variables holds that value.

Paul

Paul
 
Hi,

I did manage to get it working today:-)

There are two macros made from the company who sold the machine for tool length and broken tool detection, and I'm rather sure that they use one variable in the #500 range that mess things up.

So, anyone know what parameter holds the value of the geometry of the active tool? I need the radius from the tool offset list, to do two new macros tomorrow morning...

New macros and it will be up and running for Monday:-)

Cheers, Daniel

Hello Uhrenholt,

There are a few things that influence the Offset Number used for the current Tool; the most important would be the Offset System being used, that is, tool compensation memory A, B, or C. If B, or C, the Current Spindle Tool System Variable (if available) could be used. If a Current Spindle Tool System Variable is not supplied by the MTB, you could develop your own System and store the Current Spindle Tool Number in a Common Nonvolatile Macro Variable. If the control only has tool compensation memory A, you would have to rely on the Model D Address System Variable #4107 to determine the Radius of the Current Tool. This method would only work if you made it a strict practice of specifying a D address for the tool at each Tool Change.

More information required.

Regards,

Bill
 
Thanks for the input, I will take a look at it when the kid falls asleep:-)

I have a variable for the current tool in spindle, I have a line of code in the ATC macro, as I use pre staging of tools.

Compensation memory A B or C, what is the difference?

Edit: its C:-)

I have tool length, length wear, radius and wear in the offset menu:-)

Cheers, Daniel
 
Hello Uhrenholt,

There are a few things that influence the Offset Number used for the current Tool; the most important would be the Offset System being used, that is, tool compensation memory A, B, or C. If B, or C, the Current Spindle Tool System Variable (if available) could be used. If a Current Spindle Tool System Variable is not supplied by the MTB, you could develop your own System and store the Current Spindle Tool Number in a Common Nonvolatile Macro Variable. If the control only has tool compensation memory A, you would have to rely on the Model D Address System Variable #4107 to determine the Radius of the Current Tool. This method would only work if you made it a strict practice of specifying a D address for the tool at each Tool Change.

More information required.

Regards,

Bill

Well, my plan is to make two routines, one right after a tool change, that measure the diameter of end mills, so wear is always up to date. And one in the end for broken tool detection for drills and mills.

I have to sort the tools, so I'm thinking of using the geometry from the tool offsets to do this. All drills will have an value of 0 and end mills and mills will have their radius values. So need that radius value from the offset page.

I have to see what bit is active in #6000 tomorrow to figure out where the geometry variable is. I will post tomorrow morning when I have milled some threads in some hardened steel. I have tomorrow to Nuke the CAM pc, so Edgecam hopefully runs more stable, and get at least the tool length macro working, so the weekend guys can use the machine.

I don't want to do it with the D address, as I want some colleagues who don't know much more than loading a program and push the green button, to use the new machine setup at some point. With all this work done on this machine, I still have to keep things as simple as possible, as the company will need somebody to program the machine, if I get kicked out or find a new job at some point.

Edit:

My first thought was to use the D value, but I ditched the idea for the same reasons you mentioned.


Cheers
 
Well, my plan is to make two routines, one right after a tool change, that measure the diameter of end mills, so wear is always up to date. And one in the end for broken tool detection for drills and mills.

I have to sort the tools, so I'm thinking of using the geometry from the tool offsets to do this. All drills will have an value of 0 and end mills and mills will have their radius values. So need that radius value from the offset page.

I have to see what bit is active in #6000 tomorrow to figure out where the geometry variable is. I will post tomorrow morning when I have milled some threads in some hardened steel. I have tomorrow to Nuke the CAM pc, so Edgecam hopefully runs more stable, and get at least the tool length macro working, so the weekend guys can use the machine.

I don't want to do it with the D address, as I want some colleagues who don't know much more than loading a program and push the green button, to use the new machine setup at some point. With all this work done on this machine, I still have to keep things as simple as possible, as the company will need somebody to program the machine, if I get kicked out or find a new job at some point.

Edit:

My first thought was to use the D value, but I ditched the idea for the same reasons you mentioned.


Cheers

So do you have a System Variable for the Current Spindle Tool? If your Tool Changer is one where the next tool can be called to the ready position, the current Spindle Tool may not be the same as the Model T Code (System Variable #4120), unless you called your Macro Programs immediately after the Tool Change and before the Next Tool is called. Unless you have complete control over when the Macro is called (others may try it), relying on System Variable #4120 may not be reliable.

Regards,

Bill
 
I will post my ATC macro as soon I get to the workshop:-)

I have an #517= something right after the tool change in the macro, it may be #4120, I don't remember it.

Having the tool number in #517 right after the tool is in the spindle, the value of the variable doesn't change before next tool change.

I want the geometry variable doing the same thing on an line just under.

I use the #517 in a number of macros, to ensure it is the right tool in the spindle, as in all my probe routines:-) setting alarms if one writes the wrong tool in an tool length macro, to ensure that no empty spindle is being measured- spindle nose on the TS27R, will not give you a raise:-)

Cheers,
Daniel
 
Hi,

The macro:
%
O9003(ATC-MARCO)
G05.1Q0
G4X0.02(FOR T-CMD=SPDL-TL BYPASS)
G53(WAIT FOR SYNC ADDED)
IF[#1015EQ1]GOTO99
#100=#4003(STORE G90/G91)
M69(SPDL ORI, STOP CLNT)
G91G80G30Z0M19
G91G28X0Y0
G#100
M6
N99#517=#4120 -----------------T number here
G91G28Z0
G43G53H#4120Z0G90
M99
%

Well, after one day, I had the same problem with the tool setter, waay off in Y. I havent looked at the #6000, as I had a G31 problem also, after I used the tool setter macro yesterday, I couldn't use the touch probe, but I think I have it running now, I had to change a bit in parameter 6202 with G10 in the start of the macros for the touch probe so I can run with two probes.

I will backup all macros, and delete/edit the ones the seller added to the machine. Then I hope that I can get the problem solved, so I can use the Renishaw macros without problems...

I will update next week, no more time for editing today.

EDIT:

No bits active in #6000, so understand that the geometry D code starts from #13001 and up. Is this right?

Thats Right, just tested:-)

I will do this with the ATC Macro to get the values I want:

%
O9003(ATC-MARCO)
G05.1Q0
G4X0.02(FOR T-CMD=SPDL-TL BYPASS)
G53(WAIT FOR SYNC ADDED)
IF[#1015EQ1]GOTO99
#100=#4003(STORE G90/G91)
M69(SPDL ORI, STOP CLNT)
G91G80G30Z0M19
G91G28X0Y0
G#100
M6
N99#517=#4120 (T Code)
#518=[[#517+#13001]-1.] (D offset)
G91G28Z0
G43G53H#4120Z0G90
M99
%

Edit: the value I got from the #518, measured tool 60' and got an offset 601 or something like that. I will give it a go again Monday morning, my boss gave me some hours to get the last pieces of the puzzle done:-)
Cleaned up the system folder, deleted the macros from the seller, and made a new tool setting macro for the tool length, G966 T D. Cleaned the Macro Variables for the ones used in the deleted macros. All is working now I think, I can use both probes, without alarms all over the place:-)

Cheers,

Daniel
 
Last edited:
The code needs to go like this:
#518=#[13000+#517]

I had a brain fart this afternoon:-)

Cheers, Daniel
 
Hi,

I have made the macros and everything seems to be working now:-) Here are the macros, but if anyone want to use it, please wait a couple of days for me to fix the last bugs and brain farts...

The way it works is that in the tool offset page, everything assigned with 0 is treated like drills, and is only checked for tool breakage with M101. All with an radius assigned is updated with the M102 and M101 for tool breakage detection.

ATC:

%
O9003(ATC-MARCO)
G05.1Q0
G4X0.02(FOR T-CMD=SPDL-TL BYPASS)
G53(WAIT FOR SYNC ADDED)
IF[#1015EQ1]GOTO99
#100=#4003(STORE G90/G91)
M69(SPDL ORI, STOP CLNT)
G91G80G30Z0M19
G91G28X0Y0
G#100
M6
N99
#517=#4120(T Code)
IF[#517LE0]GOTO100 (SKIP T0)
#518=#[13000+#517](D offset)
N100
G91G28Z0
G43G53H#4120Z0G90
M99
%

M101:
%
O9007(TOOL CHECK M101)
#549=[#518*2] (D VALUE FOR 9858 MACRO)
IF[#517EQ0.]GOTO99 (SKIP T0)
IF[#517EQ1.]GOTO99 (SKIP PROBING TOOL)
IF[#518EQ0]GOTO10 (DRILL)
IF[#518GT0]GOTO20 (END MILL, BORE TOOL, ETC.)
GOTO99
N10
G65P9858T#517H.2
GOTO99
N20
G65P9858T#517D#549H.2
N99
M99
%

M102:
%
O9006(TOOL UPDATE M102)
#549=[#518*2] (D VALUE FOR 9857 MACRO)
IF[#517EQ0]GOTO99 (SKIP T0)
IF[#517EQ1.]GOTO99 (SKIP PROBING TOOL)
IF[#518EQ0.]GOTO99 (SKIPS EVERYTHING ASSIGNED WITH 0 IN OFFSETS)
IF[#518GT1]GOTO20 (END MILL, BORE TOOL, ETC.)
GOTO99
N20
G65P9857B3.D#549T#517
N99
M99
%

Programming goes like this:

T25M6
M102 (Tool Update)
(Code Goes here)
M101 (Breakage Detection)
T44M6
M102 (Tool Update)
(Code Goes here)
M101 (Breakage Detection)
etc. etc.

Tried with a small program this afternoon, at it seems to work perfectly:-)

Cheers, Daniel
 
It works perfectly with pre stage tooling and everything. The only thing I need now is the last post edit from Edgecam, so will be running lights out within a week with this:-)

I'm impressed with the precision of the TS27R and milling with compensation, it's just spot on every time! Haven't worked with probes before, so this is an eye opener!

Next project will be to figure out how tool life works on this control, msking a deep hole drilling cycle, and do an coordinate rotation macro for the OMP40-2 with G68.

Cheers
Daniel
 








 
Back
Top