Melfa rv-2aj PC control using rs232 communication

  • Hello,
    I am contacting you regarding the online control for a Mitsubishi robot arm. I am trying to control a Melfa rv-2aj robot arm from c++ using a rs232 connection, but I have a problem, it does not seem to respond to the commands. Are there required any additional preparations except setting up the connection using the parameters from the manual, changing the RLNG parameter to 0 for the MOVEMASTER language and using the CR for every command? The servo on the robot arm does not start... I would really appreciate any suggestion or some further references. Thank you very much.

    Edited once, last by bogdan.sarealba ().

  • Hi,

    This are the commands that I use to turn on the servo of a Mitsubishi robot.

    Send ASCII string as follow.

    “Robot No. ; Slot No. ; Command”

    Robot No. : Specify robot No. when using multi robot.
    Slot No. : Specify slot No. when using multi task


    You should receive:


  • Hello,
    thank you very much for your reply, it is realy hard to get information related to this topic. I have tested your suggestion, but still did not get the desired output action. When I send a command to the robot I get from the serial(using a read command): ??QY?e0?L???0???0???
    My first thought was that I am not doing a proper conversion from ASCII when I read from RS232, but if I convert this set of charaters to a unicode output I get some chinesse characters and this should not be right. As the robot sends a reply via rs232, makes me think that my implementation is not wrong , but maybe my approch has some faults in it
    I tried to refactor my code to a C# solution because I wanted to aim to a higher level of programming, hence I have created a voice recognition functionality which I am planning to use for the control of the robot, so I translated my C++ code for rs232 communication to C# but the problem remains the same.
    What could this message ??QY?e0?L???0???0??? mean? I think "?" represent ASCII characters that are not properly displayed.
    Is thet CDTR232 parameter of the robot need to be enabled for this to work?
    Before I use my application I always change the RLNG parameter to 0(MoveMaster), the communication is configured as described in the manual(baud 9600, data 8, parity even, endBit two). Is there something i am missing?
    I have attached my C# source code for rs232 communication to this message. If someone can give me a hint on what i am doing wrong I would really apreciate it. Thank you very much.

  • Hi.
    Sorry, I should have given you more information. I was rushing to leave for the holiday weekend. I wrote both a VB6 and program to communicate to the robot controller. You can use RS232 or Ethernet. It works with both Movemaster and MEFLA Basic. Are you using a null modem serial cable? The Teach pendant key switch should be turn to Disable. The key switch on the controller should be switch to Auto.

    VB6 Serial out:
    MSComm1.Output = UCase("1;1;OPEN=usertool") & vbCr

    VB6 Serial in:
    ReturnMessage = MSComm1.Input

    I have attached a picture of the communicate log.

  • Hello,

    Thank you very much for your help. I managed to figure out what was the problem. In the manual for the rv-2aj it is specified that in order to use the rs232 communication the following parameters have to be set: baud rate 9600, parity even, stop bits 2, data bits 8. So I configured my communication this way, and when I sent data to the controller I would receive strange messages as I showed in my previous message. It seems that the configuration for communication on the robot side was different then mine, so I changed the value for parity to none and the stop bits to one and now everything works as expected. I get proper feedback from the robot and the commands work, the log from your message helped me to see how proper feedback looks like, thank you. The code I wrote in c# works fine, no necessary modifications required.

  • Hello,
    I'm a new member and i hava a problem with melfa rv2aj use cr1-571 controller.
    I also try to control the robot move to one position (ex. 0,0,0), i use hypetermial to tranfer the command to controler

    1;1;EXECSPD 100.0
    1;1;EXECPCOSIROP = (0,0,0,0,90,0) (6,0)

    when i send 1;1;SRVON comand to the controller, the servo is on
    but when i send the command
    1;1;EXECPCOSIROP = (0,0,0,0,90,0) (6,0) %%% (x,y,z,rol,pitch,yar)
    robot not move
    could you help me to online control it!

  • Hi. Sorry to "dig up" this topic. I'm working in a control system that communicates with a Mitsubish robot (RV-2SDB) by a serial port. Unfortutately, the robot is broken and I need to finish this system anyway. The only thing I need to know is if all the command I send to it, I receive an answer.

    Thanks in advance!

    Flavio Maia

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account
Sign up for a new account in our community. It's easy!
Register a new account
Sign in
Already have an account? Sign in here.
Sign in Now