PDA

View Full Version : okuma tool registry bug



mastercamguru
07-15-2008, 09:05 PM
okuma control doesn't know what tool is in spindle - if tool 1 is in spindle and "T1M6" is called machine alarms -- macro is needed to check tool registry for tool in spindle before tool change then jump past tool change line if sp T# equalls called T# WHY CAN'T OKUMA AVOID THIS BY HARDCODING THIS FUNCTOIN INTO THE MACHINE'S FIRMWARE ? If anyone has a beeter alernative to coding macro before each toolchange PLEASE LET ME KNOW!




THANX MASTERCAMGURU@COMCAST.NET

theokumaguy
07-16-2008, 03:59 AM
A macro is the best way to do this really, and you can use the same unmodified macro for all your programs regardless of your starting tool. In your macro, use T=VC** (Use any common variable you'd like to dedicate to this), then before the macro call in your program, set that variable to the first tool (VC**=1). That's the most simple way to explain it. Unfortunately, I think it's gone so long without being fixed is there is a well-known, easy workaround for it. The good news is their lathe programmers have always had the code right, and it has made it's way into the Macturn/Multus platforms, so perhaps it will migrate into the mills soon too :)

cadman
07-16-2008, 09:30 AM
Put this at each tool change. You'll need to number your sequences accordingly.


