Esempio n. 1
0
        public void UpdateTag(FolaTagData tag)
        {
            tag.WorkOrderVersion = Convert.ToChar(textBoxVersion.Text);
            //int lastStep = int.Parse(txtLaststep.Text) - 1;
            //tag.LastStep         = lastStep ;
            tag.LastStep  = int.Parse(txtLaststep.Text);
            tag.CarrierID = txtCarrierId.Text;
            tag.WorkOrder = txtWorkorder.Text;

            tag[0].HgaSN = txtHeadNum1.Text;
            tag[1].HgaSN = txtHeadNum2.Text;
            tag[2].HgaSN = txtHeadNum3.Text;
            tag[3].HgaSN = txtHeadNum4.Text;
            tag[4].HgaSN = txtHeadNum5.Text;
            tag[5].HgaSN = txtHeadNum6.Text;
            tag[6].HgaSN = txtHeadNum7.Text;
            tag[7].HgaSN = txtHeadNum8.Text;
            tag[8].HgaSN = txtHeadNum9.Text;
            tag[9].HgaSN = txtHeadNum10.Text;


            //ZJ Marked
            //tag[0].out = txtHeadstatus1.Text[0] ;
            //tag[1].OutgoingStatus = txtHeadstatus2.Text[0] ;
            //tag[2].OutgoingStatus = txtHeadstatus3.Text[0] ;
            //tag[3].OutgoingStatus = txtHeadstatus4.Text[0] ;
            //tag[4].OutgoingStatus = txtHeadstatus5.Text[0] ;
            //tag[5].OutgoingStatus = txtHeadstatus6.Text[0] ;
            //tag[6].OutgoingStatus = txtHeadstatus7.Text[0] ;
            //tag[7].OutgoingStatus = txtHeadstatus8.Text[0] ;
            //tag[8].OutgoingStatus = txtHeadstatus9.Text[0] ;
            //tag[9].OutgoingStatus = txtHeadstatus10.Text[0];
        }
Esempio n. 2
0
        private QState StateWaitForOutputCarrierComplete(IQEvent qEvent)
        {
            LogStateInfo(_processName, System.Reflection.MethodBase.GetCurrentMethod().Name, qEvent);

            if (qEvent.IsSignal(SigStateJob))
            {
                _retryCountSaveTDF      = 0;
                _retryCountSendSeatrack = 0;
                if (RecallDeferredSignal(HSTWorkcell.SigOutputProcessDataComplete))
                {
                    UpdateSignalRecipient(HSTWorkcell.SigOutputProcessDataComplete);
                }

                return(null);
            }

            if (qEvent.IsSignal(HSTWorkcell.SigOutputProcessDataComplete))
            {
                var outputData = (object[])(qEvent as QEvent).EventObject;
                if (outputData != null)
                {
                    _currentFolaTagInfo      = (FolaTagData)outputData[0];
                    _currentOutputRunCarrier = (Carrier)outputData[1];
                }

                TransitionTo(stateSentSeatrackData);
                return(null);
            }
            return(stateRun);
        }
Esempio n. 3
0
        private void InitTagData()
        {
            switch (TagType)
            {
            case TagType.HGA_FOLA: TagData = new FolaTagData(); break;

            case TagType.HGA_BOLA:
            case TagType.HGA_BOLA2: TagData = new BolaTagData(); break;
            }
        }
        void Controller_OnRFIDOutputStationReadDone(FolaTagData tag)
        {
            if (tag == null)
            {
                return;
            }

            this.BeginInvoke((MethodInvoker) delegate
            {
                txtLoadCarrierID.Text = tag.CarrierID;
                for (int i = 0; i < tag.CarrierSize; i++)
                {
                    listViewLoad.Items[i].SubItems[1].Text = tag[i].HgaSN;
                    listViewLoad.Items[i].SubItems[2].Text = tag[i].Status.ToString();
                }
            });
        }
