public override ReturnValueInfo Connect() { ReturnValueInfo rvInfo = new ReturnValueInfo(); try { DateTime dtStart = DateTime.Now.Date; DateTime dtEnd = DateTime.Now.Date.AddHours(1); // 在自检时段内并且未完成自检,则重复发送时间获取时间的指令 if (DateTime.Now > dtStart && DateTime.Now < dtEnd) { this._currentDataType = EnumRecDataMode.AdjustTimeMode; } else { this._currentDataType = EnumRecDataMode.CollectRecordMode; } base.IsReading = false; InitComPort(); rvInfo.IsSuccess = true; } catch (Exception ex) { rvInfo.IsSuccess = false; rvInfo.MessageText = ex.Message; } return(rvInfo); }
/// <summary> /// 闲时获取机器的内部时间值并作校验 /// </summary> void _tmrCheckTime_Elapsed(object sender, System.Timers.ElapsedEventArgs e) { if (this.DicReaderExDetails == null) { return; } DateTime dtStart = DateTime.Now.Date; DateTime dtEnd = DateTime.Now.Date.AddHours(1); if (DateTime.Now > dtStart && DateTime.Now < dtEnd)// 在自检时段内并且未完成自检,则重复发送时间获取时间的指令 { if (this._currentDataType != EnumRecDataMode.AdjustTimeMode) { if (this._tmrReadData.Enabled) { this._tmrReadData.Stop(); } this._currentDataType = EnumRecDataMode.AdjustTimeMode; } OrderSend_GetMacTime(base.MachineID); } else { if (this._currentDataType != EnumRecDataMode.CollectRecordMode) { foreach (KeyValuePair <int, ReaderExDetailInfo> detailPair in DicReaderExDetails) { if (detailPair.Value.Ex_dtLastTimeChk.Date < DateTime.Now.AddMinutes(-5) || detailPair.Value.Ex_dtLastTimeChk.Date > DateTime.Now.AddMinutes(5)) { if (detailPair.Value.Ex_dtLastTimeChk == DateTime.MinValue || detailPair.Value.CurrentStatus == EnumEquipmentStatus.Disconneted) { //读写器未连接或检查时间未被刷新时不作错误提醒 continue; } if (!detailPair.Value.Ex_lIsSendTimeChkWarning && detailPair.Value.CurrentStatus != EnumEquipmentStatus.TimeException) { ReaderExceptionEventArgs readerEx = new ReaderExceptionEventArgs(); readerEx.EquipmentStatus = EnumEquipmentStatus.TimeException; readerEx.MachineID = detailPair.Value.Ex_MacID; readerEx.ExceptionObject = new Exception("机器时间有误,机号:" + readerEx.MachineID); OnReaderException(readerEx); detailPair.Value.CurrentStatus = EnumEquipmentStatus.TimeException; detailPair.Value.Ex_lIsSendTimeChkWarning = true; } } } OrderSend_ResetTime("255"); if (!this._tmrReadData.Enabled) { this._tmrReadData.Start(); } this._currentDataType = EnumRecDataMode.CollectRecordMode; } } }
public override List <TagInformationInfo> GetTagList(string strAntennaNum) { this._isReading = true; this._currentDataType = EnumRecDataMode.CollectRecordMode; OrderSend_GetBatchData(Convert.ToInt32(strAntennaNum)); //this.Invoke(new DelegateDataReceiving(DataReceive)); DataReceive(); return(null); }
public override ReturnValueInfo StartRead() { ReturnValueInfo rvInfo = new ReturnValueInfo(); try { if (!this._isConnected) { rvInfo.MessageText = "设备未连接。"; rvInfo.IsSuccess = false; return(rvInfo); } this._currentDataType = EnumRecDataMode.AdjustTimeMode; if (this._tmrReadBatchData != null) { this._tmrReadBatchData.Start(); } if (this._tmrChkNullData != null) { this._tmrChkNullData.Start(); } if (this._tmrCheckTime != null) { this._tmrCheckTime.Start(); } if (this._tmrReceiveData != null) { this._tmrReceiveData.Start(); } this._isReading = true; } catch (Exception ex) { rvInfo.MessageText = ex.Message; } rvInfo.IsSuccess = true; return(rvInfo); }