
SRCI Guide
A comprehensive guide on how to set up SRCI with a UR and the Siemens TIA Portal
Standard Robot Command Interface
Standard Robot Command Interface (SRCI) is a command-based protocol, using PROFINET. It is an open standard developed and maintained by PROFINET International. SRCI defines many commands for basic and advanced use cases. Some are mandatory and some are optional. UR SRCI implements the set of commands known as the “CORE PROFILE” and is built according to version 1.3 of the SRCI standard.
SRCI moves the entire integration of a robotic application to the PLC including the programming of the robot manipulator. With SRCI, functionality for commanding robot motions and providing an interface for robot programming is added on top of all the common functionalities of the PLC such as work cell logic control and safeguarding. This ‘one to rule them all’ philosophy lifts the burden off the shoulders of the integrator of having to master the many ways different robots are integrated. If you are familiar with PLC programming and SRCI you can integrate any robot.
Prerequisites and Usage
To use SRCI with your Universal Robots cobot, specific requirements must be met.
First, you need a PLC with SRCI Controller functionality. Currently, only Siemens provides this functionality, despite SRCI being an open standard. Next, you must install the UR SRCI URCap on your cobot and purchase a license to activate it. For the limited release phase, licenses are available free of charge—contact your local sales representative for more information.
Additionally, the UR SRCI URCap requires PolyScope version 5.15.0 or later. Note that PolyScope X does not currently support SRCI functionality. Finally, SRCI is compatible with all e-Series cobot arms. Read the full list of requirements in the Compatibility subsection.
This is a list of all 29 supported functions, available when using SRCI with the robot.
Command | Description |
|---|---|
RobotTask | Handles multiple mechanisms that are required for the RI to work. It must be called once per RA |
EnableRobot | Enable/Disable robot into RA power state “Enabled” |
GroupReset | Resets and acknowledges info, warning and error messages |
SetSequence | Set active sequence |
Command | Description |
|---|---|
ChangeSpeedOverride | Commands a speed override from the PLC to the RC |
GroupContinue | Continues the processing of the currently active sequence (e.g. interrupted movements) |
GroupInterrupt | Interrupts the processing of the currently active sequence (e.g. active movements) |
GroupStop | Aborts and deletes all active and buffered commands from the sequence buffer of the active sequence |
GroupJog | Manually jog the TCP or the robot joints |
MoveAxesAbsolute | Commands movement without a specific path (PTP) of the robot arm to an absolute position specified in Joint Position |
MoveDirectAbsolute | Commands movement without a specific path (PTP) of the robot arm to an absolute cartesian position |
MoveLinearAbsolute | Commands an interpolated linear movement of the robot arm to an absolute cartesian position |
ReturnToPrimary | Return to path left during active interrupt |
Command | Description |
|---|---|
ReadActualPosition | Reads the current position of the TCP relative to the selected or currently used |
ReadActualPositionCyclic | Reads the current position of the robot cyclically |
ReadFrameData | Gets a user-frame in the workspace of the robot |
ReadLoadData | Read the content of selected payload number |
ReadRobotSWLimits | Read actual software limits of the axes |
ReadToolData | Gets the offset of the tool |
ReadRobotDefaultDynamics | Read default values of robot dynamic parameters used by move commands |
ReadRobotReferenceDynamics | Read reference values of robot dynamics for path movement |
Command | Description |
|---|---|
WriteFrameData | Sets a user-frame in the workspace of the robot |
WriteLoadData | Change the configuration of the selected payload number |
WriteRobotDefaultDynamics | Write default values of robot dynamic parameters used by move commands |
WriteRobotReferenceDynamics | Write reference values of robot dynamics for path movement |
WriteToolData | Sets the offset of the tool |
Command | Description |
|---|---|
ExchangeConfiguration | Reads and writes specific configuration parameters on RC that are required for the RI to work |
ReadMessages | Read pending info, warning, and error messages and move them into the user data block “RobotData” |
ReadRobotData | Read robot-specific data from the RC |
Component | Requirement |
|---|---|
Siemens PLC | S7-1500(F) and S7-1500S(F), SIMATIC S7-1500(F) - firmware version 2.8 or newer, SIMATIC S7-1500S(F) - firmware version V20.8 or newer |
Siemens TIA Portal | Version 16 or higher |
Siemens SIMATIC Robot Library | Version 1.0.1 or higher |
Siemens SIMATIC Robot Integrator | Sample project including SIMATIC Robot Library |
SRCI URCap | One-time purchased license |
PolyScope | PolyScope 5.15.0 or higher |
Robot Arm | All e-Series or UR20/UR30 |

A comprehensive guide on how to set up SRCI with a UR and the Siemens TIA Portal

Buy the one-time license to use SRCI by filling out the form on the Product Page