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();
        }
Ejemplo n.º 2
0
 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);
     }
 }