Exemple #1
0
        void ConfigureDMM(MultimeterMode measurementFunction, double range, double accuracy)
        {
            if (dmmSession == null)
            {
                return;
            }
            DmmMeasurementFunction measurementMode = DmmMeasurementFunction.DCVolts;

            /*if(measurementFunction == "DCVolts")
             *  measurementMode = (DmmMeasurementFunction)Enum.Parse(typeof(DmmMeasurementFunction), listMeasureModeDMM[0]);
             * else if(measurementFunction == "Resistance")
             *  measurementMode = (DmmMeasurementFunction)Enum.Parse(typeof(DmmMeasurementFunction), listMeasureModeDMM[4]);*/

            measurementMode = (DmmMeasurementFunction)Enum.Parse(typeof(DmmMeasurementFunction), measurementFunction.ToString());
            //DmmMeasurementFunction measurementMode = (DmmMeasurementFunction)Enum.Parse(typeof(DmmMeasurementFunction), listMeasureModeDMM[0]);
            DmmTriggerSource triggerSource = "Immediate";              //"Immediate", "External", "Software Trigger", "Ttl0", "Ttl1"

            //double range = 100000;
            //double triggerDelay = 0;
            powerlineFrequencyDMM = powerlineFrequencyValues[1]; //60
            //resolutionDMM = resolutionValues[2]; //6.5
            samplesPerReading = 7;
            //if (accuracy == 0) accuracy = resolutionValues[2];   //если в таблице неверно указан параметр, то по умолчанию берем точность 5.5
            switch (accuracy)
            {
            default:
            case 0: accuracy = resolutionValues[2]; break;

            case 1: accuracy = resolutionValues[3]; break;
            }
            dmmSession.ConfigureMeasurementDigits(measurementMode, range, accuracy);
            dmmSession.Advanced.PowerlineFrequency = powerlineFrequencyDMM;

            //dmmSession.Trigger.Configure(triggerSource, PrecisionTimeSpan.FromSeconds(triggerDelay));  //не находит почему то класс точного времени
            dmmSession.Trigger.Configure(triggerSource, true);
            dmmSession.Trigger.MultiPoint.SampleCount = samplesPerReading;
        }
 public void Configure(string triggerSource, Ivi.Driver.PrecisionTimeSpan triggerDelay)
 {
     Adapter.ViSessionStatusCheck(IviDmmInterop.ConfigureTrigger(Adapter.Session, DmmTriggerSource.getC_Value(triggerSource), triggerDelay.TotalSeconds));
 }
 public void Configure(int triggerCount, int sampleCount, string sampleTrigger, Ivi.Driver.PrecisionTimeSpan sampleInterval)
 {
     Adapter.ViSessionStatusCheck(IviDmmInterop.ConfigureMultiPoint(Adapter.Session, triggerCount, sampleCount, DmmTriggerSource.getC_Value(sampleTrigger), SampleInterval.TotalSeconds));
 }
 public void Configure(string triggerSource, bool autoTriggerDelay)
 {
     Adapter.ViSessionStatusCheck(IviDmmInterop.ConfigureTrigger(Adapter.Session, DmmTriggerSource.getC_Value(triggerSource), autoTriggerDelay ? IviDmmAttribute.IVIDMM_VAL_AUTO_DELAY_ON : IviDmmAttribute.IVIDMM_VAL_AUTO_DELAY_OFF));
 }