RFID блокировка пользовательской памяти
Я работаю над метками RFID. Я использую Speedway Revolution Reader(R-420) для чтения меток. http://www.impinj.com/Speedway_Revolution_UHF_RFID_Reader.aspx Я использую метки Confidex Steelware Micro ETSI Monza (продукт № 3000127) http://www.confidex.com/products-and-services/compare-uhf-products/524-confidex-steelwave-micro. Я использую октановый SDK от Impinj. Я сталкиваюсь с проблемой, что, когда я пытаюсь заблокировать пользовательскую память, я получаю ошибку.
Это код, который я использую:
static void Main(string[] args)
{
try
{
// Connect to the reader.
// Change the ReaderHostname constant in SolutionConstants.cs
// to the IP address or hostname of your reader.
reader.Connect(SolutionConstants.ReaderHostname);
// Assign the TagOpComplete event handler.
// This specifies which method to call
// when tag operations are complete.
reader.TagOpComplete += OnTagOpComplete;
// Configure the reader with the default settings.
reader.ApplyDefaultSettings();
// Create a tag operation sequence.
// You can add multiple read, write, lock, kill and QT
// operations to this sequence.
TagOpSequence seq = new TagOpSequence();
// Define a tag write operation that sets the access password.
TagWriteOp writeOp = new TagWriteOp();
// Assumes that current access password is not set
// (zero is the default)
writeOp.AccessPassword = null;
// The access password is in the Reserved memory bank.
writeOp.MemoryBank = MemoryBank.Reserved;
// A pointer to the start of the access password.
writeOp.WordPointer = WordPointers.AccessPassword;
// The new access password to write.
writeOp.Data = TagData.FromHexString("11112222");
// Add this tag write op to the tag operation sequence.
seq.Ops.Add(writeOp);
// Create a tag lock operation to lock the
// access password and User memory.
TagLockOp lockOp = new TagLockOp();
lockOp.AccessPasswordLockType = TagLockState.Lock;
lockOp.EpcLockType = TagLockState.Lock;
// Add this tag lock op to the tag operation sequence.
seq.Ops.Add(lockOp);
// Add the tag operation sequence to the reader.
// The reader supports multiple sequences.
reader.AddOpSequence(seq);
// Start the reader
reader.Start();
}
catch (OctaneSdkException e)
{
// Handle Octane SDK errors.
Console.WriteLine("Octane SDK exception: {0}", e.Message);
}
catch (Exception e)
{
// Handle other .NET errors.
Console.WriteLine("Exception : {0}", e.Message);
}
// Wait for the user to press enter.
Console.WriteLine("Press enter to exit.");
Console.ReadLine();
// Stop reading.
reader.Stop();
// Disconnect from the reader.
reader.Disconnect();
}
// This event handler will be called when tag
// operations have been executed by the reader.
static void OnTagOpComplete(ImpinjReader reader, TagOpReport report)
{
// Loop through all the completed tag operations
foreach (TagOpResult result in report)
{
if (result is TagWriteOpResult)
{
// These are the results of settings the access password.
// Cast it to the correct type.
TagWriteOpResult writeResult = result as TagWriteOpResult;
// Print out the results.
Console.WriteLine("Set access password complete.");
Console.WriteLine("EPC : {0}", writeResult.Tag.Epc);
Console.WriteLine("Status : {0}", writeResult.Result);
Console.WriteLine("Number of words written : {0}", writeResult.NumWordsWritten);
}
else if (result is TagLockOpResult)
{
// Cast it to the correct type.
// These are the results of locking the access password or user memory.
TagLockOpResult lockResult = result as TagLockOpResult;
// Print out the results.
Console.WriteLine("Lock operation complete.");
Console.WriteLine("EPC : {0}", lockResult.Tag.Epc);
Console.WriteLine("Status : {0}", lockResult.Result);
}
}
}
}
}
Это ошибка, которую я получаю: "Нет ответа от тега"
2 ответа
Если вы выполняете действия, описанные в руководстве, упомянутом выше, нет причин, по которым оно не должно работать, ЕСЛИ БЕЗ тега уже заблокировано.
Поскольку заблокированный статус часто не может быть прочитан читателем, а только выведен, это может быть в этом случае используемый вами тег (или теги) по какой-то причине уже заблокирован. Я рекомендую попробовать несколько разных типов тегов (с разными микросхемами, если это возможно), чтобы увидеть, сохраняется ли ошибка по всем направлениям.
Вы следовали этому руководству? http://learn.impinj.com/articles/en_US/RFID/Locking-Memory-on-EPC-RFID-Tags/