and it does... as long as program is running (R in SIR is green). if program is paused, everything pauses, pressing start again (R is green) and interrupt continues to run... if your motion program is only one motion and robot is already at that position program will end right away.
Interrupt Programming Issue
-
PJonHar -
July 12, 2016 at 5:21 PM -
Thread is marked as Resolved.
-
-
Hi,
I have taken a video to show the 2 cases.
Hopefully this makes t clear what the issue is.https://www.dropbox.com/s/t4k8yoflucxo…130057.mp4?dl=0
Thanks
-
what can i say...
before getting into KRL programming in general (specially before interrupt programming) one should learn about things like inline form programming, BCO, advance run pointer, scope etc.
i regularly get feedback from forum members criticizing me for promoting formal training (or at least reading manuals). somehow they think that cherry-picking bits and pieces of information is supposed to give them thorough understanding and no gaps in knowledge. somehow they feel that being bright (sometimes this is just a feeling) plus hanging around robots automatically qualifies them as robot expert. then they come back and ask bunch of questions that were supposed to be answered at the begin of any training.
this topic is just another example of someone who has skipped important topics and opted to dive into interrupt programming head first - no wonder you are confused.
how about putting INI at the begin of program and getting BCO done before you call workzone_insterrupt
-
Just to be sure i tried it too and it is just as mentioned - need BCO before workzone call.
you can get that by either using inline form motion such as
PTP P2 VEL=....or by using
INI
PTP $AXIS_ACT -
Panic mode thanks for looking into this.
I have placed init and ptp $axis_act to get BCO.
It does fire the interrupt upon starting and stopping the program.
It still doesn't make sense why it works without a motion though, as the interrupt says it is active in the version without BCO after stopping the and starting the program.
-
When the BCO is not done... it will be done when first motion is completed. This will initialize bunch of things and apparently interrupts are involved too. Always do initialization and BCO first before your actual program....
-