Re: Simple Workshift OSP700
I would use Variable as counters and adding -3mm to your work offset every time, remember to put some IF commands in there so it stops when you reach 20 parts.
Have fun Masterblaster
Re: Simple Workshift OSP700
hy jimmy, if you wish 2 make it work by using vzshz, you have to change from sdf & min to min & ssb, because sdf is doing some stuff after each cycle, including reseting the vzshz ( because program is re-loaded )
if you wish to keep the sdf&min, you could use a common variable, in order to shift the origin, but this seems pointless, because sdf is using Q, and, because you can't read the Q value, you have to read the common variable, so sdf seems useless ... again, one more for the min & ssb combo
also, using sdf leads to downtime ( but this is it when there is limited memory )
if you wish to keep the sdf&min, and have a nice code, then replace vzshz with vzofz ( i don't know if this works for your osp )
in the end, whatever you do, you should reset the master counter ( eq reset the common variable, by para\edit, or by using a presetter program )
more tricks here ( at point 2 is a code that auto-resets the counter, located inside main program ) : https://www.cnczone.com/forums/okuma/369696-cnc.html
kindly :)
ps : use M02 inside *.min, and END inside *.sdf
Re: Simple Workshift OSP700
Thanks for the help guys, looks like I need to do some more reading in the book.
Might go with the .min & .ssb option jeez they make this difficult. So easy on a Fanuc haha!
I'll keep you posted....
Re: Simple Workshift OSP700
NOEX VZOFZ = 100
CALL OSUB Q20
M02
OSUB
// content
NOEX VZOFZ = VZOFZ - 1 ( change origin before rts )
RTS
... avoid mid-program reset / kindly :)
Re: Simple Workshift OSP700
OK so looks like I have had some success, went with the .min and .ssb option
Called my sub prog OSUB.SSB and put OSUB as a header and RTS at the end
MAIN.MIN
N100 V1=0
N200 CALL OSUB
N300 V1=V1+1
N400 G91
N500 G50Z3.25
N600 G90
N700 IF[V1 LE 20]GOTO N200
N800 M02
Now to run 2000 of these rings haha!
Re: Simple Workshift OSP700
Code:
V1 = 0
N200 CALL OSUB V1 = V1 + 1
G91
G50 Z3.25
G90
IF [ V1 LE 20 ] N200
M02
( . . or next shorter code . . . . . . . . . . . . . . . )
CALL OSUB Q20
M02
OSUB
// next line should be before rts
VZSHZ = VZSHZ - 3.25
RTS
so, you open the chuck only once / 20 parts ? don't you have overhang problems, are those really thin ? just asking / kindly :)
ps : you can have the osub content inside the min file, thus is not critical to have the osub inside a separate *.ssb file; if program is simple ( small or few soubroutines ) then i put them all inside the min, otherwise, for more complex parts i use several ssb's, one for each operation, in order to achieve modularity
Re: Simple Workshift OSP700
Yep its a piece of seamless stainless steel tube, making decorative rings 1.5mm thick using a 1mm part off tool.
It's been running perfectly, thanks again for the help