What's new
What's new

Alarm if tool is already in spindle

Hardplates

Stainless
Joined
May 8, 2019
Location
What once was a free country
On my OKK PCV-40 with a Meldas 320M, if a tool is called and already in the spindle the machine alarms that it can't find the tool, even though it knows the tool is in the spindle in the tool registry. I found this thread Toolchange Alarm when the tool is in spindle on Fanuc 0M-C that makes me think there is a way to solve this. I know I could edit the code or whatnot but this machine is used mostly for onesy twosy kind of work and it would be nice to solve the problem rather than creating a work around.
 
I know I could edit the code or whatnot but this machine is used mostly for onesy twosy kind of work
Onesy-Twosy, 1 million parts... neither matter in this scenario.

Question is why does your code call up tools that are already in the spindle?
What cad/cam do you use to create your code?
This can be solved very easily by changing how the parts are programmed or a simple edit in the post.
 
Onesy-Twosy, 1 million parts... neither matter in this scenario.

Question is why does your code call up tools that are already in the spindle?
What cad/cam do you use to create your code?
This can be solved very easily by changing how the parts are programmed or a simple edit in the post.

Job A leaves T10 (chamfer mill, spot drill) in the spindle when done. Some time later I program job B with Fusion and the post calls up T10 to spot a couple holes at the beginning of the program but its already in the spindle from the previous job. Maybe its later that day, maybe its days later but I don't want to have to check to see what tool is in the spindle to edit my code. I don't want to have to edit it or have to make a manual tool change before running the program so T10 isn't in the spindle. Surely there must be a way to modify the machine to work like most do and recognize the tool is already in the spindle.
 
Surely there must be a way to modify the machine to work like most do and recognize the tool is already in the spindle.

I'm not familiar with that control, but on our Okuma controls we can write a variable that says something like:

IF[VTLCN EQ 1 ]N2
IF[VTLCN NE 1 ]N1
N1 T1 M6
N2

This says if the tool that's in the spindle is the one being called up, go to N2
Otherwise, go to N1

And stop calling me Shirley.
 
I don't know about OKK but, our Mitsui Seiki's want T0 at the end of the program, to clear tool memory. That way the next program start has an empty spindle to start with.
 
I call the 1st tool at the end of the program while the table is going to the load position. The 1st tool call in the program calls the same tool, but I have a block delete on that line. After running the 1st part, or 1st tool, block delete gets turned on and life is good. Probably not the most elegant solution but its simple and works for us.
 
I don't know about OKK but, our Mitsui Seiki's want T0 at the end of the program, to clear tool memory. That way the next program start has an empty spindle to start with.

How handy

On machines that will not handle a null toolchange, I put a block delete in front of the Tx and M6 lines. That way during setup or program restarts there is an easy way to avoid an alarm.
A better way would me an argument in the toolchange macro, but that is not always possible.
 
On my OKK PCV-40 with a Meldas 320M, if a tool is called and already in the spindle the machine alarms that it can't find the tool, even though it knows the tool is in the spindle in the tool registry. ......

That behavior is caused by how OKK wrote their ladder logic program. If OKK has written the current spindle tool to the macro output system variable #1132 then writing a toolchange macro to skip the M6 command is easy. It is very rare for a builder to provide that but I've never looked for it on an OKK. Meldas controls typically have an unlocked PLC so a user can add the needed logic to do this if you have decent ability to read, understand and write ladder.

One can create a toolchange macro to track tools and store the spindle tool number in a non-volatile variable address. This works OK, but caution must be taken to check and update the variable if one does a manual toolchange of the spindle tool.
 
Last edited:
Just a thought. Why is it Haas, who is arguably a low end machine, take care of this stuff? Is it because they are geared more to the beginner market or something? If T1 is in the spindle, and I call T1 in the program, the machine just ignores the command for the toolchange.

I thought someone asked why you would do this, or program it like this. We do this for a tool that might be finishing 2 or more features with one having a tighter tolerance. So I would program a finish path, but check force toolchange (MCX) to let the operator dial int he feature without re-running the entire T1 paths... if that makes sense.
 
