Exemplo n.º 1
0
 public static void Scan()
 {
     if (reader != null && reader.IsConnected)
     {
         if (!reader.Send(scanMsg))
         {
             throw (new Exception("开启扫描不成功!"));
         }
     }
 }
Exemplo n.º 2
0
 private void btnQuery_Click(object sender, EventArgs e)
 {
     IRP1.SysQuery_800 msg = new IRP1.SysQuery_800(0x06);
     if (reader.Send(msg))
     {
         getIP(msg.ReceivedMessage.QueryData);
     }
     else
     {
         groupBox1.Enabled = false;
     }
 }
Exemplo n.º 3
0
        // 扫描标签
        private void btnScan_Click(object sender, EventArgs e)
        {
            btnClean_Click(sender, e);

            if (reader != null && reader.IsConnected)
            {
                if (reader.Send(scanMsg))
                {
                    changeCtrlEnable("scan");
                    lblMsg.Text = "正在读卡...";
                }
            }
        }
Exemplo n.º 4
0
        // 扫描标签
        private void btnScan_Click(object sender, EventArgs e)
        {
            btnClean_Click(sender, e);

            if (reader != null && reader.IsConnected)
            {
                if (reader.Send(scanMsg))
                {
                    changeCtrlEnable("scan");
                    lblMsg.Text = "Reading tags...";
                }
            }
            //time control function
            time_period();
        }
Exemplo n.º 5
0
        void listener_OnClientConn(Socket socket, String pVer)
        {
            if (pVer == "IRP1")
            {
                IRP1.Reader reader = new IRP1.Reader(socket);

                if (reader.Connect())
                {
                    #region 激活天线
                    reader.Send(new IRP1.SysConfig_500(0x02, 0x01, new Byte[] { 0x01 }), 200);
                    #endregion
                    if (reader.IsConnected)
                    {
                        MyReader r = new MyReader();
                        r.reader = reader;
                        if (r.reader.ProtocolVersion == "IRP1")
                        {
                            r.ScanMessage = new IRP1.ReadTag(IRP1.ReadTag.ReadMemoryBank.EPC_6C);
                            r.StopMessage = new IRP1.PowerOff();//XC-RF502E-F6G
                        }
                        reader.OnMessageNotificationReceived += new MessageNotificationReceivedHandle(r_OnMessageNotificationReceived);
                        ReaderList.Add(r);
                        if (OnReaderClientConn != null)
                        {
                            OnReaderClientConn(r, EventArgs.Empty);
                        }
                    }
                }
            }
        }
Exemplo n.º 6
0
        // 扫描标签
        private void btnScan_Click(object sender, EventArgs e)
        {
            if (!a1.Checked && !a2.Checked && !a3.Checked && !a4.Checked)
            {
                MessageBox.Show("请选择一个天线!");
                return;
            }
            byte ant = 0x80;

            if (a1.Checked)
            {
                ant += 0x01;
            }
            if (a2.Checked)
            {
                ant += 0x02;
            }
            if (a3.Checked)
            {
                ant += 0x04;
            }
            if (a4.Checked)
            {
                ant += 0x08;
            }
            btnClean_Click(sender, e);
            byte[] pwd = Util.ConvertHexStringToByteArray(accessPwd);
            readmemoryBank = (GBMemoryBank)Enum.GetValues(typeof(GBMemoryBank)).GetValue(this.comboBox1.SelectedIndex);
            GB_ReadTag scanMsg = new IRP1.GB_ReadTag(ant, type, pwd, readmemoryBank, ptr, (byte)length);//扫描消息

            if (reader != null && reader.IsConnected)
            {
                if (reader.Send(scanMsg))
                {
                    changeCtrlEnable("scan");
                    lblMsg.Text = "正在读卡...";
                }
            }
        }
