RobotStudio event

How to Setup EGM Client on Virtual Controller for CRB15000 GoFa

Hi,

I would like to set up an EGM client on a virtual controller for CRB15000 GoFa. The EGM client should communicate with an EGM server running on another laptop.

My Windows laptop, on which the virtual controller is running, is connected to a Linux laptop via an Ethernet cable. On the Windows side, the Ethernet adapter has the IP 192.168.125.1. On the Linux side, the Ethernet adapter has the IP 192.168.125.100.

I opened a vrtual controller with RobotStudio 2024 using the rspag file from this GitHub repository:

https://github.com/rparak/Unity3D_ABB_CRB_15000_GoFa_EGM/tree/main/ABB_RS/EGM/With_EE

ABB_GoFA_Unity3D_Ctrl.rspag

The opened virtual controller contains the RAPID code and the configurations for running an EGM client.

Under Controller > Configuration > Communication > UDP Unicast Device, the following settings where preconfigured:

Name: ROB_1 Type:
UDPUC Remote Address: 127.0.0.1
Remote Port Number: 6511
Local Port Number: 0

Name: UCdevice
Type: UDPUC
Remote Address: 127.0.0.1
Remote Port Number: 6510
Local Port Number: 6510

When I click on RAPID > Start, the client starts and I get the message “No data from UdpUc device”, which is fine as I haven't started a server yet. So the EGM client seems to work fine on the virtual controller side when using localhost as a remote address.


********* Now here is the issue *********
The EGM Client does not start anymore when I change the remote address to this:

Name: ROB_1
Type: UDPUC
Remote Address: 192.168.125.100
Remote Port Number: 6511
Local Port Number: 0

After restarting the controller and running the code, I allways get the following error:
""""""
41820: Invalid EGM identity Description Task: T_ROB1. The EGM identity egm_id is not valid. Program ref: /Module1/EGM_CARTESIAN_CONTROL/EGMActPose/72. Consequences The program execution is stopped immediately. Causes The EGM identity egm_id had not been initialized by means of the RAPID instruction EGMGetId. Actions Initialize the EGM identity egm_id using the RAPID instruction EGMGetId.
"""""

The code already uses “EGMGetId egm_id;” to initialize the EGM identity.
I have already whitelisted the remote address by adding <host ip=“192.168.125.100”/> in the vcconf.xml file.
Under Communication > Firewall Manager I have activated all possible network interfaces.


Can anyone help with this?
That would be fantastic.