Configuring Yaskawa YRC1000 PROFINET Communication via TIA Portal

Daniel Price18 min read
Industrial NetworkingTutorial / How-toYaskawa
Licensed PE Working through this on a live machine? A Maine-licensed engineer can take it from here — included with IMD hardware, by the hour for everything else. Book an engineer

Overview of YRC1000 PROFINET Integration

Yaskawa's DX200 and YRC1000 robot controllers expose a Siemens CP1616 PROFINET interface as an option that turns the controller into a PROFINET IO Device on a Siemens PROFINET network. With the CP1616 installed and configured, the controller appears in the Siemens engineering tool TIA Portal (V15, V15.1, V16, V17, V18, V19, or V20) as a GSD-described IO Device and exchanges process data such as job selects, motion permits, alarm words, position data, and tool offsets with a SIMATIC S7-1200, S7-1500, ET 200, or compatible PROFINET master.

This article documents the controller-side addressing rules for the YRC1000 (#20010 to #20117 and beyond), the CP1616 commissioning steps, the GSDML import procedure, the TIA Portal hardware configuration, and the handshake data layout required to pass discrete signals, integer words, and real values between the PLC and the robot without using the slow parallel General I/O board (e.g., JANCD-YEW01-E or JZNC-YIF01).

For PROFINET specification details, refer to the official PROFINET specification page (PROFIBUS & PROFINET International, PI), the PROFINET technology overview, and Siemens' TIA Portal Online Help. Yaskawa product documentation is available from Yaskawa official and the Motoman robotics product pages.

Prerequisites: Hardware, Firmware, and Software

Before commissioning PROFINET between a YRC1000 and a SIMATIC PLC, verify each item in the following table. Mixing firmware generations leads to GSDML incompatibilities, IO Device rejection, or wrong slot sizes. The firmware of the CP1616 must be coordinated with the YRC1000 controller firmware and the GSDML version generated by the CP-1616 Manager.

Component Model / Version Notes
Robot controller Yaskawa YRC1000 (with CP1616 slot) CP1616 occupies the PC slot on the backplane; older CP1616 boards must be replaced for PROFINET IRT
CP1616 card Siemens 6GK1 161-6AA01 (or -6AA02) Used as PROFINET IO Device firmware; -6AA02 supports PROFINET V2.3 with LLDP
Robot firmware YAS 2.xx, 3.0x, or later Earlier YAS 2.xx.xx referenced in older manuals uses external I/O mapping differently from the new CX-1 generation
PROFINET configuration tool Yaskawa YRC1000 PROFINET Configuration Utility (CP-1616 Manager) Maps robot external I/O (#20010..) to PROFINET bytes; also generates the GSDML
PLC SIMATIC S7-1200 (CPU 1214C, 1215C, 1217C) or S7-1500 (CPU 1511, 1515, 1516, 1518) Must have a PN interface or a CM 1542-1 / CP 1543-1 module
PLC firmware S7-1200 firmware V4.2+ (TIA V14 SP1+); S7-1500 firmware V1.8+ (TIA V15.1+) PROFINET Device or Controller role support depends on firmware; S7-1500 supports IRT, S7-1200 only RT
Engineering tool TIA Portal V15 / V15.1 / V16 / V17 / V18 / V19 / V20 Use the same or newer TIA version as the PLC firmware; older TIA versions cannot import newer GSDML files
Switch / cabling PROFINET cable (Cat 5e minimum, industrial green) PROFINET IO Device role does not need a managed switch; for IRT use DCP-capable switches

The Yaskawa YRC1000 PROFINET Configuration Utility is supplied as a Windows utility inside the YRC1000 software maintenance package and is loaded via the pendant's File menu. Confirm with the local Yaskawa Motoman representative that the controller is licensed for the CP1616 option (option code R870 or the equivalent PROFINET fieldbus license).

License check. The YRC1000 enables the CP1616 interface only when the corresponding PROFINET Master or PROFINET Device feature bit is set in the controller's security configuration. A missing license produces alarm 4107 "PROFINET option not enabled" and the PLC sees no IO Device during AR (Application Relationship) setup.

YRC1000 External I/O Address Architecture

The YRC1000's process image is organized into 8-bit bytes that are accessed by ladder or INFORM II jobs. The first external-input range is reserved for the General I/O board, and the second range is the fieldbus (CP1616) input/output area. Knowing the exact split is essential because the TIA Portal must align its IO slot length to the byte boundary declared in the GSDML.

Address range (decimal) Width Function Direction
#20010..#20057 40 bytes (320 bits) External input (General I/O board) - IN#1..IN#320 PLC -> Robot (write to robot)
#20060..#20067 8 bytes System status area - communication OK, error code, vendor diagnostic Robot -> PLC (read in PLC)
#20070..#20117 40 bytes (20 words) User data area 1 - PROFINET user inputs Robot -> PLC
#20120..#20167 40 bytes User data area 2 - PROFINET user inputs (extended) Robot -> PLC
#30010..#30057 40 bytes External output (General I/O board) - OUT#1..OUT#320 Robot -> PLC (write to PLC)
#30060..#30067 8 bytes System control area - CP1616 control bits, reset, watchdog PLC -> Robot
#30070..#30117 40 bytes User data area 1 - PROFINET user outputs PLC -> Robot
#30120..#30167 40 bytes User data area 2 - PROFINET user outputs (extended) PLC -> Robot

Address gaps are intentional - they allow the controller firmware to insert padding so that each module slot in TIA Portal starts on a byte or word boundary. Skipping a slot or selecting a non-aligned start address raises alarm 4210 "PROFINET slot misalignment" and the IO Device is rejected by the PROFINET master.

The mapping from these symbolic addresses to the physical PROFINET slot is performed in the YRC1000 PROFINET Configuration Utility. Each 8-byte group (for example #20060..#20067) is a sub-slot of the CP1616 PROFINET device, and the GSDML file generated by the utility reflects the exact byte ordering, Big-Endian or Little-Endian, that the PLC will see.

CP1616 Card Installation in the YRC1000

The CP1616 sits in the dedicated PC slot of the YRC1000 backplane, behind the operator pendant connector. The card has two RJ45 ports (P1, P2) for line and ring topologies. For redundant ring topologies, both ports are wired and PROFINET MRP (Media Redundancy Protocol) must be enabled in the controller's network configuration; this requires the firmware to support MRP client role, which is available from YAS 3.0 onward.

  1. Power down the YRC1000 controller and lock out the main disconnect. Open the controller door and locate the PC slot cover plate on the right side of the backplane.
  2. Remove the cover plate and slide the CP1616 into the slot until the retaining bracket clicks. Tighten the two captive screws on the bracket to 0.5 N·m.
  3. Connect an Ethernet cable from P1 to the first PROFINET switch port. If MRP is required, also connect P2 to the second-to-last port of the ring.
  4. Power up the controller. The CP1616 LED BF (Bus Fault) lights red briefly during firmware bootstrap, then goes off once the controller's PROFINET stack is initialized.
  5. On the YRC1000 teach pendant, navigate to SETUP -> Function -> PROFINET (CP1616). If the menu is missing, the option license is not enabled and the controller must be returned to the system integrator for license activation.
ESD warning. The CP1616 contains CMOS ICs rated for ±100 V HBM. Use a wrist strap bonded to the controller's ground stud when handling the card; Yaskawa warranty is void if the card is damaged by ESD.

CP1616 Configuration in the YRC1000 Controller

Configuration is split between the controller's PROFINET menu and the Windows-based CP-1616 Manager that runs on the engineering PC.

Controller-side settings

Parameter Default Typical value Notes
IP address 0.0.0.0 192.168.0.50 Must be in the same subnet as the PLC; assigned via DCP at first AR
Subnet mask 0.0.0.0 255.255.255.0 Use the same mask as the PLC project
PROFINET Device Name "" yrc1000-station1 Must match the device name assigned in TIA Portal for AR establishment
Slot 0 user data length 6 bytes 6, 12, 20, 40 bytes Length must be a multiple of 8 bytes (one PROFINET sub-slot)
Watchdog time 1000 ms 200..3000 ms If the PLC stops sending CR within watchdog, alarm 4211 fires
MRP role Off Client Available only on YAS 3.0+ with CP1616 -6AA02
LLDP On On Required for port discovery and topology display in TIA

After entering the values, save the configuration and reboot the controller. The CP1616 attempts an LLDP exchange with the first neighbor; if no neighbor responds within 5 s, the BF LED remains on and the controller reports alarm 4212 "No PROFINET link".

PC-side CP-1616 Manager

Launch the CP-1616 Manager from the Windows Start menu (Yaskawa PROFINET -> CP-1616 Manager). The Manager has three primary tabs:

  1. Topology - displays the discovered neighbor (switch port, MAC, port number). Verify the switch port and the YRC1000 port number match the wiring drawing.
  2. Address Map - here you assign each CP1616 sub-slot to a robot address range. For example, sub-slot 1 = #20060..#20067, sub-slot 2 = #20070..#20077, sub-slot 3 = #20080..#20087, etc. Each row is one 8-byte (one-word x4) sub-slot.
  3. GSD Export - produces the GSDML-Vx.y-...xml file. The file is signed by the controller; do not edit it manually.

A typical 6-byte configuration uses three sub-slots covering #20060..#20067 (system), #20070..#20077, and #20080..#20087. Larger 40-byte configurations use eight sub-slots covering the full #20070..#20117 range for inputs and the matching #30070..#30117 range for outputs.

GSDML version. The GSDML schema version depends on the CP1616 firmware. PROFINET V2.3 GSDML files are required for S7-1500 IRT and cannot be imported into TIA Portal V13 SP1 or earlier. Use TIA Portal V15.1 or newer to import GSDML V2.3+ files. See the PROFINET technology overview for GSDML schema details.

Address Mapping Strategy in the Robot Controller

Once the CP-1616 Manager has created the GSDML, the same tool can be used to declare the symbolic mapping between PROFINET bytes and the robot's #20010..#20167 / #30010..#30167 ranges. The mapping is one-to-one in the default order, but a remap rule can swap bytes 0 and 1 of any 8-byte group to match a Big-Endian PLC tag.

Example for a 6-byte CP1616 input area (the 6 user bytes plus 2 system bytes):

Sub-slot Robot address PROFINET byte Direction Suggested meaning
1 #20060..#20067 0..7 Robot -> PLC System status (link, AR, watchdog, alarm code)
2 #20070..#20077 8..15 Robot -> PLC Job select echo / position word 1
3 #20080..#20087 16..23 Robot -> PLC Position word 2 / status word
4 #30060..#30067 0..7 PLC -> Robot Control bits (start, stop, reset, job select strobe)
5 #30070..#30077 8..15 PLC -> Robot Job number / parameter word 1
6 #30080..#30087 16..23 PLC -> Robot Parameter word 2 / position

The system status sub-slot (#20060..#20067) always carries the diagnostic data and must be present even if the user only needs a few bits. A missing system sub-slot causes the IO Device to enter the "No AR" state and the PLC raises SF (System Fault) on the PROFINET interface.

GSD File Generation and TIA Portal Import

The GSDML file is generated inside the YRC1000 PROFINET Configuration Utility and exported to a USB stick or a shared folder. The file name pattern is:

GSDML-V2.31-Yaskawa-YRC1000-CP1616-YYYYMMDD.xml

To import the GSDML into TIA Portal:

  1. In the project tree, open Options -> Manage general station description files (GSD).
  2. Click Browse and navigate to the GSDML file.
  3. Select the file and click Install. TIA Portal compiles the GSD and adds the device to the hardware catalog under PROFINET IO -> Other field devices -> PROFINET IO -> Yaskawa -> YRC1000.
  4. Confirm the import by expanding the catalog entry. The sub-modules listed in the catalog (e.g., "8 Byte Input", "8 Byte Output") must match the sub-slots configured in the YRC1000.
Closed-project GSDML update. If TIA Portal reports "GSD already installed but a newer version is available," uninstall the old GSD first via Manage general station description files, then reinstall the new one. Adding two GSDML revisions for the same YRC1000 device causes hardware catalog conflicts and prevents drag-and-drop into the network view.

Refer to the Siemens TIA Portal online help for the full procedure: GSD file installation in TIA Portal.

PROFINET Master Configuration in TIA Portal

The PLC must be added to the project as a PROFINET IO Controller. The YRC1000 IO Device is dragged from the hardware catalog into the same PROFINET subnet as the PLC's PN interface. TIA Portal automatically assigns an IP address and a unique Device Name; both must match the YRC1000 settings.

  1. Open the PLC's Device View and select the PROFINET interface. In the inspector pane, confirm the IO Controller role is enabled and that the interface has an IP address (for example, 192.168.0.10).
  2. Switch to the Network View. Drag the YRC1000 IO Device from the catalog onto the PLC's PROFINET subnet. A dashed line indicates the controller-device relationship.
  3. Double-click the YRC1000 icon and open the inspector. In Properties -> General -> Name, enter the Device Name exactly as configured in the YRC1000 PROFINET menu (for example, yrc1000-station1).
  4. In Properties -> PROFINET interface -> Ethernet addresses, set the IP address to match the YRC1000's controller-side IP (192.168.0.50).
  5. Open the YRC1000 device's Device View and insert the sub-modules that match the address map. Drag each sub-module (8 Byte Input, 8 Byte Output) into the appropriate slot. The slot order in TIA Portal must match the sub-slot order in the YRC1000 Manager; otherwise, byte alignment is broken.
  6. Compile and download the hardware configuration to the PLC.

For a deep dive on sync master/sync slave configuration, refer to the official Siemens TIA Portal V20 documentation: Set up the sync master and sync slave. Although the link is in the SIMOTION context, the same principle applies when integrating the YRC1000 as a PROFINET Device with a SIMATIC S7-1500 PN controller.

For S7-1200 users, the S7-1200 is always a PROFINET IO Controller when it is a CPU; it cannot be a Device on the same PN interface (a second PROFINET interface or a CM/CP is required for the device role). The S7-1500 CPU supports both roles in firmware V2.6+ on the same interface, but TIA Portal still requires the GSDML installation in the catalog.

PLC I/O Address Mapping and Handshaking

After the hardware configuration is downloaded, TIA Portal assigns a logical I/O address range to each sub-module. By default, the first input module starts at IB 100 and each subsequent input module increments by the slot length. The same applies to outputs starting at QB 100. Reassign these addresses in the device's Properties to match the data block (DB) structure used by the application program.

Example for a 6-byte CP1616 configuration:

TIA Portal address YRC1000 address Width Suggested tag Direction
IB 100..IB 107 #20060..#20067 8 bytes YRC_System_Status Robot -> PLC
IB 108..IB 115 #20070..#20077 8 bytes YRC_Position_Word1 Robot -> PLC
IB 116..IB 123 #20080..#20087 8 bytes YRC_Position_Word2 Robot -> PLC
QB 100..QB 107 #30060..#30067 8 bytes PLC_Control_Word PLC -> Robot
QB 108..QB 115 #30070..#30077 8 bytes PLC_Job_Number PLC -> Robot
QB 116..QB 123 #30080..#30087 8 bytes PLC_Parameter_Word PLC -> Robot

A typical handshake using these tags in Structured Text (SCL) inside TIA Portal:

// Handshake - PLC writes job number then strobes bit 0
IF "YRC_System_Status".LINK_OK AND "YRC_System_Status".AR_OK THEN
  "PLC_Job_Number" := 5;
  "PLC_Control_Word".STROBE := TRUE;          // bit 0 = job valid
  IF "YRC_Position_Word1".JOB_ACK THEN         // robot acknowledges
    "PLC_Control_Word".STROBE := FALSE;
  END_IF;
END_IF;

On the robot side, ladder logic in the controller reads the corresponding #30060..#30087 group and treats the same bit 0 as the "job select strobe" for the relevant job in the play list. The same pattern maps to bit 1 of the response word in #20070 for the acknowledgement flag.

Communication Status and Diagnostic Words

The 8-byte system status area at #20060..#20067 is reserved for the IO Device's diagnostic and AR state. The exact bit layout depends on the CP1616 firmware, but the YRC1000 PROFINET Configuration Utility documents each bit in the same panel. Typical layout:

Bit offset (LSB = 0) Name Description
0 LINK_OK Physical link to switch is up
1 AR_OK Application Relationship established with IO Controller
2 WATCHDOG_OK PLC sends CR within configured watchdog time
3 DATA_VALID Output data is valid (PLC updated)
4..7 reserved Always 0
8..15 DIAG_CODE Vendor-specific diagnostic code from CP1616
16..31 ERROR_CODE PROFINET channel error code (mapped to IEC 61158 values)
32..63 EXT_DIAG Extended diagnostic slot 1..32 (one bit per slot)

Reading bits 0..3 in a single tag gives the operator panel a clear green/red/grey status. Bits 8..31 should be displayed numerically for service technicians; the value maps to the alarm number in the YRC1000's alarm log (for example, 4210 = "PROFINET slot misalignment").

The diagnostic codes follow the IEC 61784-2 specification, accessible from the official PROFINET specifications page (PI membership required for the full IEC 61784-2 PDF).

Sync Domain and Real-Time Behavior

PROFINET IO with RT (Real-Time) and IRT (Isochronous Real-Time) classes share the same GSDML infrastructure but differ in cycle time and jitter. The YRC1000 with CP1616 supports RT up to 1 ms cycle time; IRT is only available with CP1616 firmware V2.6 and a TIA Portal project that uses sync domain configuration. Most pick-and-place or palletizing applications run at 4 ms RT, which is sufficient for handshaking and slow position echo.

When IRT is required:

  1. In TIA Portal, open the PROFINET interface of the PLC, navigate to Properties -> Real time settings -> Synchronization and set the PLC as sync master.
  2. Open the YRC1000 device and assign it as a sync slave in the same sync domain.
  3. Compile and download. TIA Portal will automatically configure the sync-master and sync-slave clocks across the network.

For a detailed procedure, refer to the official Siemens TIA Portal V20 documentation: Set up the sync master and sync slave.

Cycle time selection. Choosing a faster cycle than the robot's job execution time (typically 8..32 ms for motion-blending) does not improve throughput - the slowest update dominates. A 4 ms RT cycle is the engineering best practice for typical material-handling applications.

Verification and Commissioning Procedure

After hardware configuration and software download, verify the link in the following order:

  1. On the YRC1000 teach pendant, navigate to SETUP -> Function -> PROFINET -> Diagnostics. Confirm the BF LED on the CP1616 is OFF and the AR status shows "Established".
  2. In TIA Portal, open the online view of the PLC. The YRC1000 IO Device should show a green check in the network view. The diagnostics buffer should contain no PROFINET errors.
  3. Force a single output word (for example, QB 100 = 16#0001) from the PLC watch table and verify the corresponding #30060 bit 0 toggles in the YRC1000's I/O monitor. A direct loopback test in this direction confirms both stack-up and physical link.
  4. Read the system status word (IB 100) in the watch table and verify LINK_OK, AR_OK, WATCHDOG_OK, and DATA_VALID are all TRUE. The DIAG_CODE byte should be 0.
  5. Force a job select (QB 100 = 16#0101, where bit 0 = strobe and bit 8 = job 1) and verify the robot acknowledges by setting bit 1 of the job echo word in #20070.
  6. Cycle power on the PLC and verify the AR is re-established automatically within 3 seconds. The PLC diagnostic buffer should record a "PROFINET IO Device added" entry.

Document the IP addresses, device names, watchdog time, and slot layout in a project-specific network document. A common field practice is to keep the document in ProjectName/PN/profinet_topology.pdf within the TIA Portal project tree.

Troubleshooting Matrix

Symptom Alarm code on YRC1000 Likely cause Action
BF LED on CP1616 stays red 4212 "No PROFINET link" Physical cable fault or wrong port Check RJ45 seating; swap P1/P2; verify switch port LED
AR not established in TIA 4213 "PROFINET Device Name mismatch" Device Name in TIA differs from controller Use Online -> Accessible devices to rename the YRC1000
Diagnostic says "Slot mismatch" 4210 "PROFINET slot misalignment" Sub-slot order in TIA does not match YRC1000 Manager Reorder sub-modules in TIA device view to match the GSDML
Inputs read zero in PLC, outputs echo back zero 4107 "PROFINET option not enabled" License missing Contact Yaskawa support to enable the PROFINET option
Watchdog trips every 1000 ms 4211 "PROFINET watchdog timeout" PLC program stops sending CR / OB 1 stalls Reduce OB 1 cycle time or increase watchdog to 3000 ms
Cyclic data present but values scrambled none Byte order (Endian) mismatch Swap bytes 0/1 in CP-1616 Manager and re-export GSDML
TIA reports GSD version too old none Old TIA cannot read GSDML V2.3 Upgrade TIA to V15.1+ or contact Yaskawa for a V2.1 GSD
Robot reports alarm 5000 "Servo power off" 5000 + 4240 "PROFINET system fault" PLC forced an E-stop bit but did not confirm Clear force, verify E-stop bits, cycle PROFINET
MRP ring recovery takes > 200 ms 4220 "PROFINET MRP recovery" Non-managed switch in the ring Replace with a PROFINET Class B managed switch
TIA online: "Firmware version not supported" none PLC firmware older than the GSDML requires Update PLC firmware to match GSDML requirement

How many user bytes can the YRC1000 exchange over PROFINET?

The default mapping uses 6 user bytes in each direction (plus 2 bytes of system status / system control). The maximum is 80 bytes per direction, split across 10 sub-slots of 8 bytes each, occupying #20070..#20117 (inputs) and #30070..#30117 (outputs). Configure the number of sub-slots in the CP-1616 Manager before generating the GSDML.

Why is the system status word at #20060 mandatory even if I only need a few bits?

The system status sub-slot carries the PROFINET AR state, watchdog, and diagnostic bits defined in IEC 61784-2. Removing it leaves the IO Device without a valid diagnostic channel; the PLC raises "No AR" and will not accept user data. Always include #20060..#20067 in the slot map.

Can the YRC1000 be a PROFINET Controller instead of a Device?

No. The CP1616 is licensed and configured as a PROFINET IO Device only. To use the YRC1000 as a controller on the network, you would need to add a separate Siemens CP1604 (Controller) card, which is not a standard Yaskawa option. Most installations pair the YRC1000 with a SIMATIC S7-1500 acting as the IO Controller.

Which TIA Portal versions are compatible with the YRC1000 GSDML?

TIA Portal V15.1 and newer import GSDML V2.3 files produced by the CP-1616 Manager. TIA V15 (without SP1) imports GSDML V2.1 only and cannot be used with CP1616 firmware V2.3+. Match the TIA version to the GSDML schema to avoid catalog conflicts.

What is the typical PROFINET cycle time for a YRC1000 handshake application?

4 ms RT (Real-Time) is the engineering best practice for handshake, job select, and slow position echo. Faster cycles (1 ms) are possible on the CP1616 -6AA02 with IRT, but robot job execution usually dominates the loop. Configure the watchdog to 3x the cycle (12 ms minimum, typically 1000 ms for safety) to absorb PLC startup transients.

Back to blog