Esempio n. 1
0
 void sfMGReset(UnitCodeSFMG unitCode)
 {
     if (this.InvokeRequired)
     {
         sfMGReset_Call d = new sfMGReset_Call(sfMGReset);
         this.BeginInvoke(d, new object[] { unitCode });
     }
     else
     {
         reset(unitCode);
     }
 }
Esempio n. 2
0
        void reset(UnitCodeSFMG unitCode)
        {
            mc.OUT.SF.MG_RESET(unitCode, false, out ret.message);
            GB_.Enabled = mc.init.success.SF;

            if (unitCode == UnitCodeSFMG.MG1)
            {
                mc.sf.tubeStatus(UnitCodeSF.SF1, SF_TUBE_STATUS.INVALID);
                mc.sf.tubeStatus(UnitCodeSF.SF2, SF_TUBE_STATUS.INVALID);
                mc.sf.tubeStatus(UnitCodeSF.SF3, SF_TUBE_STATUS.INVALID);
                mc.sf.tubeStatus(UnitCodeSF.SF4, SF_TUBE_STATUS.INVALID);
            }
            if (unitCode == UnitCodeSFMG.MG2)
            {
                mc.sf.tubeStatus(UnitCodeSF.SF5, SF_TUBE_STATUS.INVALID);
                mc.sf.tubeStatus(UnitCodeSF.SF6, SF_TUBE_STATUS.INVALID);
                mc.sf.tubeStatus(UnitCodeSF.SF7, SF_TUBE_STATUS.INVALID);
                mc.sf.tubeStatus(UnitCodeSF.SF8, SF_TUBE_STATUS.INVALID);
            }

            mc.IN.SF.MG_DET(unitCode, out ret.b, out ret.message);
            if (!ret.b)
            {
                return;
            }

            if (unitCode == UnitCodeSFMG.MG1)
            {
                mc.IN.SF.TUBE_DET(UnitCodeSF.SF1, out ret.b1, out ret.message);
                mc.IN.SF.TUBE_DET(UnitCodeSF.SF2, out ret.b2, out ret.message);
                mc.IN.SF.TUBE_DET(UnitCodeSF.SF3, out ret.b3, out ret.message);
                mc.IN.SF.TUBE_DET(UnitCodeSF.SF4, out ret.b4, out ret.message);
                if (!ret.b1 && !ret.b2 && !ret.b3 && !ret.b4)
                {
                    mc.OUT.SF.MG_RESET(unitCode, true, out ret.message);
                }
                if (ret.b1)
                {
                    mc.sf.tubeStatus(UnitCodeSF.SF1, SF_TUBE_STATUS.READY);
                }
                if (ret.b2)
                {
                    mc.sf.tubeStatus(UnitCodeSF.SF2, SF_TUBE_STATUS.READY);
                }
                if (mc.swcontrol.mechanicalRevision == 0)
                {
                    if (ret.b3)
                    {
                        mc.sf.tubeStatus(UnitCodeSF.SF3, SF_TUBE_STATUS.READY);
                    }
                    if (ret.b4)
                    {
                        mc.sf.tubeStatus(UnitCodeSF.SF4, SF_TUBE_STATUS.READY);
                    }
                }
                else
                {
                    mc.sf.tubeStatus(UnitCodeSF.SF3, SF_TUBE_STATUS.INVALID);
                    mc.sf.tubeStatus(UnitCodeSF.SF4, SF_TUBE_STATUS.INVALID);
                }
            }
            if (unitCode == UnitCodeSFMG.MG2)
            {
                mc.IN.SF.TUBE_DET(UnitCodeSF.SF5, out ret.b1, out ret.message);
                mc.IN.SF.TUBE_DET(UnitCodeSF.SF6, out ret.b2, out ret.message);
                mc.IN.SF.TUBE_DET(UnitCodeSF.SF7, out ret.b3, out ret.message);
                mc.IN.SF.TUBE_DET(UnitCodeSF.SF8, out ret.b4, out ret.message);
                if (!ret.b1 && !ret.b2 && !ret.b3 && !ret.b4)
                {
                    mc.OUT.SF.MG_RESET(unitCode, true, out ret.message);
                }
                if (ret.b1)
                {
                    mc.sf.tubeStatus(UnitCodeSF.SF5, SF_TUBE_STATUS.READY);
                }
                if (ret.b2)
                {
                    mc.sf.tubeStatus(UnitCodeSF.SF6, SF_TUBE_STATUS.READY);
                }
                if (mc.swcontrol.mechanicalRevision == 0)
                {
                    if (ret.b3)
                    {
                        mc.sf.tubeStatus(UnitCodeSF.SF7, SF_TUBE_STATUS.READY);
                    }
                    if (ret.b4)
                    {
                        mc.sf.tubeStatus(UnitCodeSF.SF8, SF_TUBE_STATUS.READY);
                    }
                }
            }
        }