1. Problem Statement: Presence vs. Position
Industrial RFID is widely used to confirm presence of a product on a conveyor, in a tool holder, on a workpiece carrier, or inside a tote. Many integrators, however, want to extend the same read event into a position estimate - for example, where the tag is along a 3 m rail, which slot of a 12-slot rack contains the carrier, or whether the carrier is in zone A or zone B of a process. The two questions are not equivalent in the physical layer:
| Question | Signal layer | Standard RFID answer |
|---|---|---|
| Is the correct tag present? | Inventory command (ISO 18000-63 / EPC Class 1 Gen 2) returns EPC + TID | Yes - deterministic |
| Where is the tag? | RSSI, phase, angle of arrival, time-of-flight | Estimate only - environment dependent |
| How accurate is the position? | Depends on antenna count, frequency, multipath | Typically 0.2-1.0 m for narrowband UHF; < 0.05 m for UWB |
The short answer used in the original technical discussion: a single UHF reader with a single antenna cannot deliver a deterministic 2-D position. RSSI is exposed by industrial readers (Siemens RF600 explicitly) and can be processed, but accuracy is governed by antenna pattern, tag orientation, multipath, and metal in the field - not by the reader firmware.
2. RFID Frequency Bands and Positioning Suitability
UHF (860-960 MHz) and HF (13.56 MHz) readers behave very differently when asked for position-like information. This is the first design decision.
| Band | Typical range | Field geometry | Positioning method | Use case fit |
|---|---|---|---|---|
| LF 125-134 kHz | 0.05-0.20 m | Quasi-static inductive loop | Presence per antenna; near/far only | Tool identification, single slot |
| HF 13.56 MHz (ISO 15693) | 0.05-0.40 m | Single small loop | RSSI poor; use multiple short-range antennas | Pharma trays, library bins |
| UHF 865-928 MHz (ISO 18000-63) | 0.5-10 m | Directional patch / far-field | RSSI + multi-antenna triangulation | Conveyor, dock door, rack |
| UWB 3.1-10.6 GHz (IEEE 802.15.4z) | 0.1-50 m | Wideband impulse | Two-way ranging (TWR) or TDOA, < 0.10 m | AGV, jigs, large cells |
For Siemens RF600 (UHF, EPC Class 1 Gen 2 / ISO 18000-63), position is always a derived quantity. RF600 readers expose RSSI per inventory event; the firmware does not output a 2-D coordinate.
3. RSSI - The Observable You Actually Have
RSSI is the only positioning-relevant signal most industrial UHF readers expose without specialized firmware. The free-space path loss model is:
RSSI(d) = P_tx + G_tx + G_tag - 20*log10(4*pi*d/lambda) - PL_other
-
P_tx= EIRP (typically 0.5-2 W ERP regulated, e.g. ETSI EN 302 208 limits to 2 W ERP in 865-868 MHz band) -
G_tx,G_tag= antenna gains (dBi) -
d= distance tag-to-antenna (m) -
lambda= c/f, ~0.33 m at 900 MHz -
PL_other= losses from multipath, absorption, tag orientation, polarization mismatch
The 20*log10(d) term is what gives RSSI its position potential - but PL_other is the dominant error source in any real factory. A 3 dB fluctuation on the order of 1-3 dB is normal from tag rotation, and that maps to 10-40 % distance error from a single antenna.
4. Siemens RF600 - What Is and Is Not Available
The RF600 system consists of:
- Readers: RF610R, RF615R, RF630R, RF640R, RF650R, RF660R, RF680R, RF685R (UHF EPC Class 1 Gen 2)
- Antennas: RF ANT family - directional patch, wide-range, near-field
- Tags: RF600T series with user memory and RSSI capability
- Communication: PROFINET, EtherNet/IP, OPC UA via RF68xR; serial/IO-Link on RF610R/RF615R
Per the SIMATIC RF600 System Manual (Siemens Support entry ID 109751523) and the SIMATIC Ident product documentation, the reader returns the following per-tag data on each inventory cycle:
- EPC (Electronic Product Code)
- TID (Tag Identifier)
- User memory (if enabled)
- Antenna number (which physical antenna on the multiplexed reader received the tag)
- RSSI value in dBm (typically -20 to -75 dBm practical range)
- Timestamp (with RF68xR on PROFINET)
What the RF600 system does not provide as standard output:
- Phase of the backscattered signal (not exposed to the application in standard RF600 firmware)
- 2-D or 3-D coordinates
- Angle of arrival (no phased-array antenna in standard portfolio)
- Time-of-flight (narrowband signal, impulse width is many meters in spatial extent)
5. Practical Architectures for Position Estimation
5.1 Cell-of-Origin (one antenna per zone)
Place one reader (or one multiplexed antenna on a multiport reader) at each fixed zone. Position resolution equals the antenna footprint.
- RF600 readers RF660R/RF685R support up to 4 antennas internally; an external multiplexer extends this to 8
- Each antenna is mapped to a zone (Slot 1, Slot 2, Slot 3, Slot 4) in the PLC
- Accuracy: equals the physical size of one antenna footprint (e.g. 0.3-0.5 m wide patch)
- Cost: one reader with up to 4 antennas covers a 4-slot rack
5.2 Weighted Centroid from Multiple Antennas
With N >= 3 antennas at known positions, compute the weighted centroid:
x_est = sum(w_i * x_i) / sum(w_i), w_i = 10^(RSSI_i / 10)
Convert RSSI from dBm to linear mW before weighting, otherwise strong signals dominate. Typical accuracy in controlled lab: 0.3-1.0 m. Typical accuracy on a factory floor with metal: 1-3 m.
5.3 Path-Loss Triangulation
Solve the inverse path-loss equation per antenna:
d_i = lambda/(4*pi) * 10^((P_tx+G_tx+G_tag-RSSI_i)/(20))
Then minimize least-squares error over (x, y) such that sqrt((x-x_i)^2+(y-y_i)^2) approximates d_i. Requires at least 3 antennas with non-collinear geometry. Calibrate per environment with known tag positions to absorb PL_other.
5.4 Phase-Based Ranging (research-grade)
Some UHF RFID research platforms (Impinj R420/R660 with Speedway firmware, Kathrein RFID readers) expose the backscatter phase. Phase wrap at 0.33 m wavelength requires continuous-wave operation and an ambiguity-resolution step. Industrial accuracy 0.05-0.20 m. Not exposed by RF600 standard firmware.
6. PLC Integration Pattern (S7-1500 / TIA Portal)
RF600 readers integrate into an S7-1500 over PROFINET. The Ident profile exposes tag data through standardized I/O slots. Below is a typical ST snippet that reads EPC and RSSI from an RF685R and maps antenna number to a zone.
// FB_RFID_ZoneMap - read 4 tags, map antenna -> zone
// Inputs: i_hwAddr (HW identifier of RF685R), i_antPort (1..4)
FUNCTION_BLOCK FB_RFID_ZoneMap
VAR_INPUT
i_hwAddr : UINT; // HW identifier of Ident device
i_antPort : INT; // expected antenna port 1..4
END_VAR
VAR_OUTPUT
o_zoneID : INT; // 1..4 or 0 = no read
o_lastRSSI : REAL; // dBm, negative
o_lastEPC : STRING[24];
o_sts : WORD; // 0x0001 present, 0x0002 readErr
END_VAR
VAR
rt_Read : RAL_IdentRead; // Siemens Ident block
s_EPC : WSTRING[24];
i_Antenna : INT;
r_RSSI : REAL;
t_Timestamp : DATE_AND_TIME;
END_VAR
BEGIN
// Trigger inventory on the configured antenna
rt_Read(Req := TRUE,
Mode := 1, // 1 = single tag read
Antenna := i_antPort,
ID := i_hwAddr,
EPC := s_EPC,
RSSI := r_RSSI,
AntennaNo := i_Antenna);
IF rt_Read.Done THEN
o_lastEPC := WSTRING_TO_STRING(s_EPC);
o_lastRSSI := r_RSSI; // dBm, e.g. -47.0
o_zoneID := i_Antenna; // direct 1:1 map
o_sts := o_sts OR 16#0001;
ELSIF rt_Read.Error THEN
o_sts := o_sts OR 16#0002;
END_IF;
END_FUNCTION_BLOCK
For multi-antenna triangulation, run a parallel instance per antenna and pass the three (RSSI, x_ant, y_ant) tuples into a lateration FB. The Ident profile and TIA Portal blocks are documented in the SIMATIC RF600 system manual and the SIMATIC Ident function block library (FB Ident profile) manual.
7. Other Vendors and How They Compare
| Vendor / family | Position capability out of the box | RSSI | Phase / AoA | PLC integration |
|---|---|---|---|---|
| Siemens RF600 | Cell-of-origin only | Yes (dBm) | No | PROFINET Ident profile, OPC UA |
| Balluff BIS U / BIS M | Cell-of-origin | Limited | No | PROFINET, EtherNet/IP, IO-Link |
| IFM DTI / ANT | Cell-of-origin | Yes | No | PROFINET, IO-Link |
| Pepperl+Fuchs IDENT-I | Cell-of-origin | Yes | No | PROFINET, EtherNet/IP |
| SICK RFH6xx / RMS3xx | Cell-of-origin | Yes | No | PROFINET, EtherNet/IP |
| Turck BL ident | Cell-of-origin | Yes | No | PROFINET, EtherNet/IP, IO-Link |
| Zebra / Impinj R420, R660 (third-party) | RSSI + phase via API | Yes | Yes (raw phase) | Ethernet API, REST |
| UWB (Qorvo DW3000, DecaWave, Zebra Dart UWB) | True 2-D / 3-D < 0.1 m | n/a | TWR / TDOA | Vendor-specific gateways |
For applications where RF600 falls short (zone resolution finer than the antenna footprint, or real 2-D tracking on a large area), step to UWB (Ultra-Wideband) tags and anchors. UWB IEEE 802.15.4z delivers sub-decimeter two-way ranging (TWR) and is not subject to the multipath collapse of narrowband UHF RFID.
8. Accuracy Reality Check
What the integrator can realistically expect from RSSI-based positioning with an industrial UHF RFID system in a metal-rich environment:
| Method | Best case (lab) | Typical factory | Worst case (near metal) |
|---|---|---|---|
| Cell-of-origin, 1 antenna per zone | +/- zone width | +/- zone width | +/- zone width |
| Cell-of-origin, 4 antennas RF685R | +/- 0.30 m | +/- 0.30 m | +/- 0.50 m |
| Weighted centroid, 3 antennas | +/- 0.40 m | +/- 1.0 m | +/- 2.5 m |
| Path-loss triangulation, 3 antennas, calibrated | +/- 0.20 m | +/- 0.80 m | +/- 2.0 m |
| Phase ranging (Impinj-class, not RF600) | +/- 0.05 m | +/- 0.15 m | +/- 0.40 m |
| UWB TWR (DW3000, separate system) | +/- 0.05 m | +/- 0.10 m | +/- 0.30 m |
9. Environmental Factors That Will Trip the Commissioning
- Metal backplane. Reflects UHF and creates standing waves (nulls every lambda/2 ~ 0.17 m). Move tag 50-100 mm off the metal or use a tag with a tuned spacer.
- Liquid and high-moisture content. Absorbs UHF (water's dielectric loss). RSSI drops 6-10 dB; tag may drop out of inventory.
- Tag orientation. Dipole tags have a deep null perpendicular to the broadside axis. Polarization diversity (two antennas, 90 deg apart) or a circularly polarized antenna mitigates this.
- Reader-to-reader interference. Two RF600 readers in close proximity will collide unless you set the air-interface density and the readers use the Siemens "Reader talks first" handshake with time-division or Dense Reader Mode (DRM).
- Regulatory power cap. ETSI EN 302 208 limits 865-868 MHz to 100 mW ERP in 4 channels, 2 W ERP in 4 channels - and only when Listen Before Talk (LBT) or polite spectrum access is honored. RSSI-based ranging assumes a known P_tx; verify the regulatory profile on the reader.
- Multipath from moving equipment. A passing forklift changes RSSI for ~2 s. The "position" estimate jitters. Apply a moving average or Kalman filter with a process noise matched to expected speed.
10. Commissioning Procedure - Cell-of-Origin on a 4-Slot Rack
- Mount one RF ANT 8 dBi directional patch per slot, beamwidth ~70 deg H / 70 deg V, on the back wall of each slot.
- Connect all four antennas to a single RF685R (internal 4:1 multiplexer).
- Assign antenna numbers 1-4 to the four slots in the TIA Portal Ident configuration.
- Place a calibration tag at the center of each slot and read the nominal RSSI baseline (typical -38 to -52 dBm at 1 m). Record.
- Define a "no-read" RSSI threshold of -75 dBm to reject far-field strays.
- Define a "present" RSSI threshold of -65 dBm to reject fringe reads from adjacent slots.
- Validate by placing tags at slot boundaries; confirm only the correct antenna reports the tag above threshold.
- Export the EPC list and zone map over OPC UA to the SCADA - or use the PROFINET Ident record directly in the PLC program.
11. Limitations Matrix - Decide Before You Spec
| Requirement | Recommended approach | RF600 fits? |
|---|---|---|
| Confirm the right product is at the right fixture (binary) | Cell-of-origin, 1 antenna per fixture | Yes - ideal |
| Confirm which of 4 rack slots contains the carrier | 4 antennas on 1 RF685R | Yes - direct |
| Detect tag within +/- 0.3 m along a 3 m rail | 3-4 antennas + RSSI thresholding | Workable, calibrate per rail |
| Detect tag within +/- 0.1 m on a 5 x 5 m floor | UWB TWR, 4+ anchors | No - use UWB |
| Detect tag x, y within +/- 0.5 m on a 10 x 10 m area | UWB or 6+ RF600 antennas + path-loss triangulation + filter | Marginal, multipath-bound |
| Detect tag inside a 12 x 12 grid bin | HF near-field array per cell | No - use HF matrix |
12. When to Walk Away from RFID for Position
If the application demands continuous sub-meter position over a large area, RFID (UHF or HF) is the wrong tool. Switch to one of:
- UWB (IEEE 802.15.4z) - < 0.10 m accuracy, 50 m range, multipath-resistant
- BLE 5.1+ AoA / AoD - sub-meter, requires phased-array antenna beacons
- Vision - barcode / DataMatrix on the carrier, 1-D or 2-D pose, exact
- Mechanical indexing - encoder on a lift, fixture sensors at each station - exact and free of RF
- Hybrid - RFID to identify the carrier + a single photoeye or encoder to know its position - the cleanest pattern in many real cells
13. Summary - Decision Path
- If zone count is high (e.g. 16 cells), RF600 still works - cascade multiple RF685R readers or add external multiplexers.
- If you must have continuous coordinates, plan for a calibration phase with known tag positions, three or more antennas, and accept 0.5-1.0 m typical accuracy.
- If you need < 0.3 m continuous position, replace RFID with UWB. The tags cost more, but the physics cooperate.
Can a single Siemens RF600 reader report a 2-D position?
No. RF600 reports EPC, antenna number, and RSSI per inventory. 2-D position is not an output of the reader firmware and is not part of the EPC Class 1 Gen 2 standard. You must compute it externally from RSSI values across multiple antennas.
What RSSI accuracy can I expect from a stationary tag on an RF685R?
Typically +/-2 dB in a controlled environment; +/-3 to 5 dB in a metal-rich factory. A 3 dB RSSI swing corresponds to roughly a 40 % distance error in free space, so single-antenna ranging from RSSI is not reliable.
How many antennas do I need for triangulation?
Three antennas in a non-collinear geometry for 2-D position; four for 2-D with redundancy or 3-D. All antennas must be in line of sight to the tag during the read window, and geometry should be wider than the desired accuracy (e.g. antennas 2 m apart to resolve 0.3 m positions).
Does RF600 expose the backscatter phase for fine ranging?
No. The standard RF600 firmware exposes only RSSI and antenna number per inventory event. Backscatter phase is used internally for protocol demodulation but is not forwarded to the application. If you need phase-based ranging you must use a research-grade reader (Impinj R420/R660 with appropriate SDK) and accept loss of the Siemens Ident profile integration.
When should I switch from RFID to UWB for position?
When you need sub-decimeter continuous 2-D or 3-D position over an area larger than a single antenna footprint. UWB tags with IEEE 802.15.4z two-way ranging reach 0.05-0.10 m typical accuracy and are not bound by UHF multipath. For pure "right product at the right fixture" checks, RF600 cell-of-origin remains the lowest-cost, most deterministic solution.