Esempio n. 1
0
        // 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);
            }
        }
Esempio n. 2
0
        // 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);
            }
        }