A collection of frequently asked questions about the Yaskawa SRCI interface.
What is SRCI?
SRCI stands for “Standard Robot Command Interface” and is a new standard for PLC controlled robotics. Just as with MotoLogix , this interface allows programming the robot trajectory in the PLC instead of in the robot controller.
The SRCI specification was created by a working group which was founded in 2018 and included a leading PLC vendor and many robot vendors. The specification is now hosted by the PI standardization organization and the working group is still active (and has welcomed many new members).
SRCI is not limited to any particular PLC or fieldbus. It is expected that over time, many PLC vendors will support this interface (and create a PLC library).
How does Yaskawa SRCI work?
The Yaskawa SRCI implementation consists of two parts:
- SRCI activation in the robot system software (paid option function)
- SRCI interpreter app (free download)
SRCI option function
The option function has to be enabled by Yaskawa. You can verify whether it is enabled on your system by looking into the setup of the SRCI
- If the SRCI option function is ordered on a new system, Yaskawa will activate the option as part of the setup process.
- If SRCI needs to be enabled on an existing system it might require a service visit, as this might also require an update of the robot system software. Please contact your Yaskawa sales representative to discuss the options.
SRCI Interpreter app
The interpreter is implemented as a MotoPlus application, meaning that it is written in C-code and runs in the real-time environment of the robot controller.
Updates of the SRCI app are independent of the robot system software and are distributed by Yaskawa Europe.
Which robots/controllers are supported?
Robot controller | Supported? |
---|---|
YRC1000 | Yes |
YRC1000micro | Yes |
Manipulator | Supported? |
---|---|
GP series | Yes |
HC series | Yes |
HD series | Yes |
MotoMINI | Yes |
PL series | Yes |
SG series | No (expected: 2025H1) |
SP series | No (expected: 2025H1) |
Can I use SRCI for a robot on a linear track?
Yes, Yaskawa SRCI supports one- or more dimensional base axis systems which are
integrated in the robot controller.
This means that the robot on a linear track (or even a gantry) can be controlled-
and monitored easily by SRCI through the external axis variables (E1-E3
).
Which PLC platforms are supported?
From the robot controller perspective, the PLC platform does not matter. The interface is standardized and every PLC vendor can adopt the standard and create a SRCI PLC library.
Which fieldbuses are supported?
Yaskawa SRCI will be available for the following fieldbuses:
Fieldbus | Optional: safety protocol |
---|---|
EtherCAT | - |
Ethernet/IP | CIP safety |
POWERLINK | - |
PROFINET | PROFIsafe |
We have created an overview of the supported setups (and their order numbers) for Yaskawa SRCI.
Which SRCI functions are supported?
Below tables describe the functions supported by Yaskawa SRCI.
Basic
Functions in this category are used in most applications.
Function | Description | Since |
---|---|---|
ChangeSpeedOverride | Activate a speed override for all motion commands. | |
EnableRobot | Switch on the robot (enable servos). | |
GroupContinue | Restart robot motion from an interrupt state. | |
GroupInterrupt | Interrupt (hold) robot motion. | |
GroupJog | Jog robot (cartesian- or joint axes). | |
GroupReset | Reset robot alarms. | |
GroupStop | Stop robot motion and clear its motion buffer. | |
MoveAxesAbsolute | Point-to-point motion to an axis position (S/L/U/R/B/T). | |
MoveDirectAbsolute | Point-to-point motion to a cartesian position (X/Y/Z/Rx/Ry/Rz). | |
MoveLinearAbsolute | Linear motion to a cartesian position (X/Y/Z/Rx/Ry/Rz). | |
MoveLinearAbsoluteJ | Linear motion to an axis position (S/L/U/R/B/T). | v1.1.0 |
ReadActualPositionCyclic | Read actual robot position (cartesian and joints) cyclically. | |
RobotTask | Main function for handing a SRCI robot controller. Handles communication, alarms, data synchronization and much more. |
Advanced
Functions in this category are for advanced users, who have deeper understanding of SRCI’s two buffer mechanisms.
Function | Description | Since |
---|---|---|
ReturnToPrimary | Move to the last position where it left the 1st motion buffer. Supports both point-to-point and linear motion. | |
SetSequence | Switch between the two motion buffers. |
Others
This category lists the functions which you most likely won’t need to
use in your PLC program. Reason is that these functions are already handled
automatically by the RobotTask
function or by by SRCI’s synchronization feature.
Function | Description | Since |
---|---|---|
ReadActualPosition | Read actual robot position (cartesian and joints) once. | |
ReadFrameData | Read user frame data from robot controller. This is part of SRCI’s synchronization feature. | |
ReadLoadData | Read tool load data (weight, center of gravity etc.) from robot controller. This is part of SRCI’s synchronization feature. | |
ReadRobotDefaultDynamics | Read default reference values at 100% for speed, acceleration, deceleration. This is part of SRCI’s synchronization feature. | |
ReadRobotReferenceDynamics | Read actual reference values at 100% for speed, acceleration, deceleration. This is part of SRCI’s synchronization feature. | |
ReadRobotSWLimits | Read axis limits from robot controller. This is part of SRCI’s synchronization feature. | |
ReadToolData | Read tool offset data from robot controller. This is part of SRCI’s synchronization feature. | |
WriteFrameData | Write user frame data to robot controller. This is part of SRCI’s synchronization feature. | |
WriteLoadData | Write tool load data (weight, center of gravity etc.) to robot controller (not allowed on FSU systems). This is part of SRCI’s synchronization feature. | |
WriteRobotDefaultDynamics | Write default reference values at 100% for speed, acceleration, deceleration. This is part of SRCI’s synchronization feature. | |
WriteRobotSWLimits | Write axis limits to robot controller. This is part of SRCI’s synchronization feature. | v1.1.0 |
WriteRobotReferenceDynamics | Write actual reference values at 100% for speed, acceleration, deceleration. This is part of SRCI’s synchronization feature. | |
WriteToolData | Write tool offset data to robot controller (not allowed on FSU systems). This is part of SRCI’s synchronization feature. |
Internal functions
These functions are only being internally, e.g. by the RobotTask
function.
Function | Description | Since |
---|---|---|
ExchangeConfiguration | Read- and write user defined configuration items like log level. | |
ReadMessages | Read alarms and messages. | |
ReadRobotData | Read common information like robot software version. |
What are SRCI profiles?
The SRCI specification divides the features in a few function groups. Every vendor can decide which function group it will support.
- Core profile
Contains core functionalities of the interface and basic commands. - Extended profile
Contains all mandatory commands that are not featured by the core profile. - Optional functions
Contains all optional functions.
Below an overview of the functions for each of the SRCI profiles.
Core profile
Read more...
ChangeSpeedOverride
EnableRobot
ExchangeConfiguration
GroupContinue
GroupInterrupt
GroupJog
GroupReset
GroupStop
MoveAxesAbsolute
MoveDirectAbsolute
MoveLinearAbsolute
ReadActualPosition
ReadActualPositionCyclic
ReadFrameData
ReadLoadData
ReadMessages
ReadRobotData
ReadRobotDefaultDynamics
ReadRobotReferenceDynamics
ReadRobotSWLimits
ReadToolData
ReturnToPrimary
RobotTask
SecondarySequence
SetSequence
WriteFrameData
WriteLoadData
WriteRobotDefaultDynamics
WriteRobotReferenceDynamics
WriteToolData
Extended profile
Read more...
ActivateNextCommand
CalculateCartesianPosition
CalculateForwardKinematic
CalculateFrame
CalculateInverseKinematic
CalculateTool
CallSubprogram
MoveAxesRelative
MoveCircularAbsolute
MoveCircularCam
MoveCircularRelative
MoveDirectCam
MoveDirectOffset
MoveDirectRelative
MoveLinearAbsoluteJ
MoveLinearCam
MoveLinearOffset
MoveLinearRelative
ReactAtTrigger
ReadCallSubprogramCyclic
ReadDigitalInputs
ReadDigitalOutputs
ReadIntegers
ReadReals
ReadSystemVariable
SetTriggerError
SetTriggerLimit
SetTriggerLimit
SetTriggerRegister
SetTriggerUser
ShiftPosition
StopSubprogram
WaitForTrigger
WaitTime
WriteCallSubprogramCyclic
WriteDigitalOutputs
WriteIntegers
WriteReals
WriteSystemVariable
Optional functions
Read more...
AbortMeasuringInput
ActivateConveyorTracking
ActivateWorkArea
AvoidSingularity
BrakeTest
CollisionDetection
ConfigureConveyor
CreateSpline
DeleteSpline
DynamicSpline
ForceControl
ForceLimit
FreeDrive
LoadMeasurementAutomatic
LoadMeasurementSequential
MeasuringInput
MonitorWorkArea
MoveApproachDirect
MoveApproachLinear
MoveDepartDirect
MoveDepartLinear
MovePickPlaceDirect
MovePickPlaceLinear
MoveSpline
MoveSuperImposed
MoveSuperImposedDynamic
OpenBrake
OperationMode T1 External
OperationMode T2 External
PathAccuracyMode
ReadActualForce
ReadActualTCPVelocity
ReadAnalogInput
ReadAnalogOutput
ReadDHParameter
ReadWorkArea
RedefineTrackingPos
RestartController
SearchHardStop
SearchHardStopJ
SetOperationMode
SetTriggerMotion
SoftSwitchTCP
SwitchLanguage
SyncToConveyor
UnitMeasurement
UserLogin
WriteAnalogOutput
WriteRobotSWLimits
WriteWorkArea
Why is SRCI function xx not supported?
The core profile includes the basic functionalities to operate a robot but we understand that some of the functions from the other profiles might be essential for you.
We would like to hear your feedback on which functions which are important for your projects.
This feedback will be helpful for us to schedule future developments on our SRCI interpreter app.
What is the difference between SRCI and MotoLogix?
SRCI is designed to work with all kinds of different PLC- and robot vendors. It has a clever mechanism to work with different data packet sizes. Also, it can dynamically combine command data in the data packet, meaning that multiple commands can be transmitted in a single communication cycle. The additional layers for this data handling, however, do use a bit more CPU resources.
MotoLogix is a proprietary high-performance solution for PLC controlled robotics. It has been on the market since 2015 and is used in many projects worldwide. However, as it is highly optimized for Yaskawa robots, it cannot be used with other vendors.
The table below shows a brief comparison between SRCI and MotoLogix.
SRCI | MotoLogix | |
---|---|---|
PLC library distribution | PLC vendor | Yaskawa Europe |
PLC library pricing | ask your PLC vendor | Free of charge |
Robot option function pricing | $$ | $ |
Feature set | core profile : Lowextended profile : High | Medium |
Performance | Medium | High |
Data packet | Flexible (Yaskawa uses 436b and 254b) | Fixed (436b) |
CPU requirements (PLC) | Medium | Low |
Integration support | PLC vendor (primarily) | Yaskawa Europe |
Why would I choose SRCI over MotoLogix?
This depends on your needs. Maybe this summary helps with your decision.
- SRCI comes with a bit higher cost, but PLC vendors might offer easy to use PLC- and HMI applications, saving you lots of engineering hours – Perfect for companies who do not want to spend much development effort on the integration.
- MotoLogix has lower cost (both in price per unit and CPU resources) but requires more development effort for the integration – Perfect for companies who work with larger volumes.