float IIPowerSupply.MeasI(string strSelection, EPSupplyChannel channel, EPSupplyIRange range)
        {
            float imeas = -999;

            imeas = SmuResources[strSelection].MeasureCurrent(channel, range);
            return(imeas);
        }
        float IIPowerSupply.MeasI(string strSelection, EPSupplyChannel channel, EPSupplyIRange range)
        {
            double imeas = -999;

            SmuResources[strSelection].SetupCurrentMeasure(false, false);
            SmuResources[strSelection].MeasureCurrent(1, false, ref imeas);
            return(Convert.ToSingle(imeas));
        }
        public float MeasureCurrent(EPSupplyChannel channel, EPSupplyIRange range)
        {
            //we don't need to set range for measure
            double[] current = new double[4];
            int      ret     = 0;

            ret += Smu.Measure(((int)channel).ToString(), PxiSmuConstants.MeasureCurrent, current);
            return((float)current[0]);
        }
Exemple #4
0
 private double IRange_String(EPSupplyIRange val)
 {
     if (val == EPSupplyIRange._260x_3A)
     {
         return(3);
     }
     if (val == EPSupplyIRange._261x_1_5A)
     {
         return(1.5);
     }
     if (val == EPSupplyIRange._261x_10A)
     {
         return(10);
     }
     if (val == EPSupplyIRange.All100MA)
     {
         return(100e-3);
     }
     if (val == EPSupplyIRange.All100NA)
     {
         return(100e-9);
     }
     if (val == EPSupplyIRange.All100UA)
     {
         return(100e-6);
     }
     if (val == EPSupplyIRange.All10MA)
     {
         return(10e-3);
     }
     if (val == EPSupplyIRange.All10UA)
     {
         return(10e-6);
     }
     if (val == EPSupplyIRange.All_1A)
     {
         return(1);
     }
     if (val == EPSupplyIRange.All1MA)
     {
         return(1e-3);
     }
     if (val == EPSupplyIRange.All1UA)
     {
         return(1e-6);
     }
     if (val == EPSupplyIRange.Auto)
     {
         return(999);
     }
     else
     {
         return(0);
     }
 }
Exemple #5
0
 float IIPowerSupply.MeasI(string strSelection, EPSupplyChannel channel, EPSupplyIRange range)
 {
     try
     {
         _myVisaKeithley.IO.WriteString("print(smu" + channel.ToString() + ".measure.i())");
         return((float)Convert.ToDouble(_myVisaKeithley.ReadString()));
     }
     catch (Exception ex)
     {
         throw new Exception("KeithleySMU: MeasI -> " + ex.Message);
     }
 }
 float IIPowerSupply.MeasI(string strSelection, EPSupplyChannel channel, EPSupplyIRange range)
 {
     if ((int)channel < 8)
     {
         float nVal = -999;
         Readcurrentamp((int)channel, out nVal);
         return((float)nVal);
     }
     else
     {
         float nVal = -999;
         AM371_READCURRENT((int)channel, out nVal);
         return((float)nVal);
     }
 }
Exemple #7
0
 private void SourceSet(EPSupplyChannel val, double dblAmps, double dblClampV, EPSupplyIRange range)
 {
     try
     {
         _myVisaKeithley.IO.WriteString("smu" + val.ToString() + ".source.func = smu" + val.ToString() + ".OUTPUT_DCAMPS");
         if (range != EPSupplyIRange.Auto)
         {
             _myVisaKeithley.IO.WriteString("smu" + val.ToString() + ".source.rangei = " + IRange_String(range).ToString());
         }
         else
         {
             SourceAutoRange(val, true);
         }
         _myVisaKeithley.IO.WriteString("smu" + val.ToString() + ".source.limitv = " + dblClampV.ToString());
         _myVisaKeithley.IO.WriteString("smu" + val.ToString() + ".source.leveli = " + dblAmps.ToString());
     }
     catch (Exception ex)
     {
         throw new Exception("KeithleySMU: ISourceSet -> " + ex.Message);
     }
 }
        public float MeasI(string strSelection, IIPowerSupply[] eqPSupply, float nplc, EPSupplyIRange range)
        {
            float measVal = -999;

            PSupply_Selection(strSelection, eqPSupply, out _objPs, out _eChannel, out _eModel);
            SetNplc(strSelection, eqPSupply, nplc);
            measVal = _objPs.MeasI(strSelection, _eChannel, range);

            return(measVal);
        }