Esempio n. 5
0
        private void btnTestHgaFola_Click(object sender, EventArgs e)
        {
            //FolaTagDataForm form = new FolaTagDataForm();
            //form.ShowDialog();

            FolaReader  folaTag  = new FolaReader();
            FolaTagData folaData = new FolaTagData();

            try
            {
                // Don't forget to place file GCL52FW.DLL and RFID.DLL in the same directory with this executable file
                // Both files are in "lib" directory

                // FOLA = Read/Write Carrier Tag

                folaTag.PortSettings.PortName = "COM9"; // Don't need to set another values (baud rate, parity, databit, stopbit) , leave them default.
                folaTag.Initialize(false);

                // --- Read ----
                folaTag.ReadRFIDTag(0, ref folaData);  // Read from Head 0
                //folaData.CarrierID <- Carrier ID
                // folaData.WorkOrder <- WorkOrder
                // folaData.WorkOrderVersion <- WorkOrder Version
                // folaData[0].HgaSN <-- 1st HGA Serial Number
                // folaData[0].Status <-- 1st HGA Status
                // .....
                // .....
                // folaData[9].HgaSN <-- last HGA Serial Number
                // folaData[9].Status <-- last HGA Status

                //folaData[0].HgaSN = "DDDDDDDDDD";
                //folaData[0].Status = 'A';
                //folaData.SetProcessStepData(5, 'V', new StringBuilder("ZZZZZZ"));
                //folaData.LastStep = 6;
                //folaData.ProcStep[5].StationCode = folaData.ProcStep[4].StationCode;
                //folaData.ProcStep[5].ProcessRecipe = folaData.ProcStep[4].ProcessRecipe;
                //folaData.LastStep = 8;

                //folaTag.WriteRFIDTag(0, folaData);

                //folaData = folaTag.ReadRFIDTag(0);

                // --- Write ----

                //folaData[0].HgaSN = "XYZ100001D"; // 10 digig HGA serial number , for loading S/N will be generated by the machine
                //// the s/n is generated from carrier id(3)+slot(1)+cycle count(5)+check sum(1) = totally 10 digit
                //// use below functions to generate serial number
                //folaData[0].Status = 'A'; // HGA Status A = Pass , B = Fail
                //// .....
                //folaData[9].HgaSN = "XYZA00001Z";
                //folaData[9].Status = 'A';


                //// For CLU , write count must be plus one everytime
                //folaData.WriteCount++;

                //// Get Process Step from WorkOrder [Process]
                //folaData.ProcStep[0].StationCode = 'A'; // <-- ProcessStep1=A
                //folaData.ProcStep[0].ProcessRecipe = "SLS-1"; // <-- ProgramName1=SLS-1
                //folaData.ProcStep[1].StationCode = 'C'; // <-- ProcessStep2=C
                //folaData.ProcStep[1].ProcessRecipe = "SAS-1"; // <-- ProgramName2=SAS-1
                //folaData.ProcStep[2].StationCode = 'Q'; // <-- ProcessStep3=Q
                //folaData.ProcStep[2].ProcessRecipe = "SUL-1"; // <-- ProgramName3=SUL-1
                //folaData.ProcStep[3].StationCode = ' ';
                //folaData.ProcStep[3].ProcessRecipe = "";
                //// .....
                //folaData.ProcStep[folaData.MaxProcStep - 1].StationCode = ' ';
                //folaData.ProcStep[folaData.MaxProcStep - 1].ProcessRecipe = "";

                //folaData.LastStep = 1; // CLU Load Module is station code A , process step = 1 <- set laststep = process step

                // WriteRFIDTag(RFHead rfHead, FolaTagData tag, bool reReadBeforeWrite, bool writeProcessStep)
                // reReadBeforeWrite , true = compare the carrierID inside the RF tag and carrierID inside FolaTagData before writing to prevent wrong carrier writing.
                // writeProcessStep , true = write Process Step/Setup File too, For CLU must set as true.
                // WriteRFIDTag will not write CarrierID
                //folaTag.WriteRFIDTag(0, folaData, true);

                //byte checksum = folaTag.ReadCheckSum(0);
                //folaTag.WriteCheckSum(0, 0xac);

                MessageBox.Show("Done");
            }
            catch (ExceptionRFID ex)
            {
                MessageBox.Show(ex.Message);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }

            folaTag.ShutDown();
        }
