Exemplo n.º 1
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);
            //}
        }