Exemplo n.º 1
0
        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;
        }
Exemplo n.º 2
0
        private void FillGateParameters(Types.Gate.TestParameters parameters, long testTypeId)
        {
            var results = new List <Tuple <string, float?, float?> >();

            FillParametersResults(testTypeId, results);

            foreach (var result in results)
            {
                switch (result.Item1)
                {
                case "RG":
                    if (result.Item3.HasValue)
                    {
                        parameters.Resistance = result.Item3.Value;
                    }
                    break;

                case "IGT":
                    if (result.Item3.HasValue)
                    {
                        parameters.IGT = result.Item3.Value;
                    }
                    if (result.Item2.HasValue)
                    {
                        parameters.MinIGT = result.Item2.Value;
                    }
                    break;

                case "VGT":
                    if (result.Item3.HasValue)
                    {
                        parameters.VGT = result.Item3.Value;
                    }
                    break;

                case "IH":
                    if (parameters.IsIhEnabled && result.Item3.HasValue)
                    {
                        parameters.IH = result.Item3.Value;
                    }
                    break;

                case "IL":
                    if (parameters.IsIlEnabled && result.Item3.HasValue)
                    {
                        parameters.IL = result.Item3.Value;
                    }
                    break;
                }
            }
        }
Exemplo n.º 3
0
        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();
        }
Exemplo n.º 4
0
        internal void Start()
        {
            if (IsRunning)
            {
                return;
            }

            var paramGate = new Types.Gate.TestParameters {
                IsEnabled = false
            };
            var paramVtm = new Types.SL.TestParameters {
                IsEnabled = false
            };
            var paramAtu = new Types.ATU.TestParameters {
                IsEnabled = false
            };
            var paramQrrTq = new Types.QrrTq.TestParameters {
                IsEnabled = false
            };
            var paramRAC = new Types.RAC.TestParameters {
                IsEnabled = false
            };
            var paramIH = new Types.IH.TestParameters {
                IsEnabled = false
            };
            var paramRCC = new Types.RCC.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, paramRAC, 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))
            {
                return;
            }

            ClearStatus();
            IsRunning = true;
        }
Exemplo n.º 5
0
        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;
        }
Exemplo n.º 6
0
        internal void Start()
        {
            if (IsRunning)
            {
                return;
            }

            var paramGate = new Types.Gate.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;
            ClearStatus();

            if (!Cache.Net.Start(paramGate, Parameters, paramBvt, paramATU, paramQrrTq, paramIH, paramRCC,
                                 new Types.Commutation.TestParameters
            {
                BlockIndex = (!Cache.Clamp.UseTmax) ? Types.Commutation.HWBlockIndex.Block1 : Types.Commutation.HWBlockIndex.Block2,
                CommutationType = ConverterUtil.MapCommutationType(CommType),
                Position = ConverterUtil.MapModulePosition(ModPosition)
            }, ClampParameters, paramTOU))
            {
                return;
            }

            IsRunning = true;
        }
Exemplo n.º 7
0
        internal GatePage()
        {
            Parameters = new Types.Gate.TestParameters {
                IsEnabled = true
            };
            ClampParameters = new Types.Clamping.TestParameters {
                StandardForce = Types.Clamping.ClampingForceInternal.Custom, CustomForce = 5.0f
            };
            CommType = Settings.Default.SinglePositionModuleMode ? Types.Commutation.ModuleCommutationType.Direct : Types.Commutation.ModuleCommutationType.MT3;

            InitializeComponent();

            m_XRed    = (SolidColorBrush)FindResource("xRed1");
            m_XGreen  = (SolidColorBrush)FindResource("xGreen1");
            m_XOrange = (SolidColorBrush)FindResource("xOrange1");

            ClearStatus();
        }
Exemplo n.º 8
0
        internal DeviceState Start(Types.Gate.TestParameters parameters, Types.Commutation.TestParameters commParameters)
        {
            m_Parameter = parameters;

            if (m_State == DeviceState.InProcess)
            {
                throw new Exception("Gate test is already started");
            }

            m_Stop   = false;
            m_Result = new Types.Gate.TestResults {
                TestTypeId = parameters.TestTypeId
            };

            ClearWarning();

            if (!m_IsGateEmulation)
            {
                var devState = (Types.Gate.HWDeviceState)ReadRegister(REG_DEVICE_STATE);

                if (devState == Types.Gate.HWDeviceState.Fault)
                {
                    var faultReason = (Types.Gate.HWFaultReason)ReadRegister(REG_FAULT_REASON);
                    FireNotificationEvent(Types.Gate.HWProblemReason.None, Types.Gate.HWWarningReason.None, faultReason,
                                          Types.Gate.HWDisableReason.None);

                    throw new Exception(string.Format("Gate is in fault state, reason: {0}", faultReason));
                }

                if (devState == Types.Gate.HWDeviceState.Disabled)
                {
                    var disableReason = (Types.Gate.HWDisableReason)ReadRegister(REG_DISABLE_REASON);
                    FireNotificationEvent(Types.Gate.HWProblemReason.None, Types.Gate.HWWarningReason.None,
                                          Types.Gate.HWFaultReason.None, disableReason);

                    throw new Exception(string.Format("Gate is in disabled state, reason: {0}", disableReason));
                }
            }

            MeasurementLogicRoutine(commParameters);

            return(m_State);
        }
Exemplo n.º 9
0
        private Types.Gate.TestParameters FillGateConditions(long testTypeId)
        {
            var results    = new Dictionary <string, object>(3);
            var testParams = new Types.Gate.TestParameters()
            {
                IsEnabled = true, TestTypeId = testTypeId
            };

            FillOrder(testTypeId, testParams);

            FillConditionsResults(testTypeId, results);

            foreach (var result in results)
            {
                switch (result.Key)
                {
                case "Gate_En":
                    testParams.IsEnabled = Convert.ToBoolean(result.Value);
                    break;

                case "Gate_IHEn":
                    testParams.IsIhEnabled = Boolean.Parse(result.Value.ToString());
                    break;

                case "Gate_ILEn":
                    testParams.IsIlEnabled = Boolean.Parse(result.Value.ToString());
                    break;

                case "Gate_EnableCurrent":
                    testParams.IsCurrentEnabled = Boolean.Parse(result.Value.ToString());
                    break;

                case "Gate_EnableIHStrike":
                    testParams.IsIhStrikeCurrentEnabled = Boolean.Parse(result.Value.ToString());
                    break;
                }
            }

            return(testParams);
        }
Exemplo n.º 10
0
        private (string typeName, Dictionary <string, object> conditions, Dictionary <string, (object Min, object Max)> parameters) TypeConditionsParameters(Types.Gate.TestParameters gate)
        {
            var gateCondtions = new Dictionary <string, object>()
            {
                { "Gate_En", gate.IsEnabled },
                { "Gate_EnableCurrent", gate.IsCurrentEnabled },
                { "Gate_IHEn", gate.IsIhEnabled },
                { "Gate_ILEn", gate.IsIlEnabled },
                { "Gate_EnableIHStrike", gate.IsIhStrikeCurrentEnabled },
            };

            var gateParameters = new Dictionary <string, (object Min, object Max)>
            {
                { "RG", (DBNull.Value, gate.Resistance) },
                { "IGT", (gate.MinIGT, gate.IGT) },
Exemplo n.º 11
0
 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));
 }