I am trying to set up EGM (Externally Guided Motion from ABB) for Position Guidance using C#. But when the code reaches EGMSetupUC it will always give the error:

41824: Not possible to open the UdpUc device


It was not possible to open the external device EGMsensor: that was specified in the RAPID instruction EGMSetupUC.


The program execution is stopped immediately.


Check if

1) The device name is spelled correctly.

2) The device is connected.

3) The device is up and running.

The robot code is the following:

PROC mainEGM()
    ! Move to start position. Fine point is a demand       
    MoveJ p10,v300,fine,tMarkerAuto;

    EGMReset egmID1;
    TPWrite "EGM state: "\Num:=egmSt1;

    EGMGetId egmID1;       
    TPWrite "EGM state: "\Num:=egmSt1;       

        ! Set up the EGM data source: UdpUc server using device "EGMsensor:" and configruation "default"
        EGMSetupUC ROB_1, egmID1, "default", "EGMsensor", \pose, \CommTimeout:=5;
    TPWrite "EGM state: "\Num:=egmSt1;

In C#

private void EGMProcess(object caller, DoWorkEventArgs e)
    UdpClient mUdpServer = new UdpClient(mPort);
    IPEndPoint sender = new IPEndPoint(IPAddress.Any, mPort);

    Console.WriteLine("Waiting for EGMRobot message...");
    var protomessage = mUdpServer.Receive(ref sender);

Robot program won't go past EGMSetupUC and C# program won't get out of Receive, then I am deducing they can't connect with each other. Both are on the same network, in other projects we have confirmed that UDP protocol works fine, and we have used RRI and socket communication with this robot.

It is most likely a parameter configuration issue. Can someone help us with this??

  • $\begingroup$ I changed the name of the UDPUC device formerly called EGMsensor for UCdevice and in the EGMSetupUC call I wrote instead of "EGMsensor" "UCdevice:". I can't confirm this, but it could also be that EGMsensor was defined in Configuration->Comunication->Transmision Protocol as EGMSensor, and I've confirmed that it is case sensitive. I am not adding this as an answer because I don't know yet what the error was and I hope someone with more knowledge may explain it better for future reference. $\endgroup$ – Sxubach Sep 26 '18 at 10:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.