Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions doc/architecture/script_command_interface.rst
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,8 @@ At the time of writing the ``ScriptCommandInterface`` provides the following fun
- ``setToolVoltageT2()``: Set the tool voltage on connector T2. Requires PolyScope X 10.15.0 or later and Tool Flange
V2, as reported by the RTDE robot properties. PolyScope 5 does not support connector T2.

See :ref:`io_connectors` for what the tool connectors T0 and T2 are.

Communication protocol
----------------------

Expand Down
1 change: 1 addition & 0 deletions doc/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ can be found on `GitHub <https://github.com/UniversalRobots/Universal_Robots_Cli

installation
setup
io_connectors
polyscope_compatibility
architecture
examples
Expand Down
108 changes: 108 additions & 0 deletions doc/io_connectors.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
:github_url: https://github.com/UniversalRobots/Universal_Robots_Client_Library/blob/master/doc/io_connectors.rst

.. _io_connectors:

I/O connector overview
======================

This page gives a short overview of the I/O connectors on the tool flange and the control box, and
which functions of this library act on them.

- Starting with software versions 10.15 and 5.26, URScript addresses I/O through string labels such
as ``CB_CI0`` or ``T0_V`` (unified I/O).
- A label that does not exist on the connected hardware raises a runtime exception in URScript.
- The library reports the connected hardware as ``ControlBoxType`` (``CB5`` or ``CB7``) and
``ToolFlangeType`` (``V1`` or ``V2``), available from the ``PrimaryClient`` and the
``RTDEWriter``.
Comment thread
urrsk marked this conversation as resolved.
Resolved
- For the complete list of labels and the connector drawings, refer to the robot manual.

Tool connectors
---------------

- **e-Series and UR-Series robots**: connector ``T0`` only. Reported as ``ToolFlangeType::V1``.
- **g-Series robots**: connectors ``T0`` to ``T3``. Reported as ``ToolFlangeType::V2``.

- ``T0`` works the same as on e-Series and UR-Series robots.

T0 -- M8 8-pin (CB3, e-Series, UR-Series and g-Series)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Comment thread
urfeex marked this conversation as resolved.
Resolved

- Digital inputs ``T0_CI0``, ``T0_CI1``, can be configured for Safe freedrive.
- Digital outputs ``T0_DO0``, ``T0_DO1``.
- Analog inputs ``T0_AI0``, ``T0_AI1``.
- Tool power output ``T0_V``: 0, 12 or 24 V.
- Library: ``setToolVoltage()``, ``RTDEWriter::sendToolDigitalOutput()`` with pins 0-1.

T1 -- Smart Panel pogo-pin connector (g-Series only)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

- Digital inputs ``T1_DI0`` to ``T1_DI2``.
- Digital inputs ``T1_CI0``, ``T1_CI1``, can be configured for Safe freedrive.
- Digital outputs ``T1_DO0`` to ``T1_DO3``. ``T1_DO0`` is the Smart Panel LED.
- ``T1_CONNECTED`` is true when a Smart Panel is connected and powered.
- Library: ``RTDEWriter::sendToolDigitalOutput()`` with pins 2-5.

T2 -- M8 4-pin (g-Series only)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Comment thread
urfeex marked this conversation as resolved.
Resolved

- Power output only, ``T2_V``: 0, 24 or 48 V.
- Library: ``setToolVoltageT2()``, requires PolyScope X 10.15.0 or later.

T3 -- Industrial Ethernet (g-Series only)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

- Ethernet connection to the tool.
- No I/O or power labels.

CB5 control box
---------------

- I/O:

- Digital inputs ``CB_DI0`` to ``CB_DI7``.
- Digital outputs ``CB_DO0`` to ``CB_DO7``.
- Configurable digital inputs ``CB_CI0`` to ``CB_CI7`` and outputs ``CB_CO0`` to ``CB_CO7``,
can be used for safety functions.
- Digital inputs ``CB_DI8`` to ``CB_DI11`` with high-speed encoder input functions.
- Analog inputs ``CB_AI0``, ``CB_AI1`` and analog outputs ``CB_AO0``, ``CB_AO1``.

- External ports:

- One Ethernet port.
- Two USB-A ports.

CB7 control box
---------------

- I/O:

- Configurable digital inputs ``CB_CI0`` to ``CB_CI15`` and outputs ``CB_CO0`` to ``CB_CO15``,
can be used for safety functions.
- No standard digital outputs.
- Digital inputs ``CB_DI0`` to ``CB_DI3`` with high-speed encoder input functions.
- Analog inputs ``CB_AI0``, ``CB_AI1`` and analog outputs ``CB_AO0``, ``CB_AO1``.

- External ports:

- Three Ethernet ports.
- Two USB-C ports with DisplayPort output.
- Two USB-A ports.
- Five Ethernet ports in total, counting the end-of-arm and Teach Pendant connections.

Configuration on the Teach Pendant
----------------------------------

- Network configuration of the Ethernet ports, such as routing and firewall settings.
- Configuration of the configurable I/Os, for example whether one is used for a safety function.

Control box library functions
-----------------------------

- ``RTDEWriter::sendStandardDigitalOutput()``: sets the standard digital outputs. Returns ``false``
on a CB7, which has none.
- ``RTDEWriter::sendConfigurableDigitalOutput()``: sets the configurable digital outputs.

- Pins 0-7 with RTDE protocol versions below 3.
- Pins 0-15 with RTDE protocol version 3.

- ``RTDEWriter::sendStandardAnalogOutput()``: sets the analog outputs 0-1.
Loading