コード例 #1
0
ファイル: Form1.cs プロジェクト: Moveofself/Test001
        private void ThreadPoolFunction()
        {
            string sStrip = "N080";
            int    j      = 50000;

            EAPOutput output = new EAPOutput();
            RecordResultByStripInput recordStrip = new RecordResultByStripInput();

            recordStrip.EquipmentId    = "TEST";
            recordStrip.LotId          = "RTC926N010.007";
            recordStrip.MESCurrentStep = "STD_WireBond_Step";
            recordStrip.StripRows      = "8";
            recordStrip.StripColumns   = "28";

            recordStrip.BinCodeSeparator      = ",";
            recordStrip.StripBinCodeMap       = ".,.,.,.,.,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;.,.,.,.,.,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;.,.,.,.,.,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;.,.,.,.,.,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;.,.,.,.,.,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;.,.,.,.,.,.,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;.,.,.,.,.,.,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;.,.,.,.,.,.,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0";
            recordStrip.StripEqpBinCodeMap    = "0086,0086,0086,0086,0086,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000;0086,0086,0086,0086,0086,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000;0086,0086,0086,0086,0086,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000;0086,0086,0086,0086,0086,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000;0086,0086,0086,0086,0086,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000;0086,0086,0086,0086,0086,0086,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000;0086,0086,0086,0086,0086,0086,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000;0086,0086,0086,0086,0086,0086,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000";
            recordStrip.IgnoreStripEqpBinCode = "0000";
            recordStrip.OutputMagazineId      = "QQQQ";

            MesMessage.InitMesMessage(true);
            while (true)
            {
                for (int i = 0; i < 1000; i++)
                {
                    recordStrip.StripId = sStrip + j.ToString();
                    output = MesMessage.TransferData <RecordResultByStripInput>(recordStrip);
                    j++;
                }
                Thread.Sleep(50);
            }
        }
コード例 #2
0
        public ExecuteResult Execute()
        {
            ExecuteResult result = new ExecuteResult();

            try
            {
                CurrentLogViewModel.AppendLineToUI(String.Format((String)Application.Current.FindResource("InfoMessage_TrackInToMes"), AoLotId), LogLevel.Info);

                TrackInInput trackInInput = new TrackInInput();

                trackInInput.EquipmentId    = EquipmentId;
                trackInInput.LotId          = AoLotId;
                trackInInput.MESCurrentStep = Step;

                EAPOutput output = null;



                output = MesMessage.Send <TrackInInput>(trackInInput);

                result.TransactionId = trackInInput.TransactionId;
                result.Data.Add("OutputMessage", output.OutputMessage);

                if (!output.ErrCode.Equals("0"))
                {
                    String errorMessage = String.Empty;

                    Object langResource = Application.Current.TryFindResource("Language");

                    if (langResource != null && langResource.ToString().Equals("zh-CN"))
                    {
                        errorMessage = String.Format((String)Application.Current.FindResource("WariningMessage_TrackInToMesReturnError"), output.ErrCode, output.CNErrMsg);
                    }
                    else
                    {
                        errorMessage = String.Format((String)Application.Current.FindResource("WariningMessage_TrackInToMesReturnError"), output.ErrCode, output.ENErrMsg);
                    }

                    CurrentLogViewModel.AppendLineToUI(errorMessage, LogLevel.Warn);

                    result.ErrorCode = output.ErrCode.ToString();
                    result.ErrorText = String.Format((String)CommonParameter.EnLangResourceDictionary["WariningMessage_TrackInToMesReturnError"], output.ErrCode, output.ENErrMsg);
                }
                else
                {
                    CurrentLogViewModel.AppendLineToUI((String)Application.Current.FindResource("InfoMessage_TrackInToMesSuccess"), LogLevel.Info);
                }
            }
            catch (Exception ex)
            {
                Log.Logger.Error(ex);
                CurrentLogViewModel.AppendLineToUI(String.Format((String)Application.Current.FindResource("ErrorMessage_TrackInToMesUnknownError"), ex.Message), LogLevel.Error);
                result.ErrorCode = "2999";
                result.ErrorText = "[ATS] TrackIn to MES Unkown Error";
            }

            return(result);
        }
