hello this is a procedure to setup new tools, by avoiding tool register
general setup :
... assign a tool to each pot, thus tool library should be full in virtual setup
... if there is a behaviour to leave the spindle empty over night, than leave a pot empty
... this virtual setup will remain like this for a long time, unless a heavy tool drops in or something
particular setup :
... put the tools inside the ATC and make a list with "tool type - pot"
... run the following program that will measure tools from specified pots
... there should be a list from the programmer, about "tool type - tool number inside the program"
... use a custom aplication, that will edit you program, so "tool number inside the program" to be replaced with " tool number on the cnc "
thus :
... load tools inside the magazine
... input pot numbers inside a program and run it, so to measure all tools
... run an aplication that edits the program, by assigning to each opeartion the "real tool number", from the machine
there is no faster way
this program will measure tools from pots 6, 5, 7 and 14, thus edit only VC2 values ...
will output a list with "real tool number" for each pot
program prestages tools : while one is measured, next one is being prepared
* VC1 is an increment so to handle cases when a single tool is measured, thus there is no prestaging for next tool
* always finish with "CALL OTMP VC2 = 0", so to tell the machine that there is no next tool after the last one
* i have no idea yet for the soubroutines names, so i used TMP and TMP2, from temporary
* program uses a tool change macro : http://www.cnczone.com/forums/okuma/316654-forum.html
Code:
VC1 = 1
CALL OTMP VC2 = 6
CALL OTMP VC2 = 5
CALL OTMP VC2 = 7
CALL OTMP VC2 = 14
( * )
CALL OTMP VC2 = 0
M02
( . . . . . . . . . . . . . . . . . . . . )
OTMP
IF [ VC1 EQ 1 ] N1 ( 1st measurement )
GOTO N2
N1 VC3 = VC2
IF [ VC2 NE 0 ] NEND
NRPT M0 ( no tools to measure )
GOTO NRPT
N2 CALL OREG
IF [ VC2 EQ 0 ] N22
GOTO N21
N21 CALL OCHG LV00 = VPTNO [ VC3 ] LV01 = VPTNO [ VC2 ]
CALL OO30
VC3 = VC2
GOTO NEND
N22 CALL OCHG LV00 = VPTNO [ VC3 ] LV01 = 0
CALL OO30
GOTO NEND
NEND VC1 = VC1 + 1
RTS
( . . . . . . . . . . . . . . . . . . . . )
OREG
CLOSE C
FWRITC tmp.txt;A
IF [ VC1 NE 2 ] NSKP1
PUT '*'
WRITE C
PUT ' '
WRITE C
NSKP1
PUT ' POT : '
PUT VC3 , 2
PUT ' TOOL : '
PUT VPTNO [ VC3 ] , 2
WRITE C
PUT ' '
WRITE C
IF [ VC2 NE 0 ] NSKP2
PUT '**'
WRITE C
PUT ' '
WRITE C
NSKP2 CLOSE C
RTS
( . . . . . . . . . . . . . . . . . . . . )
this is the output list :
Code:
*
POT : 14 TOOL : 53
POT : 15 TOOL : 30
POT : 5 TOOL : 56
POT : 7 TOOL : 29
**
*
POT : 6 TOOL : 26
POT : 5 TOOL : 30
POT : 7 TOOL : 56
POT : 14 TOOL : 27
**
"pot-tool" list is bounded between " * " and " ** ", so to be sure that program runned completly, and also to identificate the tools that had been measured during last program run
this list should be handled forward, by an aplication, that will edit tools inside the program, so to suit the cnc