December 12, 2018, 07:56:14 PM
Robotforum | Support for Robotprogrammer and Users

Author Topic: Mitsubishi RV-1a external control  (Read 4259 times)

0 Members and 1 Guest are viewing this topic.

December 20, 2016, 08:56:42 AM
Read 4259 times


Hi every one

I have problem controlling RV-1a Robot using c#

when I send Command like (1;1;GC) or (1;1;MJ 30,0,0,0,0,0) the robot didn't move

and the controller send error (QeR601000000)

I am sure there is some thing wrong in controller parameters (CR1-571) but i don't know what is it??????????

if any can help me

the following pictures are for robot parameters

please help me

January 17, 2017, 12:27:23 AM
Reply #1



Based on the troubleshooting manual, this error means:

  • Error message: Illegal command
  • Cause: This may have occurred because data was sent before the communication line was opened via a data link,
    or an unregistered communication command was sent due to the mismatch between the versions of the
    controller and support software.
  • Measures: Send after the communication line is opened. Or, match the versions.


January 24, 2017, 05:48:05 PM
Reply #2


thank you Gabriel

I read cr1-571 troubleshooting

but my problem is how to solve this error??????

i am very sure that connection was opened before sending command
and there is no difference between versions

could you please help me??

January 25, 2017, 01:11:08 PM
Reply #3


Hi Jone,

Maybe the command you've sent was wrong.
Did you try another commands like "1;1;STATE" or "1;1;OPEN=TEST"?

The answer of controller have to be QoK.


January 27, 2017, 05:53:25 PM
Reply #4


I tried following code :

SerialPort _SerialPort = new SerialPort();
_SerialPort.PortName = combo_Port_Name.Text;
_SerialPort.BaudRate = Convert.ToInt16(combo_Port_CommSpeed.Text);
_SerialPort.DataBits = Convert.ToInt16(combo_Port_DataBit.Text);
_SerialPort.StopBits = (StopBits)Enum.Parse(typeof(StopBits), combo_Port_StopBit.Text);
_SerialPort.Parity = (Parity)Enum.Parse(typeof(Parity), combo_Port_Parity.Text);

_SerialPort.Write("1;1;OPEN=usertool" + "\r");
_SerialPort.Write("1;1;Cntlon" + "\r");
_SerialPort.Write("1;1;Srvon" + "\r");

connection speed = 9600
Data Bit = 8
Stop Bits = 2
Parity = even

and I tried (1;1;JPOSF) command
every thing is ok the servo turned on and I got joints position's

but any command to move robot niether melfa iv or movemaster didn't work

February 26, 2017, 05:02:55 AM
Reply #5



I am working on one now. I don't think your commands are correct for moves:

First try setting a position to a variable using this command

1;1;EXECJP2 = (50.00, 0.000, 0.000, 0.000, 0.000, 0.000)  --> This will set the P2 variable to the Joint Position (50.00, 0.000, 0.000, 0.000, 0.000, 0.000)

Than Execute the move using

1;1;EXECMOV JP2 --> this should move the robot to the P2 position.

This works for me.

Make sure they RLNG parameter in the controller is set to 1 which is for MelfaBasic IV

March 28, 2017, 05:29:09 PM
Reply #6


Hi RobotisizeThePlanet
thank you for reply
I 'll try your code using MelfaBasic IV
but i prefer using movemaster commands

and I have already tried both of them

March 30, 2017, 09:17:19 AM
Reply #7


RobotisizeThePlanet is correct. You should be using Melfa basic with that robot. If you do change the RLNG parameter to switch it to move master I suspect you will find yourself in a world of pain, its only available on the later robot for backward comparability with the old e-series robots. I think you'll find the RLNG parameter is a manufacturer parameter so you'd need a password to change it.

The software you are using "RoboExplorer" will not work correctly because it is not designed to work with movemaster.

March 30, 2017, 09:39:30 AM
Reply #8


just a though but if all your command work but the motion commands don't it might be that another routine has control of the arm. you might need to issue a "getm" command.

February 26, 2018, 12:34:50 PM
Reply #9


I know this is an old discussion. But, I am also experiencing similar issues with the RV-1A. I used to have a Matlab implementation working with TCP that was sending MELFA commands to make joint, linear or arc movements. But now, I get the error that I have no program loaded when trying to reproduce using Matlab or Python. Has anyone a functioning small communication script to connect, turn on servo, move? I am using the robot in Auto (Ext.) mode.

As a context: The robot was offline for some years and has now been resurrected by getting new batteries and doing a mechanical stopper calibration of the joints (it shows the XYZ etc. on the teach panel).

It seems that the community for this very old robot is extremely small... Are there other resources I can tap? Thanks a lot!

February 28, 2018, 08:42:16 AM
Reply #10


I found the issues for my problem. There were two: First, there was no program selected (and hence it didn't show up on the Controller display). Second, my execution commands where not formatted correctly. I was reusing old code (which was running from a Windows computer) on an Ubuntu computer. Hence I had to add '\r' at the end of the TCP messages I was sending...

September 24, 2018, 03:23:23 AM
Reply #11


I am having the same issue with the CR1-571 controller.  Can anyone verify that this controller can issue move commands?  Any other command seems to work.

September 24, 2018, 04:12:37 AM
Reply #12


Just figured it out...The CR1-571 can move the robot by remote RS232 commands.  I needed to enter the CNTLON command.  Somewhere, there is a mysterious manual that documents this proprietary protocol.

October 31, 2018, 12:58:27 PM
Reply #13


I have the Serial Protocol manual. I will post it.