Vention's Tech Docs

How To Guide

URCap v2.x: Universal Robots Cell Integration Kit

Using our new Robot Cell Integration Kit, Vention actuators and linear axes can be controlled directly from the UR teach pendant. This article will show how to control Vention equipment directly from the Universal Robots teach pendant with the Vention URCap for Robot Cell Integration.


Vention’s URCap for Robot Cell Integration enables equipment comprised of a Vention MachineMotion controller and a UR controller to be seamlessly managed from the UR teach pendant. This integration makes it simple and cost-effective to create systems that unite UR six-axis robot arms with Vention linear axes and rotational indexers. Using the intuitive UR programming environment, it’s easy to create applications controlling a combination of UR robot arm, Vention linear axes, and rotational indexers.

Figure 1: UR10 Mounted on a Vention 7th Axis Range Extender

Installing Vention's URCap For Robot Cell Integration

Vention offers a Universal Robot Capability extension package to enable simple programming of Vention actuators from within the UR pendant. The URCap For Robot Cell Integration software is distributed on a USB flash drive and must be installed on the UR teach pendant.

Step 1: Insert USB Stick

Insert the URCap for Robot Cell Integration USB drive into the UR teach pendant’s USB port. The USB stick includes the URCap file (.urcap) required by the UR setup assistant.

Figure 2: Location of the UR teach pendant’s USB port

Step 2: Install the Vention URCap

On the teach pendant home screen, select Setup Robot > URCaps (see Figures 3 and 4).

Figure 3: Polyscope home screen
To view UR Interface v3 click here

Figure 4: Setup Robot Screen
To view UR Interface v3 click here

Click the + icon at the bottom of the screen to add a new URCap to the teach pendant.

Select the file VentionRobotCell-2.0.urcap and click Open to install the URCap extension.

Figure 5: Adding the URCap file
To view UR Interface v3 click here

You will be prompted to Restart the UR controller to complete the installation.

Figure 6: To complete setup, restart the controller
To view UR Interface v3 click here

After restarting, you’re ready to physically connect the controllers, actuators, and sensors.

Wiring MachineMotion

The MachineMotion controller has two panels with pre-labeled connectors. Depending on the application needed, MachineMotion may connect up to:

  • Three (3) motors (Six (6) motors with Y-cable)
  • Six (6) end-stop sensors
  • Three (3) position encoders
  • Twelve (12) digital inputs
  • Twelve (12) digital outputs
  • One (1) safety input
  • One (1) safety output

The motor drive and associated end-stop sensors are arranged in three (3) groups as indicated on the MachineMotion connector panel. The digital I/Os and position encoders can be connected to the auxiliary inputs (AUX) of MachineMotion (see Figure 7).

Figure 7: MachineMotion motor and sensor sonnectors

The safety input / output allows MachineMotion to participate as either a master or a slave in a unified safety solution (see Figure 8). We recommend configuring MachineMotion as a safety slave when used with a UR robot cell.

Figure 8: MachineMotion safety connectors

Controller Connections

This section discusses common MachineMotion connections for pairing with a Universal Robot controller. These connections require the following cables (provided with the MachineMotion package):

  • AC power cable
  • E-Stop bypass connector
  • Ethernet cable (controller communication)
  • Safety E-Stop cable

Figure 9: MachineMotion-to-UR controller connections

AC Power Connection

Use the provided power cable to connect the MachineMotion controller to an outlet that provides 110 V (of AC power) at 15 amps. Use a standard voltage converter to convert 220 V to 110 V in regions that do not provide 110 V power. An average of 400 watts per actuator must be available to properly power the equipment.

UR and MachineMotion Ethernet

The UR and MachineMotion controllers communicate using TCP/IP sockets on standard Ethernet. We recommend using a point-to-point connection by running an Ethernet cable between the MachineMotion Ethernet port and the UR controller Ethernet port. This direct connection requires that the IP address be statically configured (see Network Configuration).

