Does anyone have any information on writing the max tool life amount and how to handle the count and alarming out ?
hy Schroeder, i was going to tell you that i can help you also with those, by using custom code and variables, but meanwhile mr wizard replied about those vtl** variables ... his method for dealing with tool life, is the okuma way, so i warmly advice you to follow his guidance
if you will wish for a custom tool life g-code ... i am here
i just wonder : if a roughing operation takes 60 minutes, and tool life is 15minutes, is it possible to implement a tool-life timer, so to make the machine stop during the roughing cycle ?
limit wear offset to an absolute value of .015"
okey, i understood that you wish to write the main_offset from code, and block the wear to ±0.015
you can set the limits for wear by changing some parameters inside the machine ( like mr wizard described at point 5 )
but, there is a but ...
... like this, what you do, is 'force' the operator to always use the " wear " field, and avoid " main offset " field; what happens if an operator will add a small corection inside the "main offset", and let the machine run, and discover after a few hours that the machine did not took the corection ?
my dear Schroeder , there are operators that work :
... only with wear
... only with main offset
... with both of them
* and they may have done this for a life time, having a concrete behaviour, hard to change ... yes, they understand that a machine works different, but may forget because of a long life habit
there are machines with :
... 1 level of corection : main_offset
... 2 levels of corections : main_offset + wear
... 4 levels of corection : main_offset + offset_calibration + offset_shift_to_reach_minimal_tolerance_value + value that works like a real dimension, for example, if the required dimension is N+0.5+0.6, then that field will only take values between 0.5 and 0.6, for example from an outside measuring equipemnt ( not an okuma machine, but this is less important )
all these have to be tackled ...
at this moment, how fast can you implement your protections ? how fast can you write data in O7500 ?
i don't use a wear tolerance of ±0.015 ... i don't even care about the wear tolerance, and i can implement offset protection with 1 single click : create a snaphsot, then reference that snapshot at each cycle run, or tool change ...
it is fast ... and this is how it begins :
I want to write...
- tool geometry in X and Z
- tool nose radius in X and Z
- tool nose radius quadrant
i will try to keep it clear :
there are 2 main tables :
... [ O ] : each line represents a set of " main offset ( x & z )" , " wear ( x & z ) "
... [ R ] : each line represents a set of " tool radius ( x & z ) " , " p quadrant "
* you surely know those tables, is where you input tool corections all day looooooooooong
each table line is linked to the T syntax, like this : T [ R ] [ turret_post ] [ O ]
so, when you use T##$$** :
... ## does not represent tool nose radius, but a link to a group of 3 values, or a line from table [ R ] : Xrad , Zrad , P
... ** does not represent offset, but a link to a group of 4 values, thus a line from table [ O ]: Xoffset + Xwear , Zoffset+Zwear
check this codes :
Code:
T020202 = T [ link to vnsrx [ 2 ] , vnsrz [ 2 ] , vnrpn [ 2 ] ] [ turret post 2 ] [ link to vtofx [ 2 ] + vtwox [ 2 ] , vtofz [ 2 ] + vtwoz [ 2 ] ]
because vtof* + vtwo* = vetf*, you may consider also this :
T020202 = T [ link to vnsrx [ 2 ] , vnsrz [ 2 ] , vnrpn [ 2 ] ] [ turret post 2 ] [ link to vetfx , vetfx ]
vtof* and vtwo* always require an argument :
- V1 = VTOFX [ 1 ] will return X_offset_1
- V1 = VTWOZ [ 7 ] will return Z_wear_1
- V1 = VTOFX will raise an error, because there is no argument
vetf* does not require an argument :
- reset machine, MDI, V1 = VETFX V2 = VETFZ will both return 0
- reset machine, MDI, T020202, V1 = VETFX V2 = VETFZ will return V1 = X_offset02 + X_wear02 and V2 = Z_offset02 + Z_wear02
- reset machine, MDI, T000702, V1 = VETFX V2 = VETFZ will return same results as above
- reset machine, MDI, T020215, V1 = VETFX V2 = VETFZ will return V1 = X_offset15 + X_wear15 and V2 = Z_offset15 + Z_wear15
- reset machine, MDI, V1 = VETFX [ 2 ] should raise an error, because there is an argument
this is bonus : - T020202 = T20202 = T + 2 * 10101
- is possible to use T111220, thus ## <> $$ <> ** ( T##$$** )
i hope that, so far, is clear that vtef* = vtof* [ argument ] + vtwo* [ argument], where argument = 1 , 2 , ... max line number of table [ O ]
at least that's the math ... based on it, is possible to develop the g-code if you wish, i will develop futher more; please, do you have questions ?
if you wish, i can also avoid all these explanations, and give you the code, but it is for osp300, and yours is 200, and there are a few problems with file-operations, that will need to be adjusted; unfortunately, i don't acces to a p200, so i can't check the code before sending it to you ... again, i will need feedback from the machine / kindly