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; } } }
private string CreateDcResistancePra(MeasurementItemStruct mi, JobList job) { if (mi.Terimal != null) { Parameter.ZldzStation Dcposition; string WindingConfig = "00"; string Windingkind = "00"; string DcResistanceCurrent = "00"; 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.GetPraDCResistanceCurrent(job) == Parameter.ZldzCurrent._1A) { DcResistanceCurrent = "00"; } if (GetParameter.GetPraDCResistanceCurrent(job) == Parameter.ZldzCurrent._3A) { DcResistanceCurrent = "01"; } if (GetParameter.GetPraDCResistanceCurrent(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.GetPraDCResistanceCurrent(job) == Parameter.ZldzCurrent._1A) { DcResistanceCurrent = "00"; } if (GetParameter.GetPraDCResistanceCurrent(job) == Parameter.ZldzCurrent._3A) { DcResistanceCurrent = "01"; } if (GetParameter.GetPraDCResistanceCurrent(job) == Parameter.ZldzCurrent._10A) { DcResistanceCurrent = "02"; } rc.DcReNum++; rc.DcReNumEnable = true; return(DcResistanceCurrent + Windingkind + WindingConfig); } }