Exemplo n.º 7
0
 private void btn_Query_Click(object sender, EventArgs e)
 {
     IRP1.Gpi_800 order = new IRP1.Gpi_800();
     if (reader.Send(order, 1000))
     {
         Byte b = order.ReceivedMessage.QueryData[0];
         textBox8.Text = comboBox7.Items[(b & 0x02) >> 1].ToString();
         textBox9.Text = comboBox5.Items[b & 0x01].ToString();
         if (textBox2.Enabled)
         {
             textBox2.Text = comboBox10.Items[(b & 0x04) >> 2].ToString();
         }
         if (textBox1.Enabled)
         {
             textBox1.Text = comboBox9.Items[(b & 0x08) >> 3].ToString();
         }
     }
     else
     {
         groupBox2.Enabled = false;
     }
 }
Exemplo n.º 8
0
        private void btnQuery_Click(object sender, EventArgs e)
        {
            #region 天线功率查询
            {
                if (reader.ModelNumber.IndexOf("812") != -1 ||
                    reader.ModelNumber.IndexOf("825") != -1 ||
                    reader.ModelNumber.IndexOf("829") != -1 ||
                    reader.ModelNumber.IndexOf("853") != -1 ||
                    reader.ModelNumber.IndexOf("R2000") != -1 ||
                    reader.ModelNumber.IndexOf("802") != -1)
                {
                    lblpa2.Visible = false;
                    pa2.Visible    = false;
                    lblpa3.Visible = false;
                    pa3.Visible    = false;
                    lblpa4.Visible = false;
                    pa4.Visible    = false;
                }
                if (reader.ModelNumber.IndexOf("850") != -1)//850
                {
                    pa3.Visible    = false;
                    lblpa4.Visible = false;
                    pa4.Visible    = false;
                }
                Boolean isSuc = false;

                //获取功率参数表,注意:功率参数不等于功率值
                IRP1.SysQuery_800 order = new IRP1.SysQuery_800(0x68, 0x00);
                if (reader.Send(order))
                {
                    isSuc      = true;
                    isNewPower = true;

                    list = new Double[order.ReceivedMessage.QueryData.Length];
                    for (int i = 0; i < list.Length; i++)
                    {
                        list[i] = (Double)i;    //填充功率值表
                    }
                    // 填充功率表
                    for (int i = 0; i < list.Length; i++)
                    {
                        //功率参数大于0才有功率值
                        if (order.ReceivedMessage.QueryData[i] != 0x00 && i < list.Length)
                        {
                            pa1.Items.Add(list[i].ToString());
                            pa2.Items.Add(list[i].ToString());
                            pa3.Items.Add(list[i].ToString());
                            pa4.Items.Add(list[i].ToString());
                        }
                    }

                    // 查询功率值
                    IRP1.SysQuery_800 order1 = new IRP1.SysQuery_800(0x65, 0x00);
                    if (reader.Send(order1))
                    {
                        this.pa1.Text = list[order1.ReceivedMessage.QueryData[0]].ToString();
                        this.pa2.Text = list[order1.ReceivedMessage.QueryData[1]].ToString();
                        this.pa3.Text = list[order1.ReceivedMessage.QueryData[2]].ToString();
                        this.pa4.Text = list[order1.ReceivedMessage.QueryData[3]].ToString();
                    }
                }
                else
                {
                    IRP1.SysQuery_800 msg = new IRP1.SysQuery_800(0x0C, 0x00);
                    if (reader.Send(msg))
                    {
                        isSuc      = true;
                        isNewPower = false;
                        // 生成功率表
                        {
                            if (reader.ModelNumber.IndexOf("806") != -1 ||
                                reader.ModelNumber.IndexOf("860") != -1 ||
                                reader.ModelNumber.IndexOf("804") != -1 ||
                                reader.ModelNumber.IndexOf("803") != -1)
                            {
                                list = new Double[msg.ReceivedMessage.QueryData.Length];
                                for (int i = 0; i < list.Length; i++)
                                {
                                    list[i] = 20 + (Double)i / 2;
                                }
                            }
                            if (reader.ModelNumber.IndexOf("807") != -1)    //807
                            {
                                list = new Double[msg.ReceivedMessage.QueryData.Length];
                                for (int i = 0; i < list.Length; i++)
                                {
                                    list[i] = 11 + (Double)i;
                                }
                            }
                            if (reader.ModelNumber.IndexOf("850") != -1)    //850
                            {
                                list = new Double[msg.ReceivedMessage.QueryData.Length];
                                for (int i = 0; i < list.Length; i++)
                                {
                                    list[i] = 9 + (Double)i;
                                }
                            }
                            if (reader.ModelNumber.IndexOf("861") != -1)    //861
                            {
                                list = new Double[msg.ReceivedMessage.QueryData.Length];
                                for (int i = 0; i < list.Length; i++)
                                {
                                    list[i] = 9 + (Double)i;
                                }
                            }
                            if (reader.ModelNumber.IndexOf("812") != -1 ||
                                reader.ModelNumber.IndexOf("825") != -1 ||
                                reader.ModelNumber.IndexOf("829") != -1 ||
                                reader.ModelNumber.IndexOf("853") != -1 ||
                                reader.ModelNumber.IndexOf("R2000") != -1 ||
                                reader.ModelNumber.IndexOf("802") != -1)
                            {
                                list = new Double[msg.ReceivedMessage.QueryData.Length];
                                for (int i = 0; i < list.Length; i++)
                                {
                                    list[i] = (Double)i;
                                }
                            }
                        }
                        for (int i = 0; i < msg.ReceivedMessage.QueryData.Length; i++)
                        {
                            if (msg.ReceivedMessage.QueryData[i] != 0x00 && i < list.Length)
                            {
                                pa1.Items.Add(list[i].ToString());
                                pa2.Items.Add(list[i].ToString());
                                pa3.Items.Add(list[i].ToString());
                                pa4.Items.Add(list[i].ToString());
                            }
                        }

                        // 查询天线功率
                        IRP1.SysQuery_800 order1 = new IRP1.SysQuery_800(0x03);
                        if (reader.Send(order1))
                        {
                            if (order1.ReceivedMessage.QueryData[0] < list.Length)
                            {
                                this.pa1.Text = list[order1.ReceivedMessage.QueryData[0]].ToString();
                            }
                            if (order1.ReceivedMessage.QueryData[1] < list.Length)
                            {
                                this.pa2.Text = list[order1.ReceivedMessage.QueryData[1]].ToString();
                            }
                            if (order1.ReceivedMessage.QueryData[2] < list.Length)
                            {
                                this.pa3.Text = list[order1.ReceivedMessage.QueryData[2]].ToString();
                            }
                            if (order1.ReceivedMessage.QueryData[3] < list.Length)
                            {
                                this.pa4.Text = list[order1.ReceivedMessage.QueryData[3]].ToString();
                            }
                        }
                    }
                }
                if (isSuc)
                {
                    this.groupBox1.Enabled = true;
                }
                else
                {
                    this.groupBox1.Enabled = false;
                }
            }
            #endregion
        }