Just a thought. Why is it Haas, who is arguably a low end machine, take care of this stuff? Is it because they are geared more to the beginner market or something? If T1 is in the spindle, and I call T1 in the program, the machine just ignores the command for the toolchange.

I thought someone asked why you would do this, or program it like this. We do this for a tool that might be finishing 2 or more features with one having a tighter tolerance. So I would program a finish path, but check force toolchange (MCX) to let the operator dial int he feature without re-running the entire T1 paths... if that makes sense.

At the rate we are going, Haas is gonna be on the do not discuss list. :)
 
Onesy-Twosy, 1 million parts... neither matter in this scenario.

Question is why does your code call up tools that are already in the spindle?
What cad/cam do you use to create your code?
This can be solved very easily by changing how the parts are programmed or a simple edit in the post.


You never start a section over that has already started?
Never?

I doo it all day long on big parts where I run a while on a tool, and then M1 or even M0, and then go again.

This problem would be a cast iron PITA!
I've heard it complained about here before, but I've never experienced it, and I don't have any Haas either.
Sounds like there are oodles of MTB's that can't write a ladder?



----------------

Think Snow Eh!
Ox
 
Just a thought. Why is it Haas, who is arguably a low end machine, take care of this stuff? Is it because they are geared more to the beginner market or something? If T1 is in the spindle, and I call T1 in the program, the machine just ignores the command for the toolchange......

Lots of other brand machines will do that too. IMO it is just how each machine builder believes the best method to handle their toolchange function. Part of it may also reflect the talent level or background of the folks that conceive the PLC logic and create it. They most likely never ran a machine and don't understand what a PITA that alarming on a spindle tool recall is. If no one feeds that back to the PLC programmer he just goes on his merry way thinking all is well.

A great example is old Mori Seikis would alarm if the spindle tool was called again. Somewhere in the 90s models started coming out that had a PMC parameter to select whether to skip the call or alarm. That parameter simply enabled or disabled a bit of correspondence check logic in the PMC. That way users could have the machine behave similar to their old machines if they chose to.
 
Lots of other brand machines will do that too. IMO it is just how each machine builder believes the best method to handle their toolchange function. Part of it may also reflect the talent level or background of the folks that conceive the PLC logic and create it. They most likely never ran a machine and don't understand what a PITA that alarming on a spindle tool recall is. If no one feeds that back to the PLC programmer he just goes on his merry way thinking all is well.

A great example is old Mori Seikis would alarm if the spindle tool was called again. Somewhere in the 90s models started coming out that had a PMC parameter to select whether to skip the call or alarm. That parameter simply enabled or disabled a bit of correspondence check logic in the PMC. That way users could have the machine behave similar to their old machines if they chose to.

Ya I was just curious as (IMO) I see some odd questions about machine behaviour and I think "our machines (Haas) don't do that" :confused: Anyhow

I think I told this story but we got a robodrill with a 5 axis nikken on it years ago. That stupid machine would read the relative value into the Z offset when touching tools. :angry: Methods up north said "oh we can fix that for you" NOPE had 2 or 3 different techs out and none of them could make that problem go away, instead they tried to tell us why it was such a useful tool LolOLoL :crazy:
 
You never start a section over that has already started?
Never?

I doo it all day long

What makes you think I've never restarted in the middle of a program?
I've done it thousands of times.
On our Hyundai-Kia (Fanuc) the machine ignores the tool change if that tool is in the spindle.
On our Okumas I can restart anywhere with the Restart feature.
That, and I have my posts set up correctly to where mid program restarts aren't an issue.

So before you judge, stop and think that maybe someone has a better way of doing things than you do.
 
Just a thought. Why is it Haas, who is arguably a low end machine, take care of this stuff? Is it because they are geared more to the beginner market or something? If T1 is in the spindle, and I call T1 in the program, the machine just ignores the command for the toolchange.