E-Stop Bypass

The e-stop bypass on the pendant connector must be connected when using the MachineMotion with the UR Controller.

Linear Range Extender Connections

Linear range extenders are available from Vention to extend the robot arm reach in one, two, and three dimensions. When paired with 6-axes robot arms, these range extenders are commonly known as the robot’s 7th, 8th, and 9th axis, respectively

Each axis is connected to the MachineMotion controller using:

  • One motor drive connection
  • Two end-of-travel sensors

The MachineMotion main connector panel clearly identifies each axis with a row of related ports, each with a unique color ring, as listed in Table 1.

Table 1: MachineMotion axes color assignment

Axis Identifier Axis Color
1st Axis Green
2nd Axis Orange
3rd Axis Red

Figure 11: MachineMotion ports

For each Axis, connect the motor cable to the Drive port and the two end-stop sensors to their color-matched Sensor A and Sensor B connectors.

Figure 12: Connection ports for the MachineMotion Linear Axis Range Extender

Note: Depending on the motor rotation and desired home position, the connection for the sensors may need to be swapped.

Rotational Indexer Connections

Starting from URCap for Robot Cell Integration, Vention’s Rotary indexer may be controlled from the UR teach pendant, which allows for application like inspection jigs and soldering stations. The Rotary indexer is controlled in terms of angle (degrees) and is connected to MachineMotion as a full axis.

The Rotary indexer connection includes:

  • One motor drive connection
  • Two end-of-travel sensors

The end-of-travel sensors are used to determine the rotation origin (0 degrees). The end-of-rotation sensors are used to constrain rotational applications (0–360 degrees). End-of-travel sensors are not required for free-form relative Rotary applications.

Figure 13: Connection ports for the MachineMotion Rotary Indexer


Network Configuration

Communication between the UR controller and MachineMotion uses Ethernet. The UR controller has an Ethernet port available on its bottom panel, and the MachineMotion controller has one on its connector panel. The two units must be connected using an Ethernet cable. This configuration is peer-to-peer. In order for the Ethernet communication to function, both devices must be properly configured.

Figure 14: Example one-axis MachineMotion system with Ethernet peer-to-peer connection to a UR controller

In this system, the UR controller is the controlling entity. It runs the application-level program and sends commands and queries to the MachineMotion controller.

MachineMotion Setup

  1. Connect MachineMotion to a 120 V power source via the power cable and POWER connector
  2. Connect a computer that has Google Chrome installed to MachineMotion via the provided Ethernet cable using the DEFAULT ETHERNET port (also labelled on the latest version of the controller). If using a computer that does not have an Ethernet port a USB to Ethernet adapter can be utilized.
  3. Turn on the MachineMotion system using the rocker switch
  4. Wait ~ 90 seconds for the system to complete its booting sequence.
  5. Using the Google Chrome browser, navigate to:

The MachineMotion main menu (see Figure 15) will be displayed.

Figure 15: MachineMotion main menu

  1. From the main menu, select Network Configuration
  2. Modify the IP address of the MachineMotion controller, if desired. The default network configuration for MachineMotion connected to a UR controller is as follows:
    • IP address:
    • Netmask:
    • Gateway:
  3. If you have modified any of the fields, select Use Static Mode to save your changes

Figure 16: Default MachineMotion network configuration settings when connected to a UR controller

MachineMotion IP Addresses

The MachineMotion controller has two different network interfaces: ETHERNET and DEFAULT ETHERNET (also labelled on latest units). These two interfaces are distinct, and consequently can be configured differently. They also have different IP addresses. The table below highlights the differences between the two interfaces.

Table 2: Network adapter details

Physical Port IP Address Configurable Default Gateway
ETHERNET (default) Yes

MachineMotion IP Ports

The MachineMotion controller serves multiple ports, as detailed below.

Table 3: MachineMotion server's IP ports

