Exemple #1
0
 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;
        }
Exemple #3
0
        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));
                }
            }
        }
Exemple #6
0
        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;
            }
        }
Exemple #7
0
        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;
                    }
                }
            }
        }
Exemple #8
0
        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);
        }