Пример #1
0
        public static bool  InspectEmergency()
        {
            bool isOk = true;

            //Check Emergency
            if (ML.IO_GetX(xi.LODR_EmgSw1) ||
                ML.IO_GetX(xi.ETC_EmgSw2) ||
                ML.IO_GetX(xi.ETC_EmgSw3) ||
                ML.IO_GetX(xi.ULDR_EmgSw4))
            {
                ML.MT_EmgStopAll();
                ML.MT_SetServoAll(false);
                if (ML.IO_GetX(xi.LODR_EmgSw1))
                {
                    ML.ER_SetErr(ei.ETC_Emergency, "Loader Emergency Switch pushed.");
                }
                if (ML.IO_GetX(xi.ETC_EmgSw2))
                {
                    ML.ER_SetErr(ei.ETC_Emergency, "Main1 Emergency Switch pushed.");
                }
                if (ML.IO_GetX(xi.ETC_EmgSw3))
                {
                    ML.ER_SetErr(ei.ETC_Emergency, "Main2 Emergency Switch pushed.");
                }
                if (ML.IO_GetX(xi.ULDR_EmgSw4))
                {
                    ML.ER_SetErr(ei.ETC_Emergency, "Unloader Emergency Switch pushed.");
                }

                isOk = false;
            }

            return(isOk);
        }
Пример #2
0
        private void btAllHome_Click_1(object sender, EventArgs e)
        {
            string sText = ((Button)sender).Text;

            Log.Trace(sFormText + sText + " Button Clicked", ti.Frm);

            if (!OM.MstOptn.bDebugMode)
            {
                if (Log.ShowMessageModal("Confirm", "Do you want to All Homming?") != DialogResult.Yes)
                {
                    return;
                }
                MM.SetManCycle(mc.AllHome);
            }
            else
            {
                DialogResult Rslt;
                Rslt = MessageBox.Show("홈동작을 생략 하겠습니까?", "Confirm", MessageBoxButtons.YesNoCancel);
                if (Rslt == DialogResult.Yes)
                {
                    ML.MT_SetServoAll(true);
                    Thread.Sleep(100);
                    for (int i = 0; i < (int)mi.MAX_MOTR; i++)
                    {
                        ML.MT_SetHomeDone(i, true);
                    }
                }
                else if (Rslt == DialogResult.No)
                {
                    MM.SetManCycle(mc.AllHome);
                }
            }
        }
Пример #3
0
 private void btAllHome_Click(object sender, EventArgs e)
 {
     if (!OM.MstOptn.bDebugMode)
     {
         if (Log.ShowMessageModal("Confirm", "Do you want to All Homming?") != DialogResult.Yes)
         {
             return;
         }
         MM.SetManCycle(mc.AllHome);
     }
     else
     {
         DialogResult Rslt;
         Rslt = MessageBox.Show(new Form()
         {
             TopMost = true
         }, "홈동작을 생략 하겠습니까?", "Confirm", MessageBoxButtons.YesNoCancel);
         if (Rslt == DialogResult.Yes)
         {
             ML.MT_SetServoAll(true);
             Thread.Sleep(100);
             for (int i = 0; i < (int)mi.MAX_MOTR; i++)
             {
                 ML.MT_SetHomeDone(i, true);
             }
         }
         else if (Rslt == DialogResult.No)
         {
             MM.SetManCycle(mc.AllHome);
         }
     }
 }
