コード例 #1
0
ファイル: NIControl.cs プロジェクト: PeterSev/7637-WS4
        public void ReadDMM(MultimeterMode measurementFunction, double range, double accuracy)
        {
            double[] readBuf;
            try
            {
                ConfigureDMM(measurementFunction, range, accuracy);
                dmmSession.Measurement.Initiate();

                Application.DoEvents();
                readBuf = dmmSession.Measurement.FetchMultiPoint(samplesPerReading);

                StatusDMMUpdate?.Invoke("SUCCESS");

                dmmResult.buf = readBuf;

                dmmResult.measurementMode = dmmSession.MeasurementFunction.ToString();

                bufReadDMMReceived?.Invoke(dmmResult);
            }
            catch (Exception ex)
            {
                WarningDMMUpdate?.Invoke(ex.Message);
            }
            finally
            {
                /*if (dmmSession != null)
                *   dmmSession.Close();
                *  Application.DoEvents();*/
            }
        }
コード例 #2
0
ファイル: NIControl.cs プロジェクト: PeterSev/7637-WS4
        void InitDMM()
        {
            //aqusitionStopped = false;
            dmmResult = new DMMResult();
            listDeviceDMM.Clear();
            listMeasureModeDMM.Clear();

            //powerlineFrequencyDMM = powerlineFrequencyValues[1]; //60
            //resolutionDMM = resolutionValues[2]; //6.5

            try
            {
                //Составляем список DMM оборудования
                ModularInstrumentsSystem modularInstrumentsSystem = new ModularInstrumentsSystem("NI-DMM");
                foreach (DeviceInfo device in modularInstrumentsSystem.DeviceCollection)
                {
                    listDeviceDMM.Add(device.Name);
                }
                if (listDeviceDMM.Count < 1)
                {
                    WarningDMMUpdate?.Invoke("No DMM device found!");
                }
                else
                {
                    WarningDMMUpdate?.Invoke("Device " + listDeviceDMM[0] + " found");
                }

                //Составляем список режимов измерения DMM
                listMeasureModeDMM.AddRange(Enum.GetNames(typeof(DmmMeasurementFunction)));
                listMeasureModeDMM.Remove(DmmMeasurementFunction.WaveformCurrent.ToString());
                listMeasureModeDMM.Remove(DmmMeasurementFunction.WaveformVoltage.ToString());
            }
            catch { }
        }