コード例 #1
0
        /// <summary>
        /// 创建变压器的数据列表文件
        /// </summary>
        /// <param name="path"></param>
        /// <param name="job"></param>
        private static void CreateTransList(string path, JobList job)
        {
            var transdata = UseUpanDoWork.LocalUsb.CreateTrans(job);

            WriteDataToFile.WriteFile(path, transdata);
        }
コード例 #2
0
 private static bool OltcLocationIsDorYn(JobList jobList)
 {
     if (jobList.Transformer.PhaseNum == 3)
     {
         if (jobList.Transformer.OLTC.WindingPosition == WindingType.HV)
         {
             if (jobList.Transformer.WindingConfig.HV == TransformerWindingConfigName.Y || jobList.Transformer.WindingConfig.HV == TransformerWindingConfigName.D)
             {
                 return(true);
             }
             else
             {
                 return(false);
             }
         }
         else if (jobList.Transformer.OLTC.WindingPosition == WindingType.MV)
         {
             if (jobList.Transformer.WindingConfig.MV == TransformerWindingConfigName.Y || jobList.Transformer.WindingConfig.MV == TransformerWindingConfigName.D)
             {
                 return(true);
             }
             else
             {
                 return(false);
             }
         }
         else
         {
             if (jobList.Transformer.WindingConfig.LV == TransformerWindingConfigName.Y || jobList.Transformer.WindingConfig.LV == TransformerWindingConfigName.D)
             {
                 return(true);
             }
             else
             {
                 return(false);
             }
         }
     }
     else
     {
         if (jobList.Transformer.OLTC.WindingPosition == WindingType.HV)
         {
             if (jobList.Transformer.WindingConfig.HV == TransformerWindingConfigName.Y || jobList.Transformer.WindingConfig.HV == TransformerWindingConfigName.D)
             {
                 return(true);
             }
             else
             {
                 return(false);
             }
         }
         else
         {
             if (jobList.Transformer.WindingConfig.MV == TransformerWindingConfigName.Y || jobList.Transformer.WindingConfig.MV == TransformerWindingConfigName.D)
             {
                 return(true);
             }
             else
             {
                 return(false);
             }
         }
     }
 }
コード例 #3
0
ファイル: UPanList.cs プロジェクト: UPeveryday/tz3310
        //介损供体
        private string CreateCapacitancePra(MeasurementItemStruct mi, JobList job)
        {
            if (mi.Terimal == null)
            {
                string CapacitanceVoltage = "00";
                CapacitanceVoltage = GetParameter.GetPraCapacitanceVoltageNum(job);
                string Fre = "01";
                string Wt  = "01";
                rc.CaPaNum++;
                rc.CaPaNumEnable = true;
                return(CapacitanceVoltage + Fre + Wt + NumCorrection.KeepNum(((int)mi.Winding.ToJSstation()).ToString(), 2, HeadOrTail.Head));
            }
            else
            {
                Parameter.JSstation Jsposition;
                string Windingkind = null;

                if (mi.Winding == WindingType.HV)
                {
                    Jsposition = Parameter.JSstation.高压套管A + (((int)mi.Terimal[0] + 3) % 4);
                }
                else
                {
                    Jsposition = Parameter.JSstation.中压套管A + (((int)mi.Terimal[0] + 3) % 4);
                }
                switch (Jsposition)
                {
                case Parameter.JSstation.高压套管A:
                    Windingkind = "03";
                    break;

                case Parameter.JSstation.高压套管B:
                    Windingkind = "04";
                    break;

                case Parameter.JSstation.高压套管C:
                    Windingkind = "05";
                    break;

                case Parameter.JSstation.高压套管0:
                    Windingkind = "06";
                    break;

                case Parameter.JSstation.中压套管A:
                    Windingkind = "07";
                    break;

                case Parameter.JSstation.中压套管B:
                    Windingkind = "08";
                    break;

                case Parameter.JSstation.中压套管C:
                    Windingkind = "09";
                    break;

                case Parameter.JSstation.中压套管0:
                    Windingkind = "0A";
                    break;

                default:
                    Windingkind = "03";
                    break;
                }
                string CapacitanceVoltage = GetParameter.GetPraCapacitanceVoltageNum(job);
                string Fre = "01";
                string Wt  = "00";
                rc.CaPaNum++;
                rc.CaPaNumEnable = true;

                return(CapacitanceVoltage + Fre + Wt + Windingkind);
            }
        }
コード例 #4
0
        public static MeasurementResult DoMeasurement(ref MeasurementItemStruct mi, Transformer transformer, JobList Job)
        {
            switch (mi.Function)
            {
            case MeasurementFunction.DCInsulation:
                TestFunction.DoDCInsulation(ref mi, transformer, Job);
                break;

            case MeasurementFunction.Capacitance:
                TestFunction.Capacitance(ref mi, transformer, Job);
                break;

            case MeasurementFunction.DCResistance:    //直流电阻
                TestFunction.DCResistance(ref mi, transformer, Job);
                break;

            case MeasurementFunction.BushingDCInsulation:
                TestFunction.BushingDCInsulation(ref mi, transformer, Job);
                break;

            case MeasurementFunction.BushingCapacitance:
                TestFunction.BushingCapacitance(ref mi, transformer, Job);
                break;

            case MeasurementFunction.OLTCSwitchingCharacter:
                TestFunction.OLTCSwitchingCharacter(ref mi, transformer, Job);
                break;

            case MeasurementFunction.Information:
                TestFunction.Information(ref mi, transformer, Job);
                break;

            case MeasurementFunction.DCCharge:    //充电
                break;

            case MeasurementFunction.Description:
                mi.completed = true;
                break;
            }
            return(null);
        }
コード例 #5
0
        public static void Capacitance(ref MeasurementItemStruct mi, Transformer transformer, JobList Job)
        {
            switch (mi.state)
            {
            case 0:
                byte[] TestKindData = TZ3310.SetPraJs(mi.Winding.ToJSstation(), Parameter.JSstyle.内接反接,
                                                      GetParameter.GetPraCapacitanceVoltage(Job), Parameter.JSFrequency._45To_55HZ, 0);
                Thread.Sleep(100);
                TZ3310.StartTest(TestKindData);
                mi.stateText = "正在测试" + mi.Winding + "介损绕组中...";
                mi.state++;
                Thread.Sleep(4000);
                break;

            case 1:
                string[] Recbuffer = TZ3310.ReadTestData(Parameter.TestKind.介质损耗);
                if (Recbuffer != null)
                {
                    if (Recbuffer[Recbuffer.Length - 1] == "0")
                    {
                        mi.Result = MeasurementResult.NewCapacitanceResult(mi, NumericsConverter.Text2Value(Recbuffer[1]), null, null
                                                                           , NumericsConverter.Text2Value(Recbuffer[2]), NumericsConverter.Text2Value(Recbuffer[3]), false);
                    }
                    else if (Recbuffer[Recbuffer.Length - 1] == "1")
                    {
                        mi.Result = MeasurementResult.NewCapacitanceResult(mi, NumericsConverter.Text2Value(Recbuffer[0]),
                                                                           NumericsConverter.Text2Value(Recbuffer[1]), NumericsConverter.Text2Value(Recbuffer[2])
                                                                           , NumericsConverter.Text2Value(GetParameter.GetFreQuency(Parameter.JSFrequency._45To_55HZ)), NumericsConverter.Text2Value(Recbuffer[3]), true);
                        mi.completed = true;
                        mi.stateText = "读取" + mi.Winding + "绕组介损测试成功";
                    }
                    else
                    {
                        //  mi.failed = true;
                        mi.completed = true;
                        mi.stateText = mi.Winding + "错误类型为:" + Recbuffer[0].ToString();
                    }
                }
                break;
            }
        }
コード例 #6
0
ファイル: UPanList.cs プロジェクト: UPeveryday/tz3310
        private string CreateDcResistancePra(MeasurementItemStruct mi, JobList job)
        {
            if (mi.Terimal != null)
            {
                Parameter.ZldzStation Dcposition;
                string WindingConfig       = "00";
                string Windingkind         = "00";
                string DcResistanceCurrent = GetCurrent(GetParameter.GetPraDCResistanceCurrentSpa(mi, job));
                if (mi.Winding == WindingType.HV)
                {
                    Dcposition = Parameter.ZldzStation.高压全部 + (((int)mi.Terimal[0]) % 4);//1
                }
                else if (mi.Winding == WindingType.MV)
                {
                    Dcposition = Parameter.ZldzStation.中压全部 + (((int)mi.Terimal[0]) % 4);//5
                }
                else
                {
                    Dcposition = Parameter.ZldzStation.低压全部 + (((int)mi.Terimal[0]) % 4);//9
                }
                if ((int)mi.WindingConfig == 0)
                {
                    WindingConfig = "00";
                }
                if ((int)mi.WindingConfig == 1)
                {
                    WindingConfig = "01";
                }
                if ((int)mi.WindingConfig == 2)
                {
                    WindingConfig = "02";
                }
                if ((int)mi.WindingConfig == 3)
                {
                    WindingConfig = "03";
                }
                if (GetParameter.GetPraDCResistanceUpanCurrent(job) == Parameter.ZldzCurrent._1A)
                {
                    DcResistanceCurrent = "00";
                }
                if (GetParameter.GetPraDCResistanceUpanCurrent(job) == Parameter.ZldzCurrent._3A)
                {
                    DcResistanceCurrent = "01";
                }
                if (GetParameter.GetPraDCResistanceUpanCurrent(job) == Parameter.ZldzCurrent._10A)
                {
                    DcResistanceCurrent = "02";
                }
                switch (Dcposition)
                {
                case Parameter.ZldzStation.高压AB_A:
                    Windingkind = "01";
                    break;

                case Parameter.ZldzStation.高压BC_B:
                    Windingkind = "02";
                    break;

                case Parameter.ZldzStation.高压CA_C:
                    Windingkind = "03";
                    break;

                case Parameter.ZldzStation.中压AB_A:
                    Windingkind = "05";
                    break;

                case Parameter.ZldzStation.中压BC_B:
                    Windingkind = "06";
                    break;

                case Parameter.ZldzStation.中压CA_C:
                    Windingkind = "07";
                    break;

                case Parameter.ZldzStation.低压AB_A:
                    Windingkind = "09";
                    break;

                case Parameter.ZldzStation.低压BC_B:
                    Windingkind = "0A";
                    break;

                case Parameter.ZldzStation.低压CA_C:
                    Windingkind = "0B";
                    break;

                default:
                    Windingkind = "01";
                    break;
                }
                rc.DcReNumEnable = true;
                rc.DcReNum++;
                return(DcResistanceCurrent + Windingkind + WindingConfig);
            }
            else
            {
                string WindingConfig       = "00";
                string Windingkind         = "00";
                string DcResistanceCurrent = "00";
                if ((int)mi.WindingConfig == 0)
                {
                    WindingConfig = "00";
                }
                if ((int)mi.WindingConfig == 1)
                {
                    WindingConfig = "01";
                }
                if ((int)mi.WindingConfig == 2)
                {
                    WindingConfig = "02";
                }
                if ((int)mi.WindingConfig == 3)
                {
                    WindingConfig = "03";
                }

                if (mi.Winding == WindingType.HV)
                {
                    Windingkind = "00";
                }
                if (mi.Winding == WindingType.MV)
                {
                    Windingkind = "01";
                }
                if (mi.Winding == WindingType.LV)
                {
                    Windingkind = "02";
                }

                if (GetParameter.GetPraDCResistanceCurrentSpa(mi, job) == Parameter.ZldzCurrent._1A)
                {
                    DcResistanceCurrent = "00";
                }
                if (GetParameter.GetPraDCResistanceCurrentSpa(mi, job) == Parameter.ZldzCurrent._3A)
                {
                    DcResistanceCurrent = "01";
                }
                if (GetParameter.GetPraDCResistanceCurrentSpa(mi, job) == Parameter.ZldzCurrent._10A)
                {
                    DcResistanceCurrent = "02";
                }
                rc.DcReNum++;
                rc.DcReNumEnable = true;
                return(DcResistanceCurrent + Windingkind + WindingConfig);
            }
        }
コード例 #7
0
ファイル: TestFunction.cs プロジェクト: UPeveryday/tz3310
 public static void Coredci(ref MeasurementItemStruct mi, Transformer transformer, JobList Job)
 {
 }
コード例 #8
0
 public static void Information(ref MeasurementItemStruct mi, Transformer transformer, JobList Job)
 {
     mi.Result    = MeasurementResult.NewInformation(mi, ConvertData(Job.Information.ToString()), true);
     mi.completed = true;
 }
コード例 #9
0
        public static MeasurementResult DoMeasurement(ref MeasurementItemStruct mi, Transformer transformer, JobList Job, TestingWorkerSender sender)
        {
            switch (mi.Function)
            {
            case MeasurementFunction.DCInsulation:
                TestFunction.DoDCInsulation(ref mi, transformer, Job);
                break;

            case MeasurementFunction.Capacitance:
                TestFunction.Capacitance(ref mi, transformer, Job);
                break;

            case MeasurementFunction.DCResistance:    //直流电阻
                TestFunction.DCResistance(ref mi, transformer, Job, sender);
                break;

            case MeasurementFunction.BushingDCInsulation:
                TestFunction.BushingDCInsulation(ref mi, transformer, Job);
                break;

            case MeasurementFunction.BushingCapacitance:
                TestFunction.BushingCapacitance(ref mi, transformer, Job);
                break;

            case MeasurementFunction.OLTCSwitchingCharacter:
                TestFunction.OLTCSwitchingCharacter(ref mi, transformer, Job);
                break;

            case MeasurementFunction.Information:
                TestFunction.Information(ref mi, transformer, Job);
                break;

            case MeasurementFunction.DCCharge:    //充电
                break;

            case MeasurementFunction.Coreinsulation:    //充电
                TestFunction.Coredci(ref mi, transformer, Job);
                break;

            case MeasurementFunction.Leakagecurrent:    //充电
                TestFunction.Losscurrent(ref mi, transformer, Job);
                break;

            case MeasurementFunction.Shortcircuitimpedance:    //充电
                TestFunction.Shortvolate(ref mi, transformer, Job);
                break;

            case MeasurementFunction.Description:
                mi.completed = true;
                break;
            }
            return(null);
        }
