User Interface

Stäubli Cell Configuration

The Stäubli Cell Configuration panel is the main panel for the Stäubli add-on.

1. Add Emulator
2. Emulator Connection
3. Robot Mapping
4. I/O Mapping
5. Cell Configuration Tree
6. Turn On/Off Robot Mapping
7. Simulation Mode and Connect/Disconnect Emulator
8. Synchronization Timing Settings

Add Emulator

The Add Emulator button displays the Edit Emulator Target task pane, which allows you to test and add a new emulator connection to the Cell Configuration tree.

Note: You cannot add a new connection if the host name/address and port number match an existing emulator connection.

Synchronization Timing Settings

The Synchronization Timing Settings button displays a list of global settings for all connected emulators. They control how smooth robot movements can be captured and reacted to in both the simulation and VAL 3 robot program running on a connected emulator. This also includes how high the frequency is for I/O value changes.

A default of 20ms is used for both Polling interval and Virtual mode time step settings. These settings are not saved with a layout rather your application user settings.

Cell Configuration Tree

The Cell Configuration tree shows emulator connections as well as robot and I/O mappings.

Level 1 - Emulator Connections

An emulator connection is always indicated by a unique name, its simulation mode, and is listed with a button that controls the state of the emulator connection. If simulation mode is not idle and the simulation is reset, you can connect/disconnect an emulator to turn on/off synchronization without having to change the simulation mode.

When you right-click an emulator connection, you have the following options.

Name Description
Change Target Opens the Edit Emulator Target task pane, thereby allowing you to edit the network address of the emulator.
Connect Connects the Stäubli add-on to the emulator.
Edit I/O Mappings Opens the I/O Mappings Editor, thereby allowing you to map simulation variables with the physical I/O of controller.
Disconnect Disconnects the Stäubli add-on from the emulator.
Remove Deletes the emulator from the Stäubli add-on.
Show I/O Mappings Shows the Stäubli Controller I/O Mappings panel.

Level 2 - Robot Mappings

A connected emulator is associated with at least one robot configured in the Stäubli controller, which can be connected/mapped to a robot in the 3D world. A robot mapping indicates the name of robot in Stäubli controller, the name of its mapped robot in 3D world, and is listed with a button that controls the state of the connection between the robots.

When you right-click a robot mapping, you have the following options.

Name Description
Change Connected Robot Opens the Change Connected Robot task pane, thereby allowing you to map a robot in Stäubli controller to robot in 3D world.
Post Process Program Opens the Create VAL 3 application task pane, thereby allowing you to create a VAL 3 application.

Level 3 - Inputs and Outputs

A connected emulator has its own set of inputs and outputs, which are I/O mappings for simulation variables and the physical I/O of a Stäubli controller.

When you right-click an I/O mapping, you have the following options.

Name Description
Edit I/O Mappings Opens the I/O Mappings Editor, thereby allowing you to map simulation variables with the physical I/O of controller.
Show I/O Mappings Shows the Stäubli Controller I/O Mappings panel.

Properties

The Properties panel allows you to view and edit the attributes of a selected item in the Stäubli Cell Configuration panel.

Emulator Connection

Name Description
Connected Indicates the state of the connection.
Address Indicates the network address of the emulator.
Simulation mode Defines the mode of interaction between Stäubli add-on and the connected controller during a simulation.

Idle
Stäubli controller and simulation are independent from each other. This allows you to use the simulation-side controller to teach a robot and execute its program. Generally, this mode is used to quickly teach and simulate a robot program in 3D world, and then post-process the results.

Virtual
Stäubli controller can be used to teach robot in 3D world and simulate a VAL 3 program. This allows for high synchronization because the execution of Stäubli controller is managed by Visual Components Premium 4.9 and uses the simulation clock for time steps. Generally, this mode is used for testing and visualization purposes, especially with large layouts since a simulation can run effectively in virtual or real time at different speeds.

Polling
Similar to Virtual mode, but Stäubli controller will operate in real time using its own clock. Generally, this mode exists for backward compatibility and is suitable for visualization purposes. The simulation should run in real time at 1x its normal speed. We recommend using Virtual instead of Polling.

Jogging
Stäubli controller has turned off power to robot arm, but can still receive updates on joint values of robot in 3D world. Generally, this mode is used to interact with a robot using its simulation-side controller to teach positions and write them directly to a VAL 3 application.

Tip: In Jogging mode, you can jog a robot without having to run a simulation. Remember to disable robot arm power in Stäubli controller before entering Jogging mode.

Edit Target Opens the Edit Emulator Target task pane, thereby allowing you to edit the network address of the emulator.

Robot mapping

If the robot in Stäubli controller is not mapped to a robot in 3D world, a Map to simulation robot button will be displayed in the Properties panel. This button opens the Change Connected Robot task pane, thereby allowing you to map a robot in Stäubli controller to robot in 3D world.

I/O mapping

The look and feel is the same as the Stäubli Controller I/O Mappings panel.

Change Connected Robot

The Change Connected Robot task pane allows you to map a robot in Stäubli controller to a robot in the 3D world. The action involves picking a robot in the 3D world, and then using the Apply or Cancel button to either confirm or cancel the change.

