Using it with an AGV
What a UID is, and why it is usually enough
Every RFID tag carries a UID: 8 bytes, unique worldwide, burned in at the factory. It cannot be changed and never repeats.
E0 04 01 50 3F 1A 2B 7C
Tip
Most systems only need the UID — you never have to write to a tag.
The simplest and most robust approach is a lookup table in the AGV software:
E0040150 3F1A2B7C -> Loading point A
E0040150 8842C19D -> Junction 1
E0040150 AA31D40E -> Charging dock
Why this wins — if a tag is damaged, fit a new one and edit one line. No writing to tags, and no way to overwrite the wrong one.
When writing to tags does make sense — when several robots need the same data without synchronising a table, or when the data changes often on site.
How it works in a running system
AGV drives ──> software polls the reader ──> gets a UID ──> looks it up ──> acts
↑
no tag = an empty result, not a failure
Important
“No tag” and “read failed” must be different things in your code.
Between tags, an empty result is entirely normal. If you log a warning every time no tag is found, you will produce so many warnings nobody reads them.
What deserves an alarm is “cannot reach the reader” — a completely different condition.
Polling rate — the most common mistake
Danger
🔴 The robot can drive past a tag before anyone looks at it.
The reader handles tags moving faster than 3 m/s without trouble. The bottleneck is how often your software asks.
Work out how long a tag is in range:
readable distance ÷ robot speed = time available
50 mm tag · robot at 0.5 m/s
0.05 ÷ 0.5 = 0.1 seconds
Only 0.1 seconds. Poll every 0.5 s and you will miss most tags.
Robot speed |
Poll every |
|---|---|
0.3 m/s |
50 ms |
0.5 m/s |
30 ms |
1.0 m/s |
15 ms |
Tip
The alternative is to let the reader push. It can report a tag by itself instead of waiting to be asked — enable it through the automatic-upload register.
You then never miss a tag and use less bus traffic, at the cost of your software having to listen continuously rather than ask when convenient.
Commissioning checklist
Run this at the real site, not on a bench.
1. Switch a light on proves you can talk to the reader
2. Read a UID from a still tag proves it reads tags
3. Measure the real range lift the tag until it stops reading; write it down
4. Push the robot over slowly proves it reads while moving
5. Run at full speed the step that usually catches people out
Warning
🔴 Step 3 matters most and is the one most often skipped.
The real range on site is usually shorter than the datasheet, because of rebar in the floor and metal on the robot. Mount to the datasheet figure and it may work during commissioning, then fail after the wheels wear down a little.
The test tool helps with every step — it can poll continuously and count successful reads, so you can see how many times a pass over a tag actually registered.