Learn how to use the HAL Robotics Framework.
• documentation homeIn this section we’ll explain which Subsystems are available in the HAL Robotics Framework for Universal Robots and that their Capabilities are. These will be used when you Configure a Virtual Controller.
Industrial Controllers are typically comprised of core functionality, such as the ability to run a program, extended through optional extras, like communication protocols or multi-Robot support. To ensure that we only try and interact with your real Controller in a way that is compatible, be it through a network or with exported code, we have added a means to configure your Controller. The constituent parts of this are:
a. Controller - this is essentially a computer to which your Robot and Signals are connected.
b. Capabilities - these are how we organize what a Controller can do and draw parallels between different manufacturers’ Controllers. Capabilities are things like the ability to Upload code to the Controller from a PC or the ability to read the values of Signals remotely.
c. Subsystems - these are similar to the options you have in your Controller. They are the actual software modules that implement different Capabilities.
You’ll find a number of different ABB controllers in our catalogs but between the multiple OmniCore and IRC5 versions the only major difference is the geometry. The Controller type (OmniCore or IRC5) will also define which software versions are available and therefore which Subsystems can be chosen.
Subsystem Name | Description | Capabilities | Configuration |
---|---|---|---|
ABB RAPID X.X | Translates Procedures to ABB’s RAPID programming language. | Language | > Enabled - Whether to export the procedure. > Library Mode - Whether to export code that will run directly or that can be called from another function. > Max Actions - Maximum number of actions to have in a single .mod file. Any more and the Procedure will be created in multiple files. The maximum allowed by ABB is around 35,000 lines. > Task Alias - Name of the Task into which the Procedure should be uploaded. |
PCSDK | Remote Controller interaction library (available in RobotWares before 7.x) which requires the installation of he SDK with either RobotStudio or with the HAL.ABB extension. | Upload Execution Monitor File Manager Read Signals Write Signals Logger Backup |
> IP - IP address of your remote robot or simulator. > Credentials - Credentials needed to log in to the robot (or simulator) remotely. Defaults will work unless they have been changed in your robot’s settings. > Detected Controllers - Selectable controllers which the PCSDK has discovered on your network. |
Robot Web Services (RWS) | Successor to the PCSDK which allows HTTP-based communication with the controller (available in RobotWares 6.x or later). | Upload Execution Monitor File Manager Read Signals Write Signals Logger Execution Monitoring |
> IP - IP address of your remote robot or simulator. > Credentials - Credentials needed to log in to the robot (or simulator) remotely. Defaults will work unless they have been changed in your robot’s settings. |
Externally Guided Motion (EGM) | Enables low-latency state streaming to/from the controller via ABB’s Externally Guided Motion (EGM) protocol. This requires a software option from ABB and configuration on the controller. | Monitor Stream Receive State |
> IP - IP address of your remote robot or simulator. > Port - Port configured on the controller to receive EGM commands. |
In this section we’ll explain how to get the Procedures you’ve generated onto your robot. There are two different ways to do this, either manually or remotely.
Navigate to the Program Editor and select Modules (in the top centre of the screen) -> File -> Load Module.
Whilst we expect most users to use our own simulation tools for the majority of their cases, there may be a reason (e.g. cycle time analysis, or validation of the robot’s limits) that you want to run your Procedures on a manufacturer-provided simulator. This section details what you’ll need and how to configure that simulator.
ABB’s robot simulation tool is RobotStudio. A license is required for advanced functionality but to test basic code functionality you can simply do the following:
A few extra tips, if things aren’t quite working as expected: