FAQ

featured image
Image: Mahesh Patel/unsplash
    8 minutes  

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).

The goal of SRCI is to standardize both the data packet and the PLC library functions. This enables users to switch between different robot- and/or PLC vendors without having to rewrite all of their PLC code.

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:

  1. SRCI activation in the robot system software (paid option function)
  2. 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.

The app cannot be used without the SRCI option function.
The Yaskawa SRCI interpreter uses MotoLogix technology for best performance.

Updates of the SRCI app are independent of the robot system software and are distributed by Yaskawa Europe.

Keep an eye on the News section for information about new versions.
The app can be downloaded from the download portal

Which robots/controllers are supported?

Robot controllerSupported?
YRC1000Yes
YRC1000microYes
ManipulatorSupported?
GP seriesYes
HC seriesYes
HD seriesYes
MotoMINIYes
PL seriesYes
SG seriesNo (expected: 2025H1)
SP seriesNo (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.

Ask your local PLC vendor if they already offer an SRCI PLC library.
The official SRCI website has a vendor map which gives an overview of SRCI supporting vendors.

Which fieldbuses are supported?

Yaskawa SRCI will be available for the following fieldbuses:

FieldbusOptional: safety protocol
EtherCAT-
Ethernet/IPCIP safety
POWERLINK-
PROFINETPROFIsafe

We have created an overview of the supported setups (and their order numbers) for Yaskawa SRCI.

To use SRCI you need to obtain a SRCI PLC library from your PLC vendor, see PLC platforms

Which SRCI functions are supported?

Below tables describe the functions supported by Yaskawa SRCI.

Basic

Functions in this category are used in most applications.

FunctionDescriptionSince
ChangeSpeedOverrideActivate a speed override for all motion commands.
EnableRobotSwitch on the robot (enable servos).
GroupContinueRestart robot motion from an interrupt state.
GroupInterruptInterrupt (hold) robot motion.
GroupJogJog robot (cartesian- or joint axes).
GroupResetReset robot alarms.
GroupStopStop robot motion and clear its motion buffer.
MoveAxesAbsolutePoint-to-point motion to an axis position (S/L/U/R/B/T).
MoveDirectAbsolutePoint-to-point motion to a cartesian position (X/Y/Z/Rx/Ry/Rz).
MoveLinearAbsoluteLinear motion to a cartesian position (X/Y/Z/Rx/Ry/Rz).
MoveLinearAbsoluteJLinear motion to an axis position (S/L/U/R/B/T).v1.1.0
ReadActualPositionCyclicRead actual robot position (cartesian and joints) cyclically.
RobotTaskMain 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.

FunctionDescriptionSince
ReturnToPrimaryMove to the last position where it left the 1st motion buffer. Supports both point-to-point and linear motion.
SetSequenceSwitch 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.

FunctionDescriptionSince
ReadActualPositionRead actual robot position (cartesian and joints) once.
ReadFrameDataRead user frame data from robot controller. This is part of SRCI’s synchronization feature.
ReadLoadDataRead tool load data (weight, center of gravity etc.) from robot controller. This is part of SRCI’s synchronization feature.
ReadRobotDefaultDynamicsRead default reference values at 100% for speed, acceleration, deceleration. This is part of SRCI’s synchronization feature.
ReadRobotReferenceDynamicsRead actual reference values at 100% for speed, acceleration, deceleration. This is part of SRCI’s synchronization feature.
ReadRobotSWLimitsRead axis limits from robot controller. This is part of SRCI’s synchronization feature.
ReadToolDataRead tool offset data from robot controller. This is part of SRCI’s synchronization feature.
WriteFrameDataWrite user frame data to robot controller. This is part of SRCI’s synchronization feature.
WriteLoadDataWrite tool load data (weight, center of gravity etc.) to robot controller (not allowed on FSU systems). This is part of SRCI’s synchronization feature.
WriteRobotDefaultDynamicsWrite default reference values at 100% for speed, acceleration, deceleration. This is part of SRCI’s synchronization feature.
WriteRobotSWLimitsWrite axis limits to robot controller. This is part of SRCI’s synchronization feature.v1.1.0
WriteRobotReferenceDynamicsWrite actual reference values at 100% for speed, acceleration, deceleration. This is part of SRCI’s synchronization feature.
WriteToolDataWrite 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.

FunctionDescriptionSince
ExchangeConfigurationRead- and write user defined configuration items like log level.
ReadMessagesRead alarms and messages.
ReadRobotDataRead 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.

Yaskawa Europe’s initial SRCI release supports core profile.
  • 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.

This list is based on SRCI spec v1.3

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.

Please use the Support & Contact button at the bottom of the page to get in touch with us.

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.

SRCIMotoLogix
PLC library distributionPLC vendorYaskawa Europe
PLC library pricingask your PLC vendorFree of charge
Robot option function pricing$$$
Feature setcore profile: Low
extended profile: High
Medium
PerformanceMediumHigh
Data packetFlexible (Yaskawa uses 436b and 254b)Fixed (436b)
CPU requirements (PLC)MediumLow
Integration supportPLC 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.

Pages built with Hugo - 14 May 2025 11:48 CEST