Service Port applications
80 MachineMotion UX/UI
8888 Communication setup and basic machine apps
9999 Communication with UR controller

UR Controller

On the teach pendant home screen, select Robot > Network (see Figures 17 and 18).

Figure 17: Polyscope (UR teach pendant) main menu
To view UR Interface v3 click here

Figure 18: Setup robot menu
To view UR Interface v3 click here

Enter the parameters as shown in Figure 19. Note that here, the UR controller IP address is, and the MachineMotion controller IP address is Any address in the subnetwork is acceptable. The other parameters should be configured as shown in Figure 19. Click Apply to save your settings.

Figure 19: Network parameters setup
To view UR Interface v3 click here

The network status line should display Network is connected after a few seconds. If it does, the network setup is complete.

Installation Screen

In order to have the UR controller communicate with the MachineMotion controller, you must complete an installation in the Polyscope environment.

Figure 20: Vention's URCap installation screen
To view UR Interface v3 click here

Upper Window

The upper window of the Vention URCap is used to define a MachineMotion controller instance. Note that multi-controller systems can be created by adding more than one controller.

  • Controller Name: Name assigned to the MachineMotion controller
  • IP Address: IP address of the MachineMotion controller. In Figures 19 and 20, IP address is used for the MachineMotion controller

Lower Window

The lower window of the Vention URCap defines axes of motion. For example, this system has three axes linked to the controller, which is called MachineMotion1. These axes are plugged into drive ports one, two, and three of the controller, hence these numbers appear under the Drive Index setting.

  • Controller: Name of the controller on which the axis is plugged
  • Drive Index: Indicates which port the axis is connected to on the MachineMotion controller
  • Type: Indicates the type of actuator. Setting the type will populate the Gain, Micro-stepping, Speed, and Acceleration fields with default values, but you can still edit them if you wish to
  • Gain: Mechanical gain of the mechanical system in mm or degrees per motor turn
  • Micro-stepping: These settings must match the micro-stepping setup of the drives inside the MachineMotion controller (8 is the default)
  • Speed: Default axis displacement speed in mm/s, if none is specified in the program
  • Acceleration: Default axis displacement acceleration in mm/s2, if none is specified in the program
  • Start with home: Indicates whether the MachineMotion axis should perform a homing sequence before the start of each program
  • Counterclockwise: Select this to reverse the direction of motor rotation for the axis
  • Gear box: Select this if you are using a 5:1 gear box so the system can automatically adjust your gain

Important: Optional homing configuration

You can configure the MachineMotion axis to automatically home its axes upon system startup. The homing process executes as follows:

  1. The axis slowly moves in the negative direction
  2. End-stop sensors are triggered
  3. Movement stops, and the home location is now calibrated

Important: Save and run active installations upon start-up

When controlling the MachineMotion controller via the teach pendant and its URCap, the appropriate installation must be saved and run upon start-up of the robot program. If the MachineMotion controller is removed from the system, it is important to replace the installation file with one that does not contain MachineMotion-specific commands. Not doing so could cause the robot program to misbehave on start-up.

How to Use the Vention URCap

The Vention URCap adds the following four instructions for controlling the Vention actuators from a UR teach pendant program:

  • Home a single axis
  • Move axes
  • Get axes positions/rotations from the controller and encoders
  • Set axes position/rotation references for the controller and/or encoders
  • Start a parallel move
  • Wait for a parallel move to complete

Control Screen

When creating a robot program, the Vention URCap can be found in the Structure/URCaps tab, as shown in Figure 21.

Figure 21: Vention URCap in the program structure editor
To view UR Interface v3 click here

Homing an Axis

This instruction moves the axis in the negative direction until the end-of-travel (home) sensor is triggered. Once the axis has been homed, the position is reset to zero (0).

Figure 22: Vention URCap homing instruction details
To view UR Interface v3 click here

Move Axes

