ros-industrial / abb_librws

A C++ library for interfacing with ABB robot controllers supporting Robot Web Services
BSD 3-Clause "New" or "Revised" License
71 stars 61 forks source link

Document white-listing IPs when using RobotStudio #81

Open gavanderhoorn opened 4 years ago

gavanderhoorn commented 4 years ago

Using a proxy to work-around the HTTP 500 Internal Server Error problems (#47) is OK, but it might be better to use white-listing of IPs which are allowed to access the RWS server instead.

While both options will allow access to the machine which is running the Virtual Controller in RS, the proxy approach essentially allows any remote host access, while the white-list will allow only the IPs / hosts which are listed access.

This is more fine-grained and easier to setup as well.

The general procedure is described in Using RobotWebServices to access a remote Virtual Controller on the RS forum.

It would be good to duplicate the steps for this procedure here locally in this repository to avoid depending on external resources (which may go off-line at any moment).

gavanderhoorn commented 4 years ago

Copy of the post on the RS forum:

Hello,

To access a remote VC with RWS successfully, please perform the following steps:

On the PC which is hosting the remote VC: 1) If it doesn't already exist, create a file called vcconf.xml in C:\Users\{user}\AppData\Roaming\ABB Industrial IT\Robotics IT\RobVC\ 2) Put the following content in it:

<?xml version="1.0" encoding="UTF-8" ?>
<hosts>
<host ip="10.11.125.5" />
</hosts>

3) Change the ip address (bold above) to the ip of the local PC from which you will be accessing the remote VC resources.

That should do it.

You're basically white-listing the IP of the client. If you don't, you'll get the "RAPI Unidentified Error" when trying to access resources on the remote VC.

joedavid-tuni commented 6 months ago

Is there something analogous to do when connecting to a real irc5 controller instead of RobotStudio? Currently, I can get the ros driver to work with RobotStudio but not the controller, error being

[ros2_control_node-2] [WARN] [1715170693.821684066] [ABBHardwareInterfaceUtilities]: Failed to establish RWS connection to the robot controller (waiting indefinitely), reason: 'Failed to collect general system info'