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:
the Interrupt function P_Home() defined inside the cell.src is as follow:
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
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,