.
.
.
.
IF[VATOL EQ 2]N2
T2
M6
N2
M1
T3
(TOOL 2)
(.97" CARBIDE ENDMILL)
(OPERATION 3)
G0 G90 G15 H1 Xx.xxxx Yx.xxxx Sxxx M3
.
.
.
.

theokumaguy
07-16-2008, 11:28 AM
Program branching is only allowed in A method. If you are in B method (large volume method), DNC-B (RS232 trickle feed), or DNC-DT (trickle feed from a hard drive in the machine) you have to use the macro method.

cadman
07-16-2008, 12:04 PM
The IF statement above works in both A & B methods and does not violate any of the restrictions for either method. I use this in all of my Okuma posts on every tool change sequence.

littlerob
07-19-2008, 01:48 PM
I agree with the mastercam guy, I have the utmost respect for okuma, I have run them all, Mori, Daewoo, Haas, Mazak, I am not bias to a mill or a lathe, and I think Okuma builds the best machines out there, that being said I think that the whole tool change situation on that mill is a little frustrating, too many steps to accomplish a simple task. just my opinion.

broby
07-20-2008, 10:51 AM
Seems to me that this is user problem, NOT an Okuma "bug".
The mills do know what tool is in the spindle, otherwise why the alarm?
If YOU the programmer selects the incorrect tool then YOU are the one at fault, not the machine, or the software.
On the other hand, if the operator selects the wrong tool without knowing what it is that they are doing, then the machine is really only guilty of protecting itself.
If you are getting tool selection alarms during a program run I would be more concerned, but I really fail to see what your problem is. Maybe I have got the wrong end of the stick, but mayb not also.
Anyway, just my 2c worth.
Brian.

skullworks
07-20-2008, 12:39 PM
okuma control doesn't know what tool is in spindle - if tool 1 is in spindle and "T1M6" is called machine alarms -- macro is needed to check tool registry for tool in spindle before tool change then jump past tool change line if sp T# equalls called T# WHY CAN'T OKUMA AVOID THIS BY HARDCODING THIS FUNCTOIN INTO THE MACHINE'S FIRMWARE ? If anyone has a beeter alernative to coding macro before each toolchange PLEASE LET ME KNOW!

THANX MASTERCAMGURU@COMCAST.NET


The alarm is perfectly valid. The Okuma KNOWS exactly which tool is in the spindle, you didn't ask that.

You have told the machine "T1 M6" and the machine checked the tool magazine and there is no T1 in the magazine. You gave it a tool CHANGE command.

I use a macro check like above but a bit more detailed.

DIREC V
ORIGIN Hxx
CYLNDR 2P,[0,0],[100,100],0,10
END
DRAW


...
N04 IF [ VATOL EQ 1 ] N10 (TESTS ACTIVE TOOL)
N05 IF [ VNTOL EQ 1 ] N09 (TESTS TOOL IN READY POT)
N06 IF [ VNTOL EQ 0 ] N08 (TEST FOR NO READY TOOL)
N07 M65 (RESET READY TOOL)
N08 T1
N09 M6
N10 G00 G15 Hxx M8
...

The macro does the job and acts as a safety net if the operator hits reset (such as a machine going into power save during lunch.) It makes sure the machine has the right tool at the program start.

( Oops, I didn't need to include the graphics plot header...)

(As M$ might say, "Its not a bug, It's a Feature.")

Now on the other hand, the Mazak lathes I use will do almost anything you tell them, like index the turret while in a bore if the programmer isn't smart enough to put the Txxxx in a safe location.

littlerob
07-20-2008, 03:24 PM
Broby and Skullworks, you really dont think that this is maybe a little more complicated a tool change (mechanically and code wise) than it needs to be? I have had Hartwig tell me that nobody really complains about the tool change, but to me it seems over complicated, but I do alot of hand editing. Just wanted your opinions.

skullworks
07-20-2008, 03:55 PM
Every Machine builder has choices to make on how they choose to implement a tool change cycle.

On the Okuma an M6 takes the spindle home to the tool change position (Vertical Mill). Same for Haas. Try that on many FANUC's without doing a G28 G91 Z0 first and you will get an alarm... Some might say THAT behavour is a bug/error. Its not - its just the way the tool builder chose to do it.

littlerob
07-20-2008, 05:21 PM
I agree with that, but "tool change cycle" getting back to my first point why does it have to be a cycle? (yes I understand that all things need to accomplish specific steps before the goal is achieved) The Haas does not use a "cycle", it is just a tool change, let me say again I am less unimpressed by any machine tool manufacturer than Okuma but I think that tool changer sucks:). I work with a lot of operators that make it more diffficult than it has to be (surprised?) but on a Haas when something goes wrong with the tool change, you push the button that says toolchange restore and it walks you through it, easy? Not so much with the toolchanger on those mills. I think. Every manufacturer does have decisions to make, and most of the reason i have stuck with Okuma is that they are so freindly, just this one gripe from me.

broby
07-20-2008, 06:58 PM
If the machine has stopped mid tool change, use the ATC manual Advance/Reverse buttons on the operator panel to recover. Either that or use the ATC "Return to Cycle start" button. Works wonders here when things go potty.

Why, as a programmer, do you feel the need to check what tool is in the spindle?
YOU should already know what tool is there. You programmed it didn't you?
Surely you start off with no tool in the spindle, call up the first tool, Tool change, call up the second tool, and start machining. i.e.
T1
M6
T2
M3 S...
M8
G0 x.. y.. z..
etc...
Machine somthing... with Tool 1
M9
M5
G0 Z800
M6 (Get tool 2 into the spindle)
T3 (Pre-stage TOOL 3)
M3 S...
M8
G0 x.. y.. z..
etc...
Machine somthing... with tool 2
M9
M5
G0 Z800
M6 (Get tool 3 into the spindle)
M63 (tell the machine that there is no next tool)
M3 S...
M8
G0 x.. y.. z..
etc...
Machine somthing... with tool 3
M9
M5
G0 Z800
M6 (Return tool 3 to the magazine)
M2 (end of program)

See, no need to check what tool is in the spindle, you know what is there!

My programming method and 2 cents worth.
Cheers
Brian.

littlerob
07-20-2008, 11:01 PM
Brian, I think you know alot more about this than me, and if it is really that simple I am going to kick myself in the... well you know. But on my machine I get a frozen machine (no alarm, just wont move) if I try to call up the tool which is in the in the spindle, depending on the sequence. But the way you just wrote it out, I can stage a tool without fat fingering? IF(vatol eq #)goto N# is that correct? If so I have been wasting a huge! amount of time. Please tell Im an idiot because in the future it would save me alot of time. By the way control is e-100.

skullworks
07-20-2008, 11:09 PM
Check your manual for a M63, M64, M65

Its been awhile but if I remember correctly the M65 resets the assigned ready tool and M63 or M64 returns the tool in the spindle to an empty pot ( no next tool ).

So (RESET), (MDI), "M64" (WRITE), (START) = should remove the tool in the spindle. Then if the program calls a tool change you could just go to (AUTO)(START).

Hope that helps. :)

littlerob
07-20-2008, 11:21 PM
I am going to try it tomorrow. Seriously, though I am going to be pissed if its that easy.

broby
07-21-2008, 12:20 AM
M6 = tool change, i.e. tool is moved between Spindle and Sub pot and then returned to magazine. Machine will only complete this successfully if there is a next tool to come into the machine or if a M63 is used first.
M63 will tell the machine that there is not going to be another tool put into the spindle when the next M6 command is used. i.e M63 and then M6 will return the tool to the magazine.
However... (don't you love the way there is always a however...?)
if you have already got a tool waiting to come into the machine (pre-staged) you need to use M64 to return the pre-staged tool to the magazine and then use M63 then M6.
M64 used to return pre-staged tools
M63 No next tool
M6 tool change.
Never used the M65 command so can not comment on that code.
Regards
Brian.

pulsev2
10-30-2014, 11:57 PM
SECOND THAT! tired of calling a different tool all the time

OkumaWiz
10-31-2014, 11:04 AM
Their software is not a bug it's just the way it's designed to work. I agree that it could make it more user-friendly. I use this tool change macro in order to make your tool change woes go away.

Enter this as a library program so that it is always available to all your programs.

OTCHK
( SET GCODE PARAM. G111 TO OTCHK )
( AT TOOL CHANGE KEY IN G111 T= TOOL NO. Q = NEXT TOOL EX: G111 T1 Q2)
IF [ VTLCN EQ PT ]NST1 (ACTIVE TOOL)
IF [ VTLNN EQ PT ]NRT1 (NEXT TOOL)
IF [ VTLNN EQ 0 ]NOT1 (NEXT TOOL)
M64
NOT1 T=PT
NRT1 M06
NST1
IF [ PQ EQ EMPTY ]NEND (IF READY TOOL EMPTY/JUMP )
IF [ VTLNN EQ PQ ]NEND (IF PREP TOOL IS AT NEXT TOOL POS./JUMP)
IF [ VTLNN EQ 0 ]NTT1 (IF NEXT TOOL HAS NO VALUE)
M64 (NEXT TOOL POT RETURN)
NTT1
T=PQ
M356 (NEXT POT ADVANCE)
NEND G56 H=VTLCN
D=VTLCN
RTS
PQ DEF: WHEN P IS ATTACHED TO A LETTER IT BECOMES READABLE

Makes tool change frustrations a thing of the past.

Best regards,

Ps: if we can do it why can't Okuma? ;-)

Maxter
10-31-2014, 06:57 PM
Put me in the camp that thinks Okuma's tool change command should be more intelligent. The ATC errors are a hassle to me when
I change my mind on what tool I want, re-work or etc.,etc.(on an OKUMA 4020 VMC) I decided to solve the problem and add a lot
of new features to my tool change command.

My ATC command works in a program or by MDI and doesn't care what tool is preselected or in the spindle or not. It will work
every time. The OM6 program below is one of many programs I put in a 'folder' named: OKUMA.LIB which loads into RAM when you
turn on the machine in the morning.

On your G/M screen set G116 = OM6. In MDI for example use G116T5 instead of T5M6. If T5 is already in the spindle it will not
error out. If T1 was preselected and T2 was in the spindle my pgm will put T1 back in the tool drum, preselect T5 and then
put T5 in the spindle (returning T2 to the drum also).

The full set of my G116 tool change commands are as follows:

T = Tool number (T is required the rest are optional)
P = Preselect next tool number
A = Drill point angle (Calculates drill point length and puts the value in VC8)
C1= safe tool change position #1
C2= Safe tool change position #2
L = Min tool length requirement (Used with a positive number)
L = Max tool length requirement (used with a negative number)


Now for some examples:

(1) Say on my VMC I'm using a long gang fixture between my A axis and center and a tool length over 6 inches would crash into
my setup. I would use G116T1P2L-6 My program would check T1's length before the tool change and issue an error if the tool
length was over 6" long. (Crash proof!)

(2) Say I'm using a drill with a point angle of 130° and want to drill a hole (at full dia) .5 deep with a tall part in a
chuck or vice right below the tool change position. I would use G116T1P2A130C1 (The drill line: G73R.1Q.1Z-.5-VC8F.003)



OM6
VC8=0
IF[PC EQ EMPTY]NL0
G16H0Z17.6949
IF[PC EQ 2]NC2
G16H0X-20Y-2.5307
GOTO NL0
NC2 G16H0X11Y-2.5307
NL0 IF[PL EQ EMPTY]NQ1
IF[PL LT 0]NL2
IF[PL LT VTOFH[PT]]NQ1
VUACM[1]='TOOL TOO SHORT!'
VDOUT[992]=1
NL2 IF[VTOFH[PT] LT ABS[PL]]NQ1
VUACM[1]='TOOL TOO LONG!'
VDOUT[992]=1
NQ1 IF[VTLCN EQ PT]NQ4
IF[VNTOL EQ PT]NQ3
IF[VNTOL EQ 0]NQ2
M64
NQ2 T[PT]M6
GOTO NQ4
NQ3 M6
NQ4 IF[VNTOL EQ PP]NQ6
IF[VNTOL EQ 0]NQ5
IF[PP EQ EMPTY]NQ6
M64
NQ5 T[PP]
NQ6 IF[PA EQ EMPTY]NEND
IF[VTOFD[VTLCN] NE 0]NQ7
VUACM[1]='TRC NOT SET!'
VDOUT[992]=1
NQ7 IF[PA LT 60]NQ8
IF[PA LE 180]NQ9
NQ7 VUACM[1]='ANGLE ERROR!'
VDOUT[992]=1
NQ9 VC8=DROUND[VTOFD[VTLCN]/[TAN[PA/2]]]
NEND G56H[VTLCN] (Activates tool length comp automatically)
G62X0Y0Z0 (Cancels mirror image automatically)
G95M54D0
IF[VC9 LE 1.6]NQ12
VC9=1
NQ10 IF[PL EQ EMPTY]NQ12
IF[PL LT 0]NQ11
IF[PL LT VTOFH[VTLCN]]NQ12
VUACM[1]='TOOL TOO SHORT!'
VDOUT[992]=1
NQ12 RTS

Algirdas
11-02-2014, 07:15 AM
Okuma's tool change command should be more intelligentit is a philosophy problem in my opinion. Okuma tool change is simple as selecting the tool (plus tool offset) and tool change command. What problems could be with that kind of matter? If you take the same tool with different offset Okuma just changes the offset. What's wrong with that?

christinandavid
05-14-2015, 07:32 AM
Hi all,

Hoping to expand on this topic and discuss tools that cannot go through ATC. Specifically an MX60 horizontal 4axis mill with random ATC, where we have tools with a collar for through coolant. The manual mentions the TN= command to tell control that next tool is manual change. I have used the mcodes mentioned below to empty the spindle, and used the TN= okay, but none of the codes that relate to manual tool change do anything, the machine accepts them but just hangs in run mode. Have tried M70/M71 and M177, also some others that looked vaguely related, no joy.

Has anyone used this function successfully and can you shed some light on the exact procedure and how the machine should behave?

DP