Пример #4
0
        public static bool  InspectEmergency()
        {
            bool isOk = true;

            //Check Emergency
            if (ML.IO_GetX(xi.ETC_LEmgSw) ||
                ML.IO_GetX(xi.ETC_REmgSw) ||
                ML.IO_GetX(xi.ETC_LDREmgSw) ||
                ML.IO_GetX(xi.ETC_ULDEmgSw))
            {
                ML.MT_EmgStopAll();
                ML.MT_SetServoAll(false);
                if (ML.IO_GetX(xi.ETC_LEmgSw))
                {
                    ML.ER_SetErr(ei.ETC_Emergency, "좌측   Emergency Switch 가 눌렸습니다.");
                }
                if (ML.IO_GetX(xi.ETC_REmgSw))
                {
                    ML.ER_SetErr(ei.ETC_Emergency, "우측   Emergency Switch 가 눌렸습니다.");
                }
                if (ML.IO_GetX(xi.ETC_LDREmgSw))
                {
                    ML.ER_SetErr(ei.ETC_Emergency, "로더   Emergency Switch 가 눌렸습니다.");
                }
                if (ML.IO_GetX(xi.ETC_ULDEmgSw))
                {
                    ML.ER_SetErr(ei.ETC_Emergency, "언로더 Emergency Switch 가 눌렸습니다.");
                }

                isOk = false;
            }

            return(isOk);
        }
Пример #5
0
        private void btForcedHomeEnd_Click(object sender, EventArgs e)
        {
            string sText = ((Button)sender).Text;

            Log.Trace(sFormText + sText + " Button Clicked", ti.Frm);

            ML.MT_SetServoAll(true);

            Thread.Sleep(100);

            for (int i = 0; i < (int)mi.MAX_MOTR; i++)
            {
                ML.MT_SetHomeDone(i, true);
            }
        }
Пример #6
0
        private void btAllHome_Click(object sender, EventArgs e)
        {
            if (!ML.IO_GetY(yi.ETC_MainAirOnOff))
            {
                ML.ER_SetErr(ei.ETC_MainAir, "메인 에어를 ON 해주세요.");
                return;
            }

            string sText = ((Button)sender).Text;

            Log.Trace(sFormText + sText + " Button Clicked", ForContext.Frm);

            if (!OM.MstOptn.bDebugMode)
            {
                if (Log.ShowMessageModal("Confirm", "Do you want to perform manual actions?") != DialogResult.Yes)
                {
                    return;
                }
                MM.SetManCycle(mc.AllHome);
            }
            else
            {
                DialogResult Rslt;
                Rslt = MessageBox.Show("홈동작을 생략 하겠습니까?", "Confirm", MessageBoxButtons.YesNoCancel);
                if (Rslt == DialogResult.Yes)
                {
                    ML.MT_SetServoAll(true);
                    Thread.Sleep(100);
                    for (mi i = 0; i < mi.MAX_MOTR; i++)
                    {
                        ML.MT_SetHomeDone(i, true);
                    }
                }
                else if (Rslt == DialogResult.No)
                {
                    MM.SetManCycle(mc.AllHome);
                }
            }
        }