コード例 #10
0
ファイル: TestFunction.cs プロジェクト: UPeveryday/tz3310
        public static void DCResistance(ref MeasurementItemStruct mi, Transformer transformer, JobList Job, TestingWorkerSender sender)
        {
            //string p = (1.1 + i / 10) + " kV";
            //string q = tempp.ToString("f1") + " A";
            //tempp += 0.1;

            //string w = (3.3 + i) + " Ω";
            //var p1 = new PhysicalVariable[] { p, q, w };
            //var p2 = new PhysicalVariable[] { p, q, w };
            //var p3 = new PhysicalVariable[] { p, q, w };
            //mi.Result = MeasurementResult.NewDCResistanceResult(mi, p1, p2, p3, false);
            //i++;
            //if (i > 100)
            //{
            //    mi.completed = true;
            //    mi.failed = true;
            //    mi.stateText = "测量人为中断";
            //    i = 0;
            //}
            //Thread.Sleep(200);

            if (mi.Terimal != null)
            {
                Parameter.ZldzStation Dcposition;
                if (mi.Winding == WindingType.HV)
                {
                    Dcposition = Parameter.ZldzStation.高压全部 + (((int)mi.Terimal[0]) % 4);//1

                    //   mi.WindingConfig = GetWindConfig(sender.MeasurementItems[sender.CurrentItemIndex + 1], transformer);
                }
                else if (mi.Winding == WindingType.MV)
                {
                    Dcposition = Parameter.ZldzStation.中压全部 + (((int)mi.Terimal[0]) % 4);//5
                }
                else
                {
                    if (!Job.DCResistance.ZcEnable)
                    {
                        Dcposition = Parameter.ZldzStation.低压全部 + (((int)mi.Terimal[0]) % 4);//9
                    }
                    else
                    {
                        Dcposition = Parameter.ZldzStation.注磁抵押 + (((int)mi.Terimal[0]) % 4);//9
                    }
                }
                switch (mi.state)
                {
                case 0:
                    if (mi.Winding == WindingType.HV)
                    {
                        mi.WindingConfig = transformer.WindingConfig.HV;
                    }
                    else if (mi.Winding == WindingType.MV)
                    {
                        mi.WindingConfig = transformer.WindingConfig.MV;
                    }
                    else
                    {
                        if (transformer.WindingNum == 2)
                        {
                            mi.WindingConfig = transformer.WindingConfig.MV;
                        }
                        else
                        {
                            mi.WindingConfig = transformer.WindingConfig.LV;
                        }
                    }
                    Thread.Sleep(2000);
                    byte[] TestKindData = TZ3310.SetPraZldz((Parameter.ZldzWindingKind)mi.WindingConfig, Dcposition, GetParameter.GetPraDCResistanceCurrentSpa(mi, Job), 0);
                    Thread.Sleep(100);
                    TZ3310.StartTest(TestKindData);
                    WorkingSets.local.TestDCI        = false;
                    WorkingSets.local.IsEnablestable = true;
                    mi.stateText = "正在开始" + mi.Winding + "直流电阻中...";
                    Thread.Sleep(4000);
                    mi.state++;
                    break;

                case 1:
                    string[] Recbuffer = TZ3310.ReadTestData(Parameter.TestKind.直流电阻);
                    Thread.Sleep(150);
                    if (Recbuffer != null)
                    {
                        if (Recbuffer[Recbuffer.Length - 1] == "0")
                        {
                            PhysicalVariable[] Voltage    = { NumericsConverter.Text2Value(Recbuffer[0]), NumericsConverter.Text2Value(Recbuffer[3]), NumericsConverter.Text2Value(Recbuffer[6]) };
                            PhysicalVariable[] Current    = { NumericsConverter.Text2Value(Recbuffer[1]), NumericsConverter.Text2Value(Recbuffer[4]), NumericsConverter.Text2Value(Recbuffer[7]) };
                            PhysicalVariable[] Resistance = { NumericsConverter.Text2Value(Recbuffer[2]), NumericsConverter.Text2Value(Recbuffer[5]), NumericsConverter.Text2Value(Recbuffer[8]) };
                            mi.Result = MeasurementResult.NewDCResistanceResult(mi, Voltage, Current, Resistance, false);
                            mi.state++;                                        //测量结束数据需要确定
                            mi.stateText = "等待确认" + mi.Winding + "直流电阻稳定中..."; //临时
                            WorkingSets.local.IsVisible  = true;
                            WorkingSets.local.IsVisible1 = true;
                        }
                        else if (Recbuffer[Recbuffer.Length - 1] == "1")
                        {
                            mi.state++;
                        }
                        else
                        {
                            mi.failed    = true;
                            mi.completed = true;
                            mi.stateText = mi.Winding + "错误类型:" + Recbuffer[0].ToString();
                        }
                    }
                    break;

                case 2:
                    string[] Recbuffer1 = TZ3310.ReadTestData(Parameter.TestKind.直流电阻);
                    Thread.Sleep(150);
                    if (Recbuffer1 != null)
                    {
                        if (Recbuffer1[Recbuffer1.Length - 1] == "0")
                        {
                            PhysicalVariable[] Voltage    = { NumericsConverter.Text2Value(Recbuffer1[0]), NumericsConverter.Text2Value(Recbuffer1[3]), NumericsConverter.Text2Value(Recbuffer1[6]) };
                            PhysicalVariable[] Current    = { NumericsConverter.Text2Value(Recbuffer1[1]), NumericsConverter.Text2Value(Recbuffer1[4]), NumericsConverter.Text2Value(Recbuffer1[7]) };
                            PhysicalVariable[] Resistance = { NumericsConverter.Text2Value(Recbuffer1[2]), NumericsConverter.Text2Value(Recbuffer1[5]), NumericsConverter.Text2Value(Recbuffer1[8]) };
                            mi.Result = MeasurementResult.NewDCResistanceResult(mi, Voltage, Current, Resistance, false);
                            if (WorkingSets.local.IsStable == true)
                            {
                                WorkingSets.local.IsStable = false;
                                mi.Result = MeasurementResult.NewDCResistanceResult(mi, Voltage, Current, Resistance, true);
                                TZ3310.InterRuptMe(Parameter.CommanTest.判断直流电阻稳定状态);
                                mi.stateText = "确定" + mi.Winding + "直流电阻稳定成功";
                                mi.state++;
                            }
                        }
                        else if (Recbuffer1[Recbuffer1.Length - 1] == "1")
                        {
                            mi.state++;
                        }
                        else
                        {
                            mi.stateText = mi.Winding + "错误类型:" + Recbuffer1[0].ToString();
                            mi.failed    = true;
                            mi.completed = true;
                        }
                    }
                    break;

                case 3:
                    string[] Recbuffer2 = TZ3310.ReadTestData(Parameter.TestKind.直流电阻);
                    if (Recbuffer2 != null)
                    {
                        if (Recbuffer2[Recbuffer2.Length - 1] == "1")
                        {
                            if (sender.MeasurementItems.Length != (sender.CurrentItemIndex + 1))
                            {
                                var miNext = sender.MeasurementItems[sender.CurrentItemIndex + 1];
                                if (miNext.Terimal != null && mi.Function == miNext.Function &&
                                    mi.Terimal[0] == miNext.Terimal[0] &&
                                    mi.Terimal[1] == miNext.Terimal[1] &&
                                    mi.Winding == miNext.Winding &&
                                    mi.WindingConfig == GetWindConfig(miNext, transformer))
                                {
                                    //不需要放电
                                    mi.stateText = "直流电阻" + mi.Winding + ":" + mi.Terimal[0] + "-" + mi.Terimal[1] + "测试完成";
                                    mi.completed = true;
                                }
                                else
                                {
                                    //需要放电的
                                    TZ3310.ShutDownOutCurrent(0);

                                    mi.state++;
                                }
                            }
                            else
                            {
                                //为最后一项
                                mi.stateText = mi.Winding + "直流电阻正在放电...";
                                TZ3310.ShutDownOutCurrent(0);
                                mi.state++;
                            }
                        }
                        else
                        {
                            mi.failed    = true;
                            mi.completed = true;
                            mi.stateText = mi.Winding + "错误类型:" + Recbuffer2[0].ToString();    //临时
                        }
                    }
                    break;

                case 4:
                    string[] readdata = TZ3310.ReadTestData(Parameter.TestKind.读取放电数据);
                    if (readdata[0] == "2")
                    {
                        mi.stateText = mi.Winding + "直流电阻放电完成";
                        mi.completed = true;
                    }
                    break;
                }
            }
            else
            {
                switch (mi.state)
                {
                case 0:
                    if (mi.Winding == WindingType.HV)
                    {
                        mi.WindingConfig = transformer.WindingConfig.HV;
                    }
                    else if (mi.Winding == WindingType.MV)
                    {
                        mi.WindingConfig = transformer.WindingConfig.MV;
                    }
                    else
                    {
                        if (transformer.PhaseNum == 2)
                        {
                            mi.WindingConfig = transformer.WindingConfig.MV;
                        }
                        else
                        {
                            mi.WindingConfig = transformer.WindingConfig.LV;
                        }
                    }
                    WorkingSets.local.TestDCI        = false;
                    WorkingSets.local.IsEnablestable = true;
                    byte[] TestKindData = TZ3310.SetPraZldz((Parameter.ZldzWindingKind)mi.WindingConfig, mi.Winding.TozldzStation(Job), GetParameter.GetPraDCResistanceCurrentSpa(mi, Job), 0);
                    Thread.Sleep(100);

                    if (TZ3310.StartTest(TestKindData))
                    {
                        mi.stateText = "正在测试" + mi.Winding.TozldzStation(Job) + "直流电阻中...";
                        mi.state++;
                    }
                    Thread.Sleep(4000);
                    break;

                case 1:
                    string[] Recbuffer = TZ3310.ReadTestData(Parameter.TestKind.直流电阻);
                    Thread.Sleep(150);
                    if (Recbuffer != null)
                    {
                        if (Recbuffer[Recbuffer.Length - 1] == "0")
                        {
                            PhysicalVariable[] Voltage    = { Recbuffer[0], Recbuffer[3], Recbuffer[6] };
                            PhysicalVariable[] Current    = { Recbuffer[1], Recbuffer[4], Recbuffer[7] };
                            PhysicalVariable[] Resistance = { Recbuffer[2], Recbuffer[5], Recbuffer[8] };
                            mi.Result = MeasurementResult.NewDCResistanceResult(mi, Voltage, Current, Resistance, false);
                            mi.state++;
                            mi.stateText = "等待确定" + mi.Winding + "直流电阻稳定中...";
                            WorkingSets.local.IsVisible  = true;
                            WorkingSets.local.IsVisible1 = true;
                        }
                        else if (Recbuffer[Recbuffer.Length - 1] == "1")
                        {
                            mi.state++;
                        }
                        else
                        {
                            mi.failed    = true;
                            mi.completed = true;
                            mi.stateText = mi.Winding + "错误类型:" + Recbuffer[0].ToString();
                        }
                    }
                    break;

                case 2:
                    string[] Recbuffer1 = TZ3310.ReadTestData(Parameter.TestKind.直流电阻);
                    if (Recbuffer1 != null)
                    {
                        if (Recbuffer1[Recbuffer1.Length - 1] == "0")
                        {
                            PhysicalVariable[] Voltage    = { Recbuffer1[0], Recbuffer1[3], Recbuffer1[6] };
                            PhysicalVariable[] Current    = { Recbuffer1[1], Recbuffer1[4], Recbuffer1[7] };
                            PhysicalVariable[] Resistance = { Recbuffer1[2], Recbuffer1[5], Recbuffer1[8] };
                            mi.Result = MeasurementResult.NewDCResistanceResult(mi, Voltage, Current, Resistance, false);
                            if (WorkingSets.local.IsStable == true)
                            {
                                WorkingSets.local.IsStable = false;
                                mi.Result = MeasurementResult.NewDCResistanceResult(mi, Voltage, Current, Resistance, true);
                                TZ3310.InterRuptMe(Parameter.CommanTest.判断直流电阻稳定状态);
                                mi.stateText = "确定" + mi.Winding + "直流电阻稳定成功";
                                mi.state++;
                            }
                        }
                        else if (Recbuffer1[Recbuffer1.Length - 1] == "1")
                        {
                            mi.state++;
                        }
                        else
                        {
                            mi.failed    = true;
                            mi.completed = true;
                            mi.stateText = mi.Winding + "错误类型:" + Recbuffer1[0].ToString();
                        }
                    }
                    break;

                case 3:
                    string[] Recbuffer2 = TZ3310.ReadTestData(Parameter.TestKind.直流电阻);
                    if (Recbuffer2 != null)
                    {
                        if (Recbuffer2[Recbuffer2.Length - 1] == "1")
                        {
                            if (sender.MeasurementItems.Length != (sender.CurrentItemIndex + 1))
                            {
                                var miNext = sender.MeasurementItems[sender.CurrentItemIndex + 1];
                                if (mi.Function == miNext.Function &&
                                    mi.Winding == miNext.Winding &&
                                    mi.WindingConfig == GetWindConfig(miNext, transformer))
                                {
                                    //不需要放电
                                    mi.stateText = "直流电阻" + mi.Winding + "测试完成";
                                    mi.completed = true;
                                }
                                else
                                {
                                    //需要放电的
                                    TZ3310.ShutDownOutCurrent(0);
                                    mi.state++;
                                }
                            }
                            else
                            {
                                //为最后一项
                                mi.stateText = mi.Winding + "直流电阻测试完成";
                                TZ3310.ShutDownOutCurrent(0);
                                mi.state++;
                            }
                        }
                        else
                        {
                            mi.failed    = true;
                            mi.completed = true;
                            mi.stateText = mi.Winding + "错误类型:" + Recbuffer2[0].ToString();    //临时
                        }
                    }
                    Thread.Sleep(1000);
                    break;

                case 4:
                    string[] readdata = TZ3310.ReadTestData(Parameter.TestKind.读取放电数据);
                    if (readdata[0] == "2")
                    {
                        mi.stateText = mi.Winding + "直流电阻放电完成";
                        mi.completed = true;
                    }
                    break;
                }
            }
        }
