RobotStudio event

How to properly use RMQmessages?

Hello,

I do not understand how to properly use RMQ messages. Here I have 2 parallel tasks: CONTROL and T_ROB1. I need to send messages from CONTROL to T_ROB1 but, when I use the code:
      RMQFindSlot slotCONTROLtoMOTION,"RMQ_T_ROB1";
the program stops saying that RMQ_T_ROB1 is not a valid name for a RMQ client.
The corresponding instruction in the T_ROB1 is:
      RMQReadWait queueCONTROLtoMOTION\TimeOut:=WAIT_MAX;

Actually, i was using the whole program correctly on a real 1200 robot, but now i am transfering everything in a virtual system on robotstudio. Due to the "eio.cfg backup problem" i had to import the single modules inside each task so i don't know if I made everything correct.

Can someone help me?
Thanks in advance and sorry for my bad english

Comments

  • Hello Boteon,

    Do you have configured on both task the RMQType and RMQMode in the sys.cfg?

    Best regards,
     Daniel M.
  • medinadan said:
    Do you have configured on both task the RMQType and RMQMode in the sys.cfg?
    Thanks for your reply.

    In the controller configuration, under "Task" i have set both "Internal" for RMQtype and "Interrupt" for CONTROL RMQmode and "Synchronous" for T_ROB1.

    (I'm a pretty newbie user) are there any other ways of modifying the sys.cfg?
  • Boteon said:
    In the controller configuration, under "Task" i have set both "Internal" for RMQtype and "Interrupt" for CONTROL RMQmode and "Synchronous" for T_ROB1.
    (I'm a pretty newbie user) are there any other ways of modifying the sys.cfg?
    For the connection (RMQFindSlot) only matter the task configuration. So it should be a configuration issue (did you perform a warm restart after the config change?).
    It seems a good configuration. (I work with remote type). So, I do not know what to say.
  • I did some tests:
    (1) Creating a new station with the same task names and building new code with the same general purpose (sending an RMQmessage) and it works;
    (2) Copying the (1) code inside my initial virtual station and it doesn't work.

    So i compared the controller options: they're nearly the same, but not equal
    - the initial station had 624-1 Continous Application Platform, the "test" one didn't;
    - the test station had 610-1 Indipendent Axis, the initial didn't.

    So i guess that one of those options were the responsible.

    The other options i use are (i don't know if they are useful, but i can't find how to add them after the creation of the station, so...):
    - Pendelum Calibration
    - 613-1 Collision Detection
    - 709-1 DeviceNet Master/Slave
    - 840-1 EtherNet/IP Anybus Adapter
    - 841-1 EtherNet/IP Scanner/Adapter
    - 614-1 FTP and NFS client
    - 617-1 FlexPendant Interface
    - Motor Commutation
    - 604-2 MultiMove Indipendent
    - 623-1 Multitasking
    - 616-1 PC Interface
    - Service Info System
    - 608-1 World Zones
  • Here I am (again).

    I had to create a new station on another pc.
    I used the same options I wrote in my previous post, but it shows the same error.

    The backup importation failed (maybe is the RobotWare version (6.01 of the old pc vs the 6.02), so i manually imported the modules, setted the same virtual signal. The Configuration options are the same... I don't know what i miss!

    Any other solutions?
  • For the RMQmessage part you only need the option PC-interface (616-1) or Multitasking (623-1). If I read your post correctly, you have in both systems at least one of these options?

    Can you show the part of your code, which gives the error?