Kishore Kumar

Kishore Kumar

  • NA
  • 1
  • 1.9k

RFID tags Locking User Memory

Jul 18 2013 3:25 AM

I am working on the RFID tags.I am using Speedway Revolution Reader(R-420) for reading the tags.

http://www.impinj.com/Speedway_Revolution_UHF_RFID_Reader.aspx

I am using Confidex Steelware Micro ETSI Monza tags (Product No. 3000127)

http://www.confidex.com/products-and-services/compare-uhf-products/524-confidex-steelwave-micro.

I am using impinj Octane SDK. I am facing the problem that when I am trying to Lock User memory,I am getting error.

This is the code I am using:

 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);
            }
        }
    }
}


This is the error I am getting : "No response from Tag"