コード例 #11
0
ファイル: JsonSoltion.cs プロジェクト: UPeveryday/tz3310
        public static Errorsymbol JoblistCheck(ref JobList job, Errorsymbol err = Errorsymbol.True)
        {
            if (job.Name == null)
            {
                return(Errorsymbol.JobNameNull);
            }
            if (Errorsymbol.True != TransformerCheck(ref job.Transformer))
            {
                return(TransformerCheck(ref job.Transformer));
            }
            if (job.DCInsulation.HVEnabled != true && job.DCInsulation.HVEnabled != false &&
                job.DCInsulation.MVEnabled != true && job.DCInsulation.MVEnabled != false &&
                job.DCInsulation.LVEnabled != true && job.DCInsulation.LVEnabled != false &&
                job.DCInsulation.ZcEnable != true && job.DCInsulation.ZcEnable != false &&
                job.DCInsulation.Enabled != true && job.DCInsulation.Enabled != false)
            {
                return(Errorsymbol.JobDCInsulationNull);
            }
            if (job.Capacitance.HVEnabled != true && job.Capacitance.HVEnabled != false &&
                job.Capacitance.MVEnabled != true && job.Capacitance.MVEnabled != false &&
                job.Capacitance.LVEnabled != true && job.Capacitance.LVEnabled != false &&
                job.Capacitance.ZcEnable != true && job.Capacitance.ZcEnable != false &&
                job.Capacitance.Enabled != true && job.Capacitance.Enabled != false)
            {
                return(Errorsymbol.JobCapacitanceNull);
            }
            if (job.DCResistance.HVEnabled != true && job.DCResistance.HVEnabled != false &&
                job.DCResistance.MVEnabled != true && job.DCResistance.MVEnabled != false &&
                job.DCResistance.LVEnabled != true && job.DCResistance.LVEnabled != false &&
                job.DCResistance.ZcEnable != true && job.DCResistance.ZcEnable != false &&
                job.DCResistance.Enabled != true && job.DCResistance.Enabled != false)
            {
                return(Errorsymbol.JobDCResistanceNull);
            }

            if (job.Bushing.DCInsulation != true && job.Bushing.DCInsulation != false &&
                job.Bushing.Capacitance != true && job.Bushing.Capacitance != false
                )
            {
                return(Errorsymbol.JobBushingNull);
            }

            if (job.OLTC.DCResistance != true && job.OLTC.DCResistance != false &&
                job.OLTC.SwitchingCharacter != true && job.OLTC.SwitchingCharacter != false &&
                job.OLTC.Enabled != true && job.OLTC.Enabled != false && job.OLTC.Range < 1
                )
            {
                return(Errorsymbol.JobBushingNull);
            }
            if (VolateIsOk(job.Parameter.DCInsulationVoltage, 0) != -1)
            {
                job.Parameter.DCInsulationVoltage = VolateIsOk(job.Parameter.DCInsulationVoltage, 0);
            }
            else
            {
                return(Errorsymbol.JobParameterDCInsulationVoltageNull);
            }
            if (job.Parameter.DCInsulationResistance < 0)
            {
                return(Errorsymbol.JobParameterDCInsulationResistanceNull);
            }
            if (job.Parameter.DCInsulationAbsorptionRatio < 0)
            {
                return(Errorsymbol.JobParameterDCInsulationAbsorptionRatioNull);
            }


            if (VolateIsOk(job.Parameter.CapacitanceVoltage, 2) != -1)
            {
                job.Parameter.CapacitanceVoltage = VolateIsOk(job.Parameter.CapacitanceVoltage, 2);
            }
            else
            {
                return(Errorsymbol.JobParameterCapacitanceVoltageNull);
            }
            if (job.Parameter.DCResistanceCurrent != 5 &&
                job.Parameter.DCResistanceCurrent != 10 &&
                job.Parameter.DCResistanceCurrent != 15 &&

                job.Parameter.DCHvResistanceCurrent != 5 &&
                job.Parameter.DCHvResistanceCurrent != 10 &&
                job.Parameter.DCHvResistanceCurrent != 15 &&

                job.Parameter.DCMvResistanceCurrent != 5 &&
                job.Parameter.DCMvResistanceCurrent != 10 &&
                job.Parameter.DCMvResistanceCurrent != 15 &&

                job.Parameter.DCLvResistanceCurrent != 5 &&
                job.Parameter.DCLvResistanceCurrent != 10 &&
                job.Parameter.DCLvResistanceCurrent != 15)
            {
                return(Errorsymbol.JobParameterDCResistanceCurrentNull);
            }
            if (VolateIsOk(job.Parameter.BushingDCInsulationVoltage, 0) != -1)
            {
                job.Parameter.BushingDCInsulationVoltage = VolateIsOk(job.Parameter.BushingDCInsulationVoltage, 0);
            }
            else
            {
                return(Errorsymbol.JobParameterBushingDCInsulationVoltageNull);
            }
            if (VolateIsOk(job.Parameter.BushingCapacitanceVoltage, 2) != -1)
            {
                job.Parameter.BushingCapacitanceVoltage = VolateIsOk(job.Parameter.BushingCapacitanceVoltage, 2);
            }
            else
            {
                return(Errorsymbol.JobParameterBushingCapacitanceVoltageNull);
            }

            if (job.Information.testingTime == null)
            {
                return(Errorsymbol.JobInformationtestingTimeNull);
            }
            if (job.Information.testingName == null)
            {
                return(Errorsymbol.JobInformationtestingNameNull);
            }
            if (job.Information.tester == null)
            {
                return(Errorsymbol.JobInformationtesterNull);
            }
            if (job.Information.testingAgency == null)
            {
                return(Errorsymbol.JobInformationtestingAgencyNull);
            }
            if (job.Information.auditor == null)
            {
                return(Errorsymbol.JobInformationauditorNull);
            }
            if (job.Information.approver == null)
            {
                return(Errorsymbol.JobInformationapproverNull);
            }
            if (job.Information.weather == null)
            {
                return(Errorsymbol.JobInformationweatherNull);
            }
            if (job.Information.temperature == null)
            {
                return(Errorsymbol.JobInformationtemperatureNull);
            }
            if (job.Information.humidity == null)
            {
                return(Errorsymbol.JobInformationhumidityNull);
            }
            if (job.Information.principal == null)
            {
                return(Errorsymbol.JobInformationprincipalNull);
            }

            return(Errorsymbol.True);
        }
コード例 #12
0
ファイル: JsonSoltion.cs プロジェクト: UPeveryday/tz3310
        public static string Getjsonstr(byte[] jsons, ref int Flag)
        {
            string jsondata = Encoding.Default.GetString(jsons);

            if (jsondata.StartsWith("Location"))
            {
                Flag = -1;
                Location lc = new Location();
                try
                {
                    lc = JsonConvert.DeserializeObject <Location>(jsondata.Remove(0, 8));
                    if (LocationCheck(ref lc))
                    {
                        AddLocation(lc);
                        Flag = (int)Errorsymbol.AddLocationOk;
                        return(jsondata.Remove(0, 8));
                    }
                    else
                    {
                        Flag = (int)Errorsymbol.AddLocationFalse;
                        return(null);
                        //AddLocation(lc);
                    }
                }
                catch
                {
                    Flag = (int)Errorsymbol.AddLocationFalse;
                    return(null);
                }
            }
            if (jsondata.StartsWith("Transformer"))
            {
                Flag = -1;
                Transformer lc = new Transformer();
                try
                {
                    lc = JsonConvert.DeserializeObject <Transformer>(jsondata.Remove(0, 11));
                    if (Errorsymbol.True == TransformerCheck(ref lc))
                    {
                        AddTransformer(lc);
                        Flag = (int)Errorsymbol.AddTransformerOk;
                        return(jsondata.Remove(0, 11));
                    }
                    else
                    {
                        Flag = (int)Errorsymbol.AddTransformerFalse;
                        //AddTransformer(lc);
                        return(null);
                    }
                }
                catch
                {
                    Flag = (int)Errorsymbol.AddTransformerFalse;
                    return(null);
                }
            }
            if (jsondata.StartsWith("JobList"))
            {
                Flag = -1;
                JobList job = new JobList();
                try
                {
                    job = JsonConvert.DeserializeObject <JobList>(jsondata.Remove(0, 7));
                    if (Errorsymbol.True == JoblistCheck(ref job))
                    {
                        saveJob(job);
                        Flag = (int)Errorsymbol.AddJobListOk;
                        return(jsondata.Remove(0, 7));
                    }
                    else
                    {
                        Flag = (int)Errorsymbol.AddJobListFalse;
                        return(null);
                    }
                }
                catch
                {
                    Flag = Flag = (int)Errorsymbol.AddJobListFalse;
                    return(null);
                }
            }
            if (jsondata.StartsWith("JobTest"))
            {
                Flag = -1;
                return(Encoding.Default.GetString(jsons));
            }
            return(null);
        }
コード例 #13
0
 private static void getStartAndEndMessageReserver(int i, int TapLocation, int TapMainNum, JobList jobList, List <MeasurementItemStruct> miList)
 {
     if (i == TapLocation && TapMainNum > 1)
     {
         char tapMessage = (char)('A' + TapMainNum - 1);
         for (int j = 0; j <= TapMainNum; j++)
         {
             string firstMessage = String.Empty;
             string endMessage   = String.Empty;
             if (j == 0)
             {
                 firstMessage = (i + 1).ToString();
                 endMessage   = i.ToString() + (char)('A' + TapMainNum - 1);
             }
             else if (j == TapMainNum)
             {
                 firstMessage = i.ToString() + 'A';
                 endMessage   = (i - 1).ToString();
             }
             else
             {
                 firstMessage = i.ToString() + tapMessage;
                 tapMessage   = (char)(tapMessage - 1);
                 endMessage   = i.ToString() + tapMessage;
             }
             if (jobList.Transformer.OLTC.WindingPosition == WindingType.HV)
             {
                 miList.Add(MeasurementItemStruct.CreateOLTCSwitchingCharacterMeasurementItem(jobList.Transformer.OLTC.WindingPosition, firstMessage, endMessage, jobList.Transformer.WindingConfig.HV));
             }
             if (jobList.Transformer.OLTC.WindingPosition == WindingType.MV)
             {
                 miList.Add(MeasurementItemStruct.CreateOLTCSwitchingCharacterMeasurementItem(jobList.Transformer.OLTC.WindingPosition, firstMessage, endMessage, jobList.Transformer.WindingConfig.MV));
             }
         }
     }
 }
コード例 #14
0
        public static void BushingCapacitance(ref MeasurementItemStruct mi, Transformer transformer, JobList Job)
        {
            Parameter.JSstation Jsposition;
            if (mi.Winding == WindingType.HV)
            {
                Jsposition = Parameter.JSstation.高压套管A + (((int)mi.Terimal[0] + 3) % 4);
            }
            else
            {
                Jsposition = Parameter.JSstation.中压套管A + (((int)mi.Terimal[0] + 3) % 4);
            }
            switch (mi.state)
            {
            case 0:
                byte[] TestKindData = TZ3310.SetPraJs(Jsposition, Parameter.JSstyle.内接正接, GetParameter.GetPraCapacitanceVoltage(Job), Parameter.JSFrequency._45To_55HZ, 0);
                Thread.Sleep(100);
                TZ3310.StartTest(TestKindData);
                mi.stateText = "正在测试" + mi.Winding + "末屏中...";
                mi.state++;
                Thread.Sleep(4000);
                break;

            case 1:
                string[] Recbuffer = TZ3310.ReadTestData(Parameter.TestKind.介质损耗);
                if (Recbuffer != null)
                {
                    if (Recbuffer[Recbuffer.Length - 1] == "0")
                    {
                        mi.Result = MeasurementResult.NewBushingCapacitanceResult(mi, NumericsConverter.Text2Value(Recbuffer[1]), null, null
                                                                                  , NumericsConverter.Text2Value(Recbuffer[2]), NumericsConverter.Text2Value(Recbuffer[3]), false);
                    }
                    else if (Recbuffer[Recbuffer.Length - 1] == "1")
                    {
                        mi.Result = MeasurementResult.NewBushingCapacitanceResult(mi, NumericsConverter.Text2Value(Recbuffer[0]),
                                                                                  NumericsConverter.Text2Value(Recbuffer[1]), NumericsConverter.Text2Value(Recbuffer[2])
                                                                                  , NumericsConverter.Text2Value(GetParameter.GetFreQuency(Parameter.JSFrequency._45To_55HZ)), NumericsConverter.Text2Value(Recbuffer[3]), true);
                        mi.completed = true;
                        mi.stateText = "读取" + mi.Winding + "末屏测试完成";
                    }
                    else
                    {
                        // mi.failed = true;
                        mi.completed = true;
                        mi.stateText = mi.Winding + "错误类型:" + Recbuffer[0].ToString();
                    }
                }
                break;
            }
        }