コード例 #3
0
        public static EAPOutput Send <T>(CommonInput inputObj) where T : CommonInput
        {
            EAPOutput output = new EAPOutput();

            try
            {
                lock (SyncObj)
                {
                    EAPInput input = new EAPInput();

                    input.InputMessage = inputObj.GetInputMessage <T>((T)inputObj);

                    Log.Logger.Info(String.Format("[ATS Request]:" + "\r\n" + "{0}", input.InputMessage));

                    output = _MessageExchangeServiceClient.EAPRequest(input);
                    XDocument xdoc;
                    try
                    {
                        Log.Logger.DebugFormat("[MES Reply]::ErrorCode: {0}, CnErrorText: {1}, EnErrorText: {2}", output.ErrCode, output.CNErrMsg, output.ENErrMsg);

                        if (String.IsNullOrEmpty(output.OutputMessage))
                        {
                            throw new MessageIsEmptyException();
                        }

                        xdoc = XDocument.Parse(output.OutputMessage);
                        var formattedXml = (xdoc.Declaration != null ? xdoc.Declaration + "\r\n" : "") + xdoc.ToString();
                        Log.Logger.InfoFormat("[MES Reply]:Message:" + "\r\n" + "{0}", formattedXml.ToString());
                    }
                    catch (Exception e)
                    {
                        Log.Logger.DebugFormat("[MES Reply]: OutputMessage: {0}", output.OutputMessage);

                        throw e;
                    }

                    String equipmentId   = xdoc.Root.Element("EquipmentId").Value;
                    String transactionId = xdoc.Root.Element("TransactionId").Value;

                    if (xdoc.Root.Name.Equals(inputObj.GetReplyRootName))
                    {
                        throw new MesReplyMisMatchException();
                    }
                    if (!inputObj.EquipmentId.Equals(equipmentId))
                    {
                        throw new EquipmentIdMisMatchException();
                    }
                    if (!inputObj.TransactionId.Equals(transactionId))
                    {
                        throw new TransactionIdMisMatchException();
                    }

                    return(output);
                }
            }
            catch (MessageIsEmptyException ex)
            {
                Log.Logger.Error(ex.Message);
                //LogShown.RecordLog((String)Application.Current.FindResource("WariningMessage_TrackInToMesOutputMessageIsEmpty"), LogLevel.Warn);
                output.ErrCode = "2000";
                //output.ENErrMsg = (String)CommonParameter.EnLangResourceDictionary["WariningMessage_TrackInToMesOutputMessageIsEmpty"];
            }
            catch (EquipmentIdMisMatchException ex)
            {
                Log.Logger.Error(ex.Message);
                //LogShown.RecordLog((String)Application.Current.FindResource("WariningMessage_TrackInToMesEquipmentIdMisMatch"), LogLevel.Warn);
                output.ErrCode = "2001";
                //output.ENErrMsg = (String)CommonParameter.EnLangResourceDictionary["WariningMessage_TrackInToMesEquipmentIdMisMatch"];
            }
            catch (TransactionIdMisMatchException ex)
            {
                Log.Logger.Error(ex.Message);
                //LogShown.RecordLog((String)Application.Current.FindResource("WariningMessage_TrackInToMesTransactionIdMisMatch"), LogLevel.Warn);
                output.ErrCode = "2002";
                //output.ENErrMsg = (String)CommonParameter.EnLangResourceDictionary["WariningMessage_TrackInToMesTransactionIdMisMatch"];
            }
            catch (EndpointNotFoundException ex)
            {
                Log.Logger.Error(ex.Message);
                //LogShown.RecordLog((String)Application.Current.FindResource("WariningMessage_TrackInToMesEndpointNotFound"), LogLevel.Warn);
                output.ErrCode = "2003";
                //output.ENErrMsg = (String)CommonParameter.EnLangResourceDictionary["WariningMessage_TrackInToMesEndpointNotFound"];
            }
            catch (TimeoutException ex)
            {
                Log.Logger.Error(ex.Message);
                //LogShown.RecordLog((String)Application.Current.FindResource("WariningMessage_TrackInToMesTimeout"), LogLevel.Warn);
                output.ErrCode = "2004";
                //output.ENErrMsg = (String)CommonParameter.EnLangResourceDictionary["WariningMessage_TrackInToMesTimeout"];
            }
            catch (Exception ex)
            {
                Log.Logger.Error(ex);
                //LogShown.RecordLog(String.Format((String)Application.Current.FindResource("ErrorMessage_TrackInToMesUnknownError"), ex.Message), LogLevel.Error);
                output.ErrCode  = "2999";
                output.ENErrMsg = "[ATS] TrackIn to MES Unkown Error";
            }
            return(output);
        }