RobotStudio event

IpcQueue ArgumentException was unhandled

Options

Hello,
 I'm trying to use IPCommands, but the creation of IpcQueue has encountered an exception.
The code that causes the exception is "IpcQueue queue = controller.Ipc.CreateQueue("RMQ_OtherTask", 5, Ipc.MaxMessageSize);" 
Exception is "'System.ArgumentException' occurred in ABB.Robotics.Controllers.PC.dll". 
My platform : RW6.03 , VisualStudio 2013 

Very appreciated for your help!

Comments

  • John_Verheij
    Options
    Is the variable 'controller' properly defined? ArgumentException, with the as additional information 'name' seems to indicate a problem with the 'destination_slot'. Maybe it can not handle the underscore in "RMQ_OtherTask"?
  • baijun
    baijun
    edited October 2016
    Options
    Is the variable 'controller' properly defined? ArgumentException, with the as additional information 'name' seems to indicate a problem with the 'destination_slot'. Maybe it can not handle the underscore in "RMQ_OtherTask"?
    Hi,John Verheij
        Very appreciated for your reply.
        Your idea is very helpful to me, I found that the RAPID program will output the error prompt (RMQ is not configured for the task) . I do not quite understand, I opened the PC interface option, according to the document (Application manual-Controller software IRC5)  can know the communication option RAPID Message Queue included in the PC interface.This may be the cause of the C # program error.
        Thank you again.
  • Micky
    Micky ✭✭✭
    Options
    Hello,
    have you set the RMQ_Type of the task (e.g. T_ROB1) in the system parameters (Controller/Task) to "Remote"?

    The name "RMQ_OtherTask" can not be used. Please use the task name with which you want to communicate. E.g, if you use the Task T_ROB1 you have to use the name "RMQ_T_ROB1".

    Please refer also to the RAPID reference manual, instruction "RMQFindSlot":
    RMQFindSlot myrmqslot, "RMQ_T_ROB1";


    /BR
    Micky

  • baijun
    Options
    Micky said:
    Hello,
    have you set the RMQ_Type of the task (e.g. T_ROB1) in the system parameters (Controller/Task) to "Remote"?

    The name "RMQ_OtherTask" can not be used. Please use the task name with which you want to communicate. E.g, if you use the Task T_ROB1 you have to use the name "RMQ_T_ROB1".

    Please refer also to the RAPID reference manual, instruction "RMQFindSlot":
    RMQFindSlot myrmqslot, "RMQ_T_ROB1";


    /BR
    Micky

    Hi,
    Thank you very much for your reply.
    Your reply is in place, give me a lot of inspiration, and I will try according to your ideas.once again thanks.