コード例 #1
0
 public void ResetProcess(EnumMode mode, DividerData dividerData)
 {
     this.curNum      = -1;
     this.curNumTest  = -1;
     this.complete    = EnumCaliState.INITI;
     this.curTotalNum = 0;
     this.curMode     = mode;
     setTotalNumByType(dividerData);
 }
コード例 #2
0
ファイル: CaliProcess.cs プロジェクト: upover/undergraduate
 public CaliProcess(EnumMode mode, CaliData caliData)
 {
     this.curNum      = 0;
     this.curNumTest  = -1;
     this.curNumStand = -1;
     this.changeMode  = true;
     this.complete    = EnumCaliState.INITI;
     this.curTotalNum = 0;
     this.curMode     = mode;
     this.initiMode   = mode;
     setTotalNumByType(caliData);
 }
コード例 #3
0
        //获取模式
        public void getCurMode(DividerData dividerData, bool dataValid)
        {
            changeMode = false;
            //当前模式校准完成,curNum从-1开始
            if (curNum == curModeTotal - 1)
            {
                if (!modeCycleSwitch)
                {
                    //循环开关关闭
                    if (modeMeasType == false)
                    {
                        //测试模式是当前模式
                        //数据读取完整
                        if (dataValid)
                        {
                            //测试完成
                            this.complete = EnumCaliState.COMPLETE;
                            //自动保存数据
                            if (this.modeSaveData)
                            {
                                SaveDividerDataToSql(dividerData);
                            }
                        }
                        return;
                    }
                    else
                    {
                        //测试模式是所有模式,根据当前模式进入到下一模式
                        switch (curMode)
                        {
                        case EnumMode.Divider_V_DCP:
                            curMode = EnumMode.Divider_V_DCN;
                            break;

                        case EnumMode.Divider_V_DCN:
                            curMode = EnumMode.Divider_V_AC;
                            break;

                        case EnumMode.Divider_V_AC:
                            curMode = EnumMode.Divider_F;
                            break;

                        case EnumMode.Divider_F:
                            this.complete = EnumCaliState.COMPLETE;
                            return;
                        }
                    }
                }
                else
                {
                    //循环开关打开时
                    //循环测量时,默认自动保存数据
                    DAO.SaveDividerDataByMode(dividerData, curMode);
                    dividerData.Reset(false, curMode);
                    if (modeMeasType)
                    {
                        //测试模式是所有模式时,根据当前模式进入到下一模式
                        switch (curMode)
                        {
                        case EnumMode.Divider_V_DCP:
                            curMode = EnumMode.Divider_V_DCN;
                            break;

                        case EnumMode.Divider_V_DCN:
                            curMode = EnumMode.Divider_V_AC;
                            break;

                        case EnumMode.Divider_V_AC:
                            curMode = EnumMode.Divider_F;
                            break;

                        case EnumMode.Divider_F:
                            curMode = EnumMode.Divider_V_DCP;
                            break;
                        }
                    }
                    else
                    {
                        //测试模式是当前模式时,直接重置此模式
                    }
                    ResetProcess(curMode, dividerData);
                }
            }
        }
コード例 #4
0
ファイル: CaliProcess.cs プロジェクト: upover/undergraduate
        public void getCurMode(CaliData caliData)
        {
            changeMode = false;
            this.stall = EnumStall.STALL_NO;
            //判断当前模式是否校准完成
            if (curNum == curModeTotal)
            {
                if (type == false)
                {
                    this.complete = EnumCaliState.COMPLETE;
                    return;
                }
                curNum         = 0;
                curNumTest     = -1;
                curNumStand    = -1;
                changeMode     = true;
                changeMode9010 = false;
                //进入到下一模式
                switch (curMode)
                {
                case EnumMode.IACI:
                    curMode      = EnumMode.IACF;
                    this.stall   = EnumStall.STALL_4;  //频响校准时需要切换档位
                    curModeTotal = caliData.iacfData.Count;
                    break;

                case EnumMode.IACF:
                    curMode      = EnumMode.IDC;
                    curModeTotal = caliData.idcData.Count;
                    break;

                case EnumMode.IDC:
                    curMode      = EnumMode.VACF;
                    curModeTotal = caliData.vacfData.Count;
                    break;

                case EnumMode.VACF:
                    curMode      = EnumMode.VACVL;
                    curModeTotal = CaliData.VLOWNUM;
                    break;

                case EnumMode.VACVL:
                    curMode      = EnumMode.VDCL;
                    curModeTotal = CaliData.VLOWNUM * 2;
                    break;

                case EnumMode.VDCL:
                    curMode      = EnumMode.VACVH;
                    curModeTotal = caliData.vacvData.Count - CaliData.VLOWNUM;
                    break;

                case EnumMode.VACVH:
                    curMode      = EnumMode.VDCHP;
                    curModeTotal = CaliData.VDCPNUM - CaliData.VLOWNUM;
                    break;

                case EnumMode.VDCHP:
                    curMode      = EnumMode.VDCHN;
                    curModeTotal = CaliData.VDCPNUM - CaliData.VLOWNUM;
                    break;

                case EnumMode.VDCHN:
                    this.complete = EnumCaliState.COMPLETE;
                    break;
                }
            }
            //电流模式需要切换档位
            if (curMode == EnumMode.IACI || curMode == EnumMode.IDC)
            {
                //每5个点切换一次档位
                if (curNum % 5 == 0)
                {
                    changeMode     = true;
                    changeMode9010 = false;
                    int tempStall = curNum / 5;
                    switch (tempStall)
                    {
                    case 0:
                    case 6:
                        this.stall = EnumStall.STALL_6;
                        break;

                    case 1:
                    case 7:
                        this.stall = EnumStall.STALL_5;
                        break;

                    case 2:
                    case 8:
                        this.stall = EnumStall.STALL_4;
                        break;

                    case 3:
                    case 9:
                        this.stall = EnumStall.STALL_3;
                        break;

                    case 4:
                    case 10:
                        this.stall = EnumStall.STALL_2;
                        break;

                    case 5:
                    case 11:
                        this.stall = EnumStall.STALL_1;
                        break;
                    }
                }
            }
        }