The move axes instruction enables the movement of one to three axes simultaneously. Two types of movement are supported:

  • Absolute: Move to an absolute position or rotation
  • Relative: Move a specified distance relative to the current position or rotation

The units of movement depend on the type of actuator and are as follows:

  • Linear axis: millimeters
  • Rotary indexer: degrees

Figure 23: Vention URCap Move instruction details
To view UR Interface v3 click here

You may modify the parameters of the Move instruction from the Command tab of the Program window.


This is the position, given in millimeters or degrees, to which the linear or Rotary axis will move.

Movement Type

If the Movement Type is set to Absolute, all positions are with respect to the home location (0 mm). For example, a position of 200 mm will result in the linear axis moving 200 mm away from the home location. If the linear axis is already positioned at 200 mm on the linear axis, then it will simply remain in place and not move.

If the Movement Type is set to Relative, position commands are relative to the current position of the linear axis. For example, a position of 200 mm will result in the linear axis moving 200 mm away from its current location. If the linear axis is already positioned at 200 mm on the linear axis, then it will move 200 mm away in the positive direction, and its final absolute position will be 400 mm.


Coasting speed of the linear axis in millimeters or degrees per second depending on your actuator’s type. The system utilizes a trapezoidal speed profile which contains an acceleration period, a coasting period and a final deceleration period. The speed increases linearly until coasting speed is reached, and finally decreases linearly until speed reaches zero. The Speed setting configures the coasting speed.


Acceleration of the linear axis in millimeters or degrees / second2 depending on your actuator’s type. This parameter controls the acceleration and deceleration of the trapezoidal speed profile. The acceleration and deceleration are equal.

Get Axes Position

The positions and rotations of up to three (3) axes can be input as UR teach pendant variables using the get axes position instruction. Empty fields will be ignored. For example, if you only want to get axis number one’s position as a variable, fill in only that field.

Two types of positions are available from Vention axes:

  • Controller position: The position the motor is being driven to (motor commands)
  • Encoder position: The position read from the encoder on the shaft of the motor (if installed)

In normal operation (without stalls and skips), the position of the controller and encoder for a given axis should correspond with each other. Discrepancies between these positions indicates that the movement has not been completed according to the program.

Figure 24: Vention URCap Get Position details
To view UR Interface v3 click here

Set Axes Reference Position

The position reported by the axis can be overridden using the set axes reference position instruction. Empty fields will be ignored. For example, if you only want to set axis number one’s position, fill in only that field.

This instruction can be used to:

  • Create a local coordinate system for a series of movements
  • Realign the controller position using the encoder position after a stall or a skipped step
  • Set a reference point for free-form Rotary applications

Figure 25: Vention URCap set reference position instruction details
To view UR Interface v3 click here

Parallel Move Start

The parallel move start instruction can be used to simultaneously move the Vention axes and the UR robot arm. As for the standard sequential move, the parallel move may target one to three Vention axes.

This move instruction initiates the movement of Vention axes and then immediately continues with the following URScript instruction, allowing the robot arm to move in parallel.

Note: You must use the parallel wait instruction in conjunction with parallel move start, in order to resynchronize the Vention Axes and Universal Robots movements.

Figure 26: Vention URCap start parallel move instruction details
To view UR Interface v3 click here

Vention Parallel Move Wait

The parallel move wait instruction is used to await the completion of a previously started Vention parallel move before resuming a sequential execution flow. Position this instruction in your program where you need to resynchronize the Vention and robot arm movement.

Figure 27: Vention URCap wait for parallel move instruction details
To view UR Interface v3 click here

Example: Vention Parallel Move

The following URScript shows an example of starting a Vention parallel move after the first robot waypoint is reached (Waypoint_1). The program will wait for the Vention parallel move to be completed before it executes the Get Position instruction.

Figure 28: Example of a Vention parallel move instruction
To view UR Interface v3 click here

Comments (0)