Пример #7
0
        //Manual Processing.
        public static bool SetManCycle(mc _iNo)
        {
            m_iCrntManNo = m_iManNo;

            if (_iNo < 0)
            {
                Log.ShowMessage("ERROR", "Wrong Manual No"); return(false);
            }
            if (_iNo >= mc.MAX_MANUAL_CYCLE)
            {
                Log.ShowMessage("ERROR", "Wrong Manual No"); return(false);
            }
            if (m_iManNo != mc.NoneCycle)
            {
                Log.ShowMessage("ERROR", "Doing Manual Cycle"); return(false);
            }
            if (SEQ._bRun && _iNo != mc.LODR_ManLotSupply)
            {
                Log.ShowMessage("ERROR", "Autorunning"); return(false);
            }
            if (_iNo > mc.AllHome && !SEQ.InspectHomeDone())
            {
                return(false);
            }

            //LOL if (!SML.IO.GetX((int)xi.ETC_MainAir)            ) { Log.ShowMessage("ERROR", "Main Air is Not Supply"); return false; }

            //Check Alarm.
            //LOL if (SML.ER.IsErr()) { Init(); return false; } //아 밑에 처리 하는 애 때문에 잠시 이렇게 함.          //test

            //    if(!IO_GetX(xETC_MainPower) ) {FM_MsgOk("ERR","Power On Plz");      return false ;} //test
            //if (!ML.IO.GetX((int)EN_INPUT_ID.xETC_MainAirChk)) { MessageBox.Show("Check Main Air!", "ERROR"); return false; } //test
            //   mcLDR_RHome
            m_bManSetting = true; //SetManCycle함수는 화면 쓰레드. 업데이트 함수에서 다른쓰레드로 들어와서 갱신하기에 플레그 걸어 막아둠.    //   mcIDX_Home
            m_iManNo      = _iNo;

            //   mcLTL_Home
            //   mcRTL_Home

            //ML.ER.SetDisp(true);jinseop

            bool bRet = true;                                                                                                                //   mcSTG_Home

            //   mcULD_Home
            /********************/
            /********************/
            if (m_iManNo == mc.NoneCycle)
            {
                bRet = false;
            }
            else if (m_iManNo == mc.AllHome)
            {
            }
            else if (m_iManNo == mc.LODR_Home)
            {
            }
            else if (m_iManNo == mc.TTBL_Home)
            {
            }
            else if (m_iManNo == mc.VISN_Home)
            {
            }
            else if (m_iManNo == mc.MARK_Home)
            {
            }
            else if (m_iManNo == mc.ULDR_Home)
            {
            }
            else if (m_iManNo == mc.REJM_Home)
            {
            }
            else if (m_iManNo == mc.REJV_Home)
            {
            }

            else if (m_iManNo == mc.LODR_CycleHold)
            {
            }
            else if (m_iManNo == mc.LODR_CyclePush)
            {
            }
            else if (m_iManNo == mc.LODR_CyclePick)
            {
            }
            else if (m_iManNo == mc.LODR_ManLotSupply)
            {
            }


            else if (m_iManNo == mc.TTBL_CycleMove)
            {
            }
            else if (m_iManNo == mc.TTBL_CLAllFwd)
            {
                if (!ML.MT_GetStop(mi.TBLE_TTble))
                {
                    bRet = false;
                }
            }
            else if (m_iManNo == mc.TTBL_CLAllBwd)
            {
                if (!ML.MT_GetStop(mi.TBLE_TTble))
                {
                    bRet = false;
                }
            }

            else if (m_iManNo == mc.VISN_CycleWork)
            {
            }

            else if (m_iManNo == mc.MARK_CycleWork)
            {
            }
            else if (m_iManNo == mc.MARK_CycleManChage)
            {
            }

            else if (m_iManNo == mc.ULDR_CycleMove)
            {
            }
            else if (m_iManNo == mc.ULDR_CycleDlvr)
            {
            }
            else if (m_iManNo == mc.ULDR_CyclePick)
            {
            }
            else if (m_iManNo == mc.ULDR_CyclePlce)
            {
            }
            else if (m_iManNo == mc.ULDR_CyclePaint)
            {
            }

            else if (m_iManNo == mc.RJEM_CycleWork)
            {
            }

            else if (m_iManNo == mc.RJEV_CycleWork)
            {
            }

            if (!bRet)
            {
                Init();
            }

            /********************/
            /* 처리..           */
            /********************/

            if (m_iManNo == mc.NoneCycle)
            {
            }
            else if (m_iManNo == mc.AllHome)
            {
                ML.MT_SetServoAll(true);
                SEQ.LODR.InitHomeStep();
                SEQ.TTBL.InitHomeStep();
                SEQ.VISN.InitHomeStep();
                SEQ.MARK.InitHomeStep();
                SEQ.ULDR.InitHomeStep();
                SEQ.REJM.InitHomeStep();
                SEQ.REJV.InitHomeStep();
            }
            else if (m_iManNo == mc.LODR_Home)
            {
                ML.MT_SetServoAll(true); SEQ.LODR.InitHomeStep();
            }
            else if (m_iManNo == mc.TTBL_Home)
            {
                ML.MT_SetServoAll(true); SEQ.TTBL.InitHomeStep();
            }
            else if (m_iManNo == mc.VISN_Home)
            {
                ML.MT_SetServoAll(true); SEQ.VISN.InitHomeStep();
            }
            else if (m_iManNo == mc.MARK_Home)
            {
                ML.MT_SetServoAll(true); SEQ.MARK.InitHomeStep();
            }
            else if (m_iManNo == mc.ULDR_Home)
            {
                ML.MT_SetServoAll(true); SEQ.ULDR.InitHomeStep();
            }
            else if (m_iManNo == mc.REJM_Home)
            {
                ML.MT_SetServoAll(true); SEQ.REJM.InitHomeStep();
            }
            else if (m_iManNo == mc.REJV_Home)
            {
                ML.MT_SetServoAll(true); SEQ.REJV.InitHomeStep();
            }

            else if (m_iManNo == mc.LODR_CycleHold)
            {
                SEQ.LODR.InitCycleStep();
            }
            else if (m_iManNo == mc.LODR_CyclePush)
            {
                SEQ.LODR.InitCycleStep();
            }
            else if (m_iManNo == mc.LODR_CyclePick)
            {
                SEQ.PLDR.InitCycleStep();
            }
            else if (m_iManNo == mc.LODR_ManLotSupply)
            {
                SEQ.LODR.InitCycleStep();
            }

            else if (m_iManNo == mc.TTBL_CycleMove)
            {
                SEQ.TTBL.InitCycleStep();
            }
            else if (m_iManNo == mc.TTBL_CLAllFwd)
            {
                ML.CL_Move(ci.TBLE_Grpr1FwBw, fb.Fwd);
                ML.CL_Move(ci.TBLE_Grpr2FwBw, fb.Fwd);
                ML.CL_Move(ci.TBLE_Grpr3FwBw, fb.Fwd);
                ML.CL_Move(ci.TBLE_Grpr4FwBw, fb.Fwd);
                ML.CL_Move(ci.TBLE_Grpr5FwBw, fb.Fwd);
                ML.CL_Move(ci.TBLE_Grpr6FwBw, fb.Fwd);
                m_iManNo = mc.NoneCycle;
            }
            else if (m_iManNo == mc.TTBL_CLAllBwd)
            {
                ML.CL_Move(ci.TBLE_Grpr1FwBw, fb.Bwd);
                ML.CL_Move(ci.TBLE_Grpr2FwBw, fb.Bwd);
                ML.CL_Move(ci.TBLE_Grpr3FwBw, fb.Bwd);
                ML.CL_Move(ci.TBLE_Grpr4FwBw, fb.Bwd);
                ML.CL_Move(ci.TBLE_Grpr5FwBw, fb.Bwd);
                ML.CL_Move(ci.TBLE_Grpr6FwBw, fb.Bwd);
                m_iManNo = mc.NoneCycle;
            }

            else if (m_iManNo == mc.VISN_CycleWork)
            {
                SEQ.VISN.InitCycleStep();
            }

            else if (m_iManNo == mc.MARK_CycleWork)
            {
                SEQ.MARK.InitCycleStep();
            }
            else if (m_iManNo == mc.MARK_CycleManChage)
            {
                SEQ.MARK.InitCycleStep();
            }

            else if (m_iManNo == mc.ULDR_CycleMove)
            {
                SEQ.ULDR.InitCycleStep();
            }
            else if (m_iManNo == mc.ULDR_CycleDlvr)
            {
                SEQ.PULD.InitCycleStep();
            }
            else if (m_iManNo == mc.ULDR_CyclePick)
            {
                SEQ.ULDR.InitCycleStep();
            }
            else if (m_iManNo == mc.ULDR_CyclePlce)
            {
                SEQ.ULDR.InitCycleStep();
            }
            else if (m_iManNo == mc.ULDR_CyclePaint)
            {
                SEQ.ULDR.InitCycleStep();
            }

            else if (m_iManNo == mc.RJEM_CycleWork)
            {
                SEQ.REJM.InitCycleStep();
            }

            else if (m_iManNo == mc.RJEV_CycleWork)
            {
                SEQ.REJV.InitCycleStep();
            }

            m_bManSetting = false; //m_bManSetting 중요함 리턴전에 꼭 펄스 시켜야함. 쓰레드가 달라서. ::Update에서 m_iManNo=0이 되므로 주의.
            return(true);
        }
