How to change the listening port of the Virtual Controller (RobotWare 6.x and 7.x)

Maxim RiabichevMaxim Riabichev Sweden admin
edited June 3 in RobotStudio
Hello all,

One might want to change the listening port of the Virtual Controller. For example, in my specific case, port 80 is taken by another application which means that accessing the controller resources with Robot Web Services via the default URL doesn't work.

Let's have a look at how we can change the listening port of the Virtual Controller.

WARNING: If you make changes to appweb.conf file as mentioned below, any backups made based on a appweb.conf-file with other settings will fail to open in RobotStudio. The contents of appweb.conf has to reflect the controller in the backup!

1) Locate "appweb.conf" file in the following path: "C:\Users\<USERNAME>\AppData\Local\ABB\RobotWare\RobotWare_<VERSION NUMBER>\system"

2) Find the line "Listen -1" and change it to "Listen <ANY UNUSED PORT>"

3) Save the file.

Note: You can do the change of the listening port with a the controller already started (assuming it is built on the version of RobotWare you selected in the path mentioned above). All you have to do is a Restart (Warmstart) to get the controller to listen on the new port.



Bonus: Let's say you want to verify that the controller is actually listening to the port you selected.

1) Open the Task Manager.

2) Go the the Details tab.

3) Find RobVC and memorize the PID number.
(If you have multiple RobVC running, memorize all PID numbers.)

4) Open Command Prompt.

5) Send the following command: "netstat -aon | findStr <PID NUMBER>"

6) If the RobVC of that PID is actually listening on the port you want it to, the output should contain a row with "TCP    [::]:<THE PORT YOU SELECTED>              [::]:0                 LISTENING"


Note: It is possible to change ports of multiple VC's "on the fly".
For example, let's say you want to have three VC's with different but specific ports. You start the first VC. Then you edit the appweb.conf, change the port, save the file and start the second VC. Then, once more, you edit the appweb.conf, change the port, save the file and start the third VC.

If you for whatever reason would like to change the first VC's port then you edit the appweb.conf file, save it, and Restart (Warmstart) the first VC and the port should be changed.

Here's how it can look with two Virtual Controllers listening on ports 8880 and 8881:




Bonus 2: For OmniCore (RobotWare 7.x) the path to appweb.conf looks slightly different and the appweb.conf file is also a little different (because it supports SSL by default).

The path is now: C:\Users\Max\AppData\Local\ABB\RobotWare\RobotControl_<VERSION>\system
The file is Read Only by default, so you will have to uncheck that checkbox in the Properties of the file.

In appweb.conf, change the following:

#Listen -1
ListenSecure -1

to

ListenSecure <DESIRED PORT>
E.g. ListenSecure 8880

It is possible to disable HTTPS and instead use HTTP by disabling ListenSecure and enabling Listen instead.


Final remark: If you change the appweb.conf file, all controllers you create in the future will be created based on these changes.


Alright, that's it.


Have a nice day!

Maxim Riabichev
PC Software Support Engineer
Post edited by Maxim Riabichev on
Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!