Skip to content

Zebra FX9600 RFID Reader

What It Is

The Zebra FX9600 is a fixed RFID reader that continuously reads RFID tags on cases as they pass on the conveyor. It stores tags in a cache that the validation system checks when a case is scanned by the camera. The FX9600 supports up to 4 antennas and provides configurable transmit power and RSSI (signal strength) filtering.

Which Sites Use It

  • Cargill St. Clair
  • Cargill Oil - Sidney
  • Cargill Oil - Gainesville
  • Cargill Oil - Fullerton

Connection Details

Detail Value
Protocol TCP/IP
Default port 5084
Connection string format READER_IP:5084 (e.g., 192.168.100.125:5084)
SDK Zebra RFID SDK for .NET

How to Tell If It Is Working

  1. Diagnostics panel: RFID reader shows "Connected" with a green indicator.
  2. Tag cache viewer: In diagnostics, the RFID tag cache shows recently read tags with their EPCs and RSSI values.
  3. Log messages:
  4. Connected to Zebra RFID reader. -- successful connection
  5. Asynchronous reading started. -- RFID polling is active
  6. [RFID-DIAG] TAGS FOUND - Processed {X} tags -- tags are being read

How It Works

  1. GateKeeper connects to the FX9600 on startup and begins continuous reading.
  2. The reader constantly scans for RFID tags in the antenna field.
  3. Each tag read includes the EPC (Electronic Product Code) and RSSI (signal strength).
  4. Tags are stored in a cache with a configurable expiration time (default: 17 seconds).
  5. When a camera triggers validation, the system searches the cache for a matching tag.
  6. If found, the RFID data is used in validation. If not found, validation fails with "No matching RFID data."

RSSI Tuning Guide

What Is RSSI?

RSSI (Received Signal Strength Indicator) measures how strong the RFID tag signal is, in decibels-milliwatt (dBm). The range is from -127 dBm (weakest possible) to 0 dBm (strongest possible).

Key concept: More negative = weaker signal. Less negative = stronger signal. - -50 dBm is a STRONG signal (tag is close to antenna) - -70 dBm is a MODERATE signal (normal operating range) - -80 dBm is a WEAK signal (tag is far from antenna or obstructed)

Why RSSI Filtering Matters

Without RSSI filtering, the reader may pick up tags from: - Adjacent conveyor lanes - Cases stacked nearby but not on the active line - Tags that are far from the antenna

With RSSI filtering, only tags with a strong enough signal are accepted, ensuring the system reads only the tag on the case currently being validated.

RSSI Threshold Values

Threshold Level When to Use
-127 dBm Disabled (all tags accepted) Testing, development, initial setup
-80 dBm Very permissive Long-range outdoor reading
-70 dBm Recommended for production Standard indoor conveyor line
-60 dBm Moderate Multi-lane conveyors, prevent cross-lane reads
-50 dBm Strict Close-range precision reading

How to Adjust RSSI Threshold

  1. Stop the GateKeeper application.
  2. Edit appsettings.json on the production machine.
  3. Find the RFID reader entry in HardwareSettings.
  4. Update the RssiThreshold value in the Configuration JSON string:
    "Configuration": "{ \"Model\": \"FX9600\", \"AntennaCount\": 1, \"PowerLevel\": 27.0, \"RssiThreshold\": -70 }"
    
  5. Save the file and restart the application.
  6. Verify in logs: RFID Reader configured with RSSI threshold: -70 dBm (ENABLED)

Reading RSSI Values in Logs

Enable Debug logging to see per-tag RSSI values:

Tag accepted (signal strong enough):

[RSSI PASS] EPC: E2001234567890ABCDEF0001, RSSI: -58 dBm, Antenna: 1

Tag filtered (signal too weak):

[RSSI FILTERED] EPC: E2001234567890ABCDEF0002, RSSI: -75 dBm < -70 dBm, Antenna: 1

Summary per read cycle:

[RFID-DIAG] TAGS FOUND - Processed 5 tags, EPC Filtered: 0, RSSI Filtered: 3
This means: 5 tags accepted, 0 filtered by EPC prefix, 3 filtered for weak signal. Total tags seen: 8.