Пример #8
0
        //    CPartInterface * m_pPart[MAX_PART] ;

        //--------------------------------------------------------------------------------------------------------

        public static void Reset()
        {
            //Check running flag.
            if (m_bRun)
            {
                return;
            }
            if (m_iSeqStat == EN_SEQ_STAT.Init)
            {
                return;
            }
            if (m_iStep == EN_SEQ_STEP.ToStopCon)
            {
                return;
            }
            if (m_iStep == EN_SEQ_STEP.ToStop)
            {
                return;
            }
            if (MM.GetManNo() != mc.NoneCycle)
            {
                return;
            }
            LOT.Reset();

            Log.Trace("Seq", "Reset");

            m_tmToStop.Clear();
            m_tmToStrt.Clear();
            m_tmFlickOn.Clear();
            m_tmFlickOff.Clear();
            m_tmTemp.Clear();
            m_tmCloseDoor.Clear();

            //Init. Var.
            m_bBtnReset = false;
            m_bBtnStart = false;
            m_bBtnStop  = false;

            m_bRunEnd = false;
            m_bRun    = false;
            m_iStep   = EN_SEQ_STEP.Idle;

            //Error.
            ML.ER_Clear();

            //Manual.
            MM.Reset();

            //ML.
            for (int i = 0; i < (int)pi.MAX_PART; i++)
            {
                m_Part[i].Reset();
            }

            //Cylinder Reset , Need to First Time
            ML.CL_Reset();

            //Lot End Flag Reset.
            LOT.Reset();
            Log.CloseForm();

            m_iSeqStat = EN_SEQ_STAT.Stop;

            //System.
            ML.MT_ResetAll();
            ML.MT_SetServoAll(true);

            //VSNZ존에서 처리함.
            //for(int i = 0 ; i < (int)vi.MAX_VI; i++)
            //{
            //    if(!OM.VsSkip((vi)i)) VSNZ.VisnComs[i].SendCmd(VisnCom.vc.Reset);
            //}
        }
