public void UploadTrackOut() { new Task(new Action(() => { postInfo.type = PostType.TrackOut; SetCimResult[(int)postInfo.type]("Trackout上报中...", false); CIM.LoadList(CIM.LotNum); ShowState("当前卡塞统计账料数:" + CIM.GetChipIDCnt().ToString()); if (CIM.ChipIDCount != CIM.LotNum) { ShowAlarm("统计账料数与LotNum不符,无法过账,请重新确认"); SendCIMResult(postInfo.type, NG); return; } //string returnValue = PostHelper.PostTrackOut(CIM.GetList(), PostParams.P_I.StrModelNo, out string key); string returnValue = PostHelper.PostTrackOut( CIM.GetList(), PostParams.P_I.StrModelNo, xmlCreater, out string key); if (returnValue == CIM.ReturnOK) { SetCimResult[(int)postInfo.type]("Trackout上报成功", false); postInfo.correlationID = key; Task.Factory.StartNew(FindReception, postInfo); } else { SetTrackOutResult(returnValue + "-Trackout上报失败", true); //TODO 通知plc? SendCIMResult(postInfo.type, NG); } })).Start(); }
void ConnectCIM() { try { if (ModelParams.IfCimOn) { ShowState(string.Format("导入ChipID数量:{0}", CIM.ChipIDCount)); CIM.LoadList(CIM.ChipIDCount); if (CIM.C_I.Init()) { // Task.Factory.StartNew(ReceiveHelper.Monitor); MonitorTask = Task.Factory.StartNew(ReceiveHelper.Monitor, xmlParser); SetCimStatus("CIM连接成功", false); } else { SetCimStatus("CIM连接失败", true); } } else { SetCimStatus("CIM屏蔽", true); } } catch (Exception ex) { Log.L_I.WriteError(NameClass, ex); } }