Beispiel #1
0
        private void GraphPolling()
        {
            int index = 0;

            Console.WriteLine("IS testing: {0}", _IsTesting);

            //System timer to get timestamps for the events
            Stopwatch stopWatch = new Stopwatch();

            //Initialises a clean list for logging data into
            List <TestSequenceElement> DataLoggingList = new List <TestSequenceElement>();

            //Console.WriteLine("Entering the Data Logger");

            stopWatch.Start();
            while (_IsTesting)
            {
                if (_IsTesting)
                {
                    index = index + 1;
                    //Console.WriteLine("Testing");
                    //Console.WriteLine("Adding {0}V, {1}A, {2}W, {3}Ohms", txtActiveVoltage.Text, txtActiveCurrent.Text, txtActivePower.Text, txtResistance.Text);
                    TestSequenceElement TestSnippet = new TestSequenceElement(txtActiveVoltage.Text, txtActiveCurrent.Text, txtActivePower.Text, txtResistance.Text, stopWatch.ElapsedMilliseconds);
                    DataLoggingList.Add(TestSnippet);
                    Thread.Sleep(200);
                }
            }
            stopWatch.Stop();
            //Console.WriteLine();
            _DataLoggingList = DataLoggingList;

            //Console.WriteLine("Iterated {0} number of times", index);
            TestReadout();
            //Console.WriteLine();
        }
Beispiel #2
0
        private void AddRamp()
        {
            if (!string.IsNullOrWhiteSpace(txtRampVFloor.Text) | !string.IsNullOrWhiteSpace(txtRampVCeiling.Text) | !string.IsNullOrWhiteSpace(txtRampCurrent.Text) | !string.IsNullOrWhiteSpace(txtRampTime.Text))
            {
                //lbxTestSequence.Items.Add(string.Format("Voltage: ", "Current: ", "Time: "));
                string svoltageFloor = txtRampVFloor.Text;
                string svoltageLim   = txtRampVCeiling.Text;
                string scurrent      = txtRampCurrent.Text;
                string stime         = txtRampTime.Text;

                float fvfloor  = float.Parse(svoltageFloor);
                float fvlim    = float.Parse(svoltageLim);
                float fcurrent = float.Parse(scurrent);
                float ftime    = float.Parse(stime);

                ftime = ftime * 1000;//converts the inputs time to ms
                stime = ftime.ToString();

                //number of ms between points used for the ramp
                const int timeInterval = 200;//Runs at 4hz (4 operation over a period of 1 second)

                int numberOfIntervals = (int)Math.Round((ftime / timeInterval), 0);
                Console.WriteLine("Number of intervals {0}", numberOfIntervals);

                float intervalDeltaVoltage = (fvlim - fvfloor) / numberOfIntervals;

                float currentVoltage = 0;


                for (int i = 0; i < numberOfIntervals + 1; i++)
                {
                    Console.WriteLine("calculated voltage is {0}", currentVoltage = fvfloor + (i * intervalDeltaVoltage));//calculates the current voltage
                    lbxTestSequence.Items.Add(string.Format(lvlvComponentTesterBox, Math.Round(currentVoltage, 2).ToString() + "V", scurrent + "A", (timeInterval * i) + "ms"));
                    Console.WriteLine("Added element to list box");
                    TestSequenceElement TestElement = new TestSequenceElement(Math.Round(currentVoltage, 2).ToString(), scurrent, (timeInterval).ToString());
                    _TestSequenceElements.Add(TestElement);
                }
                if (cbDeRamp.Checked)
                {
                    Console.WriteLine("Adding a deramp buffer object");
                    lbxTestSequence.Items.Add(string.Format(lvlvComponentTesterBox, 0.ToString() + "V", scurrent + "A", timeInterval * 2 + "ms"));
                    TestSequenceElement TestElement = new TestSequenceElement(0.ToString(), scurrent, (timeInterval * 2).ToString());
                    _TestSequenceElements.Add(TestElement);
                }
            }
            else
            {
                MessageBox.Show("Please enter valid: Voltage, Current and time peramiters", "Error");
            }
        }
Beispiel #3
0
        private void AddTestElement()
        {
            //If the voltage, current and time input boxes are not empty
            if (!string.IsNullOrWhiteSpace(txtListVoltage.Text) | !string.IsNullOrWhiteSpace(txtListCurrent.Text) | !string.IsNullOrWhiteSpace(txtListTime.Text))
            {
                string voltage = txtListVoltage.Text;
                string current = txtListCurrent.Text;
                string time    = txtListTime.Text;
                float  ftime   = float.Parse(time);
                ftime = ftime * 1000;
                time  = ftime.ToString();

                lbxTestSequence.Items.Add(string.Format(lvlvComponentTesterBox, "Voltage: " + voltage + "V", "Current: " + current + "A", "Time: " + time + "ms"));

                TestSequenceElement TestElement = new TestSequenceElement(voltage, current, time);
                _TestSequenceElements.Add(TestElement);
            }
            else
            {
                MessageBox.Show("Please enter valid: Voltage, Current and time peramiters", "Error");
            }
        }