public void ShowEPC(object sender, Command.ShowEPCEventArgs e) { try { _epc_t MultiID = e.MultiEPC; bool isexit = false; for (int index = 0; index < epcs_list.Count; index++) { if ((epcs_list[index].epc == MultiID.epc) && (epcs_list[index].dev == MultiID.dev)) { MultiID.count = epcs_list[index].count + 1; epcs_list[index] = MultiID; isexit = true; break; } } if (!isexit) { epcs_list.Add(MultiID); } } catch (Exception ex) { new LogWriter(ex); } }
public void ShowEPC(object sender, Command.ShowEPCEventArgs e) { // UpdateLog(e.CommandRespond); // string[] result = e.CommandRespond.Split(','); string[] result = (e.CommandRespond + "," + flag).Split(','); //每条命令后面加一个flag 用于循环盘存EPC显示 byte type = Convert.ToByte(result[1], 16); switch (type) { case Types.GET_MAC_ADD_RESPOND: COM_DevID = PrivateStringFormat.shortTolongNum(result[4]); string bz_str = ""; if (COM_DevID.Length < 15) { int bz_len = 15 - COM_DevID.Length; for (int i = 0; i < bz_len; i++) { bz_str += "0"; } COM_DevID = COM_DevID.Substring(0, 2) + bz_str + COM_DevID.Substring(2, 11); } // UpdateLBM(result); // 乔佳 2018-7-27 网络参数页面获取长编码 // UpdateMac(result); break; default: break; } }
/// <summary> /// 读取数据参数回调 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void ShowEPC(object sender, Command.ShowEPCEventArgs e) { try { string[] result = e.CommandRespond.Split(','); byte type = Convert.ToByte(result[1], 16); switch (type) { //读取标签 case Types.READ_TAGS_RESPOND: if (result[2] == "1" && result[3] == "000000000000000000000000") { string resultEPC = ReaderControllor.WriteTags(ReaderControllor.GetClientInfo()[0], "", 0x00, "", 0, 0, 4, txtKillPassword.Text + txtEPCpassWord.Text); RFIDWriteState.Operate = RFIDWriteState.WritePassword; } else if (result[2] == "1" && result[3] != "000000000000000000000000") { //检测二维码标签是否与RFID标签相同 if (result[3] == ComReciveData[0]) { //发送给PLC Access.UpdataOneCheck(result[3], Access.Havewrite); this.Invoke(UpDataTableWrite, new object[] { txtWriteData.Text, Access.Havewrite }); //发送写标成功信号,500毫秒的低电平,PLC电平触发任务 Sleep(500, 2); } else { Access.UpdataOneCheck(txtWriteData.Text, Access.FailCheck); this.Invoke(UpDataTableCheck, new object[] { result[3], Access.FailCheck }); } } //标签损坏 else if (result[2] != "1") { Access.UpdataOneWirte(txtWriteData.Text, Access.WriteFail); this.Invoke(UpDataTableWrite, new object[] { txtWriteData.Text, Access.WriteFail }); } break; //写标签 case Types.WRITE_TAGS_RESPOND: if (result[2] == "1" && RFIDWriteState.Operate == RFIDWriteState.WritePassword) { AsyncSocketState WorkingReader = ReaderControllor.GetClientInfo()[0]; //判断数据长度是否为24位,若不是24位自动补够24位 String Writedata = txtWriteData.Text; if (txtWriteData.Text.Length < 24) { Writedata = Writedata.PadRight(24, '0'); } string resultRPC = ReaderControllor.WriteTags(ReaderControllor.GetClientInfo()[0], "", 0x00, "", 1, 2, 6, Writedata); RFIDWriteState.Operate = RFIDWriteState.WriteEPC; } else if (result[2] == "1" && RFIDWriteState.Operate == RFIDWriteState.WriteEPC) { string resultEPCLock = ReaderControllor.LockTags(ReaderControllor.GetClientInfo()[0], txtEPCpassWord.Text, 254, "", new byte[] { 3, 192, 160 }); RFIDWriteState.Operate = RFIDWriteState.LockTags; } break; //锁标签 case Types.LOCK_TAGS_RESPOND: //锁RFID标签成功 if (result[2] == "1" && RFIDWriteState.Operate == RFIDWriteState.LockTags) { //跟新数据状态 Access.UpdataOneWirte(txtWriteData.Text, Access.Havewrite); this.Invoke(UpDataTableWrite, new object[] { txtWriteData.Text, Access.Havewrite }); //发送写标成功信号,500毫秒的低电平,PLC电平触发任务 Sleep(500, 1); //给激光喷码机发送数据 MarkingPort.Write(txtWriteData.Text); } break; } } catch (Exception ex) { Console.Write(ex.Message); } }
private void ShowData(object sender, Command.ShowEPCEventArgs e) { string[] result = (e.CommandRespond + "," + flag).Split(','); //每条命令后面加一个flag 用于循环盘存EPC显示 byte type = Convert.ToByte(result[1], 16); readDataTimer.Tick += new EventHandler(timeCycle); readDataTimer.Interval = new TimeSpan(0, 0, 0, 1); switch (type) { case Types.START_MULTI_EPC_RESPOND: case Types.START_SINGLE_EPC_RESPOND: string ants = "天线:" + result[4].ToString() + "/", srfid = "卡号:" + result[5].ToString().Replace("-", "") + "/", times = "相对时间:" + result[8].ToString() + "/", ips = "端口:" + result[10].ToString() + "/", counts = "次数:" + result[11].ToString() + "/", stimes = "接收时间:" + result[12].ToString(); read_rfid = ants + srfid + counts + stimes + "\n"; isstate = 2; //this.Dispatcher.BeginInvoke(DispatcherPriority.Normal, // (System.Threading.ThreadStart) delegate() // { // listinfo.DataContext = ""; // Thread.Sleep(TimeSpan.FromSeconds(1)); // listinfo.AppendText(read_rfid ); // }); //readDataTimer.Start(); //if (isSourceDataSave) //{ // GetSourceData(result); // UpdateMultiEPC(result); // 开始保存原始数据 // NNNum = NNNum + 1; // 记录每秒读标速度 // if (IsTagDoor == true) // { // updatedoor(); // } //} //else //{ // UpdateMultiEPC(result); // NNNum = NNNum + 1; // if (IsTagDoor == true) // { // updatedoor(); // } //} // dev_version = "97"; break; case Types.GET_MAC_ADD_RESPOND: COM_DevID = PrivateStringFormat.shortTolongNum(result[4]); string bz_str = ""; if (COM_DevID.Length < 15) { int bz_len = 15 - COM_DevID.Length; for (int i = 0; i < bz_len; i++) { bz_str += "0"; } COM_DevID = COM_DevID.Substring(0, 2) + bz_str + COM_DevID.Substring(2, 11); } isstate = 1; readDataTimer.Start(); // UpdateLBM(result); // 乔佳 2018-7-27 网络参数页面获取长编码 // UpdateMac(result); break; default: break; } }