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 updateItem(CaliData caliData, CaliProcess caliProcess) { int index = caliProcess.curNum; CaliItem item = null; switch (caliProcess.curMode) { case EnumMode.IACI: item = caliData.iaciData[index]; break; case EnumMode.IACF: item = caliData.iacfData[index]; break; case EnumMode.IDC: item = caliData.idcData[index]; break; case EnumMode.VACF: item = caliData.vacfData[index]; break; case EnumMode.VACVL: item = caliData.vacvData[index]; break; case EnumMode.VDCL: if (index < CaliData.VLOWNUM) { item = caliData.vdcData[index]; } else { item = caliData.vdcData[CaliData.VDCPNUM + index - CaliData.VLOWNUM]; } break; case EnumMode.VACVH: item = caliData.vacvData[CaliData.VLOWNUM + index]; break; case EnumMode.VDCHP: item = caliData.vdcData[CaliData.VLOWNUM + index]; break; case EnumMode.VDCHN: item = caliData.vdcData[CaliData.VDCPNUM + CaliData.VLOWNUM + index]; break; } item.State = 1; }
public string getCS9920SourceString(CaliData caliData, String type) { List <CaliItem> list = null; switch (type) { //直流高压 case "CS9920B": list = caliData.vdcData; if (this.curMode == EnumMode.VDCHP) { this.curSource = list.ElementAt(this.curNum + CaliData.VLOWNUM).Source; } else if (this.curMode == EnumMode.VDCHN) { this.curSource = list.ElementAt(this.curNum + CaliData.VLOWNUM + CaliData.VDCPNUM).Source; } else if (this.curMode == EnumMode.VDCL) { if (this.curNum < CaliData.VLOWNUM) { this.curSource = list.ElementAt(this.curNum).Source; } else { //输出转为正,负电压时换方向实现 this.curSource = (-1 * list.ElementAt(CaliData.VDCPNUM + this.curNum - CaliData.VLOWNUM).Source); } } break; //交流高压 case "CS9920A": list = caliData.vacvData; if (this.curMode == EnumMode.VACVH) { this.curSource = list.ElementAt(this.curNum + CaliData.VLOWNUM).Source; } else if (this.curMode == EnumMode.VACVL) { this.curSource = list.ElementAt(this.curNum).Source; } break; } return(this.curSource.ToString()); }
//根据校准项的点数获取页数 private void getCurModePageCount(CaliData caliData) { switch (this.curMode) { case EnumMode.IACI: this.curModeCount = caliData.iaciData.Count; break; case EnumMode.IACF: this.curModeCount = caliData.iacfData.Count; break; case EnumMode.IDC: this.curModeCount = caliData.idcData.Count; break; case EnumMode.VACF: this.curModeCount = caliData.vacfData.Count; break; case EnumMode.VACVL: this.curModeCount = CaliData.VLOWNUM; break; case EnumMode.VDCL: this.curModeCount = CaliData.VLOWNUM * 2; break; case EnumMode.VACVH: this.curModeCount = CaliData.VACNUM - CaliData.VLOWNUM; break; case EnumMode.VDCHP: this.curModeCount = CaliData.VDCPNUM - CaliData.VLOWNUM; break; case EnumMode.VDCHN: this.curModeCount = CaliData.VDCPNUM - CaliData.VLOWNUM; break; } this.curModePageCount = (this.curModeCount % GridViewModel.pageSize == 0) ? this.curModeCount / GridViewModel.pageSize : this.curModeCount / GridViewModel.pageSize + 1; }
//获取数据源 public void getItemsList(CaliData caliData, BindingList <CaliItem> tempItems) { List <CaliItem> listItems = null; this.getCurModePageCount(caliData); //翻页时判断是否需要切换模式 //下一页 if (this.curModePage >= this.curModePageCount) { if (this.curMode < EnumMode.VDCHN) { this.curMode++; this.curModePage = 0; } else { this.curModePage = this.curModePageCount - 1; } } //上一页 else if (this.curModePage < 0) { if (this.curMode > EnumMode.IACI) { this.curMode--; this.getCurModePageCount(caliData); this.curModePage = this.curModePageCount - 1; } else { this.curModePage = 0; } } int beginRecord = GridViewModel.pageSize * this.curModePage; int endRecord = GridViewModel.pageSize * (this.curModePage + 1) - 1; int offset = 0; switch (this.curMode) { case EnumMode.IACI: listItems = caliData.iaciData; this.curModeCount = caliData.iaciData.Count; break; case EnumMode.IACF: listItems = caliData.iacfData; this.curModeCount = caliData.iacfData.Count; break; case EnumMode.IDC: listItems = caliData.idcData; this.curModeCount = caliData.idcData.Count; break; case EnumMode.VACF: listItems = caliData.vacfData; this.curModeCount = caliData.vacfData.Count; break; case EnumMode.VACVL: listItems = caliData.vacvData; this.curModeCount = CaliData.VLOWNUM; break; case EnumMode.VDCL: listItems = caliData.vdcData; this.curModeCount = CaliData.VLOWNUM * 2; offset = CaliData.VDCPNUM; break; case EnumMode.VACVH: listItems = caliData.vacvData; this.curModeCount = CaliData.VACNUM - CaliData.VLOWNUM; offset = CaliData.VLOWNUM; break; case EnumMode.VDCHP: listItems = caliData.vdcData; this.curModeCount = CaliData.VDCPNUM - CaliData.VLOWNUM; offset = CaliData.VLOWNUM; break; case EnumMode.VDCHN: listItems = caliData.vdcData; this.curModeCount = CaliData.VDCPNUM - CaliData.VLOWNUM; offset = CaliData.VDCPNUM + CaliData.VLOWNUM; break; } if (this.curMode == EnumMode.VDCL) { for (int i = beginRecord; i <= endRecord; i++) { if (i >= this.curModeCount) { break; } if (i >= CaliData.VLOWNUM) { tempItems.Add(listItems.ElementAt(offset + i - CaliData.VLOWNUM)); } else { tempItems.Add(listItems.ElementAt(i)); } } } else { for (int i = beginRecord; i <= endRecord; i++) { if (i >= this.curModeCount) { break; } tempItems.Add(listItems.ElementAt(offset + i)); } } }
public void setTotalNumByType(CaliData caliData) { int total = 0; switch (this.curMode) { case EnumMode.IACI: curModeTotal = caliData.iaciData.Count; total = caliData.iaciData.Count + caliData.iacfData.Count + caliData.idcData.Count + caliData.vacfData.Count + caliData.vacvData.Count + caliData.vdcData.Count; break; case EnumMode.IACF: curModeTotal = caliData.iacfData.Count; total = caliData.iacfData.Count + caliData.idcData.Count + caliData.vacfData.Count + caliData.vacvData.Count + caliData.vdcData.Count; break; case EnumMode.IDC: curModeTotal = caliData.idcData.Count; total = caliData.idcData.Count + caliData.vacfData.Count + caliData.vacvData.Count + caliData.vdcData.Count; break; case EnumMode.VACF: curModeTotal = caliData.vacfData.Count; total = caliData.vacfData.Count + caliData.vacvData.Count + caliData.vdcData.Count; break; case EnumMode.VACVL: curModeTotal = CaliData.VLOWNUM; total = caliData.vacvData.Count + caliData.vdcData.Count; break; case EnumMode.VDCL: curModeTotal = CaliData.VLOWNUM * 2; total = caliData.vacvData.Count - CaliData.VLOWNUM + caliData.vdcData.Count; break; case EnumMode.VACVH: curModeTotal = caliData.vacvData.Count - CaliData.VLOWNUM; total = caliData.vacvData.Count - CaliData.VLOWNUM + caliData.vdcData.Count - CaliData.VLOWNUM * 2; break; case EnumMode.VDCHP: curModeTotal = CaliData.VDCPNUM - CaliData.VLOWNUM; total = caliData.vdcData.Count - CaliData.VLOWNUM * 2; break; case EnumMode.VDCHN: curModeTotal = CaliData.VDCPNUM - CaliData.VLOWNUM; total = curModeTotal; break; } //方式是全部校准 if (this.type) { this.totalNum = total; } //方式是当前模式校准 else { this.totalNum = this.curModeTotal; } }
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; } } } }
public string getFlukeSourceString(CaliData caliData) { string source = "OUT "; string temp = ""; List <CaliItem> list = null; int offset = 0; switch (curMode) { case EnumMode.IACI: list = caliData.iaciData; temp += "MA,50HZ"; break; case EnumMode.IACF: list = caliData.iacfData; temp += "HZ,12MA"; break; case EnumMode.IDC: list = caliData.idcData; temp += "MA,0HZ"; break; case EnumMode.VACF: list = caliData.vacfData; temp += "HZ,1KV"; break; case EnumMode.VACVL: list = caliData.vacvData; temp += "KV,50HZ"; break; case EnumMode.VDCL: list = caliData.vdcData; offset = CaliData.VDCPNUM; temp += "KV,0HZ"; break; case EnumMode.VACVH: list = caliData.vacvData; offset = CaliData.VLOWNUM; temp += "KV,50HZ"; break; case EnumMode.VDCHP: list = caliData.vdcData; offset = CaliData.VLOWNUM; temp += "KV,0HZ"; break; case EnumMode.VDCHN: list = caliData.vdcData; offset = CaliData.VDCPNUM + CaliData.VLOWNUM; temp += "KV,0HZ"; break; } if (curMode == EnumMode.VDCL) { //负向电压低压部分 if (curNum >= CaliData.VLOWNUM) { this.curSource = list.ElementAt(offset + curNum - CaliData.VLOWNUM).Source; } else { this.curSource = list.ElementAt(curNum).Source; } } else { this.curSource = list.ElementAt(curNum).Source; } source += this.curSource.ToString() + temp + ";OPER"; return(source); }