Esempio n. 6
0
        // Methods -------------------------------------------------------------

        public void DisplayTagData(FolaTagData tag)
        {
            textBoxVersion.Text = tag.WorkOrderVersion.ToString();
            txtWritecount.Text  = tag.WriteCount.ToString();
            lblChecksum.Text    = tag.CheckSum.ToString();
            //int lastStep = tag.LastStep + 1;
            //txtLaststep.Text = lastStep.ToString();
            txtLaststep.Text  = tag.LastStep.ToString();
            txtCarrierId.Text = tag.CarrierID;
            txtWorkorder.Text = tag.WorkOrder;

            // serial numbers
            txtHgaSerialNum1.Text  = tag[0].HgaSN;
            txtHgaSerialNum2.Text  = tag[1].HgaSN;
            txtHgaSerialNum3.Text  = tag[2].HgaSN;
            txtHgaSerialNum4.Text  = tag[3].HgaSN;
            txtHgaSerialNum5.Text  = tag[4].HgaSN;
            txtHgaSerialNum6.Text  = tag[5].HgaSN;
            txtHgaSerialNum7.Text  = tag[6].HgaSN;
            txtHgaSerialNum8.Text  = tag[7].HgaSN;
            txtHgaSerialNum9.Text  = tag[8].HgaSN;
            txtHgaSerialNum10.Text = tag[9].HgaSN;

            txtHeadNum1.Text  = tag[0].HgaSN;
            txtHeadNum2.Text  = tag[1].HgaSN;
            txtHeadNum3.Text  = tag[2].HgaSN;
            txtHeadNum4.Text  = tag[3].HgaSN;
            txtHeadNum5.Text  = tag[4].HgaSN;
            txtHeadNum6.Text  = tag[5].HgaSN;
            txtHeadNum7.Text  = tag[6].HgaSN;
            txtHeadNum8.Text  = tag[7].HgaSN;
            txtHeadNum9.Text  = tag[8].HgaSN;
            txtHeadNum10.Text = tag[9].HgaSN;

            txtHeadstatus1.Text  = tag[0].Status.ToString();
            txtHeadstatus2.Text  = tag[1].Status.ToString();
            txtHeadstatus3.Text  = tag[2].Status.ToString();
            txtHeadstatus4.Text  = tag[3].Status.ToString();
            txtHeadstatus5.Text  = tag[4].Status.ToString();
            txtHeadstatus6.Text  = tag[5].Status.ToString();
            txtHeadstatus7.Text  = tag[6].Status.ToString();
            txtHeadstatus8.Text  = tag[7].Status.ToString();
            txtHeadstatus9.Text  = tag[8].Status.ToString();
            txtHeadstatus10.Text = tag[9].Status.ToString();

            // process info
            txtStep1.Text  = tag.ProcStep[0].StationCode.ToString();
            txtStep2.Text  = tag.ProcStep[1].StationCode.ToString();
            txtStep3.Text  = tag.ProcStep[2].StationCode.ToString();
            txtStep4.Text  = tag.ProcStep[3].StationCode.ToString();
            txtStep5.Text  = tag.ProcStep[4].StationCode.ToString();
            txtStep6.Text  = tag.ProcStep[5].StationCode.ToString();
            txtStep7.Text  = tag.ProcStep[6].StationCode.ToString();
            txtStep8.Text  = tag.ProcStep[7].StationCode.ToString();
            txtStep9.Text  = tag.ProcStep[8].StationCode.ToString();
            txtStep10.Text = tag.ProcStep[9].StationCode.ToString();
            txtStep11.Text = tag.ProcStep[10].StationCode.ToString();
            txtStep12.Text = tag.ProcStep[11].StationCode.ToString();
            txtStep13.Text = tag.ProcStep[12].StationCode.ToString();
            txtStep14.Text = tag.ProcStep[13].StationCode.ToString();

            txtFilename1.Text  = tag.ProcStep[0].ProcessRecipe;
            txtFilename2.Text  = tag.ProcStep[1].ProcessRecipe;
            txtFilename3.Text  = tag.ProcStep[2].ProcessRecipe;
            txtFilename4.Text  = tag.ProcStep[3].ProcessRecipe;
            txtFilename5.Text  = tag.ProcStep[4].ProcessRecipe;
            txtFilename6.Text  = tag.ProcStep[5].ProcessRecipe;
            txtFilename7.Text  = tag.ProcStep[6].ProcessRecipe;
            txtFilename8.Text  = tag.ProcStep[7].ProcessRecipe;
            txtFilename9.Text  = tag.ProcStep[8].ProcessRecipe;
            txtFilename10.Text = tag.ProcStep[9].ProcessRecipe;
            txtFilename11.Text = tag.ProcStep[10].ProcessRecipe;
            txtFilename12.Text = tag.ProcStep[11].ProcessRecipe;
            txtFilename13.Text = tag.ProcStep[12].ProcessRecipe;
            txtFilename14.Text = tag.ProcStep[13].ProcessRecipe;

            txtProcessRcp.Text  = tag.CurrentProcessStep.ProcessRecipe;
            txtStationCode.Text = tag.CurrentProcessStep.StationCode.ToString();
            txtProcessStep.Text = tag.CurrentProcessStep.StationCode.ToString();//ZJ marked
        }
