I looked through the samples for RFID and ended up implementing the
following (which would start the scanning process independently of any
hardware button push, one of my customer's requirements):
static RfidReader objReader = new RfidReader();
if (objReader.RfidTags.Count > 0)
this.Tag = objReader.RfidTags.Id.ToString();
this.DialogResult = DialogResult.OK;
MessageBox.Show("Timeout with no tag scanned.");
catch (Exception ex)
What I'm seeing is that it mostly works, but at times I'll see these exceptions:
Rfid Reader timed out. (Tag cannot be found in the specified time)
The Rfid Reader not responding (SetTagProtocol: Set15693Protocol failed)
The Rfid Reader not responding. (TakeInventory: 15693 TakeInventory failed)
I sorta get the first exception (although I would have expected it to
just continue on the normal flow with an empty objReader.RfidTags
The second and third exceptions mean nothing to me. Note that if these exceptions happen, they happen almost immediately after the StartScan/WaitForTag calls. I suspect it is some kind of initialization thing, but it seems odd that it is not consistent.
Anyone know what these exceptions mean and whether it is something the user is doing?
Due to customer requirements, I'm using SDK and PD v 2.0 and I can't upgrade easily.