Hello All,
Let me explain the current structure: The Robot has 2 Home positions, There are multiple sub-programs which start from one of these 2 homes and end at the other home. The robot could be in any one of the Home position and still wait for the new program number to call a sub-program inside the cell.src
In order to do a Homing/Retraction from Home1 to Home, I have a Interrupt defined in cell.src as below:
INTERRUPT DECL 21 WHEN HOME1_0==TRUE DO P_HOME() ;Stop Robot and move frome HOME1 to HOME
INTERRUPT ON 21
the Interrupt function P_Home() defined inside the cell.src is as follow:
DEF P_HOME ( ) ;HOME1 to HOME
BRAKE
WAIT SEC 0.5
WAIT FOR $IN_HOME1
PTP XH1_TO_H
PTP XHOME
Position=0
WAIT FOR $IN_HOME
RESUME
END
The Variable HOME1_0 is set to True inside the sps.sub as bellow: (where the I_Homing is the input signal to trigger the homing/retraction of the robot)
IF I_Homing==TRUE THEN
IF $OUT[PGNO_REQ] THEN
IF NOT $OUT[APPL_RUN] THEN
IF $IN_HOME1 THEN
HOME1_0=TRUE
ENDIF
ENDIF
ENDIF
ELSE
HOME1_0=FALSE
ENDIF
Display More
Problem: The Above code works, i have tested it out as well. but yesturday i got a call saying the robot crashed & on checking the Video recording of the crash and operator description, it was clear that the robot somehow skipped the point XH1_TO_H and the robot moved directly from XHOME1 to XHOME, causing the Crash.
I am an Amateur Programmer, maybe i am doing something wrong here? could you guys please help me out in figuring out what could have caused this crash ? Thanks a lot in advance,