Exemplo n.º 9
0
        private void btn_ReadEPC_Click(object sender, EventArgs e)
        {
            lst_data.Items.Clear();


// enable RSSI to be sent in data stream

            Byte[] rssiConfig = new Byte[1];
            rssiConfig[0] = 0x01;                                                //0x00:disable,0x01:enable
            IRP1.SysConfig_800 order = new IRP1.SysConfig_800(0x14, rssiConfig); //RSSI:0x14
            if (reader.Send(order))
            {
                lbl_msg.Text = "RSSI enabled";
            }
            else
            {
                lbl_msg.Text = "RSSI disabled";
            }

// enable reader UTC to be sent in data stream
            Byte[] utcConfig = new Byte[1];
            utcConfig[0] = 0x01;//0x00:disable,0x01:enable
            IRP1.SysConfig_800 order1 = new IRP1.SysConfig_800(0x18, utcConfig);
            if (reader.Send(order1))
            {
                lbl_msg.Text = lbl_msg.Text + "UTC enabled";
            }
            else
            {
                lbl_msg.Text = lbl_msg.Text + "UTC disabled";
            }



            if (reader != null && reader.IsConnected)
            {
                if (reader.Send(msg))

                {
                    lbl_msg.Text        = lbl_msg.Text + "scan.";
                    btn_Stop.Enabled    = true;
                    btn_ReadEPC.Enabled = false;
                }
            }
        }