Hello everyone,
I'm new to this forum and I have a question..
In a part of my program I have this code:
1: L PR[1] 2000 mm/s CNT 100
2: Wait DI[16] = ON
3: J PR[2] 50 % CNT 100
When I see this piece of code I expect these twee possible scenario's:
1: When DI[16] = OFF, the program (and Robot) will wait at line 2 till DI[16] = ON
2: When DI[16] = ON before movement PR[1] is started and is still ON when the movement is finished, the program will see the condition is met immediately and continues from PR[1] to PR[2] without a stop.
However, in reality it doesn't matter whatever the state of DI[16] is, the robot will stops it's movement. (Offcourse, with scenario 2, continues immediately after the real short stop)
We really need to check this DI because a linear axis needs to be out of the area. In normal production, the linear axis is a bit faster than the robot and should be normally out of the area of the robot.
When this is the case, we don't want that the robot stops and does one smooth movement to his end position.
When I read the manual I see the following line:
QuoteWhen a wait instruction is executed, the robot does not execute any motion instructions.
Does anyone know a trick to create a sort of Wait instruction which will pass without a stop when the condition is already met?
I tried the following:
_____________________________________
LBL [1]
If DI[16] = OFF, JUMP LBL [1]
_____________________________________
Result: The same
_____________________________________
If DI[16] = ON, JUMP LBL[1]
Wait DI[16] = ON
LBL[1]
_____________________________________
Result: The same
Does anyone know a solution or can point out what i'm doing wrong? Would be very helpful!