Beispiel #1
0
        public MainWindowViewModel()
        {
            measurement = new IVGradientMeasurement();

            Measurements         = new ObservableCollection <Measurement>();
            SelectedMeasurements = new ObservableCollection <Measurement>();
            MeasurementView      = new PlotModel();
            MeasurementView.Axes.Add(new LinearAxis()
            {
                Position = AxisPosition.Top, Title = "Spannung", Unit = "V", Minimum = 0, AxisTitleDistance = 5, MaximumPadding = 0.1
            });
            MeasurementView.Axes.Add(new LinearAxis()
            {
                Position = AxisPosition.Left, Title = "Strom", Unit = "A", Maximum = 0.2f, AxisTitleDistance = 25, MinimumPadding = 0.1
            });

            SelectedMeasurements.CollectionChanged += (o, e) => UpdateMeasurements();

            StartMeasurement = ReactiveCommand.Create(RunMeasurement);
            Connect          = ReactiveCommand.Create(ConnectToDevice);

            PowerSupplies = new List <IPowerSupply>()
            {
                new Voltcraft(),
                new DemoSupply()
            };
            PowerSupply = PowerSupplies[0];

            UpdatePorts();
            UpdateValues();
            IsActive = false;
        }
Beispiel #2
0
        static void Main(string[] args)
        {
            var culture = System.Globalization.CultureInfo.GetCultureInfo("de-DE");

            IMeasurement measurement = new IVGradientMeasurement();

            measurement.PowerSupply = new Voltcraft();
            measurement.PowerSupply.Open("/dev/cu.SLAB_USBtoUART");
            measurement.PowerSupply.VoltageLimit = 60;
            measurement.PowerSupply.CurrentLimit = 9;
            DateTime start = DateTime.Now;

            IEnumerable <IVPair> points = measurement.Measure();

            Console.WriteLine("{0}", (DateTime.Now - start).TotalSeconds);

            List <string> lines = new List <string>();

            foreach (IVPair point in points)
            {
                lines.Add(string.Format(culture, "{0:0.00}\t{1:0.00}", point.Voltage, -point.Current));
            }

            File.WriteAllLines("pvserve.txt", lines.ToArray());
        }