Configuring Siemens RFID210 IO-Link on ET 200S in TIA Portal

David Krause16 min read
SiemensTIA PortalTutorial / How-to
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

Configuring Siemens RFID210 IO-Link on ET 200S in TIA Portal

The SIMATIC RF200 IO-Link reader family (RF210R, RF260R, RF261R) talks to a controller through an ET 200S station equipped with the 4SI IO-Link master module. Each reader exchanges exactly 8 bytes of cyclic process input data (PII) and 8 bytes of cyclic process output data (PIQ). This article walks through the hardware integration of an RF210R on an IM 151-3 PN head-end, the TIA Portal device configuration, the SIMATIC S7-PCT port settings, the bit map of the PIQ/PII process image used to read an MDS D124 Moby D transponder, and the firmware-level Read Only constraint that explains why user memory writes are dropped.

1. System Overview and Architecture

The reference architecture has three logical layers:

  1. IO-Link RFID reader - SIMATIC RF210R (order number 6GT2821-2AC10), operating at 13.56 MHz against ISO/IEC 15693 transponders such as the MDS D124.
  2. ET 200S IO-Link master - 4SI IO-Link electronic module (6ES7138-4GA50-0AB0) plugged into a TM-E terminal block behind the IM 151-3 PN interface (6ES7151-3BA23-0AB0).
  3. Controller - ET 200S CPU IM 151-8 PN/DP (6ES7151-8AB01-0AB0) or any S7-1200/S7-1500 connected over PROFINET.
Controller S7-1500 / IM 151-8 PN CPU 151x / ET200S CPU IM 151-3 PN ET 200S PROFINET head Slot 0 4SI IO-Link Slot 1, Port 1 8B I / 8B Q RF210R 13.56 MHz Read Only 6GT2821-2AC10 MDS D124 ISO/IEC 15693 PROFINET Backplane IO-Link 3-wire, max 20 m RF coupling field

2. Hardware Components and Order Numbers

Component Order Number Function
SIMATIC RF210R reader 6GT2821-2AC10 13.56 MHz IO-Link RFID head, Read Only
ET 200S IM 151-3 PN HF 6ES7151-3BA23-0AB0 PROFINET interface, up to 63 modules
4SI IO-Link (4-port) 6ES7138-4GA50-0AB0 IO-Link master, 4 Type A ports, 200 mA/port
ET 200S CPU IM 151-8 PN/DP 6ES7151-8AB01-0AB0 ET 200S controller with PROFINET
TM-E terminal block 6ES7193-4CA50-0AA0 Termination for 4SI electronic module
MDS D124 Moby D 6GT2600-0AD10 ISO/IEC 15693 tag, 8-byte UID, 112-byte user memory
IO-Link cable, 3-wire 6XV1840-2AH10 Standard IO-Link cable, 20 m max
IODD for RF210R V1.0 (download via TIA Portal) Required to import the device description

3. Wiring the 4SI IO-Link Port

The 4SI module exposes four Type A M12 ports. Pin assignment of each port is:

  • Pin 1: +24 V switched supply (L+), up to 200 mA
  • Pin 3: 0 V (M)
  • Pin 4: C/Q - IO-Link signal or digital I/O
Supply limit. The 4SI delivers a maximum of 200 mA per port. The RF210R draws less than 80 mA in continuous read operation, well below the limit. If you cascade multiple readers, sum the supply currents and stay below 200 mA per port.

Maximum cable length between the 4SI and the RF210R is 20 m per the IO-Link specification. Use a shielded 3-conductor cable (Siemens 6XV1840-2AH10 or compatible) and ground the shield at the cabinet entry point.

4. TIA Portal Device Configuration

  1. Open TIA Portal V17 or later and add the IM 151-3 PN as the ET 200S head module from the hardware catalog.
  2. Insert the 4SI IO-Link electronic module into slot 1 of the ET 200S station and confirm the assigned TM-E terminal block.
  3. Open the device view of the 4SI module. Under "Properties > IO-Link > Port 1" select "IO-Link device". From the device catalog pick "RF210R" (or import the IODD via "Options > Manage IODD files").
  4. Confirm the slot occupies 1 input word and 1 output word of PROFINET cyclic data. For the 8-byte PII / 8-byte PIQ requirement the slot is configured with the IODD-defined length.
  5. Assign the PROFINET device a unique station name (e.g. "et200s-rfid") and a fixed IP address consistent with the project IP scheme.
  6. Compile the configuration and download to the IM 151-3 PN.