Tuning Process

Follow this process to find the right RSSI threshold for a site:

  1. Start with filtering disabled (RssiThreshold: -127).
  2. Enable Debug logging in appsettings.json.
  3. Run the conveyor with normal production cases.
  4. Check the logs for [RSSI PASS] entries. Note the typical RSSI values.
  5. Identify the normal range: Most valid reads should be between -50 and -70 dBm.
  6. Set the threshold about 10 dBm below the typical value. For example, if most reads are around -55 to -65 dBm, set the threshold to -70 dBm.
  7. Test and adjust:
  8. Too many [RSSI FILTERED] messages? Lower the threshold (more negative).
  9. Unwanted tags from other areas? Raise the threshold (less negative).
  10. Once tuned, disable Debug logging to prevent large log files.

Antenna Configuration

Setting Range Default Description
AntennaCount 1-4 1 Number of antennas to activate
PowerLevel 10.0-30.0 dBm 27.0 Transmit power

Antenna Tips

  • More antennas = wider read zone but more potential for unwanted reads
  • Lower power = smaller read zone but more precise (good for multi-lane)
  • Higher power = larger read zone (good for single lane with variable tag position)
  • Antenna position should be as close to the conveyor tag path as practical

Tag Cache

Setting Default Description
TagExpirationSeconds 17 How long tags stay in cache before expiring

Tags expire from the cache after the configured time. If a case moves slowly and the tag expires before the camera triggers, validation will fail with "No matching RFID data."

If TagExpirationSeconds is set to 0, the cache operates in bypass mode and returns synthetic data. This is for testing only and should never be used in production.

Common Problems and Solutions

Problem Symptoms Solution
Reader disconnected Log shows "Reader disconnected unexpectedly" Check network cable, power cycle reader, restart application
No tags being read Tag cache empty, validation fails with "No matching RFID data" Verify RFID polling is started (check log for "Asynchronous reading started"), check antenna connection
Too many tags filtered Lots of [RSSI FILTERED] entries Lower RSSI threshold (more negative) or increase transmit power
Unwanted tags from other areas Wrong tags appearing in validation Raise RSSI threshold (less negative) or reduce transmit power
Buffer full warning Log shows "Buffer full - consider reading tags faster" Reader is overwhelmed -- reduce antenna count or power
Antenna disconnected Log shows "Antenna {id} disconnected" Check physical antenna cable connection
Tags expire before validation "No matching RFID data" for cases that have tags Increase TagExpirationSeconds or check conveyor speed

Error Messages

Error Message What It Means
Connection failed: {error}. {details} Cannot connect to reader -- network or power issue
Not connected to reader. Operation attempted while reader is offline
Reader disconnected unexpectedly. Connection lost during operation
Antenna {id} connected/disconnected. Antenna cable plugged in or removed
Buffer full - consider reading tags faster. Reader internal buffer is full
Inventory error: {message} Error during tag reading cycle
Reader antenna configuration is unavailable. Cannot read antenna settings from reader
Transmit power must be between 10 and 30 dBm. Invalid power level in configuration
Antenna ID {id} is out of range; value must be 1 to {max}. Invalid antenna number in configuration
Failed to set antenna configuration: {message} Could not apply antenna settings

Read Rate Optimization

To maximize reliable tag reads:

  1. Antenna placement: Position the antenna so cases pass within 6-12 inches.
  2. Tag orientation: RFID tags read best when the tag face is parallel to the antenna face. Perpendicular orientation may cause weak reads.
  3. Metal interference: Metal near the antenna or tag reduces read range. Use spacers or reposition if needed.
  4. Tag-to-tag interference: Dense tag environments (many cases close together) can cause interference. RSSI filtering helps select the closest tag.
  5. Conveyor speed: Faster conveyors give less time for reads. Ensure the tag is in the antenna field long enough for a reliable read.

When to Escalate

  • Reader cannot connect after power cycle and network verification
  • Antenna shows disconnected but cable is physically connected
  • RSSI values are consistently very weak (-80 or worse) despite correct positioning
  • Reader firmware needs updating
  • Tag cache bypass mode is enabled in production (should never be)