I thought someone asked why you would do this, or program it like this. We do this for a tool that might be finishing 2 or more features with one having a tighter tolerance. So I would program a finish path, but check force toolchange (MCX) to let the operator dial int he feature without re-running the entire T1 paths... if that makes sense.

One of our Fanuc mills ignores it also, it's not just Haas.

I guess I worded it poorly. I didn't mean to say *only* Haas does it, I just meant that Haas seems to not have most of the quirky IMO issues I see pop up here every so often. Sure they aren't big beefy workhorses, but it seems like they are just ready to go as soon as it hits your floor. No dialing in settings and stuff, just plug and play pretty much. I suppose the trade off is they aren't as configurable or fast as some other machines might be...
 
Ya I was just curious as (IMO) I see some odd questions about machine behaviour.....

Yep, few folks understand just how much control the machine builder has with determining how their machine will run compared to the influence the control builder has. PMC/PLC logic and choices in CNC parameters can drastically change how two machines with apparently the same control system operate.
 
What makes you think I've never restarted in the middle of a program?
I've done it thousands of times.
On our Hyundai-Kia (Fanuc) the machine ignores the tool change if that tool is in the spindle.
On our Okumas I can restart anywhere with the Restart feature.
That, and I have my posts set up correctly to where mid program restarts aren't an issue.

So before you judge, stop and think that maybe someone has a better way of doing things than you do.


Well, by all means - spit it out!


By the sounds of it - you have found a work-around, but it would Shirley be more better that the ladder was written in a logical fashion - no?


So - let's say that you want to re-start at N4, and T4 is already in the spindle.
(on a machine that doesn't normally like to doo that of course)

So then - what is your more better way?

You only put the actual M6 Tx on the firth line, and then just start one line below the tool change if that tool is already in the spindle?



----------------

Think Snow Eh!
Ox
 
I make good parts, I make them as fast as my capacity allows. Haas iron can't keep up with ME. But I will admit (begrudgingly) the control is pretty thorough.

That said, there are always quirks. EVERY control has quirks, even Haas. I think the topic is a good one and I do think that it would be a fairly simple fix at the initial Ladder logic level.

R
 
.....I do think that it would be a fairly simple fix at the initial Ladder logic level.....

Yes. It only takes a single rung to place the tool number into R72 (internal register for Meldas controls where macro system variable #1132 is set) All one has to do is figure out what internal register the machine builder chose to store that number in and transfer it using the logic MOV command. This is an example of the rung added to my Mori that performs the task.

move rung.JPG

R1900 is the internal PLC register where Mori stores the current spindle tool.
M3108 is the pulsed state of a logic action that indicates the toolchange is completed.

So when M3108 pulses on, the MOV command copies the contents of R1900 to R72.

NOTE:the use of M3108 and R1900 are determined by the machine builder. One can not assume that this will be the same for a machine from a different builder or even a different model from the same builder!

Depending on the rest of the logic in the PLC will determine how one would use a macro to determine if the toolchange should be skipped or performed.

On a Meldas 50 and 500 series parameter 1197 and 7312 would set to 1 and the tool call macro program number set in parameter 7313 (9005 for this example). The tool call macro could look something like...

O9005
IF [#20EQ#1132] GOTO10 (checks to see if the tool called by the program is the same as the tool in the spindle. If it is, it skips to line N10 bypassing the tool call T#20)
T#20
N10
M99

Then you set parameter 1195 to 1 and set 6 in parameter 7001, set 1 in parameter 7002 and the toolchange macro in 7003 (9006 in this example). The tool change macro could look something like...

O9006
IF [#20EQ#1132] GOTO10 (checks to see if the tool called by the program is the same as the tool in the spindle. If it is, it skips to line N10 bypassing the tool change M6)
M6
N10
M99

The above macros are bare bones with no error checking. One might want to add some error trapping to check for a tool call out of range for example so the program would stop with an error message indicating an invalid too number was called. Depending on how the PLC logic was written by the machine builder would determine if one needed to do that or not. Sounds like OKK has already got some amount of logic to check for a tool number not found in the magazine so probably not needed.
 








 
Back
Top