IODD import path. In TIA Portal, "Options > Manage IODD files > Add..." accepts the RF210R IODD shipped with the S7-PCT installation. Without the IODD the slot may be mapped with zero bytes of cyclic data and the watch table will show all zeros, which matches the original symptom.

5. SIMATIC S7-PCT Port Configuration

The SIMATIC Port Configuration Tool is launched from the 4SI module's context menu in the TIA Portal device view ("Start S7-PCT"). S7-PCT performs the IO-Link commissioning: it loads the IODD, sets vendor-specific parameters, and defines the cyclic process data length. For the RF210R the recommended settings are:

Parameter Value Note
Operating mode Scan user data (default) or Read UID Selects what the reader returns in PII bytes 4..7
Cyclic input length 8 bytes Must match the slot configuration
Cyclic output length 8 bytes Must match the slot configuration
Baud rate COM3 (230.4 kbit/s) Default for IO-Link v1.0 RF210R
Vendor specific 1 0x00 No override required

The Operating mode selection determines what is returned in the cyclic PII without any PIQ command:

  • Scan user data: The first 4 bytes of user memory at address 0 are returned in PII bytes 4..7, refreshed every PROFINET cycle (~1 ms).
  • Read UID: The first 4 bytes of the 8-byte UID are returned in PII bytes 4..7. The full UID requires an explicit read command using PIQ bit 0.

6. Process Image Structure (PIQ and PII)

The 8-byte PIQ / 8-byte PII structure is documented in the Siemens RF200 IO-Link manual entry 60641859, sections 5.2 (PIQ) and 5.3.3 (PII). The exact bit assignment depends on the reader firmware revision; the table below reflects firmware V1.0 of the RF210R. Always verify against the "Identification" tab of S7-PCT for the connected device.

6.1 Process Data Output (PIQ) - Controller to Reader

Byte Bit Name Meaning
QB0 0 RD Read command (rising edge triggers a single read)
1 WR Write command - NOT executed on RF210R, accepted and dropped
2 ANT_OFF Switch off the RF field (firmware V1.0)
3 PRES Trigger a single presence check
4 RST Reset reader / clear error flag (firmware V1.0)
5 - Reserved (0)
6 - Reserved (0)
7 - Reserved (0)
QB1 ADDR low Start address, LSB (e.g. 0x10 for address 16)
QB2 ADDR mid Start address, middle byte
QB3 ADDR high Start address, MSB
QB4..QB7 DATA Write data - ignored on read-only RF210R

6.2 Process Data Input (PII) - Reader to Controller

Byte Bit Name Meaning
IB0 0 ANT Antenna active (1 = RF field on)
1 TP Transponder present in field
2 RD_DONE Last read operation completed successfully
3 WR_DONE Last write completed - always 0 on read-only readers
4 ERR Error flag (read PCT diagnostics when set)
5 - Reserved
6 - Reserved
7 - Reserved
IB1..IB3 ADDR_ECHO Echo of the last address processed
IB4..IB7 DATA Read data (UID fragment or user memory contents)
Bit-mapping ambiguity. Earlier Siemens RF200 IO-Link manuals assign "antenna off" to PIQ bit 4 rather than bit 2. The original post in this thread referenced the older mapping. If setting PIQ bit 4 has no effect, check the firmware revision in PCT and consult the current revision of manual 60641859 for the correct bit. The two control bytes differ only in the position of ANT_OFF and RST; all other bits (RD, WR, PRES, reserved) are stable across firmware revisions.

7. Why All PII Bytes Read Zero

The original symptom - all 8 PII bytes stuck at 16#00 - has three common root causes and a fourth that is normal behaviour:

  1. IO-Link not established. The 4SI port is still in DI/DO mode (the green "Port" LED on the 4SI is OFF or steady yellow instead of steady or flashing green). S7-PCT must switch Port 1 to IO-Link; selecting "IO-Link device" in the device view alone is not sufficient on older 4SI firmware revisions.
  2. IODD not loaded. Without the IODD, TIA Portal cannot resolve the device description and the slot may map 0 bytes of cyclic data. Import the IODD via "Options > Manage IODD files" and reassign the device at Port 1.
  3. Operating mode left at default "Inactive". The reader returns all zeros until the PCT Operating mode is set to "Scan user data" or "Read UID".
  4. No transponder in field with ANT_OFF set. When the antenna is off and no tag is present, PII bytes 4..7 return 16#FF by design. Setting ANT_OFF without first verifying the antenna was previously on (and no tag was detected) will produce 16#00, not 16#FF.

Verify before continuing: open "Online & Diagnostics > IO-Link diagnostics" on the 4SI port and confirm port status is "OPERATE". The "IO-Link diagnostics" faceplate lists any cyclic-data errors and the current port state.