コード例 #15
0
ファイル: TestFunction.cs プロジェクト: UPeveryday/tz3310
 public static void Losscurrent(ref MeasurementItemStruct mi, Transformer transformer, JobList Job)
 {
 }
コード例 #16
0
        public static void OLTCSwitchingCharacter(ref MeasurementItemStruct mi, Transformer transformer, JobList Job)
        {
            Parameter.YzfjStation yzfjStation;
            if (mi.Winding == WindingType.HV)
            {
                yzfjStation = Parameter.YzfjStation.高压侧;
            }
            else
            {
                yzfjStation = Parameter.YzfjStation.中压侧;
            }
            switch (mi.state)
            {
            case 0:
                byte[] TestKindData = TZ3310.SetPraYzfj((Parameter.YzfjWindingKind)mi.WindingConfig, yzfjStation, Parameter.yzfjTap._1To_2, Parameter.YzfjCurrent._1_A, 5, 5, 0);
                Thread.Sleep(100);
                TZ3310.StartTest(TestKindData);
                mi.stateText = "正在测试" + mi.Winding + "有载分接中...";
                mi.state++;
                Thread.Sleep(4000);
                break;

            case 1:
                string[] Recbuffer = TZ3310.ReadTestData(Parameter.TestKind.载分接);
                if (Recbuffer != null)
                {
                    bool ReadforT;
                    if (Recbuffer[0] == "1")
                    {
                        ReadforT = true;
                    }
                    else
                    {
                        ReadforT = false;
                    }
                    if (Recbuffer.Length == 7)
                    {
                        PhysicalVariable[] Voltage   = { NumericsConverter.Text2Value(Recbuffer[1]), NumericsConverter.Text2Value(Recbuffer[3]), NumericsConverter.Text2Value(Recbuffer[5]) };  //135
                        PhysicalVariable[] current   = { NumericsConverter.Text2Value(Recbuffer[2]), NumericsConverter.Text2Value(Recbuffer[4]), NumericsConverter.Text2Value(Recbuffer[6]) };  //246
                        PhysicalVariable[] Resistans = new PhysicalVariable[3];
                        Resistans[0] = NumericsConverter.Text2Value("0.005");
                        Resistans[1] = NumericsConverter.Text2Value("0.005");
                        Resistans[2] = NumericsConverter.Text2Value("0.005");
                        mi.Result    = MeasurementResult.NewOLTCSwitchingCharacterResult(mi, Voltage, current, Resistans, null, ReadforT, false);
                        mi.stateText = "读取" + mi.Winding + "有载分接充电中...";
                        if (ReadforT)    //可以触发
                        {
                            mi.stateText = mi.Winding + "有载分接等待触发。。。";
                            Thread.Sleep(500);
                            mi.state++;
                        }
                    }
                    else
                    {
                        //  mi.failed = true;
                        mi.completed = true;
                        mi.stateText = "充电时错误:" + Recbuffer[0].ToString();
                    }
                }
                break;

            case 2:
                string[] Recbuffer1 = TZ3310.ReadTestData(Parameter.TestKind.载分接);
                if (Recbuffer1 != null)
                {
                    bool ReadforR;
                    if (Recbuffer1[0] == "2")
                    {
                        ReadforR = true;
                    }
                    else
                    {
                        ReadforR = false;
                    }
                    if (Recbuffer1.Length == 7)
                    {
                        PhysicalVariable[] Voltage = { NumericsConverter.Text2Value(Recbuffer1[1]), NumericsConverter.Text2Value(Recbuffer1[3]), NumericsConverter.Text2Value(Recbuffer1[5]) }; //135
                        PhysicalVariable[] current = { NumericsConverter.Text2Value(Recbuffer1[2]), NumericsConverter.Text2Value(Recbuffer1[4]), NumericsConverter.Text2Value(Recbuffer1[6]) }; //246
                        if (ReadforR)                                                                                                                                                           //触发成功
                        {
                            mi.Result = MeasurementResult.NewOLTCSwitchingCharacterResult(mi, Voltage, current, new PhysicalVariable[3], null, ReadforR, true);

                            mi.stateText = "读取" + mi.Winding + "触发成功";
                            mi.state++;
                        }
                    }

                    else if (Recbuffer1.Length == 1)
                    {
                        // mi.failed = true;
                        mi.completed = true;
                        mi.stateText = mi.Winding + "错误类型:" + Recbuffer1[0].ToString();
                    }
                }
                break;

            case 3:

                mi.stateText = "正在读取波形中。。。";
                Thread.Sleep(8000);
                mi.state++;
                break;

            case 4:
                var Waveform = TZ3310.GetWaveFormData;    //5s
                if (Waveform != null)
                {
                    mi.Result = MeasurementResult.NewOLTCSwitchingCharacterResult(mi, new PhysicalVariable[3], new PhysicalVariable[3],
                                                                                  new PhysicalVariable[3], Waveform, false, true);
                    mi.state++;
                    WorkingSets.local.WaveFormSwicth = Waveform;
                    Thread.Sleep(50);
                    WorkingSets.local.ShowWaveForm = true;
                    mi.stateText = mi.Winding + "波形读取完成";
                }
                else
                {
                    // mi.state++;
                    //    mi.failed = true;
                    mi.completed = true;
                    mi.stateText = mi.Winding + "未读取到波形";
                }
                break;

            case 5:
                mi.completed = true;
                break;
            }
        }
コード例 #17
0
ファイル: TestFunction.cs プロジェクト: UPeveryday/tz3310
 public static void Shortvolate(ref MeasurementItemStruct mi, Transformer transformer, JobList Job)
 {
 }
コード例 #18
0
 public static void DCCharge(ref MeasurementItemStruct mi, Transformer transformer, JobList Job)
 {
 }
コード例 #19
0
ファイル: GetParameter.cs プロジェクト: UPeveryday/tz3310
        public static Parameter.ZldzCurrent GetPraDCResistanceCurrentSpa(MeasurementItemStruct mi, JobList job)
        {
            int DCHvResistanceCurrent = job.Parameter.DCHvResistanceCurrent;
            int DCMvResistanceCurrent = job.Parameter.DCMvResistanceCurrent;
            int DCLvResistanceCurrent = job.Parameter.DCLvResistanceCurrent;

            if (mi.Winding == WindingType.HV)
            {
                if (mi.WindingConfig == TransformerWindingConfigName.Yn)
                {
                    if (DCHvResistanceCurrent == 15)
                    {
                        return(Parameter.ZldzCurrent._3A);
                    }
                    else if (DCHvResistanceCurrent == 1)
                    {
                        return(Parameter.ZldzCurrent._1A);
                    }
                    else
                    {
                        return(Parameter.ZldzCurrent._3A);
                    }
                }
                else
                {
                    switch (DCHvResistanceCurrent)
                    {
                    case 1: return(Parameter.ZldzCurrent._1A);

                    case 5: return(Parameter.ZldzCurrent._3A);

                    case 15: return(Parameter.ZldzCurrent._10A);

                    default: return(Parameter.ZldzCurrent._1A);
                    }
                }
            }
            else if (mi.Winding == WindingType.MV)
            {
                if (mi.WindingConfig == TransformerWindingConfigName.Yn)
                {
                    if (DCMvResistanceCurrent == 15)
                    {
                        return(Parameter.ZldzCurrent._3A);
                    }
                    else if (DCMvResistanceCurrent == 1)
                    {
                        return(Parameter.ZldzCurrent._1A);
                    }
                    else
                    {
                        return(Parameter.ZldzCurrent._3A);
                    }
                }
                else
                {
                    switch (DCMvResistanceCurrent)
                    {
                    case 1: return(Parameter.ZldzCurrent._1A);

                    case 5: return(Parameter.ZldzCurrent._3A);

                    case 15: return(Parameter.ZldzCurrent._10A);

                    default: return(Parameter.ZldzCurrent._1A);
                    }
                }
            }
            else
            {
                if (mi.WindingConfig == TransformerWindingConfigName.Yn)
                {
                    if (DCLvResistanceCurrent == 15)
                    {
                        return(Parameter.ZldzCurrent._3A);
                    }
                    else if (DCLvResistanceCurrent == 1)
                    {
                        return(Parameter.ZldzCurrent._1A);
                    }
                    else
                    {
                        return(Parameter.ZldzCurrent._3A);
                    }
                }
                else
                {
                    switch (DCLvResistanceCurrent)
                    {
                    case 1: return(Parameter.ZldzCurrent._1A);

                    case 5: return(Parameter.ZldzCurrent._3A);

                    case 15: return(Parameter.ZldzCurrent._10A);

                    default: return(Parameter.ZldzCurrent._1A);
                    }
                }
            }
        }
コード例 #20
0
        public static void DCResistance(ref MeasurementItemStruct mi, Transformer transformer, JobList Job)
        {
            if (mi.Terimal != null)
            {
                Parameter.ZldzStation Dcposition;
                if (mi.Winding == WindingType.HV)
                {
                    Dcposition = (Parameter.ZldzStation)(Parameter.ZldzStation.高压全部 + (((int)mi.Terimal[0]) % 4));//1
                }
                else if (mi.Winding == WindingType.MV)
                {
                    Dcposition = (Parameter.ZldzStation)(Parameter.ZldzStation.中压全部 + (((int)mi.Terimal[0]) % 4));//5
                }
                else
                {
                    Dcposition = (Parameter.ZldzStation)(Parameter.ZldzStation.低压全部 + (((int)mi.Terimal[0]) % 4));//9
                }
                switch (mi.state)
                {
                case 0:

                    byte[] TestKindData = TZ3310.SetPraZldz((Parameter.ZldzWindingKind)mi.WindingConfig, Dcposition, GetParameter.GetPraDCResistanceCurrent(Job), 0);
                    Thread.Sleep(100);
                    TZ3310.StartTest(TestKindData);
                    WorkingSets.local.IsEnablestable = true;
                    mi.stateText = "正在测试" + mi.Winding + "直流电阻中...";
                    mi.state++;
                    Thread.Sleep(4000);
                    break;

                case 1:
                    string[] Recbuffer = TZ3310.ReadTestData(Parameter.TestKind.直流电阻);
                    if (Recbuffer != null)
                    {
                        if (Recbuffer[Recbuffer.Length - 1] == "0")
                        {
                            PhysicalVariable[] Voltage    = { NumericsConverter.Text2Value(Recbuffer[0]), NumericsConverter.Text2Value(Recbuffer[3]), NumericsConverter.Text2Value(Recbuffer[6]) };
                            PhysicalVariable[] Current    = { NumericsConverter.Text2Value(Recbuffer[1]), NumericsConverter.Text2Value(Recbuffer[4]), NumericsConverter.Text2Value(Recbuffer[7]) };
                            PhysicalVariable[] Resistance = { NumericsConverter.Text2Value(Recbuffer[2]), NumericsConverter.Text2Value(Recbuffer[5]), NumericsConverter.Text2Value(Recbuffer[8]) };
                            mi.Result = MeasurementResult.NewDCResistanceResult(mi, Voltage, Current, Resistance, false);

                            mi.state++;                                      //测量结束数据需要确定
                            mi.stateText = "读取" + mi.Winding + "直流电阻数据中..."; //临时
                            Thread.Sleep(500);
                        }
                        else
                        {
                            //  mi.failed = true;
                            mi.completed = true;
                            mi.stateText = mi.Winding + "错误类型:" + Recbuffer[0].ToString();
                        }
                    }
                    break;

                case 2:
                    string[] Recbuffer1 = TZ3310.ReadTestData(Parameter.TestKind.直流电阻);
                    if (Recbuffer1 != null)
                    {
                        if (Recbuffer1[Recbuffer1.Length - 1] == "0")
                        {
                            PhysicalVariable[] Voltage    = { NumericsConverter.Text2Value(Recbuffer1[0]), NumericsConverter.Text2Value(Recbuffer1[3]), NumericsConverter.Text2Value(Recbuffer1[6]) };
                            PhysicalVariable[] Current    = { NumericsConverter.Text2Value(Recbuffer1[1]), NumericsConverter.Text2Value(Recbuffer1[4]), NumericsConverter.Text2Value(Recbuffer1[7]) };
                            PhysicalVariable[] Resistance = { NumericsConverter.Text2Value(Recbuffer1[2]), NumericsConverter.Text2Value(Recbuffer1[5]), NumericsConverter.Text2Value(Recbuffer1[8]) };
                            mi.Result = MeasurementResult.NewDCResistanceResult(mi, Voltage, Current, Resistance, false);
                            if (WorkingSets.local.IsStable == true)
                            {
                                mi.Result = MeasurementResult.NewDCResistanceResult(mi, Voltage, Current, Resistance, true);
                                TZ3310.InterRuptMe(Parameter.CommanTest.判断直流电阻稳定状态);
                                Thread.Sleep(500);
                                WorkingSets.local.IsStable = false;
                                mi.stateText = "确定" + mi.Winding + "直流电阻稳定成功";    //临时
                                Thread.Sleep(500);
                                mi.stateText = "读取" + mi.Winding + "直流电阻数据成功";    //临时
                                mi.state++;
                            }
                        }
                        else
                        {
                            // mi.failed = true;
                            mi.completed = true;
                            mi.stateText = mi.Winding + "错误类型:" + Recbuffer1[0].ToString();    //临时
                        }
                    }
                    break;

                case 3:
                    string[] Recbuffer2 = TZ3310.ReadTestData(Parameter.TestKind.直流电阻);
                    if (Recbuffer2 != null)
                    {
                        if (Recbuffer2[Recbuffer2.Length - 1] == "1")
                        {
                            mi.stateText = mi.Winding + "直流电阻测试完成:";
                            mi.completed = true;
                        }
                        else
                        {
                            // mi.failed = true;
                            mi.completed = true;
                            mi.stateText = mi.Winding + "错误类型:" + Recbuffer2[0].ToString();    //临时
                        }
                    }
                    break;
                }
            }
            else
            {
                switch (mi.state)
                {
                case 0:
                    byte[] TestKindData = TZ3310.SetPraZldz((Parameter.ZldzWindingKind)mi.WindingConfig, mi.Winding.TozldzStation(), GetParameter.GetPraDCResistanceCurrent(Job), 0);
                    Thread.Sleep(100);
                    TZ3310.StartTest(TestKindData);
                    WorkingSets.local.IsEnablestable = true;
                    mi.stateText = "正在测试" + mi.Winding.TozldzStation() + "直流电阻中...";
                    mi.state++;
                    Thread.Sleep(4000);
                    break;

                case 1:
                    string[] Recbuffer = TZ3310.ReadTestData(Parameter.TestKind.直流电阻);
                    if (Recbuffer != null)
                    {
                        if (Recbuffer[Recbuffer.Length - 1] == "0")
                        {
                            PhysicalVariable[] Voltage    = { NumericsConverter.Text2Value(Recbuffer[0]), NumericsConverter.Text2Value(Recbuffer[3]), NumericsConverter.Text2Value(Recbuffer[6]) };
                            PhysicalVariable[] Current    = { NumericsConverter.Text2Value(Recbuffer[1]), NumericsConverter.Text2Value(Recbuffer[4]), NumericsConverter.Text2Value(Recbuffer[7]) };
                            PhysicalVariable[] Resistance = { NumericsConverter.Text2Value(Recbuffer[2]), NumericsConverter.Text2Value(Recbuffer[5]), NumericsConverter.Text2Value(Recbuffer[8]) };
                            mi.Result = MeasurementResult.NewDCResistanceResult(mi, Voltage, Current, Resistance, false);
                            mi.state++;
                            mi.stateText = "等待" + mi.Winding + "直流电阻稳定中...";
                        }
                        else
                        {
                            // mi.failed = true;
                            mi.completed = true;
                            mi.stateText = mi.Winding + "错误类型" + Recbuffer[0].ToString();
                        }
                    }
                    break;

                case 2:
                    string[] Recbuffer1 = TZ3310.ReadTestData(Parameter.TestKind.直流电阻);
                    if (Recbuffer1 != null)
                    {
                        if (Recbuffer1[Recbuffer1.Length - 1] == "0")
                        {
                            PhysicalVariable[] Voltage    = { NumericsConverter.Text2Value(Recbuffer1[0]), NumericsConverter.Text2Value(Recbuffer1[3]), NumericsConverter.Text2Value(Recbuffer1[6]) };
                            PhysicalVariable[] Current    = { NumericsConverter.Text2Value(Recbuffer1[1]), NumericsConverter.Text2Value(Recbuffer1[4]), NumericsConverter.Text2Value(Recbuffer1[7]) };
                            PhysicalVariable[] Resistance = { NumericsConverter.Text2Value(Recbuffer1[2]), NumericsConverter.Text2Value(Recbuffer1[5]), NumericsConverter.Text2Value(Recbuffer1[8]) };
                            mi.Result = MeasurementResult.NewDCResistanceResult(mi, Voltage, Current, Resistance, false);
                            if (WorkingSets.local.IsStable == true)
                            {
                                mi.Result = MeasurementResult.NewDCResistanceResult(mi, Voltage, Current, Resistance, true);
                                TZ3310.InterRuptMe(Parameter.CommanTest.判断直流电阻稳定状态);
                                WorkingSets.local.IsStable = false;
                                mi.stateText = "确定" + mi.Winding + "直流电阻稳定成功";
                                Thread.Sleep(500);
                                mi.stateText = "读取" + mi.Winding + "直流电阻数据成功";
                                mi.completed = true;
                            }
                        }
                    }
                    break;
                }
            }
        }