Пример #9
0
        //Manual Processing.
        public static bool SetManCycle(mc _iNo)
        {
            m_iCrntManNo = m_iManNo;

            if (_iNo < 0)
            {
                Log.ShowMessage("ERROR", "Wrong Manual No"); return(false);
            }
            if (_iNo >= mc.MAX_MANUAL_CYCLE)
            {
                Log.ShowMessage("ERROR", "Wrong Manual No"); return(false);
            }
            if (m_iManNo != mc.NoneCycle)
            {
                Log.ShowMessage("ERROR", "Doing Manual Cycle"); return(false);
            }
            if (SEQ._bRun)
            {
                Log.ShowMessage("ERROR", "Autorunning"); return(false);
            }
            if (_iNo > mc.HomeEnd && !SEQ.InspectHomeDone())
            {
                return(false);
            }

            //   mcLDR_RHome
            m_bManSetting = true; //SetManCycle함수는 화면 쓰레드. 업데이트 함수에서 다른쓰레드로 들어와서 갱신하기에 플레그 걸어 막아둠.
            m_iManNo      = _iNo;


            bool bRet = true;

            //   mcULD_Home
            /********************/
            /********************/
            if (m_iManNo == mc.NoneCycle)
            {
                bRet = false;
            }
            else if (m_iManNo == mc.AllHome)
            {
            }



            if (!bRet)
            {
                Init();
            }

            /********************/
            /* 처리..           */
            /********************/

            if (m_iManNo == mc.NoneCycle)
            {
            }
            else if (m_iManNo == mc.AllHome)
            {
                ML.MT_SetServoAll(true);
                SEQ.WRK.InitHomeStep();
                SEQ.OUT.InitHomeStep();
            }
            else if (m_iManNo == mc.StepCut)
            {
                m_iManStep = 10;
            }
            else if (m_iManNo == mc.Move5mm)
            {
                m_iManStep = 10;
            }
            else if (m_iManNo == mc.Move100mm)
            {
                m_iManStep = 10;
            }

            //else if (m_iManNo == mc.XRAY_CycleAging       ) {SEQ.XRAY.InitCycleStep();                        }

            //else if (m_iManNo == mc.USBC_CycleConnect     ) {SEQ.USBC.InitCycleStep();                        }

            m_bManSetting = false; //m_bManSetting 중요함 리턴전에 꼭 펄스 시켜야함. 쓰레드가 달라서. ::Update에서 m_iManNo=0이 되므로 주의.
            return(true);
        }