8. Reading the UID from MDS D124

The MDS D124 is part of the Moby D family and stores an 8-byte UID at address 0x00 in the manufacturer-reserved UID bank. To read the UID with the RF210R in firmware V1.0:

  1. In PCT set Operating mode to "Read UID".
  2. Drive PIQ bit 0 (RD) for one PROFINET cycle to trigger an explicit read.
  3. Set PIQ bytes 1..3 to 0x00 0x00 0x00 (UID always starts at address 0).
  4. Wait for PII bit 2 (RD_DONE) to be set.
  5. Read PII bytes 4..7 - these contain the first 4 bytes of the UID. The remaining 4 bytes of the UID are read by re-issuing the command at address 0x04.

Sample SCL code (S7-1500 or IM 151-8 CPU, tags "RFID_PIQ" and "RFID_PII" of type AT pointing at the slot's I/O area):

// ----- Tag declarations (DB "DB_RFID") -----
// start_read  : Bool  - request from HMI or logic
// uid_bytes   : Array[0..7] of Byte
// read_active : Bool
// read_done   : Bool
// err_flag    : Bool

"DB_RFID".transponder_present := "RFID_PII".Byte_0.%X1;
"DB_RFID".read_done          := "RFID_PII".Byte_0.%X2;
"DB_RFID".err_flag            := "RFID_PII".Byte_0.%X4;

IF "start_read" AND NOT "DB_RFID".read_active THEN
    "RFID_PIQ".Byte_0.%X0 := 1;     // RD = 1 (rising edge)
    "RFID_PIQ".Byte_1 := 0;         // Address LSB
    "RFID_PIQ".Byte_2 := 0;         // Address MID
    "RFID_PIQ".Byte_3 := 0;         // Address MSB
    "DB_RFID".read_active := TRUE;
END_IF;

IF "DB_RFID".read_active AND "DB_RFID".read_done THEN
    "RFID_PIQ".Byte_0.%X0 := 0;     // Clear RD
    "DB_RFID".uid_bytes[0] := "RFID_PII".Byte_4;
    "DB_RFID".uid_bytes[1] := "RFID_PII".Byte_5;
    "DB_RFID".uid_bytes[2] := "RFID_PII".Byte_6;
    "DB_RFID".uid_bytes[3] := "RFID_PII".Byte_7;
    "DB_RFID".read_active := FALSE;
END_IF;

9. Reading User Memory from MDS D124

Switch PCT Operating mode to "Scan user data". The reader then continuously reads the first 4 bytes of user memory at address 0 and places them in PII bytes 4..7 on every PROFINET cycle. No PIQ command is required - the data is updated automatically.

To read user data at an arbitrary address, leave PCT in "Read user data" and use the explicit command mode:

// Read 4 bytes from user memory address 0x0010
IF "start_read_user" AND NOT "DB_RFID".read_active THEN
    "RFID_PIQ".Byte_0.%X0 := 1;         // RD
    "RFID_PIQ".Byte_1 := 16#10;          // Address LSB
    "RFID_PIQ".Byte_2 := 16#00;          // Address MID
    "RFID_PIQ".Byte_3 := 16#00;          // Address MSB
    "DB_RFID".read_active := TRUE;
END_IF;

IF "DB_RFID".read_active AND "DB_RFID".read_done THEN
    "RFID_PIQ".Byte_0.%X0 := 0;
    "DB_RFID".user_data[0] := "RFID_PII".Byte_4;
    "DB_RFID".user_data[1] := "RFID_PII".Byte_5;
    "DB_RFID".user_data[2] := "RFID_PII".Byte_6;
    "DB_RFID".user_data[3] := "RFID_PII".Byte_7;
    "DB_RFID".read_active := FALSE;
END_IF;

The MDS D124 provides 112 bytes of user memory, addressable from 0x0000 to 0x006F, organized in 28 blocks of 4 bytes. Sequential reads at successive addresses can collect the entire memory, but each read requires one PIQ command and one PROFINET cycle latency.

10. Why Writing User Data Does Not Work

The SIMATIC RF200 IO-Link readers are firmware-classified as Read Only readers. The Siemens application example 73565887 states explicitly: "With RF200 IO-Link Reader you can only read user data ('Read Only' Reader)."

This is a hardware limitation of the RF200 IO-Link firmware family (V1.0 and later). The PIQ bit WR (bit 1) is decoded by the firmware and the write command is silently dropped - the reader will not write to the transponder. Setting PIQ bit 1 produces no error and no WR_DONE acknowledgement; PII byte 0 bit 3 (WR_DONE) remains 0 because the firmware never executes the write.

To write user memory on Moby D transponders, replace the RF210R with one of the following alternatives:

Target Reader Family Functionality Required Interface
SIMATIC RF300 (e.g. RF310R 6GT2801-1AB10) Read and write RS-232, RS-422, PROFINET via ASM 456 (6GT2002-0BA20), RF170C (6GT2002-0BA20), RF180C (6GT2002-0BA10)
SIMATIC RF600 (UHF) Read and write (UHF EPC Class 1 Gen 2) Ethernet, PROFINET via RF660R / RF680R / RF690R
Moby D via Ident profile Read and write using FB 45 / FB 55 / FB 65 Ident profile function blocks on PROFINET (RF170C / RF180C / ASM 456)

If the application requires writing to the MDS D124, the simplest migration path is the RF310R plus an RF170C communication module on PROFINET. The standard Siemens Ident library provides pre-built function blocks (FB 45 "Read", FB 55 "Write", FB 65 "Initialize") that handle command sequencing, error recovery, and tag presence monitoring without manual bit manipulation.

11. Sample Ladder Logic for ET 200S CPU

The following STL snippet is compatible with the IM 151-8 CPU (and any S7-300/400 with the IM 151-3 PN) and reads 4 bytes of user memory on the rising edge of "start_read_user":

// Network 1 - edge detection
A "start_read_user"
FP "DB_RFID".edge_start_user
S "DB_RFID".read_active

// Network 2 - drive RD bit
A "DB_RFID".read_active
= "RFID_PIQ".Byte_0.%X0

// Network 3 - load start address 0x0010 (PIQ bytes 1..3)
A "DB_RFID".read_active
JCN NOVR
L B#16#10
T "RFID_PIQ".Byte_1
L B#16#00
T "RFID_PIQ".Byte_2
L B#16#00
T "RFID_PIQ".Byte_3
NOVR: NOP 0

// Network 4 - terminate command on RD_DONE or ERR
A "RFID_PII".Byte_0.%X2
O "RFID_PII".Byte_0.%X4
R "DB_RFID".read_active

// Network 5 - copy read data
A "RFID_PII".Byte_0.%X2
JCN END
L "RFID_PII".Byte_4
T "DB_RFID".user_data[0]
L "RFID_PII".Byte_5
T "DB_RFID".user_data[1]
L "RFID_PII".Byte_6
T "DB_RFID".user_data[2]
L "RFID_PII".Byte_7
T "DB_RFID".user_data[3]
END: NOP 0

12. Diagnostics and Watch Tables

Create a watch table in TIA Portal that monitors the 8-byte input and output ranges assigned to the 4SI slot. The expected behaviour when an MDS D124 is within the read range:

  • PII byte 0 = 16#07 (ANT=1, TP=1, RD_DONE=1) - if Operating mode is "Scan user data".
  • PII byte 0 = 16#07 only after an explicit RD command has been issued - if Operating mode is "Read UID".
  • PII bytes 4..7 = first 4 bytes of UID (Read UID mode) or first 4 bytes of user memory at address 0 (Scan user data mode).
LED "Port 1" LED "LK" Meaning
Steady green Steady green IO-Link operating, transponder detected in field
Flashing green Steady green IO-Link operating, no transponder present
Steady yellow Steady green Port in DI/DO mode (not IO-Link)
Off Steady green Port disabled
Off Off No supply voltage or module fault
Red flashing Steady green IO-Link communication error

The 4SI also exposes port-level diagnostics through PROFINET alarms; an S7 "GET_DIAG" call (FB 126 in the S7-1500 diagnostics blocks) returns the current port status as a DWORD that can be mapped to an HMI tag.

13. Troubleshooting Matrix

Symptom Likely Cause Corrective Action
All PII bytes = 16#00 IO-Link not started (port in DI mode) Open S7-PCT, switch Port 1 to IO-Link operation and download
All PII bytes = 16#00 IODD missing or wrong revision Import correct IODD via "Options > Manage IODD files"; reassign device
All PII bytes = 16#00 Operating mode = "Inactive" in PCT Set Operating mode to "Scan user data" or "Read UID"
PII bytes = 16#FF when ANT_OFF set, 16#00 otherwise Reader has no transponder in field, normal behaviour Verify tag positioning; check antenna distance (RF210R: max ~30 mm for MDS D124)
PIQ bit 4 set does not change anything Bit mapping differs in firmware revision Read firmware version in PCT "Identification"; consult current manual 60641859 for the active bit map
PII byte 0 bit 4 (ERR) = 1 IO-Link communication or transponder error Read PCT diagnostics; check wiring; cycle power
PII updates but UID always 16#00000000 Operating mode = "Read user data", not "Read UID" Switch PCT Operating mode to "Read UID"
Writing has no effect on tag memory RF210R is firmware Read Only Replace with RF310R + RF170C and use Ident profile blocks
"Module does not support configured process data length" IODD version mismatch Re-import IODD matching the exact firmware version of the RF210R
Watch table shows inputs but never updates 4SI slot misaligned in PROFINET configuration Re-run "Compile" in TIA Portal; check slot mapping under "Devices & Networks"
TP bit (PII 0.1) toggles rapidly when tag stationary Tag at the edge of read range, noise-induced presence toggling Reduce read range, reposition antenna, or enable PCT "Filter" parameter
ERR set immediately on power-up Wiring polarity reversed or missing pin 1 (L+) Verify M12 wiring: Pin 1 = 24 V, Pin 3 = 0 V, Pin 4 = C/Q

14. Ident RFID Faceplate in TIA Portal V17+

TIA Portal V17 introduced the "Ident RFID" screen as part of the Automation Framework library. The screen is documented at 8.6.7 Ident RFID and provides a unified HMI faceplate for:

  • Displaying the current PII status (antenna state, transponder present, error)
  • Displaying UID and the most recent read user data
  • Triggering read commands from the HMI
  • Showing the active Operating mode (Scan user data / Read UID)

The Ident RFID faceplate requires the Automation Framework library to be installed and the RF reader to be configured with the Ident profile blocks. When using the raw IO-Link PIQ/PII interface as described in this article, you can still bind the same tags to a custom HMI screen - the underlying data model (8 bytes PII, 8 bytes PIQ, status byte, UID bytes) is identical.

15. Field Commissioning Checklist

  1. Wire the RF210R to Port 1 of the 4SI module using a shielded 3-conductor IO-Link cable (max 20 m). Observe LED activity on both ends after power-up.
  2. Import the IODD file for the RF210R firmware version using S7-PCT ("Options > Manage IODD files").
  3. Configure Port 1 as IO-Link in PCT and set the cyclic data length to 8 bytes input / 8 bytes output.
  4. Select Operating mode = "Scan user data" for continuous user-memory reads, or "Read UID" for tag identification.
  5. Download the ET 200S configuration and verify the Port 1 LED turns steady or flashing green.
  6. Place an MDS D124 in the antenna field and confirm PII byte 0 bit 1 (TP) goes high.
  7. Trigger an RD command from the program (PIQ bit 0 = 1 for one cycle) and capture PII bytes 4..7 in a watch table.
  8. If writing is required for the application, plan a migration to RF300/RF600 plus the Ident profile function blocks. The RF200 IO-Link firmware cannot be unlocked for writes.

16. Reference Documentation

Frequently Asked Questions

Why are all 8 input bytes showing 16#00 even though the RF210R is wired and powered?

Most often the IO-Link port is still in DI/DO mode. Open S7-PCT, switch Port 1 of the 4SI to "IO-Link device" and download the port configuration. A missing or wrong IODD also produces 16#00 because the slot is mapped with 0 bytes of cyclic data, which is exactly the symptom described in the original post.

Can the RF210R write to the MDS D124 transponder?

No. RF200 IO-Link readers are Read Only per the Siemens RF200 IO-Link manual (entry 60641859) and the official application example 73565887. To write to Moby D tags, use an RF310R with an RF170C or RF180C communication module and the Ident profile function blocks (FB 45, FB 55, FB 65).

How do I read the 8-byte UID of an MDS D124?

Set PCT Operating mode to "Read UID", drive PIQ bit 0 (RD) for one PROFINET cycle, and read the UID from PII bytes 4..7 once PII bit 2 (RD_DONE) is set. The UID always starts at address 0x000000 on ISO/IEC 15693 tags, so PIQ bytes 1..3 should be 0x00.

What is the maximum IO-Link cable length between the 4SI and the RF210R?

The IO-Link standard permits 20 m of standard 3-conductor cable. Siemens article 60641859 lists 6XV1840-2AH10 as the recommended cable with a maximum length of 20 m; longer runs require IO-Link v1.1 repeaters or an external IO-Link master closer to the reader.

Does setting bit 4 of PIQ turn off the RF210R antenna?

In RF210R firmware V1.0 the antenna-off control is on PIQ bit 2 (ANT_OFF), and bit 4 is the reset (RST) command. Earlier RF260R firmware revisions used bit 4 for ANT_OFF. Verify the firmware version of your reader under S7-PCT > Identification and consult the current revision of manual 60641859 for the active bit map.

Back to blog