Esempio n. 7
0
 /// <summary>
 /// Clear tag data and update UI panel
 /// </summary>
 /// <param name="tag"></param>
 public void ClearTag(FolaTagData tag)
 {
     tag.Clear();
     DisplayTagData(tag);
 }
        /// <summary>
        /// Read RFID
        /// </summary>
        public void ReadFolaRFID(RFHead RFIDHead)
        {
            _isReflowRequired = true;
            _rfidError        = RFIDErrors.NoError;
            if (HSTMachine.Workcell.HSTSettings.Install.OperationMode == OperationMode.Simulation)
            {
                Thread.Sleep(CommonFunctions.SIMULATION_DELAY);
                return;
            }


            _state = RFIDState.Reading;
            if (RFIDHead == RFHead.Head1)
            {
                try
                {
                    _readFolaTagData = _RFIDScanner.ReadRFIDTag(RFHead.Head1);  // Read RFID from Input Station
                    _state           = RFIDState.Idle;

                    if (HSTMachine.Workcell.HSTSettings.Install.DataLoggingForRFIDAndSeatrackRecordUpdateEnabled)
                    {
                        if (HSTMachine.Workcell.HSTSettings.Install.EnableDebugLog)
                        {
                            XyratexOSC.Logging.Log.Info(this, "Read RFID tag at Input Station for Carrier: {0}", _readFolaTagData.CarrierID);
                            XyratexOSC.Logging.Log.Info(this, "Carrier Size: {0}", _readFolaTagData.CarrierSize);
                            XyratexOSC.Logging.Log.Info(this, "Current Process Station Code: {0}", _readFolaTagData.CurrentProcessStep.StationCode);
                            XyratexOSC.Logging.Log.Info(this, "Current Process Recipe: {0}", _readFolaTagData.CurrentProcessStep.ProcessRecipe);
                            for (int x = 0; x < _readFolaTagData.CarrierSize; x++)
                            {
                                XyratexOSC.Logging.Log.Info(this, "HGA {0} Serial Number: {1}, Status: {2}, HGA Process Recipe: {3}, HGA Station Code: {4}", (x + 1), _readFolaTagData.HGAData[x].HgaSN, _readFolaTagData.HGAData[x].Status.ToString(), _readFolaTagData.ProcStep[x].ProcessRecipe, _readFolaTagData.ProcStep[x].StationCode.ToString());
                            }
                            XyratexOSC.Logging.Log.Info(this, "Last Step: {0}", _readFolaTagData.LastStep);
                            XyratexOSC.Logging.Log.Info(this, "MaxProcStep: {0}", _readFolaTagData.MaxProcStep);

                            XyratexOSC.Logging.Log.Info(this, "Work Order: {0}", _readFolaTagData.WorkOrder);
                            XyratexOSC.Logging.Log.Info(this, "Work Order Version: {0}", _readFolaTagData.WorkOrderVersion.ToString());
                            XyratexOSC.Logging.Log.Info(this, "Write Count: {0}", _readFolaTagData.WriteCount);
                        }

                        if (OnRFIDFolaReadInputStationDone != null)
                        {
                            OnRFIDFolaReadInputStationDone(_readFolaTagData);
                        }
                    }
                }
                catch (Exception ex)
                {
                    _state     = RFIDState.Idle;
                    _rfidError = RFIDErrors.RFIDReadError;
                    HSTException.Throw(HSTErrors.InputRFIDReadFailed, ex);
                }
            }
            else if (RFIDHead == RFHead.Head2)
            {
                try
                {
                    _readFolaTagData = _RFIDScanner.ReadRFIDTag(RFHead.Head2);  // Read RFID from Output Station
                    _state           = RFIDState.Idle;

                    if (HSTMachine.Workcell.HSTSettings.Install.DataLoggingForRFIDAndSeatrackRecordUpdateEnabled)
                    {
                        if (HSTMachine.Workcell.HSTSettings.Install.EnableDebugLog)
                        {
                            XyratexOSC.Logging.Log.Info(this, "Read RFID tag at Output Station for Carrier: {0}", _readFolaTagData.CarrierID);
                            XyratexOSC.Logging.Log.Info(this, "Carrier Size: {0}", _readFolaTagData.CarrierSize);
                            XyratexOSC.Logging.Log.Info(this, "Current Process Station Code: {0}", _readFolaTagData.CurrentProcessStep.StationCode);
                            XyratexOSC.Logging.Log.Info(this, "Current Process Recipe: {0}", _readFolaTagData.CurrentProcessStep.ProcessRecipe);
                            for (int x = 0; x < _readFolaTagData.CarrierSize; x++)
                            {
                                XyratexOSC.Logging.Log.Info(this, "HGA {0} Serial Number: {1}, Status: {2}, HGA Process Recipe: {3}, HGA Station Code: {4}", (x + 1), _readFolaTagData.HGAData[x].HgaSN, _readFolaTagData.HGAData[x].Status.ToString(), _readFolaTagData.ProcStep[x].ProcessRecipe, _readFolaTagData.ProcStep[x].StationCode.ToString());
                            }
                            XyratexOSC.Logging.Log.Info(this, "Last Step: {0}", _readFolaTagData.LastStep);
                            XyratexOSC.Logging.Log.Info(this, "MaxProcStep: {0}", _readFolaTagData.MaxProcStep);

                            XyratexOSC.Logging.Log.Info(this, "Work Order: {0}", _readFolaTagData.WorkOrder);
                            XyratexOSC.Logging.Log.Info(this, "Work Order Version: {0}", _readFolaTagData.WorkOrderVersion.ToString());
                            XyratexOSC.Logging.Log.Info(this, "Write Count: {0}", _readFolaTagData.WriteCount);
                        }

                        if (OnRFIDFolaReadOutputStationDone != null)
                        {
                            OnRFIDFolaReadOutputStationDone(_readFolaTagData);
                        }
                    }
                }
                catch (Exception ex)
                {
                    _state     = RFIDState.Idle;
                    _rfidError = RFIDErrors.RFIDReadError;
                    HSTException.Throw(HSTErrors.OutputRFIDReadError, ex);
                }
            }

            return;
        }