Пример #10
0
        //    CPartInterface * m_pPart[MAX_PART] ;

        //--------------------------------------------------------------------------------------------------------

        public static void Reset()
        {
            //Check running flag.
            if (m_bRun)
            {
                return;
            }
            if (m_iSeqStat == EN_SEQ_STAT.Init)
            {
                return;
            }
            if (m_iStep == EN_SEQ_STEP.ToStopCon)
            {
                return;
            }
            if (m_iStep == EN_SEQ_STEP.ToStop)
            {
                return;
            }

            LOT.Reset();

            Log.Trace("Seq", "Reset");

            m_tmToStop.Clear();
            m_tmToStrt.Clear();
            m_tmFlickOn.Clear();
            m_tmFlickOff.Clear();
            m_tmTemp.Clear();
            m_tmMotor1.Clear();
            m_tmMotor2.Clear();
            m_tmMotor3.Clear();
            m_tmCloseDoor.Clear();

            //Init. Var.
            m_bBtnReset = false;
            m_bBtnStart = false;
            m_bBtnStop  = false;

            m_bRunEnd = false;
            m_bRun    = false;
            m_iStep   = EN_SEQ_STEP.Idle;

            //Error.
            ML.ER_Clear();

            //Manual.
            MM.Reset();

            //ML.
            for (int i = 0; i < (int)pi.MAX_PART; i++)
            {
                m_Part[i].Reset();
            }

            //Lot End Flag Reset.
            LOT.Reset();
            //FM_CloseMsgOk();

            m_iSeqStat = EN_SEQ_STAT.Stop;

            //System.
            //if(!EM_IsErr()) return; //20150801 선계원 홈잡을때 리셑 누르면 홈스텝이 날라가서 처박았음.
            //ML.MT_ResetAll();
            ML.MT_ResetAll();
            ML.MT_SetServoAll(true);
        }
