RobotStudio event

Messaging.IpcQueue.Receive does not respect timeout.

The ABB.Robotics.Controllers.Messaging.IpcQueue.Receive does not respect the first parameter - timeout. I tried 500 and a 1000ms, and the instruction is blocked. I am running it on a Windows 8 x64 OS. My RobotStudio is version 5.60.5731.84.

I have currently bypassed this by placing the receive inside a thread and then aborting the thread periodically but I would like to know how to get the timeout to work.

Comments

  • Evanmj
    Evanmj
    edited May 2015
    Sorry, I can't answer your question, but I'm experiencing the same thing... I have a button to test message receive, and it pops up immediately with timeout instead of respecting my 5000 mS timeout.  My code is very similar to the example... 

    Edit: Now that my code actually works, if there is no message in the queue and I call myQueue.Receivve(timeout,recMessage), it hangs my application indefinitely.  

    I need to read messages from the robot "continuously" during my process for logging purposes (one message every 4 seconds or so), and I don't think spawning a new process and killing it if no data is available is a legitimate solution.
    Post edited by Evanmj on
  • This issue still persists after 3 years  :/ 

    Timeout is not respected when waiting for messages and the thread is blocked indefinitely by IpcQueue.Receive. This makes it impossible to safely stop the receiver thread and forces you to kill it using Thread.Abort(). 

    Using SDK 6.07.01 and Windows 10 x64