Esempio n. 9
0
        public RFIDInfo()
        {
            RFIDTag = new FolaTagData();
            this.RFIDTag.CarrierID = FileReadStringValue("Header", "CarrierID");
            this.RFIDTag.WorkOrder = FileReadStringValue("Header", "WorkOrder");
            if (FileReadStringValue("Header", "WorkOrderVersion") == "")
            {
                this.RFIDTag.WorkOrderVersion = '0';
            }
            else
            {
                this.RFIDTag.WorkOrderVersion = Convert.ToChar(FileReadStringValue("Header", "WorkOrderVersion"));
            }
            this.RFIDTag.LastStep   = FileReadIntegerValue("Header", "LastStep");
            this.RFIDTag.WriteCount = FileReadIntegerValue("Header", "WriteCount");
            this.RFIDTag.CheckSum   = (byte)FileReadIntegerValue("Header", "CheckSum");

            if (FileReadStringValue("HGA", "HGA1Status") == "")
            {
                this.RFIDTag.SetHGAData(0, new StringBuilder(FileReadStringValue("HGA", "HGA1SerialNumber")), CommonFunctions.TEST_PASS_CODE);
            }
            else
            {
                this.RFIDTag.SetHGAData(0, new StringBuilder(FileReadStringValue("HGA", "HGA1SerialNumber")), Convert.ToChar(FileReadStringValue("HGA", "HGA1Status")));
            }

            if (FileReadStringValue("HGA", "HGA2Status") == "")
            {
                this.RFIDTag.SetHGAData(1, new StringBuilder(FileReadStringValue("HGA", "HGA2SerialNumber")), CommonFunctions.TEST_PASS_CODE);
            }
            else
            {
                this.RFIDTag.SetHGAData(1, new StringBuilder(FileReadStringValue("HGA", "HGA2SerialNumber")), Convert.ToChar(FileReadStringValue("HGA", "HGA2Status")));
            }

            if (FileReadStringValue("HGA", "HGA3Status") == "")
            {
                this.RFIDTag.SetHGAData(2, new StringBuilder(FileReadStringValue("HGA", "HGA3SerialNumber")), CommonFunctions.TEST_PASS_CODE);
            }
            else
            {
                this.RFIDTag.SetHGAData(2, new StringBuilder(FileReadStringValue("HGA", "HGA3SerialNumber")), Convert.ToChar(FileReadStringValue("HGA", "HGA3Status")));
            }

            if (FileReadStringValue("HGA", "HGA4Status") == "")
            {
                this.RFIDTag.SetHGAData(3, new StringBuilder(FileReadStringValue("HGA", "HGA4SerialNumber")), CommonFunctions.TEST_PASS_CODE);
            }
            else
            {
                this.RFIDTag.SetHGAData(3, new StringBuilder(FileReadStringValue("HGA", "HGA4SerialNumber")), Convert.ToChar(FileReadStringValue("HGA", "HGA4Status")));
            }

            if (FileReadStringValue("HGA", "HGA5Status") == "")
            {
                this.RFIDTag.SetHGAData(4, new StringBuilder(FileReadStringValue("HGA", "HGA5SerialNumber")), CommonFunctions.TEST_PASS_CODE);
            }
            else
            {
                this.RFIDTag.SetHGAData(4, new StringBuilder(FileReadStringValue("HGA", "HGA5SerialNumber")), Convert.ToChar(FileReadStringValue("HGA", "HGA5Status")));
            }

            if (FileReadStringValue("HGA", "HGA6Status") == "")
            {
                this.RFIDTag.SetHGAData(5, new StringBuilder(FileReadStringValue("HGA", "HGA6SerialNumber")), CommonFunctions.TEST_PASS_CODE);
            }
            else
            {
                this.RFIDTag.SetHGAData(5, new StringBuilder(FileReadStringValue("HGA", "HGA6SerialNumber")), Convert.ToChar(FileReadStringValue("HGA", "HGA6Status")));
            }

            if (FileReadStringValue("HGA", "HGA7Status") == "")
            {
                this.RFIDTag.SetHGAData(6, new StringBuilder(FileReadStringValue("HGA", "HGA7SerialNumber")), CommonFunctions.TEST_PASS_CODE);
            }
            else
            {
                this.RFIDTag.SetHGAData(6, new StringBuilder(FileReadStringValue("HGA", "HGA7SerialNumber")), Convert.ToChar(FileReadStringValue("HGA", "HGA7Status")));
            }

            if (FileReadStringValue("HGA", "HGA8Status") == "")
            {
                this.RFIDTag.SetHGAData(7, new StringBuilder(FileReadStringValue("HGA", "HGA8SerialNumber")), CommonFunctions.TEST_PASS_CODE);
            }
            else
            {
                this.RFIDTag.SetHGAData(7, new StringBuilder(FileReadStringValue("HGA", "HGA8SerialNumber")), Convert.ToChar(FileReadStringValue("HGA", "HGA8Status")));
            }

            if (FileReadStringValue("HGA", "HGA9Status") == "")
            {
                this.RFIDTag.SetHGAData(8, new StringBuilder(FileReadStringValue("HGA", "HGA9SerialNumber")), CommonFunctions.TEST_PASS_CODE);
            }
            else
            {
                this.RFIDTag.SetHGAData(8, new StringBuilder(FileReadStringValue("HGA", "HGA9SerialNumber")), Convert.ToChar(FileReadStringValue("HGA", "HGA9Status")));
            }

            if (FileReadStringValue("HGA", "HGA10Status") == "")
            {
                this.RFIDTag.SetHGAData(9, new StringBuilder(FileReadStringValue("HGA", "HGA10SerialNumber")), CommonFunctions.TEST_PASS_CODE);
            }
            else
            {
                this.RFIDTag.SetHGAData(9, new StringBuilder(FileReadStringValue("HGA", "HGA10SerialNumber")), Convert.ToChar(FileReadStringValue("HGA", "HGA10Status")));
            }

            if (FileReadStringValue("Process Step", "ProcessStep1StationCode") == "")
            {
                this.RFIDTag.SetProcessStepData(0, CommonFunctions.HST_STATION_CODE, new StringBuilder(FileReadStringValue("Process Step", "ProcessStep1ProcessRecipe")));
            }
            else
            {
                this.RFIDTag.SetProcessStepData(0, Convert.ToChar(FileReadStringValue("Process Step", "ProcessStep1StationCode")), new StringBuilder(FileReadStringValue("Process Step", "ProcessStep1ProcessRecipe")));
            }

            if (FileReadStringValue("Process Step", "ProcessStep2StationCode") == "")
            {
                this.RFIDTag.SetProcessStepData(1, CommonFunctions.HST_STATION_CODE, new StringBuilder(FileReadStringValue("Process Step", "ProcessStep2ProcessRecipe")));
            }
            else
            {
                this.RFIDTag.SetProcessStepData(1, Convert.ToChar(FileReadStringValue("Process Step", "ProcessStep2StationCode")), new StringBuilder(FileReadStringValue("Process Step", "ProcessStep2ProcessRecipe")));
            }

            if (FileReadStringValue("Process Step", "ProcessStep3StationCode") == "")
            {
                this.RFIDTag.SetProcessStepData(2, CommonFunctions.HST_STATION_CODE, new StringBuilder(FileReadStringValue("Process Step", "ProcessStep3ProcessRecipe")));
            }
            else
            {
                this.RFIDTag.SetProcessStepData(2, Convert.ToChar(FileReadStringValue("Process Step", "ProcessStep3StationCode")), new StringBuilder(FileReadStringValue("Process Step", "ProcessStep3ProcessRecipe")));
            }

            if (FileReadStringValue("Process Step", "ProcessStep4StationCode") == "")
            {
                this.RFIDTag.SetProcessStepData(3, CommonFunctions.HST_STATION_CODE, new StringBuilder(FileReadStringValue("Process Step", "ProcessStep4ProcessRecipe")));
            }
            else
            {
                this.RFIDTag.SetProcessStepData(3, Convert.ToChar(FileReadStringValue("Process Step", "ProcessStep4StationCode")), new StringBuilder(FileReadStringValue("Process Step", "ProcessStep4ProcessRecipe")));
            }

            if (FileReadStringValue("Process Step", "ProcessStep5StationCode") == "")
            {
                this.RFIDTag.SetProcessStepData(4, CommonFunctions.HST_STATION_CODE, new StringBuilder(FileReadStringValue("Process Step", "ProcessStep5ProcessRecipe")));
            }
            else
            {
                this.RFIDTag.SetProcessStepData(4, Convert.ToChar(FileReadStringValue("Process Step", "ProcessStep5StationCode")), new StringBuilder(FileReadStringValue("Process Step", "ProcessStep5ProcessRecipe")));
            }

            if (FileReadStringValue("Process Step", "ProcessStep6StationCode") == "")
            {
                this.RFIDTag.SetProcessStepData(5, CommonFunctions.HST_STATION_CODE, new StringBuilder(FileReadStringValue("Process Step", "ProcessStep6ProcessRecipe")));
            }
            else
            {
                this.RFIDTag.SetProcessStepData(5, Convert.ToChar(FileReadStringValue("Process Step", "ProcessStep6StationCode")), new StringBuilder(FileReadStringValue("Process Step", "ProcessStep6ProcessRecipe")));
            }

            if (FileReadStringValue("Process Step", "ProcessStep7StationCode") == "")
            {
                this.RFIDTag.SetProcessStepData(6, CommonFunctions.HST_STATION_CODE, new StringBuilder(FileReadStringValue("Process Step", "ProcessStep7ProcessRecipe")));
            }
            else
            {
                this.RFIDTag.SetProcessStepData(6, Convert.ToChar(FileReadStringValue("Process Step", "ProcessStep7StationCode")), new StringBuilder(FileReadStringValue("Process Step", "ProcessStep7ProcessRecipe")));
            }

            if (FileReadStringValue("Process Step", "ProcessStep8StationCode") == "")
            {
                this.RFIDTag.SetProcessStepData(7, CommonFunctions.HST_STATION_CODE, new StringBuilder(FileReadStringValue("Process Step", "ProcessStep8ProcessRecipe")));
            }
            else
            {
                this.RFIDTag.SetProcessStepData(7, Convert.ToChar(FileReadStringValue("Process Step", "ProcessStep8StationCode")), new StringBuilder(FileReadStringValue("Process Step", "ProcessStep8ProcessRecipe")));
            }

            if (FileReadStringValue("Process Step", "ProcessStep9StationCode") == "")
            {
                this.RFIDTag.SetProcessStepData(8, CommonFunctions.HST_STATION_CODE, new StringBuilder(FileReadStringValue("Process Step", "ProcessStep9ProcessRecipe")));
            }
            else
            {
                this.RFIDTag.SetProcessStepData(8, Convert.ToChar(FileReadStringValue("Process Step", "ProcessStep9StationCode")), new StringBuilder(FileReadStringValue("Process Step", "ProcessStep9ProcessRecipe")));
            }

            if (FileReadStringValue("Process Step", "ProcessStep10StationCode") == "")
            {
                this.RFIDTag.SetProcessStepData(9, CommonFunctions.HST_STATION_CODE, new StringBuilder(FileReadStringValue("Process Step", "ProcessStep10ProcessRecipe")));
            }
            else
            {
                this.RFIDTag.SetProcessStepData(9, Convert.ToChar(FileReadStringValue("Process Step", "ProcessStep10StationCode")), new StringBuilder(FileReadStringValue("Process Step", "ProcessStep10ProcessRecipe")));
            }

            if (FileReadStringValue("Process Step", "ProcessStep11StationCode") == "")
            {
                this.RFIDTag.SetProcessStepData(10, CommonFunctions.HST_STATION_CODE, new StringBuilder(FileReadStringValue("Process Step", "ProcessStep11ProcessRecipe")));
            }
            else
            {
                this.RFIDTag.SetProcessStepData(10, Convert.ToChar(FileReadStringValue("Process Step", "ProcessStep11StationCode")), new StringBuilder(FileReadStringValue("Process Step", "ProcessStep11ProcessRecipe")));
            }

            if (FileReadStringValue("Process Step", "ProcessStep12StationCode") == "")
            {
                this.RFIDTag.SetProcessStepData(11, CommonFunctions.HST_STATION_CODE, new StringBuilder(FileReadStringValue("Process Step", "ProcessStep12ProcessRecipe")));
            }
            else
            {
                this.RFIDTag.SetProcessStepData(11, Convert.ToChar(FileReadStringValue("Process Step", "ProcessStep12StationCode")), new StringBuilder(FileReadStringValue("Process Step", "ProcessStep12ProcessRecipe")));
            }

            if (FileReadStringValue("Process Step", "ProcessStep13StationCode") == "")
            {
                this.RFIDTag.SetProcessStepData(12, CommonFunctions.HST_STATION_CODE, new StringBuilder(FileReadStringValue("Process Step", "ProcessStep13ProcessRecipe")));
            }
            else
            {
                this.RFIDTag.SetProcessStepData(12, Convert.ToChar(FileReadStringValue("Process Step", "ProcessStep13StationCode")), new StringBuilder(FileReadStringValue("Process Step", "ProcessStep13ProcessRecipe")));
            }

            if (FileReadStringValue("Process Step", "ProcessStep14StationCode") == "")
            {
                this.RFIDTag.SetProcessStepData(13, CommonFunctions.HST_STATION_CODE, new StringBuilder(FileReadStringValue("Process Step", "ProcessStep14ProcessRecipe")));
            }
            else
            {
                this.RFIDTag.SetProcessStepData(13, Convert.ToChar(FileReadStringValue("Process Step", "ProcessStep14StationCode")), new StringBuilder(FileReadStringValue("Process Step", "ProcessStep14ProcessRecipe")));
            }
        }