コード例 #21
0
ファイル: GetParameter.cs プロジェクト: UPeveryday/tz3310
        public static Parameter.YzfjCurrent GetPraDCResistanceCurrentUpanSpa(MeasurementItemStruct mi, JobList job)
        {
            int DCResistanceCurrent = job.Parameter.DCResistanceCurrent;

            if (mi.WindingConfig == TransformerWindingConfigName.Yn)
            {
                if (DCResistanceCurrent == 15)
                {
                    return(Parameter.YzfjCurrent._3_A);
                }
                else if (DCResistanceCurrent == 5)
                {
                    return(Parameter.YzfjCurrent._1_A);
                }
                else
                {
                    return(Parameter.YzfjCurrent._3_A);
                }
            }
            else
            {
                switch (DCResistanceCurrent)
                {
                case 5: return(Parameter.YzfjCurrent._1_A);

                case 10: return(Parameter.YzfjCurrent._3_A);

                case 15: return(Parameter.YzfjCurrent._10_A);

                default: return(Parameter.YzfjCurrent._1_A);
                }
            }
        }
コード例 #22
0
ファイル: UPanList.cs プロジェクト: UPeveryday/tz3310
        private string CreateDCInsulationPra(MeasurementItemStruct mi, JobList job)
        {
            //if (mi.Winding.ToJYDZstation() == Parameter.JYDZstation.高压绕组 ||
            //   mi.Winding.ToJYDZstation() == Parameter.JYDZstation.中压绕组 ||
            //   mi.Winding.ToJYDZstation() == Parameter.JYDZstation.低压绕组)
            if (mi.Terimal == null)
            {
                string DCInsulationVoltage = GetParameter.GetPraDCInsulationVoltageNum(job);
                string Windingkind         = "00";//默认00
                if (mi.Winding == WindingType.HV)
                {
                    Windingkind = "00";
                }
                if (mi.Winding == WindingType.MV)
                {
                    Windingkind = "01";
                }
                if (mi.Winding == WindingType.LV)
                {
                    Windingkind = "02";
                }
                rc.DcInNUm++;
                rc.DcInNUmEnable = true;

                return(DCInsulationVoltage + Windingkind + "02" + "64" + "64");
            }
            else
            {
                Parameter.JYDZstation position;
                string DCInsulationVoltage = GetParameter.GetPraDCInsulationVoltageNum(job);
                string Windingkind         = null;
                if (mi.Winding == WindingType.HV)
                {
                    position = Parameter.JYDZstation.高压套管A + (((int)mi.Terimal[0] + 3) % 4);
                }
                else
                {
                    position = Parameter.JYDZstation.中压套管A + (((int)mi.Terimal[0] + 3) % 4);
                }
                switch (position)
                {
                case Parameter.JYDZstation.高压套管A:
                    Windingkind = "03";
                    break;

                case Parameter.JYDZstation.高压套管B:
                    Windingkind = "04";
                    break;

                case Parameter.JYDZstation.高压套管C:
                    Windingkind = "05";
                    break;

                case Parameter.JYDZstation.高压套管0:
                    Windingkind = "06";
                    break;

                case Parameter.JYDZstation.中压套管A:
                    Windingkind = "07";
                    break;

                case Parameter.JYDZstation.中压套管B:
                    Windingkind = "08";
                    break;

                case Parameter.JYDZstation.中压套管C:
                    Windingkind = "09";
                    break;

                case Parameter.JYDZstation.中压套管0:
                    Windingkind = "0A";
                    break;

                default:
                    Windingkind = "03";
                    break;
                }
                rc.DcInNUm++;
                rc.DcInNUmEnable = true;

                return(DCInsulationVoltage + Windingkind + "02" + "64" + "64");
            }
        }
