CB3 Response Loop

Hello

I have an issues with my CB3 UR10.

I am using it alongside a Sensopart vision camera. When I Send a command to load a job from the Cobot to the camera (CJB004 in this instance), the camera returns a response to say whether the job change has been successful.
Successful response - CJBPT004
Unsuccessful response - CJBFT004

In an unsuccessful job change response is received, the Cobot program should loop the command until a successful job change has been completed. Below is a snippet of the Cobot program including a job change. The loop should check the response form the camera and look for an “F” but doesn’t work. I have experimented by changing the “F” to “T” and this seems to work (albeit the Cobot program crashes due to the high number of loops).

Any help would be greatly appreciated!

$ 64 “Case 1”
if (1 == switch_1):
$ 65 “MoveL”
$ 66 “I_Counter≔1”
global I_Counter=1
$ 68 “Waypoint_24” “breakAfter”
movel(pose_trans(Base, p[0.3904838570864909,-0.10870739582717051,0.471874133183019,2.2158076326402663,-2.111100474978251,-0.15231387879551223]), a=1.2, v=0.08)
$ 69 "Self_Home_Flag≔ True "
global Self_Home_Flag= True
$ 71 “visor_terminalScript(‘CJB004’, ‘visor’)”
visor_terminalScript(“CJB004”, “visor”)
$ 73 “Loop str_find(visor_response,‘F’)>0”
while (str_find(visor_response,“F”)>0):
$ 74 “visor_terminalScript(‘CJB004’, ‘visor’)”
visor_terminalScript(“CJB004”, “visor”)
end

Hi,

First, you can add a script line with a sync() command inside your loop, it will prevent the crash of the program if there is to many loop.

What you can try for your problem is maybe to put a wait command before your loop, just to be certain that you receive the response from the Visor before entering the loop.

Thank you. I will try this.