RobotStudio event

Analog signal multiple trap

I am using a force sensor (ai1) to measure the force (0.5 to 1.5) from two different points. So I move from startpoint to endpoint till I get the required force of 0.5 to clean and then record the co-ordinate. I stop the path and clear the path once I get the required force in the trap. I then move to a new point startline and move till the endline to get the required force of 0.5 to buff and then record the co-ordinate. I stop the path and clear the path once I get the required force in the trap.

I will be using these two co-ordinate to do cleaning and buffing at the required force. I am able to measure the co-ordinate in the first trap, however when i move to the second path, eventhough the force sensor (ai1) receives the value of more than 0.5, it continues to move to much higher force, instead of stopping.(doesnt go to the second trap).

PROC main

Forcesearch;

ENDPROC


PROC other

MoveJ otherpoint...;

ENDPROC


PROC Forcesearch

iDelete buff;

CONNECT buff WITH forcetrap;

ISignalAI \Single, ai1, AIO BETWEEN, 1.5, 0.5, 0, buff;

MoveJ startpoint...;

MoveL endpoint...;

ENDPROC


PROC cleansearch

iDelete clean;

CONNECT clean WITH cleantrap;

ISignalAI \Single, ai1, AIO BETWEEN, 1.5, 0.5, 0, clean;

MoveJ startline...;

MoveL endline...;

ENDPROC


TRAP forcetrap

Stopmove;

clearpath;

startmove;

cleansearch;

ENDTRAP


TRAP cleantrap

Stopmove;

clearpath;

Startmove;

other;

ENDTRAP

Comments

  • You are calling cleansearch from forcetrap. So when cleansearch executes, you are still in the interrupt. Then in cleansearch, you are connecting another interrupt to the same signal that is generating the current interrupt, and then expecting the new interrupt to interrupt the current interrupt. Is this possible in Rapid? I don't know.