Hi
I have a project with a KRC with Multi Submit
I want to be able to reset these when the robot are homing.
Does anyone know if this is possible?
Hi
I have a project with a KRC with Multi Submit
I want to be able to reset these when the robot are homing.
Does anyone know if this is possible?
Not sure what you mean submits are running in a loop anyway. Check CWRITE... One interpreter can start stop or reset another one (but not itself)
hi panic mode
I have 2 .sub that each controls 1 servo. We would like to be able to reset the program pointer to the top of the onterpreter when the robot is reset.
still not clear what you have there. if the "servos" are external axes controlled by KRC you cannot control them from extended submits. only system submit can do that.
and since this has to be done in main SPS, there is no point in resetting like that. if you need to implement sequential logic in continuously running interpreter, you need to implement FSM (finite state machine). more specifically one for each axis.
then each FSM can stay in desired state as long as you like, you can have as many states as you like and instead of resetting program, you just need to reset FSM state.
We have a servo controller that have 5 inputs, to control 5 positions. But you dont mean that it is posible to reset multi subs?
i have nothing to add. everything is already said. not sure what is unclear.
you can reset any interpreter from any another interpreter. for example you can have submit3 select start or reset submit 7... or submit 2... or submit 1... or robot interpreter. but not itself (submit 3).
just because you can run some programs in different interpreters it does not mean they can do the same thing. some instructions can only be used in main submit (and not in extended submits).
therefore if you have a KRC controlling some external axis and you want to put code in submit interpreter, this has to be the main submit (SYS). extended submits cannot do that. you can use those additional submits to keep track of things, flash lights etc. but they cannot be used to control motion of the KRC axis.
you can add code in main submit that can control every external axis but to do so you need to structure code accordingly (FSM)
if you have a KRC that sends message to some external servo controller (not KRC) then that external motion controller is really commanding axes. in this case you can use Multisubmit as top layer to manage it since motion instructions are not going to part of submit any more.
.. then each FSM can stay in desired state as long as you like, you can have as many states as you like and instead of resetting program, you just need to reset FSM state.
This is the method I also would prefer. Before stopping/starting submits with those Cwrite commands.
This will be much easier and much clearer.
FSM by the way means "finite state machine".
yup, thanks for mentioning it. i had typo there and the autocorrect replaced it with wrong word
Here is an example in KRL along with some explanation
Normal_Sequence.SRC - conventional sequence and why this is not good for submit interpreter
FSM_Sequence.SRC - same functionality but using FSM to eliminate need for own interpreter