private void Test_Click(object Sender, RoutedEventArgs E) { if (tabControl.SelectedIndex != 1) { return; } var paramGate = new Types.Gate.TestParameters { IsEnabled = false }; var paramBvt = new Types.BVT.TestParameters { IsEnabled = false }; var paramVtm = new Types.VTM.TestParameters { IsEnabled = false }; var paramATU = new Types.ATU.TestParameters { IsEnabled = false }; var paramQrrTq = new Types.QrrTq.TestParameters { IsEnabled = false }; var paramIH = new Types.IH.TestParameters { IsEnabled = false }; var paramRCC = new Types.RCC.TestParameters { IsEnabled = false }; var paramTOU = new Types.TOU.TestParameters { IsEnabled = false }; switch (tabControl.SelectedIndex) { case 1: paramVtm.IsEnabled = true; paramVtm.IsSelfTest = true; break; } var started = Cache.Net.Start(paramGate, paramVtm, paramBvt, paramATU, paramQrrTq, paramIH, paramRCC, new Types.Commutation.TestParameters { BlockIndex = Types.Commutation.HWBlockIndex.Block1, CommutationType = Types.Commutation.HWModuleCommutationType.Direct, Position = Types.Commutation.HWModulePosition.Position1 }, new Types.Clamping.TestParameters { SkipClamping = true }, paramTOU, true); var stopped = Cache.Net.IsStopButtonPressed; if (stopped || !started) { return; } IsRunning = true; }
private void BtnStart_OnClick(object sender, RoutedEventArgs e) { if (VM.IsRunning) { return; } VM.IsRunning = true; var paramGate = new Types.Gate.TestParameters { IsEnabled = false }; var paramVtm = new Types.VTM.TestParameters { IsEnabled = false }; var paramBvt = new Types.BVT.TestParameters { IsEnabled = false }; var paramATU = new Types.ATU.TestParameters { IsEnabled = false }; var paramQrrTq = new Types.QrrTq.TestParameters { IsEnabled = false }; var paramIH = new Types.IH.TestParameters { IsEnabled = false }; var paramRCC = new Types.RCC.TestParameters { IsEnabled = false }; //если пресс был зажат вручную - не стоит пробовать зажимать его ещё раз VM.Clamping.SkipClamping = Cache.Clamp.ManualClamping; Types.Commutation.TestParameters commutation = new Types.Commutation.TestParameters() { BlockIndex = (!Cache.Clamp.UseTmax) ? Types.Commutation.HWBlockIndex.Block1 : Types.Commutation.HWBlockIndex.Block2, CommutationType = ConverterUtil.MapCommutationType(VM.CommutationType), Position = ConverterUtil.MapModulePosition(VM.Position) }; if (!Cache.Net.Start(paramGate, paramVtm, paramBvt, paramATU, paramQrrTq, paramIH, paramRCC, commutation, VM.Clamping, VM.TOU)) { return; } ClearStatus(); }
internal void Start() { if (IsRunning) { return; } var paramGate = new Types.Gate.TestParameters { IsEnabled = false }; var paramVtm = new Types.VTM.TestParameters { IsEnabled = false }; var paramATU = new Types.ATU.TestParameters { IsEnabled = false }; var paramQrrTq = new Types.QrrTq.TestParameters { IsEnabled = false }; var paramIH = new Types.IH.TestParameters { IsEnabled = false }; var paramRCC = new Types.RCC.TestParameters { IsEnabled = false }; var paramTOU = new Types.TOU.TestParameters { IsEnabled = false }; ClampParameters.SkipClamping = Cache.Clamp.ManualClamping; Parameters.VoltageFrequency = (ushort)Settings.Default.BVTVoltageFrequency; Parameters.MeasurementMode = Types.BVT.BVTMeasurementMode.ModeV; if (!Cache.Net.Start(paramGate, paramVtm, Parameters, paramATU, paramQrrTq, paramIH, paramRCC, new Types.Commutation.TestParameters { BlockIndex = (!Cache.Clamp.clampPage.UseTmax) ? Types.Commutation.HWBlockIndex.Block1 : Types.Commutation.HWBlockIndex.Block2, CommutationType = ConverterUtil.MapCommutationType(CommType), Position = ConverterUtil.MapModulePosition(ModPosition) }, ClampParameters, paramTOU)) { return; } ClearStatus(); IsRunning = true; }
internal void Start() { if (IsRunning) { return; } var paramGate = new Types.Gate.TestParameters { IsEnabled = false }; var paramVtm = new Types.VTM.TestParameters { IsEnabled = false }; var paramBvt = new Types.BVT.TestParameters { IsEnabled = false }; var paramATU = new Types.ATU.TestParameters { IsEnabled = false }; var paramIH = new Types.IH.TestParameters { IsEnabled = false }; var paramRCC = new Types.RCC.TestParameters { IsEnabled = false }; var paramTOU = new Types.TOU.TestParameters { IsEnabled = false }; //если пресс был зажат вручную - не стоит пробовать зажимать его ещё раз ClampParameters.SkipClamping = Cache.Clamp.ManualClamping; if (!Cache.Net.Start(paramGate, paramVtm, paramBvt, paramATU, Parameters, paramIH, paramRCC, new Types.Commutation.TestParameters { BlockIndex = (!Cache.Clamp.clampPage.UseTmax) ? Types.Commutation.HWBlockIndex.Block1 : Types.Commutation.HWBlockIndex.Block2, CommutationType = ConverterUtil.MapCommutationType(CommType), Position = ConverterUtil.MapModulePosition(ModPosition) }, ClampParameters, paramTOU)) { return; } ClearStatus(); IsRunning = true; }
internal void Start() { if (IsRunning) { return; } var paramVtm = new Types.VTM.TestParameters { IsEnabled = false }; var paramBvt = new Types.BVT.TestParameters { IsEnabled = false }; var paramATU = new Types.ATU.TestParameters { IsEnabled = false }; var paramQrrTq = new Types.QrrTq.TestParameters { IsEnabled = false }; var paramIH = new Types.IH.TestParameters { IsEnabled = false }; var paramRCC = new Types.RCC.TestParameters { IsEnabled = false }; var paramTOU = new Types.TOU.TestParameters { IsEnabled = false }; ClampParameters.SkipClamping = Cache.Clamp.ManualClamping; if (!Cache.Net.Start(Parameters, paramVtm, paramBvt, paramATU, paramQrrTq, paramIH, paramRCC, new Types.Commutation.TestParameters { BlockIndex = (!Cache.Clamp.clampPage.UseTmax) ? Types.Commutation.HWBlockIndex.Block1 : Types.Commutation.HWBlockIndex.Block2, CommutationType = ConverterUtil.MapCommutationType(CommType), Position = ConverterUtil.MapModulePosition(ModPosition) }, ClampParameters, paramTOU)) { return; } ClearStatus(); IsRunning = true; }
private void FillSlParameters(Types.VTM.TestParameters parameters, long testTypeId) { var results = new List <Tuple <string, float?, float?> >(); FillParametersResults(testTypeId, results); foreach (var result in results) { switch (result.Item1) { case "VTM": if (result.Item3.HasValue) { parameters.VTM = result.Item3.Value; } break; } } }
internal DeviceState Start(Types.VTM.TestParameters parameters, Types.Commutation.TestParameters commParameters) { m_Parameter = parameters; if (m_State == DeviceState.InProcess) { throw new Exception("VTM test is already started"); } m_Result = new Types.VTM.TestResults { TestTypeId = parameters.TestTypeId }; m_Stop = false; ClearWarning(); if (!m_IsSLEmulation) { var devState = (Types.VTM.HWDeviceState)ReadRegister(REG_DEVICE_STATE); if (devState == Types.VTM.HWDeviceState.Fault) { var faultReason = (Types.VTM.HWFaultReason)ReadRegister(REG_FAULT_REASON); FireNotificationEvent(Types.VTM.HWProblemReason.None, Types.VTM.HWWarningReason.None, faultReason, Types.VTM.HWDisableReason.None); throw new Exception(string.Format("VTM is in fault state, reason: {0}", faultReason)); } if (devState == Types.VTM.HWDeviceState.Disabled) { var disableReason = (Types.VTM.HWDisableReason)ReadRegister(REG_DISABLE_REASON); FireNotificationEvent(Types.VTM.HWProblemReason.None, Types.VTM.HWWarningReason.None, Types.VTM.HWFaultReason.None, disableReason); throw new Exception(string.Format("VTM is in disabled state, reason: {0}", disableReason)); } } MeasurementLogicRoutine(commParameters); return(m_State); }
internal SLPage() { Parameters = new Types.VTM.TestParameters { IsEnabled = true, UseLsqMethod = Settings.Default.UseVTMPostProcessing }; ClampParameters = new Types.Clamping.TestParameters { StandardForce = Types.Clamping.ClampingForceInternal.Custom, CustomForce = 5, IsHeightMeasureEnabled = false }; CommType = Settings.Default.SinglePositionModuleMode ? Types.Commutation.ModuleCommutationType.Direct : Types.Commutation.ModuleCommutationType.MT3; Temperature = RoomTemp; InitializeComponent(); m_XGreen = (SolidColorBrush)FindResource("xGreen1"); m_XOrange = (SolidColorBrush)FindResource("xOrange1"); ClearStatus(); }
bool IExternalControl.Start(Types.Gate.TestParameters ParametersGate, Types.VTM.TestParameters ParametersSL, Types.BVT.TestParameters ParametersBvt, Types.ATU.TestParameters ParametersAtu, Types.QrrTq.TestParameters ParametersQrrTq, Types.IH.TestParameters ParametersIH, Types.RCC.TestParameters ParametersRCC, Types.Commutation.TestParameters ParametersComm, Types.Clamping.TestParameters ParametersClamp, Types.TOU.TestParameters ParametersTOU) { return(_IoMain.Start(ParametersGate, ParametersSL, ParametersBvt, ParametersAtu, ParametersQrrTq, ParametersIH, ParametersRCC, ParametersComm, ParametersClamp, ParametersTOU)); }
private Types.VTM.TestParameters FillSlConditions(long testTypeId) { var results = new Dictionary <string, object>(9); var testParams = new Types.VTM.TestParameters() { IsEnabled = true, TestTypeId = testTypeId }; FillOrder(testTypeId, testParams); FillConditionsResults(testTypeId, results); #region switchSL foreach (var result in results) { switch (result.Key) { case "SL_En": testParams.IsEnabled = Convert.ToBoolean(result.Value); break; case "SL_Type": testParams.TestType = (Types.VTM.VTMTestType)(Enum.Parse(typeof(Types.VTM.VTMTestType), result.Value.ToString())); break; case "SL_FS": testParams.UseFullScale = Boolean.Parse(result.Value.ToString()); break; case "SL_N": testParams.Count = UInt16.Parse(result.Value.ToString()); break; case "SL_ITM": switch (testParams.TestType) { case VTMTestType.Ramp: testParams.RampCurrent = UInt16.Parse(result.Value.ToString()); break; case VTMTestType.Sinus: testParams.SinusCurrent = UInt16.Parse(result.Value.ToString()); break; case VTMTestType.Curve: testParams.CurveCurrent = UInt16.Parse(result.Value.ToString()); break; } break; case "SL_Time": switch (testParams.TestType) { case VTMTestType.Ramp: testParams.RampTime = UInt16.Parse(result.Value.ToString()); break; case VTMTestType.Sinus: testParams.SinusTime = UInt16.Parse(result.Value.ToString()); break; case VTMTestType.Curve: testParams.CurveTime = UInt16.Parse(result.Value.ToString()); break; } break; case "SL_OpenEn": testParams.IsRampOpeningEnabled = Boolean.Parse(result.Value.ToString()); break; case "SL_OpenI": testParams.RampOpeningCurrent = UInt16.Parse(result.Value.ToString()); break; case "SL_TimeEx": switch (testParams.TestType) { case VTMTestType.Ramp: testParams.RampOpeningTime = UInt16.Parse(result.Value.ToString()); break; case VTMTestType.Curve: testParams.CurveAddTime = UInt16.Parse(result.Value.ToString()); break; } break; case "SL_Factor": testParams.CurveFactor = UInt16.Parse(result.Value.ToString()); break; } } #endregion return(testParams); }