/// <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); }
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); } } } }
//介损供体 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); } }
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); }
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; } }
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); } }
public static void Coredci(ref MeasurementItemStruct mi, Transformer transformer, JobList Job) { }
public static void Information(ref MeasurementItemStruct mi, Transformer transformer, JobList Job) { mi.Result = MeasurementResult.NewInformation(mi, ConvertData(Job.Information.ToString()), true); mi.completed = true; }
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); }
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; } } }
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); }
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); }
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)); } } } }
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; } }
public static void Losscurrent(ref MeasurementItemStruct mi, Transformer transformer, JobList Job) { }
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; } }
public static void Shortvolate(ref MeasurementItemStruct mi, Transformer transformer, JobList Job) { }
public static void DCCharge(ref MeasurementItemStruct mi, Transformer transformer, JobList Job) { }
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); } } } }
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; } } }
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); } } }
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"); } }
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); }
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); }
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; } }
/// <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单 }
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; } }
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); }
//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); }