CVTL’s (C depicting live tooling) have been around awhile
and they are increasingly becoming more popular mainly due to the fact that
that they diminish the need for a new mill operation set up. Operators on these
machines need to have added abilities and training to handle both mill and
lathe operations on a single machine. Always, with added complexity comes the
opportunity for error for instance; proper alignment of the “C” axis when the
lathe operation is complete. Usually a bolt circle is next. Profiles in the
part need to be set according to “C” zero in relationship to print dimensions
and angles.
Normally, these multi axis machine tools have either the odd
ATC turret numbers set aside for turning tools and the even numbers for milling
tools. Due to the fact that the milling cutters are set up from the center of
the chuck all “X” axis offsets in the machine are set to zero instead of the
standard way of setting turning tools. Twice the distance from the center of
the ram input to geometry offset settings.
Imagine, what would happen if accidentally a turning tool
offset was inputted into milling pot offset and not caught before the cycle
began? It has happened, probably more times than any of us want to think about
but if good machining practices are followed and test cuts are made this should
be an obvious error and the cycle stopped in plenty of time before a
catastrophe happens. True, I agree but not all operators are as aware as they
should be, some may just not know or it just may not be obvious due to the part
geometry or an optical illusion of some sort.
OK. So, it happened on my watch. A NCR for a pocket that was
milled 12.745 off center. You can’t watch everybody but I’m responsible for
everything and everybody during my shift. So, it came time for a root cause
analysis and a foolproof
corrective action. Human error is a difficult action to curtail. There are so
many options and variables that an operator do.
The root cause is simple. Operator input error and most
likely from lack of attention.
To preempt this error we must simplify it to just this error
and tackle other operator type human errors as they arise. There is a simple
way to get the machine to make all “X” axis geometry offsets zero when a
milling operation is called using the spindle on code as a tag for the post
processor to call a custom M code.
In a previous post I described how to write a custom M code
that calls a custom macro M225. You can use any number you wish as long as the
machine tool builder has not already used that number. Edit your post processor
to output M225 after it encounters M33 and not M03 when the machine is in
turning mode, as it is not necessary.
For your 9000 level macro use your FANUC manual for that
control to find the address of the proper parameters to change. These numbers
will be different based on your control type, the memory system option that was
purchased with the machine, possibly the machine tool builder and the offset
system you have set up. It is of utmost importance that
you read carefully your operators manual specific for your machine and
replace the names I used in the sample program with the proper ones for your
controls. I have used the system variable name approach, which you may not have
as an option in which case you would use the actual variable number. Be
careful, depending on the number of available axis the parameter values for the
“X” axis offset may be a multiple of 3 or 4 or even more. They will not be in
order i.e. #2001, #2002 etc…To double check you have selected the correct parameter
write down the value that resides in that address and then go to MDI and type
in a single line of the parameter address followed by a common variable. Then
go to the common variable page and check that values are equal after execution.
#2001 = #539: <cycle start>
Now, navigate to the common variable screen (usually under
the macro soft-key) and verify that the correct value was copied.
The program:
O9020; (CLEAR MILL OFFSETS)
(ASSUMING
EVEN MILL TOOLS)
(MEMORY
SYSTEM B AND PARAMETER V15 DOES NOT = 1)
[#_OFSXG[2]]
= 0;
[#_OFSXG[4]]
= 0;
[#_OFSXG[6]] = 0;
[#_OFSXG[8]]
= 0;
[#_OFSXG[10]]
= 0;
…
(CONTINUE UNTIL ALL MILL POTS ARE RESET)
M99;
Now you may edit your post processor to output this M code
when milling mode is engaged.
The previous article is meant to be a learning tool and not
meant to be employed directly. If you do not have experience with custom macros
on your particular type of machine, I would not recommend you attempt. The code
is simplified and system checks need to be added. Please use caution anytime
you change parameters and take a backup regularly. You may contact me through
Google for proper implementation. If you are seriously interested in any type
of custom macro or machine modification this can be done quickly for a fee. Thanks for letting me
share and remember it’s just an informative document.
No comments:
Post a Comment