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).
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.
- 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.
- 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.
- 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.
- 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.
- 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.
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:
- Topology - displays the discovered neighbor (switch port, MAC, port number). Verify the switch port and the YRC1000 port number match the wiring drawing.
- 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.
- 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.
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:
- In the project tree, open
Options -> Manage general station description files (GSD). - Click
Browseand navigate to the GSDML file. - Select the file and click
Install. TIA Portal compiles the GSD and adds the device to the hardware catalog underPROFINET IO -> Other field devices -> PROFINET IO -> Yaskawa -> YRC1000. - 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.
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.
- Open the PLC's
Device Viewand 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). - 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. - 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). - In
Properties -> PROFINET interface -> Ethernet addresses, set the IP address to match the YRC1000's controller-side IP (192.168.0.50). - Open the YRC1000 device's
Device Viewand 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. - 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:
- In TIA Portal, open the PROFINET interface of the PLC, navigate to
Properties -> Real time settings -> Synchronizationand set the PLC as sync master. - Open the YRC1000 device and assign it as a sync slave in the same sync domain.
- 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.
Verification and Commissioning Procedure
After hardware configuration and software download, verify the link in the following order:
- 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". - 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.
- 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.
- 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.
- 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.
- 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.