/// <summary> /// 条码读取线程,关闭条码机,获取读到条码 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void timBCRReadTimeOut_Elapsed(object sender, System.Timers.ElapsedEventArgs e) { timBCRReadTimeOut.Stop(); if (DateTime.Now > dtBCRReadTime.AddMilliseconds(intBCRReadTimeOut)) { serialPort.Write(bytarTriggerOff, 0, bytarTriggerOff.Length); strResultID = serialPort.ReadExisting().Replace("\n", ""); switch (enuBCRSts) { case BCRSts.Reading: strResultID = serialPort.ReadExisting().Replace("\n", ""); if (!string.IsNullOrWhiteSpace(strResultID)) { enuBCRSts = BCRSts.ReadFinish; serialPort.Write(bytarTriggerOff, 0, bytarTriggerOff.Length); InitSys.funWriteLog("BCR_Trace", strBCRName + "|TimeOut1|" + strResultID + "|" + enuBCRSts); } else { strResultID = strError; enuBCRSts = BCRSts.ReadFinish; serialPort.Write(bytarTriggerOff, 0, bytarTriggerOff.Length); InitSys.funWriteLog("BCR_Trace", strBCRName + "|TimeOut2|" + strResultID + "|" + enuBCRSts); } break; default: break; } } else { timBCRReadTimeOut.Start(); } }
/// <summary> /// 获取读到条码 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void serialPort_DataReceived(object sender, SerialDataReceivedEventArgs e) { try { timBCRReadTimeOut.Stop(); switch (enuBCRSts) { case BCRSts.Reading: strResultID = serialPort.ReadExisting().Replace("\n", ""); if (!string.IsNullOrWhiteSpace(strResultID)) { enuBCRSts = BCRSts.ReadFinish; serialPort.Write(bytarTriggerOff, 0, bytarTriggerOff.Length); InitSys.funWriteLog("BCR_Trace", strBCRName + "|DataReceived1|" + strResultID + "|" + enuBCRSts); } else { strResultID = strError; enuBCRSts = BCRSts.ReadFinish; serialPort.Write(bytarTriggerOff, 0, bytarTriggerOff.Length); InitSys.funWriteLog("BCR_Trace", strBCRName + "|DataReceived2|" + strResultID + "|" + enuBCRSts); } break; default: break; } } catch (Exception ex) { MethodBase methodBase = MethodBase.GetCurrentMethod(); InitSys.funWriteLog("Exception", methodBase.DeclaringType.FullName + "|" + methodBase.Name + "|" + ex.Message); } }
public BCR(string bCRName, string port, int bCRReadTimeOut, string bufferName, int bufferIndex) { strBCRName = bCRName; intBCRReadTimeOut = bCRReadTimeOut; strPort = port; strResultID = string.Empty; enuBCRSts = BCRSts.None; strBufferName = bufferName; intBufferIndex = bufferIndex; bytarTriggerOn = new byte[3]; bytarTriggerOn[0] = 0x16; bytarTriggerOn[1] = 0x54; bytarTriggerOn[2] = 0x0D; bytarTriggerOff = new byte[3]; bytarTriggerOff[0] = 0x16; bytarTriggerOff[1] = 0x55; bytarTriggerOff[2] = 0x0D; }
public bool funTriggerBCROn2(ref string errMsg) { try { serialPort.DiscardInBuffer(); serialPort.DiscardOutBuffer(); strResultID = string.Empty; enuBCRSts = BCRSts.Reading; dtBCRReadTime = DateTime.Now; timBCRReadTimeOut.Start(); return(true); } catch (Exception ex) { MethodBase methodBase = MethodBase.GetCurrentMethod(); InitSys.funWriteLog("Exception", methodBase.DeclaringType.FullName + "|" + methodBase.Name + "|" + ex.Message); return(false); } }
public void funClear() { strResultID = string.Empty; enuBCRSts = BCRSts.None; InitSys.funWriteLog("BCR_Trace", strBCRName + "|Clear!|" + strResultID + "|" + enuBCRSts); }