コード例 #23
0
        public static List <MeasurementItemStruct> JobList2MeasurementItems(JobList jobList)
        {
            List <MeasurementItemStruct> miList = new List <MeasurementItemStruct>();
            //miList.Add(MeasurementItemStruct.CreateInformation("添加使用用户信息模块"));//问题

            int TapNum = (jobList.Transformer.OLTC.TapNum - 1) / 2;

            if (jobList.Transformer.OLTC.Contained == true)
            {
                miList.Add(MeasurementItemStruct.CreateText("将变压器有载分接开关位置切换到额定分接(分接" + (TapNum + 1).ToString() + "B)位置;"));
            }

            if (jobList.DCInsulation.Enabled || jobList.Bushing.DCInsulation)
            {
                miList.Add(MeasurementItemStruct.CreateText("使用绝缘电阻试验模块:"));
                if (jobList.DCInsulation.HVEnabled)
                {
                    miList.Add(MeasurementItemStruct.CreateDCInsulationMeasurementItem(WindingType.HV));
                }
                if ((jobList.Bushing.DCInsulation) && (jobList.Transformer.Bushing.HVContained))
                {
                    if (jobList.Transformer.WindingConfig.HV == TransformerWindingConfigName.Yn)
                    {
                        miList.Add(MeasurementItemStruct.CreateBushingDCInsulationMeasurementItem(WindingType.HV, WindingTerimal.O));
                    }
                    miList.Add(MeasurementItemStruct.CreateBushingDCInsulationMeasurementItem(WindingType.HV, WindingTerimal.A));
                    miList.Add(MeasurementItemStruct.CreateBushingDCInsulationMeasurementItem(WindingType.HV, WindingTerimal.B));
                    miList.Add(MeasurementItemStruct.CreateBushingDCInsulationMeasurementItem(WindingType.HV, WindingTerimal.C));
                }
                if (jobList.DCInsulation.MVEnabled)
                {
                    miList.Add(MeasurementItemStruct.CreateDCInsulationMeasurementItem(WindingType.MV));
                }
                if ((jobList.Bushing.DCInsulation) && (jobList.Transformer.Bushing.MVContained))
                {
                    if (jobList.Transformer.WindingConfig.MV == TransformerWindingConfigName.Yn)
                    {
                        miList.Add(MeasurementItemStruct.CreateBushingDCInsulationMeasurementItem(WindingType.MV, WindingTerimal.O));
                    }
                    miList.Add(MeasurementItemStruct.CreateBushingDCInsulationMeasurementItem(WindingType.MV, WindingTerimal.A));
                    miList.Add(MeasurementItemStruct.CreateBushingDCInsulationMeasurementItem(WindingType.MV, WindingTerimal.B));
                    miList.Add(MeasurementItemStruct.CreateBushingDCInsulationMeasurementItem(WindingType.MV, WindingTerimal.C));
                }
                if (jobList.DCInsulation.LVEnabled)
                {
                    miList.Add(MeasurementItemStruct.CreateDCInsulationMeasurementItem(WindingType.LV));
                }
            }

            if (jobList.Capacitance.Enabled || jobList.Bushing.Capacitance)
            {
                miList.Add(MeasurementItemStruct.CreateText("使用电容量及介质损耗试验模块:"));
                if (jobList.Capacitance.HVEnabled)
                {
                    miList.Add(MeasurementItemStruct.CreateCapacitanceMeasurementItem(WindingType.HV));
                }
                if ((jobList.Bushing.Capacitance) && (jobList.Transformer.Bushing.HVContained))
                {
                    if (jobList.Transformer.WindingConfig.HV == TransformerWindingConfigName.Yn)
                    {
                        miList.Add(MeasurementItemStruct.CreateBushingCapacitanceMeasurementItem(WindingType.HV, WindingTerimal.O));
                    }
                    miList.Add(MeasurementItemStruct.CreateBushingCapacitanceMeasurementItem(WindingType.HV, WindingTerimal.A));
                    miList.Add(MeasurementItemStruct.CreateBushingCapacitanceMeasurementItem(WindingType.HV, WindingTerimal.B));
                    miList.Add(MeasurementItemStruct.CreateBushingCapacitanceMeasurementItem(WindingType.HV, WindingTerimal.C));
                }
                if (jobList.Capacitance.MVEnabled)
                {
                    miList.Add(MeasurementItemStruct.CreateCapacitanceMeasurementItem(WindingType.MV));
                }
                if ((jobList.Bushing.Capacitance) && (jobList.Transformer.Bushing.MVContained))
                {
                    if (jobList.Transformer.WindingConfig.MV == TransformerWindingConfigName.Yn)
                    {
                        miList.Add(MeasurementItemStruct.CreateBushingCapacitanceMeasurementItem(WindingType.MV, WindingTerimal.O));
                    }
                    miList.Add(MeasurementItemStruct.CreateBushingCapacitanceMeasurementItem(WindingType.MV, WindingTerimal.A));
                    miList.Add(MeasurementItemStruct.CreateBushingCapacitanceMeasurementItem(WindingType.MV, WindingTerimal.B));
                    miList.Add(MeasurementItemStruct.CreateBushingCapacitanceMeasurementItem(WindingType.MV, WindingTerimal.C));
                }
                if (jobList.Capacitance.LVEnabled)
                {
                    miList.Add(MeasurementItemStruct.CreateCapacitanceMeasurementItem(WindingType.LV));
                }
            }

            if (jobList.DCResistance.Enabled)
            {
                miList.Add(MeasurementItemStruct.CreateText("使用直流电阻试验模块:"));
                if ((jobList.DCResistance.HVEnabled) && (!((jobList.OLTC.Enabled) && (jobList.Transformer.OLTC.WindingPosition == WindingType.HV) && (jobList.OLTC.DCResistance))))
                {
                    if ((jobList.Transformer.PhaseNum == 3))
                    {
                        if (jobList.Transformer.WindingConfig.HV == TransformerWindingConfigName.Yn)
                        {
                            miList.Add(MeasurementItemStruct.CreateDCResistanceMeasurementItem(WindingType.HV));
                        }
                        else
                        {
                            miList.Add(MeasurementItemStruct.CreateDCResistanceMeasurementItem(WindingType.HV, WindingTerimal.A, WindingTerimal.B));
                            miList.Add(MeasurementItemStruct.CreateDCResistanceMeasurementItem(WindingType.HV, WindingTerimal.B, WindingTerimal.C));
                            miList.Add(MeasurementItemStruct.CreateDCResistanceMeasurementItem(WindingType.HV, WindingTerimal.C, WindingTerimal.A));
                        }
                    }
                    else
                    {
                        miList.Add(MeasurementItemStruct.CreateDCResistanceMeasurementItem(WindingType.HV, WindingTerimal.A, WindingTerimal.O));
                    }
                }
                if ((jobList.DCResistance.MVEnabled) && (!((jobList.OLTC.Enabled) && (jobList.Transformer.OLTC.WindingPosition == WindingType.MV) && (jobList.OLTC.DCResistance))))
                {
                    if ((jobList.Transformer.PhaseNum == 3))
                    {
                        if (jobList.Transformer.WindingConfig.MV == TransformerWindingConfigName.Yn)
                        {
                            miList.Add(MeasurementItemStruct.CreateDCResistanceMeasurementItem(WindingType.MV));
                        }
                        else
                        {
                            miList.Add(MeasurementItemStruct.CreateDCResistanceMeasurementItem(WindingType.MV, WindingTerimal.A, WindingTerimal.B));
                            miList.Add(MeasurementItemStruct.CreateDCResistanceMeasurementItem(WindingType.MV, WindingTerimal.B, WindingTerimal.C));
                            miList.Add(MeasurementItemStruct.CreateDCResistanceMeasurementItem(WindingType.MV, WindingTerimal.C, WindingTerimal.A));
                        }
                    }
                    else
                    {
                        miList.Add(MeasurementItemStruct.CreateDCResistanceMeasurementItem(WindingType.MV, WindingTerimal.A, WindingTerimal.O));
                    }
                }
                if (jobList.DCResistance.LVEnabled)
                {
                    if ((jobList.Transformer.PhaseNum == 3))
                    {
                        if (jobList.Transformer.WindingConfig.LV == TransformerWindingConfigName.Yn)
                        {
                            miList.Add(MeasurementItemStruct.CreateDCResistanceMeasurementItem(WindingType.LV));
                        }
                        else
                        {
                            miList.Add(MeasurementItemStruct.CreateDCResistanceMeasurementItem(WindingType.LV, WindingTerimal.A, WindingTerimal.B));
                            miList.Add(MeasurementItemStruct.CreateDCResistanceMeasurementItem(WindingType.LV, WindingTerimal.B, WindingTerimal.C));
                            miList.Add(MeasurementItemStruct.CreateDCResistanceMeasurementItem(WindingType.LV, WindingTerimal.C, WindingTerimal.A));
                        }
                    }
                    else
                    {
                        miList.Add(MeasurementItemStruct.CreateDCResistanceMeasurementItem(WindingType.LV, WindingTerimal.A, WindingTerimal.O));
                    }
                }
            }

            if (jobList.OLTC.Enabled)
            {
                int range   = jobList.OLTC.Range;
                int lowest  = TapNum - range + 1;
                int highest = TapNum + range + 1;
                miList.Add(MeasurementItemStruct.CreateText("使用直阻与有载分接试验模块:"));

                int    i = TapNum + 1;
                char   j = (char)((int)'A' + (jobList.Transformer.OLTC.TapMainNum - 1) / 2);
                int    k;
                string lastTapName = i.ToString();
                string currentTapName;

                if (jobList.Transformer.OLTC.TapMainNum > 1)
                {
                    for (k = (jobList.Transformer.OLTC.TapMainNum - 1) / 2; k > 0; k--)
                    {
                        j              = (char)((int)'A' + k);
                        lastTapName    = i.ToString() + j.ToString();
                        currentTapName = i.ToString() + ((char)(j - 1)).ToString();
                        if (jobList.OLTC.DCResistance == true)
                        {
                            miList.Add(MeasurementItemStruct.CreateDCResistanceMeasurementItem(jobList.Transformer.OLTC.WindingPosition, lastTapName));
                        }
                        if (jobList.OLTC.SwitchingCharacter)
                        {
                            if (jobList.Transformer.OLTC.WindingPosition == WindingType.HV)
                            {
                                miList.Add(MeasurementItemStruct.CreateOLTCSwitchingCharacterMeasurementItem(jobList.Transformer.OLTC.WindingPosition, lastTapName, currentTapName, jobList.Transformer.WindingConfig.HV));
                            }
                            if (jobList.Transformer.OLTC.WindingPosition == WindingType.MV)
                            {
                                miList.Add(MeasurementItemStruct.CreateOLTCSwitchingCharacterMeasurementItem(jobList.Transformer.OLTC.WindingPosition, lastTapName, currentTapName, jobList.Transformer.WindingConfig.MV));
                            }
                        }
                        lastTapName = currentTapName;
                    }
                }

                for (i = TapNum; i >= lowest; i--)
                {
                    currentTapName = i.ToString();
                    if (jobList.OLTC.DCResistance)
                    {
                        miList.Add(MeasurementItemStruct.CreateDCResistanceMeasurementItem(jobList.Transformer.OLTC.WindingPosition, lastTapName));
                    }
                    if (jobList.OLTC.SwitchingCharacter)
                    {
                        if (jobList.Transformer.OLTC.WindingPosition == WindingType.HV)
                        {
                            miList.Add(MeasurementItemStruct.CreateOLTCSwitchingCharacterMeasurementItem(jobList.Transformer.OLTC.WindingPosition, lastTapName, currentTapName, jobList.Transformer.WindingConfig.HV));
                        }
                        if (jobList.Transformer.OLTC.WindingPosition == WindingType.MV)
                        {
                            miList.Add(MeasurementItemStruct.CreateOLTCSwitchingCharacterMeasurementItem(jobList.Transformer.OLTC.WindingPosition, lastTapName, currentTapName, jobList.Transformer.WindingConfig.MV));
                        }
                    }
                    lastTapName = currentTapName;
                }

                if (jobList.OLTC.DCResistance)
                {
                    miList.Add(MeasurementItemStruct.CreateDCResistanceMeasurementItem(jobList.Transformer.OLTC.WindingPosition, lastTapName));
                }

                for (i = lowest + 1; i <= TapNum; i++)
                {
                    currentTapName = i.ToString();
                    //if (jobList.OLTC.DCResistance)
                    //{
                    //    miList.Add(MeasurementItemStruct.CreateDCResistanceMeasurementItem(jobList.Transformer.OLTC.WindingPosition, lastTapName));
                    //}
                    if (jobList.OLTC.SwitchingCharacter)
                    {
                        if (jobList.Transformer.OLTC.WindingPosition == WindingType.HV)
                        {
                            miList.Add(MeasurementItemStruct.CreateOLTCSwitchingCharacterMeasurementItem(jobList.Transformer.OLTC.WindingPosition, lastTapName, currentTapName, jobList.Transformer.WindingConfig.HV));
                        }
                        if (jobList.Transformer.OLTC.WindingPosition == WindingType.MV)
                        {
                            miList.Add(MeasurementItemStruct.CreateOLTCSwitchingCharacterMeasurementItem(jobList.Transformer.OLTC.WindingPosition, lastTapName, currentTapName, jobList.Transformer.WindingConfig.MV));
                        }
                    }
                    lastTapName = currentTapName;
                }

                i = TapNum + 1;

                if (jobList.Transformer.OLTC.TapMainNum > 1)
                {
                    for (k = 1; k <= jobList.Transformer.OLTC.TapMainNum; k++)
                    {
                        j = (char)((int)'A' + k - 1);
                        currentTapName = i.ToString() + j.ToString();
                        //if (jobList.OLTC.DCResistance)
                        //{
                        //    miList.Add(MeasurementItemStruct.CreateDCResistanceMeasurementItem(jobList.Transformer.OLTC.WindingPosition, lastTapName));
                        //}
                        if (jobList.OLTC.SwitchingCharacter)
                        {
                            if (jobList.Transformer.OLTC.WindingPosition == WindingType.HV)
                            {
                                miList.Add(MeasurementItemStruct.CreateOLTCSwitchingCharacterMeasurementItem(jobList.Transformer.OLTC.WindingPosition, lastTapName, currentTapName, jobList.Transformer.WindingConfig.HV));
                            }
                            if (jobList.Transformer.OLTC.WindingPosition == WindingType.MV)
                            {
                                miList.Add(MeasurementItemStruct.CreateOLTCSwitchingCharacterMeasurementItem(jobList.Transformer.OLTC.WindingPosition, lastTapName, currentTapName, jobList.Transformer.WindingConfig.MV));
                            }
                        }
                        lastTapName = currentTapName;
                    }
                }
                else
                {
                    currentTapName = i.ToString();
                    //if (jobList.OLTC.DCResistance)
                    //{
                    //    miList.Add(MeasurementItemStruct.CreateDCResistanceMeasurementItem(jobList.Transformer.OLTC.WindingPosition, lastTapName));
                    //}
                    if (jobList.OLTC.SwitchingCharacter)
                    {
                        if (jobList.Transformer.OLTC.WindingPosition == WindingType.HV)
                        {
                            miList.Add(MeasurementItemStruct.CreateOLTCSwitchingCharacterMeasurementItem(jobList.Transformer.OLTC.WindingPosition, lastTapName, currentTapName, jobList.Transformer.WindingConfig.HV));
                        }
                        if (jobList.Transformer.OLTC.WindingPosition == WindingType.MV)
                        {
                            miList.Add(MeasurementItemStruct.CreateOLTCSwitchingCharacterMeasurementItem(jobList.Transformer.OLTC.WindingPosition, lastTapName, currentTapName, jobList.Transformer.WindingConfig.MV));
                        }
                    }
                    lastTapName = currentTapName;
                }

                for (i = TapNum + 2; i <= highest; i++)
                {
                    currentTapName = i.ToString();
                    if (jobList.OLTC.DCResistance)
                    {
                        miList.Add(MeasurementItemStruct.CreateDCResistanceMeasurementItem(jobList.Transformer.OLTC.WindingPosition, lastTapName));
                    }
                    if (jobList.OLTC.SwitchingCharacter)
                    {
                        if (jobList.Transformer.OLTC.WindingPosition == WindingType.HV)
                        {
                            miList.Add(MeasurementItemStruct.CreateOLTCSwitchingCharacterMeasurementItem(jobList.Transformer.OLTC.WindingPosition, lastTapName, currentTapName, jobList.Transformer.WindingConfig.HV));
                        }
                        if (jobList.Transformer.OLTC.WindingPosition == WindingType.MV)
                        {
                            miList.Add(MeasurementItemStruct.CreateOLTCSwitchingCharacterMeasurementItem(jobList.Transformer.OLTC.WindingPosition, lastTapName, currentTapName, jobList.Transformer.WindingConfig.MV));
                        }
                    }
                    lastTapName = currentTapName;
                }

                if (jobList.OLTC.DCResistance)
                {
                    miList.Add(MeasurementItemStruct.CreateDCResistanceMeasurementItem(jobList.Transformer.OLTC.WindingPosition, lastTapName));
                }

                for (i = highest - 1; i > (TapNum + 1); i--)
                {
                    currentTapName = i.ToString();
                    //if (jobList.OLTC.DCResistance)
                    //{
                    //    miList.Add(MeasurementItemStruct.CreateDCResistanceMeasurementItem(jobList.Transformer.OLTC.WindingPosition, lastTapName));
                    //}
                    if (jobList.OLTC.SwitchingCharacter)
                    {
                        if (jobList.Transformer.OLTC.WindingPosition == WindingType.HV)
                        {
                            miList.Add(MeasurementItemStruct.CreateOLTCSwitchingCharacterMeasurementItem(jobList.Transformer.OLTC.WindingPosition, lastTapName, currentTapName, jobList.Transformer.WindingConfig.HV));
                        }
                        if (jobList.Transformer.OLTC.WindingPosition == WindingType.MV)
                        {
                            miList.Add(MeasurementItemStruct.CreateOLTCSwitchingCharacterMeasurementItem(jobList.Transformer.OLTC.WindingPosition, lastTapName, currentTapName, jobList.Transformer.WindingConfig.MV));
                        }
                    }
                    lastTapName = currentTapName;
                }

                i = TapNum + 1;

                if (jobList.Transformer.OLTC.TapMainNum > 1)
                {
                    for (k = jobList.Transformer.OLTC.TapMainNum; k > ((jobList.Transformer.OLTC.TapMainNum - 1) / 2); k--)
                    {
                        j = (char)((int)'A' + k - 1);
                        currentTapName = i.ToString() + j.ToString();
                        //if (jobList.OLTC.DCResistance)
                        //{
                        //    miList.Add(MeasurementItemStruct.CreateDCResistanceMeasurementItem(jobList.Transformer.OLTC.WindingPosition, lastTapName));
                        //}
                        if (jobList.OLTC.SwitchingCharacter)
                        {
                            if (jobList.Transformer.OLTC.WindingPosition == WindingType.HV)
                            {
                                miList.Add(MeasurementItemStruct.CreateOLTCSwitchingCharacterMeasurementItem(jobList.Transformer.OLTC.WindingPosition, lastTapName, currentTapName, jobList.Transformer.WindingConfig.HV));
                            }
                            if (jobList.Transformer.OLTC.WindingPosition == WindingType.MV)
                            {
                                miList.Add(MeasurementItemStruct.CreateOLTCSwitchingCharacterMeasurementItem(jobList.Transformer.OLTC.WindingPosition, lastTapName, currentTapName, jobList.Transformer.WindingConfig.MV));
                            }
                        }
                        lastTapName = currentTapName;
                    }
                }
                else
                {
                    currentTapName = i.ToString();
                    //if (jobList.OLTC.DCResistance)
                    //{
                    //    miList.Add(MeasurementItemStruct.CreateDCResistanceMeasurementItem(jobList.Transformer.OLTC.WindingPosition, lastTapName));
                    //}
                    if (jobList.OLTC.SwitchingCharacter)
                    {
                        if (jobList.Transformer.OLTC.WindingPosition == WindingType.HV)
                        {
                            miList.Add(MeasurementItemStruct.CreateOLTCSwitchingCharacterMeasurementItem(jobList.Transformer.OLTC.WindingPosition, lastTapName, currentTapName, jobList.Transformer.WindingConfig.HV));
                        }
                        if (jobList.Transformer.OLTC.WindingPosition == WindingType.MV)
                        {
                            miList.Add(MeasurementItemStruct.CreateOLTCSwitchingCharacterMeasurementItem(jobList.Transformer.OLTC.WindingPosition, lastTapName, currentTapName, jobList.Transformer.WindingConfig.MV));
                        }
                    }
                    lastTapName = currentTapName;
                }
            }

            return(miList);
        }