Пример #11
0
        //Manual Processing.
        public static bool SetManCycle(mc _iNo)
        {
            m_iCrntManNo = m_iManNo;

            if (_iNo < 0)
            {
                Log.ShowMessage("ERROR", "Wrong Manual No"); return(false);
            }
            if (_iNo >= mc.MAX_MANUAL_CYCLE)
            {
                Log.ShowMessage("ERROR", "Wrong Manual No"); return(false);
            }
            if (m_iManNo != mc.NoneCycle)
            {
                Log.ShowMessage("ERROR", "Doing Manual Cycle"); return(false);
            }
            if (SEQ._bRun)
            {
                Log.ShowMessage("ERROR", "Autorunning"); return(false);
            }
            if (_iNo > mc.ULDR_Home && !SEQ.InspectHomeDone())
            {
                return(false);
            }

            //LOL if (!SML.IO.GetX((int)xi.ETC_MainAir)            ) { Log.ShowMessage("ERROR", "Main Air is Not Supply"); return false; }

            //Check Alarm.
            //LOL if (SML.ER.IsErr()) { Init(); return false; } //아 밑에 처리 하는 애 때문에 잠시 이렇게 함.          //test

            //    if(!IO_GetX(xETC_MainPower) ) {FM_MsgOk("ERR","Power On Plz");      return false ;} //test
            //if (!ML.IO.GetX((int)EN_INPUT_ID.xETC_MainAirChk)) { MessageBox.Show("Check Main Air!", "ERROR"); return false; } //test
            //   mcLDR_RHome
            m_bManSetting = true; //SetManCycle함수는 화면 쓰레드. 업데이트 함수에서 다른쓰레드로 들어와서 갱신하기에 플레그 걸어 막아둠.    //   mcIDX_Home
            m_iManNo      = _iNo;

            //   mcLTL_Home
            //   mcRTL_Home

            //ML.ER.SetDisp(true);jinseop

            bool bRet = true;                                                                                                                //   mcSTG_Home

            //   mcULD_Home
            /********************/
            /********************/
            if (m_iManNo == mc.NoneCycle)
            {
                bRet = false;
            }
            else if (m_iManNo == mc.AllHome)
            {
            }
            else if (m_iManNo == mc.LODR_Home)
            {
            }
            else if (m_iManNo == mc.PREB_Home)
            {
            }
            else if (m_iManNo == mc.HEAD_Home)
            {
            }
            else if (m_iManNo == mc.PSTB_Home)
            {
            }
            else if (m_iManNo == mc.ULDR_Home)
            {
            }

            else if (m_iManNo == mc.LODR_Wait)
            {
            }
            else if (m_iManNo == mc.LODR_Supply)
            {
            }
            else if (m_iManNo == mc.LODR_Pick)
            {
            }
            else if (m_iManNo == mc.LODR_Work)
            {
            }
            else if (m_iManNo == mc.LODR_Drop)
            {
            }

            else if (m_iManNo == mc.VSNZ_Wait)
            {
            }
            else if (m_iManNo == mc.VSNZ_Stt)
            {
            }
            else if (m_iManNo == mc.VSNZ_Move)
            {
            }
            else if (m_iManNo == mc.VSNZ_Insp)
            {
            }
            else if (m_iManNo == mc.VSNZ_Next)
            {
            }

            else if (m_iManNo == mc.PSTB_Wait)
            {
            }
            else if (m_iManNo == mc.PSTB_Stt)
            {
            }
            else if (m_iManNo == mc.PSTB_In)
            {
            }
            else if (m_iManNo == mc.PSTB_Work)
            {
                SEQ.PSTB.CopyArray(); if (SEQ.PSTB.ArayMark.GetCntStat(cs.Fail) == 0)
                {
                    Log.ShowMessage("Error", "There is no Fail on PostBufferZone"); bRet = false;
                }
            }
            else if (m_iManNo == mc.PSTB_Out)
            {
            }
            else if (m_iManNo == mc.PSTB_Next)
            {
            }
            else if (m_iManNo == mc.PSTB_Replace)
            {
            }


            else if (m_iManNo == mc.ULDR_Wait)
            {
            }
            else if (m_iManNo == mc.ULDR_Supply)
            {
            }
            else if (m_iManNo == mc.ULDR_Pick)
            {
            }
            else if (m_iManNo == mc.ULDR_Work)
            {
            }
            else if (m_iManNo == mc.ULDR_Drop)
            {
            }

            if (!bRet)
            {
                Init();
            }

            /********************/
            /* 처리..           */
            /********************/

            if (m_iManNo == mc.NoneCycle)
            {
            }
            else if (m_iManNo == mc.AllHome)
            {
                ML.MT_SetServoAll(true);
                SEQ.LODR.InitHomeStep();
                SEQ.PREB.InitHomeStep();
                SEQ.VSNZ.InitHomeStep();
                SEQ.PSTB.InitHomeStep();
                SEQ.ULDR.InitHomeStep();
            }
            else if (m_iManNo == mc.LODR_Home)
            {
                ML.MT_SetServoAll(true); SEQ.LODR.InitHomeStep();
            }
            else if (m_iManNo == mc.PREB_Home)
            {
                ML.MT_SetServoAll(true); SEQ.PREB.InitHomeStep();
            }
            else if (m_iManNo == mc.HEAD_Home)
            {
                ML.MT_SetServoAll(true); SEQ.VSNZ.InitHomeStep();
            }
            else if (m_iManNo == mc.PSTB_Home)
            {
                ML.MT_SetServoAll(true); SEQ.PSTB.InitHomeStep();
            }
            else if (m_iManNo == mc.ULDR_Home)
            {
                ML.MT_SetServoAll(true); SEQ.ULDR.InitHomeStep();
            }

            else if (m_iManNo == mc.LODR_Wait)
            {
                SEQ.LODR.InitCycleStep();
            }
            else if (m_iManNo == mc.LODR_Supply)
            {
                SEQ.LODR.InitCycleStep();
            }
            else if (m_iManNo == mc.LODR_Pick)
            {
                SEQ.LODR.InitCycleStep();
            }
            else if (m_iManNo == mc.LODR_Work)
            {
                SEQ.LODR.InitCycleStep();
            }
            else if (m_iManNo == mc.LODR_Drop)
            {
                SEQ.LODR.InitCycleStep();
            }

            else if (m_iManNo == mc.VSNZ_Wait)
            {
                SEQ.VSNZ.InitCycleStep();
            }
            else if (m_iManNo == mc.VSNZ_Stt)
            {
                SEQ.VSNZ.InitCycleStep();
            }
            else if (m_iManNo == mc.VSNZ_Move)
            {
                SEQ.VSNZ.InitCycleStep();
            }
            else if (m_iManNo == mc.VSNZ_Insp)
            {
                SEQ.VSNZ.InitCycleStep();
            }
            else if (m_iManNo == mc.VSNZ_Next)
            {
                SEQ.VSNZ.InitCycleStep();
            }

            else if (m_iManNo == mc.PSTB_Wait)
            {
                SEQ.PSTB.InitCycleStep();
            }
            else if (m_iManNo == mc.PSTB_Stt)
            {
                SEQ.PSTB.InitCycleStep();
            }
            else if (m_iManNo == mc.PSTB_In)
            {
                SEQ.PSTB.InitCycleStep();
            }
            else if (m_iManNo == mc.PSTB_Work)
            {
                SEQ.PSTB.InitCycleStep();
            }
            else if (m_iManNo == mc.PSTB_Out)
            {
                SEQ.PSTB.InitCycleStep();
            }
            else if (m_iManNo == mc.PSTB_Next)
            {
                SEQ.PSTB.InitCycleStep();
            }
            else if (m_iManNo == mc.PSTB_Replace)
            {
                SEQ.PSTB.InitCycleStep();
            }

            else if (m_iManNo == mc.ULDR_Wait)
            {
                SEQ.ULDR.InitCycleStep();
            }
            else if (m_iManNo == mc.ULDR_Supply)
            {
                SEQ.ULDR.InitCycleStep();
            }
            else if (m_iManNo == mc.ULDR_Pick)
            {
                SEQ.ULDR.InitCycleStep();
            }
            else if (m_iManNo == mc.ULDR_Work)
            {
                SEQ.ULDR.InitCycleStep();
            }
            else if (m_iManNo == mc.ULDR_Drop)
            {
                SEQ.ULDR.InitCycleStep();
            }

            m_bManSetting = false; //m_bManSetting 중요함 리턴전에 꼭 펄스 시켜야함. 쓰레드가 달라서. ::Update에서 m_iManNo=0이 되므로 주의.
            return(true);
        }