What's new
What's new

Sequence Restart Sub programs

james siffel

Cast Iron
Joined
Jan 19, 2011
Location
telford, pa
Hello all new and old PM members! My question is for all the OSP experts out there. Can you do a sequence restart on a specific part within a sub program(routine?)? Its parting off multiple parts off of one slug of material, and using the Q with the sub programs. Is this possible?
 
Possibly if you use a "GOTO" line # statement. With the OSP 7000 controller if using a variable it is easy
 
I'm not sure what you're asking, but I don't see why not.
Put N999 at the line you want to start at and then: restart. N999. sequence restart. cycle start.

If you're jumping to that sub multiple times it's most likely going to restart at the first occurrence of that N though.
 
thank you Booze, thats what i thought, with the sub being called with a Q, I guess the control cannot find anything but the first one.
 
There is another way to restart but I didn't want to clutter up my previous post.

In the upper right of the display there is a number that changes as the program is executed. It's the number of data blocks processed. If you run thru your program and note that number in the spot you want to restart at, it will restart there regardless of the number of times you jump to that sub.

restart. 432 (for example). sequence restart. cycle start.
432 being the data block you want to restart at. Caution, it will position at the last XZ in memory before the restarted data block number (and I think it does so in rapid).

The only time I have ever restarted that way was in the middle of hogging a lot of stock with a LAP cycle and my insert failed. (Think 8" stock that turns into a 1" post with 8" flange.)

Hope this helps.
 
now i know you know your stuff! thanks Booze, we were doing that, sort of hairy but definitely works. hey, we encountered another issue with the same thing. we have a new LB (ex) and the code M91 for the stupid safety door kind of hangs up the restart. we get no alarms, it just opens the door and then your stuck. can't open the door or get it to continue. ever deal with the M90/m91?
 
hi james siffel , that thing described by Booze Daily is the internal sequence counter : it is there as a last resort, thus if you can't restart a program by using it then it means that something is wrong

this counter does not reset in case of pushing the emergency-stop or the hard-reset-button, helping to pin-point the last executed sequence

it's value does not always represent the number of blocks, thus a program with 10 blocks may require more than 10 internal sequences to be processed by the controller ( think of cycles, looped codes, etc )

it may behave faulty if it is used on a program that contains VRSTT, or if it is looped based on a common variable, thus based on a sequence that is executed from a source <> main program; try to restart a dnc like that :)



for your program i would recomand restarting on the 1st block inside the soubroutine + order number <> 1 ( 2 for 2nd part, 3 for 3rd, etc ); this method is simpler

kindly :)

ps : i can't help with M90
 








 
Back
Top