コード例 #24
0
ファイル: UPanList.cs プロジェクト: UPeveryday/tz3310
        private string ParsingWindConfig(JobList job)
        {
            TransformerWindingConfigStruct wt = job.Transformer.WindingConfig;
            string wk1, wk2, wk3;

            switch (wt.HV)
            {
            case TransformerWindingConfigName.Yn:
                wk1 = "00";
                break;

            case TransformerWindingConfigName.Y:
                wk1 = "01";
                break;

            case TransformerWindingConfigName.D:
                wk1 = "02";
                break;

            case TransformerWindingConfigName.Zn:
                wk1 = "03";
                break;

            default:
                wk1 = "00";
                break;
            }
            switch (wt.MV)
            {
            case TransformerWindingConfigName.Yn:
                wk2 = "00";
                break;

            case TransformerWindingConfigName.Y:
                wk2 = "01";
                break;

            case TransformerWindingConfigName.D:
                wk2 = "02";
                break;

            case TransformerWindingConfigName.Zn:
                wk2 = "03";
                break;

            default:
                wk2 = "00";
                break;
            }
            switch (wt.LV)
            {
            case TransformerWindingConfigName.Yn:
                wk3 = "00";
                break;

            case TransformerWindingConfigName.Y:
                wk3 = "01";
                break;

            case TransformerWindingConfigName.D:
                wk3 = "02";
                break;

            case TransformerWindingConfigName.Zn:
                wk3 = "03";
                break;

            default:
                wk3 = "00";
                break;
            }
            return(wk1 + wk2 + wk3);
        }
コード例 #25
0
        public static void DoDCInsulation(ref MeasurementItemStruct mi, Transformer transformer, JobList Job)
        {
            switch (mi.state)
            {
            case 0:
                byte[] TestKindData = TZ3310.SetPraJydz(mi.Winding.ToJYDZstation(), GetParameter.GetPraDCInsulationVoltage(Job), 50, GetParameter.GetPraDCInsulationResistance(Job), GetParameter.GetPraDCInsulationAbsorptionRatio(Job), 0);;
                Thread.Sleep(100);
                TZ3310.StartTest(TestKindData);
                mi.stateText = "开始测量" + mi.Winding + "绝缘电阻中...";
                mi.state++;
                Thread.Sleep(4000);
                break;

            case 1:
                string[] Recbuffer = TZ3310.ReadTestData(Parameter.TestKind.绝缘电阻);
                if (Recbuffer != null)
                {
                    PhysicalVariable[] Volate = new PhysicalVariable[1];
                    if (Recbuffer[Recbuffer.Length - 1] == "0")
                    {
                        mi.Result = MeasurementResult.NewDCInsulationResult(mi, NumericsConverter.Text2Value(Recbuffer[0]), NumericsConverter.Text2Value(Recbuffer[1]),
                                                                            NumericsConverter.Text2Value(Recbuffer[2]), null, false);
                        Volate[0] = NumericsConverter.Text2Value(Recbuffer[0]);
                    }

                    else if (Recbuffer[Recbuffer.Length - 1] == "1")
                    {
                        mi.Result = MeasurementResult.NewDCInsulationResult(mi, Volate[0], NumericsConverter.Text2Value(Recbuffer[0]),
                                                                            NumericsConverter.Text2Value(Recbuffer[1]), NumericsConverter.Text2Value(Recbuffer[2]), true);
                        mi.completed = true;
                        mi.stateText = "读取" + mi.Winding + "绝缘电阻结果成功";
                    }
                    else
                    {
                        //mi.failed = true;
                        mi.completed = true;

                        mi.stateText = mi.Winding + "错误类型:" + Recbuffer[0];
                    }
                }
                break;
            }
        }
コード例 #26
0
        /// <summary>
        /// 创建所有的文件和任务单
        /// </summary>
        /// <param name="basepath"></param>
        /// <param name="ListlisName"></param>
        /// <param name="job"></param>
        public static void writefile(string basepath, string ListlisName, JobList job, List <MeasurementItemStruct> miList)
        {
            if (!File.Exists(basepath))//根文件
            {
                WriteDataToFile.DeelDirectoryInfo(basepath, Mode.Create);
            }
            string testlispath = basepath + "\\" + ListlisName;

            if (!File.Exists(testlispath))//testlist文件
            {
                WriteDataToFile.FileBaseDeel(testlispath, MyFileMode.Create);
                WriteDataToFile.WriteFile(testlispath, "00");
            }
            string TaskPath = basepath + "Ta" + DateTime.Now.DayOfYear.ToString() + DateTime.Now.Hour.ToString() + DateTime.Now.Minute.ToString();

            if (!File.Exists(TaskPath))
            {
                WriteDataToFile.DeelDirectoryInfo(TaskPath, Mode.Create);
            }
            string transpath        = TaskPath + "\\TRANS.lis";
            string DcresistancePath = TaskPath + "\\ZLDZ.lis";
            string DciPath          = TaskPath + "\\JYDZ.lis";
            string caopath          = TaskPath + "\\JZSH.lis";
            string Oltcpayh         = TaskPath + "\\YZFJ.lis";
            string TestLispath      = TaskPath + "\\" + "TEST.lis";

            if (File.Exists(transpath))
            {
                WriteDataToFile.FileBaseDeel(transpath, MyFileMode.Clear);
            }
            if (File.Exists(DcresistancePath))
            {
                WriteDataToFile.FileBaseDeel(DcresistancePath, MyFileMode.Clear);
            }
            if (File.Exists(DciPath))
            {
                WriteDataToFile.FileBaseDeel(DciPath, MyFileMode.Clear);
            }
            if (File.Exists(caopath))
            {
                WriteDataToFile.FileBaseDeel(caopath, MyFileMode.Clear);
            }
            if (File.Exists(Oltcpayh))
            {
                WriteDataToFile.FileBaseDeel(Oltcpayh, MyFileMode.Clear);
            }
            if (File.Exists(TestLispath))
            {
                WriteDataToFile.FileBaseDeel(TestLispath, MyFileMode.Clear);
            }
            CreateListlis(testlispath, "Ta" + DateTime.Now.DayOfYear.ToString() + DateTime.Now.Hour.ToString() + DateTime.Now.Minute.ToString());
            CreateTransList(transpath, job);
            CreateWorkList(DcresistancePath, DciPath, caopath, Oltcpayh);
            CreateTestList(TestLispath);
            CreateBaseMessageIni(TaskPath + "\\Information.ini");            //保存用户信息
            UseUpanDoWork.LocalUsb.saveJob(job, TaskPath + "\\Jobtask.dat"); //保存job单
            UseUpanDoWork.LocalUsb.savListmi(miList, TaskPath + "\\Listmitask.dat");
            Insertdatabyupan Ins = new Insertdatabyupan(TaskPath);

            job = Ins.UpdataJob(TaskPath);
            UseUpanDoWork.LocalUsb.saveJob(job, TaskPath + "\\Jobtask.dat");//保存job单
        }
コード例 #27
0
        public static void BushingDCInsulation(ref MeasurementItemStruct mi, Transformer transformer, JobList Job)
        {
            Parameter.JYDZstation position;
            if (mi.Winding == WindingType.HV)
            {
                position = (Parameter.JYDZstation)(Parameter.JYDZstation.高压套管A + (((int)mi.Terimal[0] + 3) % 4));
            }
            else
            {
                position = (Parameter.JYDZstation)(Parameter.JYDZstation.中压套管A + (((int)mi.Terimal[0] + 3) % 4));
            }
            switch (mi.state)
            {
            case 0:
                byte[] TestKindData = TZ3310.SetPraJydz(position, GetParameter.GetPraDCInsulationVoltage(Job), 50, GetParameter.GetPraDCInsulationResistance(Job), GetParameter.GetPraDCInsulationAbsorptionRatio(Job), 0);
                Thread.Sleep(100);
                TZ3310.StartTest(TestKindData);
                mi.stateText = "正在测试" + position.ToString() + "末屏中...";
                mi.state++;
                Thread.Sleep(4000);
                break;

            case 1:
                string[] Recbuffer = TZ3310.ReadTestData(Parameter.TestKind.绝缘电阻);
                if (Recbuffer != null)
                {
                    PhysicalVariable[] Volate = new PhysicalVariable[1];

                    if (Recbuffer[Recbuffer.Length - 1] == "0")
                    {
                        mi.Result = MeasurementResult.NewBushingDCInsulationResult(mi, NumericsConverter.Text2Value(Recbuffer[0]), NumericsConverter.Text2Value(Recbuffer[1]),
                                                                                   NumericsConverter.Text2Value(Recbuffer[2]), null, false);
                    }
                    else if (Recbuffer[Recbuffer.Length - 1] == "1")
                    {
                        mi.Result = MeasurementResult.NewBushingDCInsulationResult(mi, Volate[0], NumericsConverter.Text2Value(Recbuffer[0]),
                                                                                   NumericsConverter.Text2Value(Recbuffer[1]), NumericsConverter.Text2Value(Recbuffer[2]), true);
                        mi.state++;
                        mi.completed = true;
                        mi.stateText = position.ToString() + "末屏测试完成";
                    }
                    else
                    {
                        mi.completed = true;
                        mi.stateText = mi.Winding + "错误类型:" + Recbuffer[0];
                    }
                }
                break;
            }
        }
コード例 #28
0
        public System.Data.DataRow ToDataRow(JobList jobInfo)
        {
            System.Data.DataRow row = WorkingSets.local.TestResults.NewRow();
            row["testname"]      = jobInfo.Information.testingName;
            row["testid"]        = jobInfo.Information.GetHashCode();
            row["transformerid"] = jobInfo.Transformer.ID;
            row["mj_id"]         = jobInfo.id;
            //row["testname"] =
            row["function"]    = (int)Function;
            row["windingtype"] = (int)Winding;
            if (Terimal != null)
            {
                if (Terimal.Length == 2)
                {
                    row["terimal"] = ((int)Terimal[0]).ToString() + ";" + ((int)Terimal[1]).ToString();
                }
                else if (Terimal.Length == 1)
                {
                    row["terimal"] = ((int)Terimal[0]).ToString();
                }
                else
                {
                    row["terimal"] = string.Empty;
                }
            }

            try { row["windingconfig"] = (int)WindingConfig; } catch { }
            if (TapLabel != null)
            {
                if (TapLabel.Length == 2)
                {
                    row["taplabel"] = TapLabel[0] + ";" + TapLabel[1];
                }
                else if (TapLabel.Length == 1)
                {
                    row["taplabel"] = TapLabel[0];
                }
                else
                {
                    row["taplabel"] = string.Empty;
                }
            }
            if (Text != null)
            {
                row["text"] = Text;
            }
            row["failed"]    = failed;
            row["completed"] = completed;
            if (result != null && result.values != null)
            {
                for (int i = 0; i < result.values.Length; i++)
                {
                    if (result.values[i] != null)
                    {
                        var pv = result.values[i];
                        try { row["result_pv" + (i + 1).ToString()] = pv.OriginText; } catch { }
                    }
                }
                row["recordtime"] = result.recordTime;
                if (result.waves != null)
                {
                    if (result.waves != null && result.waves.Length > 0)
                    {
                        try { row["waves"] = System.Convert.ToBase64String(Array2Bytes(result.waves)); } catch { }
                    }
                }
            }
            return(row);
        }
