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); }
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); }
//获取模式 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); } } }
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; } } } }