Motorola の .NET 用 EMDK / Symbol.rfid2.device dll を使用して、特定の RFID タグ (実際にはそのユーザー メモリ) にデータを書き込むことは可能ですか? 目の前に 2 つのタグがあり、そのうちの 1 つだけにデータを書き込みたいとします。
WriteTag メソッドはこれをサポートしていないようです。
Motorola の .NET 用 EMDK / Symbol.rfid2.device dll を使用して、特定の RFID タグ (実際にはそのユーザー メモリ) にデータを書き込むことは可能ですか? 目の前に 2 つのタグがあり、そのうちの 1 つだけにデータを書き込みたいとします。
WriteTag メソッドはこれをサポートしていないようです。
タグ固有の操作を実行できるSymbol.RFID3.deviceを備えた新しいEMDKがあると思います。CS_RFID3Sample3を確認してください。
サイン:
// Summary:
// This method is used to write data to the memory bank of a specific tag.
//
// Parameters:
// tagID:
// EPC-ID of the Tag on which the Write operation is to be performed.
//
// writeAccessParams:
// Parameters required for the Write operation.
//
// antennaInfo:
// Antennas on which the current operation is to be performed. If this is null,
// operation will be performed on all Antennas.
public void WriteWait(string tagID, TagAccess.WriteAccessParams writeAccessParams, AntennaInfo antennaInfo);
使用例:
public RFIDResults WriteTag(string tagId, string writeData, MEMORY_BANK mb, Int32 offset)
{
byte[] writeUserData = null;
writeUserData = new byte[writeData.Length / 2];
ConvertStringToByteArray(writeData, ref writeUserData);
TagAccess.WriteAccessParams writeParams = new TagAccess.WriteAccessParams();
writeParams.AccessPassword = 0;
writeParams.WriteData = writeUserData;
writeParams.WriteDataLength = (uint)writeUserData.Length;
writeParams.MemoryBank = mb;
writeParams.ByteOffset = (uint)offset;
try
{
m_RfidReader.Actions.TagAccess.WriteWait(tagId, writeParams, null);
return RFIDResults.RFID_API_SUCCESS;
}
catch (OperationFailureException e)
{
return e.Result;
}
}