コード例 #29
0
        //JobList2MeasurementItems  //getJobListMeasurementItems
        public static List <MeasurementItemStruct> JobList2MeasurementItems(JobList jobList)
        {
            List <MeasurementItemStruct> miList = new List <MeasurementItemStruct>();
            //miList.Add(MeasurementItemStruct.CreateInformation("添加使用用户信息模块"));//问题

            int TapNum      = (jobList.Transformer.OLTC.TapNum - 1) / 2;
            int mulTapNum   = (jobList.Transformer.OLTC.MulTapNum - 1) / 2;
            int TapLocation = mulTapNum + 1;
            int TapMainNum  = jobList.Transformer.OLTC.TapMainNum;



            if (jobList.OLTC.Enabled)
            {
                int lowest  = TapLocation - jobList.OLTC.MulRange;
                int highest = TapLocation + jobList.OLTC.Range;
                if (jobList.OLTC.SwitchingCharacter)
                {
                    miList.Add(MeasurementItemStruct.CreateText("将变压器有载分接开关位置切换到额定(分接" + lowest + ")位置;", lowest.ToString()));
                    for (int i = lowest; i < highest; i++)
                    {
                        getStartAndEndMessage(i, TapLocation, TapMainNum, jobList, miList);
                        if (i != TapLocation && i != TapLocation - 1 || TapMainNum <= 1)
                        {
                            if (jobList.Transformer.OLTC.WindingPosition == WindingType.HV)
                            {
                                miList.Add(MeasurementItemStruct.CreateOLTCSwitchingCharacterMeasurementItem(jobList.Transformer.OLTC.WindingPosition, i.ToString(), (i + 1).ToString(), jobList.Transformer.WindingConfig.HV));
                            }
                            if (jobList.Transformer.OLTC.WindingPosition == WindingType.MV)
                            {
                                miList.Add(MeasurementItemStruct.CreateOLTCSwitchingCharacterMeasurementItem(jobList.Transformer.OLTC.WindingPosition, i.ToString(), (i + 1).ToString(), jobList.Transformer.WindingConfig.MV));
                            }
                        }
                    }
                    for (int i = highest; i > lowest; i--)
                    {
                        getStartAndEndMessageReserver(i, TapLocation, TapMainNum, jobList, miList);
                        if (i != TapLocation && i != TapLocation + 1 || TapMainNum <= 1)
                        {
                            if (jobList.Transformer.OLTC.WindingPosition == WindingType.HV)
                            {
                                miList.Add(MeasurementItemStruct.CreateOLTCSwitchingCharacterMeasurementItem(jobList.Transformer.OLTC.WindingPosition, i.ToString(), (i - 1).ToString(), jobList.Transformer.WindingConfig.HV));
                            }
                            if (jobList.Transformer.OLTC.WindingPosition == WindingType.MV)
                            {
                                miList.Add(MeasurementItemStruct.CreateOLTCSwitchingCharacterMeasurementItem(jobList.Transformer.OLTC.WindingPosition, i.ToString(), (i - 1).ToString(), jobList.Transformer.WindingConfig.MV));
                            }
                        }
                    }
                }
                if (jobList.OLTC.DCResistance)
                {
                    miList.Add(MeasurementItemStruct.CreateText("分接位置直流电阻试验,请确认有载分接开关在(分接" + lowest + ")位置;", lowest.ToString()));
                    if (!OltcLocationIsDorYn(jobList))
                    {
                        for (int i = lowest; i <= highest; i++)
                        {
                            if (TapMainNum > 1 && i == TapLocation)
                            {
                                for (int j = 0; j < TapMainNum; j++)
                                {
                                    miList.Add(MeasurementItemStruct.CreateDCResistanceMeasurementItem(jobList.Transformer.OLTC.WindingPosition, i.ToString() + ((char)('A' + j)).ToString()));
                                }
                            }
                            else
                            {
                                miList.Add(MeasurementItemStruct.CreateDCResistanceMeasurementItem(jobList.Transformer.OLTC.WindingPosition, i.ToString()));
                            }
                        }
                    }
                    else
                    {
                        for (int p = 0; p < 3; p++)
                        {
                            for (int i = lowest; i <= highest; i++)
                            {
                                WindingTerimal firstTerminal  = WindingTerimal.A;
                                WindingTerimal SecondTerminal = WindingTerimal.B;
                                if (p == 0)
                                {
                                    firstTerminal  = WindingTerimal.A;
                                    SecondTerminal = WindingTerimal.B;
                                }
                                else if (p == 1)
                                {
                                    firstTerminal  = WindingTerimal.B;
                                    SecondTerminal = WindingTerimal.C;
                                }
                                else
                                {
                                    firstTerminal  = WindingTerimal.C;
                                    SecondTerminal = WindingTerimal.A;
                                }

                                if (TapMainNum > 1 && i == TapLocation)
                                {
                                    for (int j = 0; j < TapMainNum; j++)
                                    {
                                        miList.Add(MeasurementItemStruct.CreateDCResistanceMeasurementItem(jobList.Transformer.OLTC.WindingPosition, firstTerminal, SecondTerminal, i.ToString() + ((char)('A' + j)).ToString()));
                                    }
                                }
                                else
                                {
                                    miList.Add(MeasurementItemStruct.CreateDCResistanceMeasurementItem(jobList.Transformer.OLTC.WindingPosition, firstTerminal, SecondTerminal, i.ToString()));
                                }
                            }
                        }
                    }
                }
            }
            if (jobList.DCResistance.Enabled)
            {
                //miList.Add(MeasurementItemStruct.CreateText("使用直流电阻试验模块:"));
                if ((jobList.DCResistance.HVEnabled) && (!((jobList.OLTC.Enabled) && (jobList.Transformer.OLTC.WindingPosition == WindingType.HV) && (jobList.OLTC.DCResistance))))
                {
                    if ((jobList.Transformer.PhaseNum == 3))
                    {
                        if (jobList.Transformer.WindingConfig.HV == TransformerWindingConfigName.Yn)
                        {
                            miList.Add(MeasurementItemStruct.CreateDCResistanceMeasurementItem(WindingType.HV));
                        }
                        else
                        {
                            miList.Add(MeasurementItemStruct.CreateDCResistanceMeasurementItem(WindingType.HV, WindingTerimal.A, WindingTerimal.B));
                            miList.Add(MeasurementItemStruct.CreateDCResistanceMeasurementItem(WindingType.HV, WindingTerimal.B, WindingTerimal.C));
                            miList.Add(MeasurementItemStruct.CreateDCResistanceMeasurementItem(WindingType.HV, WindingTerimal.C, WindingTerimal.A));
                        }
                    }
                    else
                    {
                        miList.Add(MeasurementItemStruct.CreateDCResistanceMeasurementItem(WindingType.HV, WindingTerimal.A, WindingTerimal.O));
                    }
                }
                if ((jobList.DCResistance.MVEnabled) && (!((jobList.OLTC.Enabled) && (jobList.Transformer.OLTC.WindingPosition == WindingType.MV) && (jobList.OLTC.DCResistance))))
                {
                    if ((jobList.Transformer.PhaseNum == 3))
                    {
                        if (jobList.Transformer.WindingConfig.MV == TransformerWindingConfigName.Yn)
                        {
                            miList.Add(MeasurementItemStruct.CreateDCResistanceMeasurementItem(WindingType.MV));
                        }
                        else
                        {
                            miList.Add(MeasurementItemStruct.CreateDCResistanceMeasurementItem(WindingType.MV, WindingTerimal.A, WindingTerimal.B));
                            miList.Add(MeasurementItemStruct.CreateDCResistanceMeasurementItem(WindingType.MV, WindingTerimal.B, WindingTerimal.C));
                            miList.Add(MeasurementItemStruct.CreateDCResistanceMeasurementItem(WindingType.MV, WindingTerimal.C, WindingTerimal.A));
                        }
                    }
                    else
                    {
                        miList.Add(MeasurementItemStruct.CreateDCResistanceMeasurementItem(WindingType.MV, WindingTerimal.A, WindingTerimal.O));
                    }
                }
                if (jobList.DCResistance.LVEnabled)
                {
                    if ((jobList.Transformer.PhaseNum == 3))
                    {
                        if (jobList.Transformer.WindingConfig.LV == TransformerWindingConfigName.Yn)
                        {
                            miList.Add(MeasurementItemStruct.CreateDCResistanceMeasurementItem(WindingType.LV));
                        }
                        else
                        {
                            miList.Add(MeasurementItemStruct.CreateDCResistanceMeasurementItem(WindingType.LV, WindingTerimal.A, WindingTerimal.B));
                            miList.Add(MeasurementItemStruct.CreateDCResistanceMeasurementItem(WindingType.LV, WindingTerimal.B, WindingTerimal.C));
                            miList.Add(MeasurementItemStruct.CreateDCResistanceMeasurementItem(WindingType.LV, WindingTerimal.C, WindingTerimal.A));
                        }
                    }
                    else
                    {
                        miList.Add(MeasurementItemStruct.CreateDCResistanceMeasurementItem(WindingType.LV, WindingTerimal.A, WindingTerimal.O));
                    }
                }
            }


            if (jobList.DCInsulation.Enabled || jobList.Bushing.DCInsulation)
            {
                miList.Add(MeasurementItemStruct.CreateText("使用绝缘电阻试验模块:"));
                if (jobList.DCInsulation.HVEnabled)
                {
                    miList.Add(MeasurementItemStruct.CreateDCInsulationMeasurementItem(WindingType.HV));
                }
                if ((jobList.Bushing.DCInsulation) && (jobList.Transformer.Bushing.HVContained))
                {
                    if (jobList.Transformer.WindingConfig.HV == TransformerWindingConfigName.Yn)
                    {
                        miList.Add(MeasurementItemStruct.CreateBushingDCInsulationMeasurementItem(WindingType.HV, WindingTerimal.O));
                    }
                    miList.Add(MeasurementItemStruct.CreateBushingDCInsulationMeasurementItem(WindingType.HV, WindingTerimal.A));
                    miList.Add(MeasurementItemStruct.CreateBushingDCInsulationMeasurementItem(WindingType.HV, WindingTerimal.B));
                    miList.Add(MeasurementItemStruct.CreateBushingDCInsulationMeasurementItem(WindingType.HV, WindingTerimal.C));
                }
                if (jobList.DCInsulation.MVEnabled)
                {
                    miList.Add(MeasurementItemStruct.CreateDCInsulationMeasurementItem(WindingType.MV));
                }
                if ((jobList.Bushing.DCInsulation) && (jobList.Transformer.Bushing.MVContained))
                {
                    if (jobList.Transformer.WindingConfig.MV == TransformerWindingConfigName.Yn)
                    {
                        miList.Add(MeasurementItemStruct.CreateBushingDCInsulationMeasurementItem(WindingType.MV, WindingTerimal.O));
                    }
                    miList.Add(MeasurementItemStruct.CreateBushingDCInsulationMeasurementItem(WindingType.MV, WindingTerimal.A));
                    miList.Add(MeasurementItemStruct.CreateBushingDCInsulationMeasurementItem(WindingType.MV, WindingTerimal.B));
                    miList.Add(MeasurementItemStruct.CreateBushingDCInsulationMeasurementItem(WindingType.MV, WindingTerimal.C));
                }
                if (jobList.DCInsulation.LVEnabled)
                {
                    miList.Add(MeasurementItemStruct.CreateDCInsulationMeasurementItem(WindingType.LV));
                }
            }

            if (jobList.Capacitance.Enabled || jobList.Bushing.Capacitance)
            {
                miList.Add(MeasurementItemStruct.CreateText("使用电容量及介质损耗试验模块:"));
                if (jobList.Capacitance.HVEnabled)
                {
                    miList.Add(MeasurementItemStruct.CreateCapacitanceMeasurementItem(WindingType.HV));
                }
                if ((jobList.Bushing.Capacitance) && (jobList.Transformer.Bushing.HVContained))
                {
                    if (jobList.Transformer.WindingConfig.HV == TransformerWindingConfigName.Yn)
                    {
                        miList.Add(MeasurementItemStruct.CreateBushingCapacitanceMeasurementItem(WindingType.HV, WindingTerimal.O));
                    }
                    miList.Add(MeasurementItemStruct.CreateBushingCapacitanceMeasurementItem(WindingType.HV, WindingTerimal.A));
                    miList.Add(MeasurementItemStruct.CreateBushingCapacitanceMeasurementItem(WindingType.HV, WindingTerimal.B));
                    miList.Add(MeasurementItemStruct.CreateBushingCapacitanceMeasurementItem(WindingType.HV, WindingTerimal.C));
                }
                if (jobList.Capacitance.MVEnabled)
                {
                    miList.Add(MeasurementItemStruct.CreateCapacitanceMeasurementItem(WindingType.MV));
                }
                if ((jobList.Bushing.Capacitance) && (jobList.Transformer.Bushing.MVContained))
                {
                    if (jobList.Transformer.WindingConfig.MV == TransformerWindingConfigName.Yn)
                    {
                        miList.Add(MeasurementItemStruct.CreateBushingCapacitanceMeasurementItem(WindingType.MV, WindingTerimal.O));
                    }
                    miList.Add(MeasurementItemStruct.CreateBushingCapacitanceMeasurementItem(WindingType.MV, WindingTerimal.A));
                    miList.Add(MeasurementItemStruct.CreateBushingCapacitanceMeasurementItem(WindingType.MV, WindingTerimal.B));
                    miList.Add(MeasurementItemStruct.CreateBushingCapacitanceMeasurementItem(WindingType.MV, WindingTerimal.C));
                }
                if (jobList.Capacitance.LVEnabled)
                {
                    miList.Add(MeasurementItemStruct.CreateCapacitanceMeasurementItem(WindingType.LV));
                }
            }


            if (jobList.LossDcresistance)
            {
                miList.Add(MeasurementItemStruct.CreateOtherMeasurementItem(1));
            }
            if (jobList.Shortcircuitimpedance)
            {
                miList.Add(MeasurementItemStruct.CreateOtherMeasurementItem(3));
            }
            if (jobList.CoreDCInsulation)
            {
                miList.Add(MeasurementItemStruct.CreateOtherMeasurementItem(0));
            }
            return(miList);
        }