Please be aware of the following guidelines:

  • You cannot map robots with different joint counts.
  • When picking a robot in 3D world:
    • Currently mapped robot is displayed normally and not highlighted.
    • Compatible robots are highlighted yellow.
    • Incompatible robots are highlighted grey.
    • Newly selected robot is highlighted green.
    • Clicking an empty space in 3D world will clear the selection, thereby allowing you to unmap both robots.
  • If I/O mappings exist, they are copied to new robot and deleted from old robot.

Create VAL 3 Application

The Create Val 3 application task pane allows you to post-process the robot program of a mapped robot in the 3D world to a VAL 3 application.

Name Description
Application name Defines the name of VAL 3 application and folder used to store its files.

You must use a valid Windows folder and file name as well as adhere to naming limitations of VAL 3 applications.

Names of post-processed VAL 3 applications will be displayed as available options, for example if you need to overwrite or update your project.

Application folder Defines the directory containing the VAL 3 application and its folder.
Write unmapped I/O Determines if unmapped ports used in robot program are written to VAL 3 application.

Important: Without a map to a valid controller-side variable, the post-processor will fail to write a valid VAL 3 instruction and the generated VAL 3 application will contain syntax errors.

Send to controller Enables/disables the use of SRS transfer manager after completing post-processing.

The transfer manager uses command line parameters that tell it where to connect to and the application folder path.

Generally, this is used to transfer a VAL 3 application to a real not emulated Stäubli controller with an FTP server.

Transfer manager path Defines the path to SRS transfer manager executable file.

Stäubli Controller I/O Mappings

The Stäubli Controller I/O Mappings panel shows all I/O mappings between simulation variables and the physical I/O of controller for a selected emulator in the Stäubli Cell Configuration panel.

Note: You can right-click the list of I/O mappings, and then use a shortcut to either delete selected rows or reset the size of each column.

Name Description
Enabled Turns on/off I/O mapping.

You can enable/disable an I/O mapping when a simulation is paused or reset.

Simulation variable Name of variable in component, for example the signal of a conveyor or I/O port of a robot.
Simulation type Data type of simulation variable.

See Supported Variables for more information.

Controller I/O Name of physical I/O in Stäubli controller.
Controller type Data type of the physical I/O in controller.

See Supported Variables for more information.

Simulation value Indicates current value of simulation variable.

Value is updated by polling at a fixed but inaccurate frequency. The nominal update rate is 5 Hz, so rapid changes might not be shown.

Note: The value of an I/O port cannot be shown if it is not associated with a signal since a Signal Map behavior does not contain values.

Edit I/O Mappings Opens the I/O Mappings Editor, thereby allowing you to map simulation variables with the physical I/O of controller specific to the emulator connection.

You can add a new I/O mapping when a simulation is reset.

Delete Mapping Remove a selected I/O mapping.

You can remove an I/O mapping when a simulation is reset.

I/O Mappings Editor

The I/O Mappings Editor allows you to pair/map simulation variables with the physical I/O of a controller for a selected emulator in the Stäubli Cell Configuration panel.

Simulation variables

The left pane displays data on simulation variables.

Note: You can right-click the list of simulation variables, and then use a shortcut to expand all elements or a selected tree, collapse a selected tree, or reset the size of each column.

Name Description
Connected Indicates if variable is mapped to controller variable.
Simulation structure Tree containing the available variables of components and robots in 3D world.

See Supported Variables for more information.

Parent component Indicates the component of variable.
Variable name Indicates the name of variable.
Variable type Indicates the data type of variable.
Description Provides a short description on variable.

Generally, the I/O ports of a robot used to signal actions, such as grasp and release, have descriptions.

Controller I/O

The right pane displays data on the physical I/O of controller.

Note: You can right-click the list of physical I/O, and then use a shortcut to expand all elements or a selected tree, collapse a selected tree, reset the size of each column, or reload the list.

Name Description
Connected Indicates if the I/O is mapped to simulation variable.
Controller structure Tree containing the available I/O in Stäubli controller.

See Supported Variables for more information.

Controller type Indicates the data type of I/O.
Description Provides a short description on the I/O.

Mapped Variables

The bottom pane displays data on mapped variables and has the same look and feel as the Stäubli Controller I/O Mappings panel.

To map variables:

  1. Select the simulation variables and physical I/O of controller you want to pair with each other.
  2. Click the Map Selected button. The selected variables would need to be compatible with one another, otherwise the Map Selected button will be disabled.
  3. Do one of the following:
    • To add more I/O mappings, repeat step 1.
    • To delete an I/O mapping, select the rows of I/O mappings you want to delete, right-click the list, and then click Delete Selected.
    • To save all changes, click OK.
    • To not save any changes, click Cancel or Exit.

Note: If you select multiple simulation variables and physical I/O of controller, a scoring system is used based on data type compatibility and name similarities to determine which variables are paired with physical I/O.

Supported Variables

Simulation

  • Boolean, Integer and Real Signal behaviors of components in 3D world.
  • The digital input and output signals (ports) of robot in 3D world. The I/O of robot are Boolean Signal Map behaviors referenced by the executor of its program. The robot must be mapped to a Stäubli controller and the I/O ports must either be assigned an action or connected to a signal. Otherwise, the robot and/or unused ports will not be listed nor available in I/O Mappings Editor.

Controller

  • Physical inputs and outputs of Stäubli controller, which are used in VAL 3 applications by linking them to special variables, aio and dio. Analog inputs (ain) and outputs (aout) are an aio data type. Digital inputs (din) and outputs (dout) are a dio data type.

Note: Program variables cannot be accessed directly by Stäubli add-on.