// The following specifies which methods to call when tags are reported or operations are complete. // The TagsReported handler method will handle all new incoming tags static void OnTagsReported(ImpinjReader sender, TagReport report) { foreach (Tag tag in report) { double phaseAngle; phaseAngle = tag.PhaseAngleInRadians; DataRow row = DataDS.NewRow(); //给列赋值 DateTime dt = DateTime.Now; row["EPC"] = tag.Epc.ToString(); row["Doppler Shift"] = tag.RfDopplerFrequency.ToString("0.00"); row["Time"] = tag.FirstSeenTime.ToString(); row["Antenna"] = tag.AntennaPortNumber; row["Tx Power"] = txPowerValue; row["Current Frequency"] = tag.ChannelInMhz.ToString(); row["PeakRSSI"] = tag.PeakRssiInDbm.ToString(); row["Phase Angle"] = phaseAngle;//tag.PhaseAngleInRadians.ToString(); row["Phase"] = ((tag.PhaseAngleInRadians) / Math.PI) * 180; string EPCStr = tag.Epc.ToString(); //把有值的列添加到表 if (EPCStr.Contains("0030")) { IncomingTagNumber30 = IncomingTagNumber30 + 1; } else if (EPCStr.Contains("0037")) { IncomingTagNumber37 = IncomingTagNumber37 + 1; } else if (EPCStr.Contains("0059")) { IncomingTagNumber59 = IncomingTagNumber59 + 1; } else if (EPCStr.Contains("0025")) { IncomingTagNumber25 = IncomingTagNumber25 + 1; } else if (EPCStr.Contains("0044")) { IncomingTagNumber44 = IncomingTagNumber44 + 1; } else if (EPCStr.Contains("0051")) { IncomingTagNumber51 = IncomingTagNumber51 + 1; } else if (EPCStr.Contains("0016")) { IncomingTagNumber16 = IncomingTagNumber16 + 1; } else if (EPCStr.Contains("0041")) { IncomingTagNumber41 = IncomingTagNumber41 + 1; } else if (EPCStr.Contains("0060")) { IncomingTagNumber60 = IncomingTagNumber60 + 1; } else if (EPCStr.Contains("0046")) { IncomingTagNumber46 = IncomingTagNumber46 + 1; } else if (EPCStr.Contains("0047")) { IncomingTagNumber47 = IncomingTagNumber47 + 1; } else if (EPCStr.Contains("0068")) { IncomingTagNumber68 = IncomingTagNumber68 + 1; } else if (EPCStr.Contains("0035")) { IncomingTagNumber35 = IncomingTagNumber35 + 1; } else if (EPCStr.Contains("0001")) { IncomingTagNumber01 = IncomingTagNumber01 + 1; } else if (EPCStr.Contains("0017")) { IncomingTagNumber17 = IncomingTagNumber17 + 1; } else if (EPCStr.Contains("0040")) { IncomingTagNumber40 = IncomingTagNumber40 + 1; } else if (EPCStr.Contains("0045")) { IncomingTagNumber45 = IncomingTagNumber45 + 1; } else if (EPCStr.Contains("0048")) { IncomingTagNumber48 = IncomingTagNumber48 + 1; } else if (EPCStr.Contains("0054")) { IncomingTagNumber54 = IncomingTagNumber54 + 1; } else if (EPCStr.Contains("0053")) { IncomingTagNumber53 = IncomingTagNumber53 + 1; } else if (EPCStr.Contains("0052")) { IncomingTagNumber52 = IncomingTagNumber52 + 1; } else if (EPCStr.Contains("0058")) { IncomingTagNumber58 = IncomingTagNumber58 + 1; } else { } DataDS.Rows.Add(row); //DSForm.updateTaginfo(row); // DSForm.updateTaginfo((int)TagsEPC[tag.Epc.ToString()], (float)(tag.RfDopplerFrequency)); DSForm.updateTaginfo((int)TagsEPC[tag.Epc.ToString()], (float)(tag.RfDopplerFrequency));//, tag.FirstSeenTime.LocalDateTime //DSForm.updateTaginfo((int)TagsEPC[tag.Epc.ToString()], (float)(tag.RfDopplerFrequency),(int)counter); } }
// The following specifies which methods to call when tags are reported or operations are complete. // The TagsReported handler method will handle all new incoming tags static void OnTagsReported(ImpinjReader sender, TagReport report) { // This event handler is called asynchronously // when tag reports are available. // Loop through each tag in the report // and print the data. //System.Console.WriteLine("TagReport is:" + report); foreach (Tag tag in report) { //Console.WriteLine("EPC : {0} Doppler Frequency (Hz) : {1} Current Frequecy: {2} PeakRSSI :{3} PhaseAngle : {4} PhaseDegree :{5}", // tag.Epc, tag.RfDopplerFrequency.ToString("0.00"), tag.ChannelInMhz, tag.PeakRssiInDbm, tag.PhaseAngleInRadians, ((tag.PhaseAngleInRadians) / Math.PI) * 180); //if (stock.Contains(tag.Epc.ToString())) //{ //System.Console.WriteLine("TagReport is:" + tag); double phaseAngle; phaseAngle = tag.PhaseAngleInRadians; //System.Console.WriteLine("current phase is: " +tag.PhaseAngleInRadians); //System.Console.WriteLine("epc : {0} phase :{1} ", // tag.Epc, tag.PhaseAngleInRadians); DataRow row = DataDS.NewRow(); //给列赋值 DateTime dt = DateTime.Now; row["EPC"] = tag.Epc.ToString(); row["Doppler Shift"] = tag.RfDopplerFrequency.ToString("0.00"); row["Time"] = tag.FirstSeenTime.ToString(); row["Antenna"] = tag.AntennaPortNumber; row["Tx Power"] = txPowerValue; row["Current Frequency"] = tag.ChannelInMhz.ToString(); row["PeakRSSI"] = tag.PeakRssiInDbm.ToString(); row["Phase Angle"] = phaseAngle;//tag.PhaseAngleInRadians.ToString(); row["Phase"] = ((tag.PhaseAngleInRadians) / Math.PI) * 180; //row["Counter"]=1; //intIndex = TagList.IndexOf(tag.Epc.ToString()); //PreviousCounter = TagCounter[intIndex]; //PreviousCounter = PreviousCounter + 1; //TagCounter[intIndex] = PreviousCounter; string EPCStr = tag.Epc.ToString(); //把有值的列添加到表 if (EPCStr.Contains("0093")) { IncomingTagNumber93 = IncomingTagNumber93 + 1; } else if (EPCStr.Contains("0087")) { IncomingTagNumber87 = IncomingTagNumber87 + 1; } else if (EPCStr.Contains("0096")) { IncomingTagNumber96 = IncomingTagNumber96 + 1; } else { } DataDS.Rows.Add(row); //DSForm.updateTaginfo(row); // DSForm.updateTaginfo((int)TagsEPC[tag.Epc.ToString()], (float)(tag.RfDopplerFrequency)); DSForm.updateTaginfo((int)TagsEPC[tag.Epc.ToString()], (float)(tag.RfDopplerFrequency));//, tag.FirstSeenTime.LocalDateTime //DSForm.updateTaginfo((int)TagsEPC[tag.Epc.ToString()], (float)(tag.RfDopplerFrequency),(int)counter); } }