public static void Scan() { if (reader != null && reader.IsConnected) { if (!reader.Send(scanMsg)) { throw (new Exception("开启扫描不成功!")); } } }
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; } }
// 扫描标签 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 = "正在读卡..."; } } }
// 扫描标签 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(); }
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); } } } } }
// 扫描标签 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 = "正在读卡..."; } } }
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; } }
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 }
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; } } }