private void MQ_singleArrivalEvent(string data) { ShowMsg(data); MsgBase msg = null; try { msg = JsonConvert.DeserializeObject <MsgBase>(data); } catch (Exception ex) { string errMsg = "协议格式错误!"; MyLog.WriteLog(errMsg, ex); ShowMsg(errMsg); return; } //判断时间戳在启动时间之前的信息丢弃 DateTime dtMsg; if (DateTime.TryParse(msg.time_stamp, out dtMsg)) { if (dtMsg < dtStart) { return; } } List <string> jiaobiaoNos = new List <string>() { "E00113", "E00114", "E00115", "E00117", "E02001", "E02101", "E02201"//先跑初调1和复校1 }; try { if (msg.MESSAGE_TYPE == "plc") { if (!jiaobiaoNos.Contains(msg.NO)) { return; } var dev = DeviceBase.GetDevice(msg.NO); PLCMsg plcMsg = JsonConvert.DeserializeObject <PLCMsg>(data); dev.DoWork(plcMsg); this.Dispatcher.Invoke(() => { if (!dgDevices.Items.Contains(dev)) { dgDevices.Items.Add(dev); } }); } } catch (Exception ex) { ShowMsg(ex.Message + ex.StackTrace); } }