float IIPowerSupply.MeasV(string strSelection, EPSupplyChannel channel, EPSupplyVRange vRange) { float val = -999; Readvoltagevolt((int)channel, out val); return(val); }
float IIPowerSupply.MeasV(string strSelection, EPSupplyChannel channel, EPSupplyVRange vRange) { float vmeas = -999; vmeas = SmuResources[strSelection].MeasureVoltage(channel, vRange); return(vmeas); }
public float MeasureVoltage(EPSupplyChannel channel, EPSupplyVRange vRange) { double[] volt = new double[4]; int ret = 0; ret += Smu.Measure(((int)channel).ToString(), PxiSmuConstants.MeasureVoltage, volt); return((float)volt[0]); }
float IIPowerSupply.MeasV(string strSelection, EPSupplyChannel channel, EPSupplyVRange vRange) { try { _myVisaKeithley.IO.WriteString("print(smu" + channel.ToString() + ".measure.v())"); return((float)Convert.ToDouble(_myVisaKeithley.ReadString())); } catch (Exception ex) { throw new Exception("KeithleySMU: MeasV -> " + ex.Message); } }
public void SetVoltage(EPSupplyChannel channel, double volt, double iLimit, EPSupplyVRange EvRange) { double vRange = 0; switch (EvRange) { case EPSupplyVRange._1V: vRange = 1; break; case EPSupplyVRange._10V: vRange = 10; break; case EPSupplyVRange.Auto: vRange = 10; break; } Smu.ConfigureOutputFunction(((int)channel).ToString(), PxiSmuConstants.DVCI); Smu.ConfigureCurrentLimit(((int)channel).ToString(), 0, iLimit); Smu.ConfigureVoltageLevelAndRange(((int)channel).ToString(), volt, vRange); }
private double VRange_String(EPSupplyVRange val) { if (val == EPSupplyVRange.Keith260X100MV) { return(100e-3); } if (val == EPSupplyVRange.Keith260X_1V) { return(1); } if (val == EPSupplyVRange.Keith260X40V) { return(40); } if (val == EPSupplyVRange.Keith260X_6V) { return(6); } if (val == EPSupplyVRange.Keith261X200MV) { return(200e-3); } if (val == EPSupplyVRange.Keith261X200V) { return(200); } if (val == EPSupplyVRange.Keith261X20V) { return(20); } if (val == EPSupplyVRange.Keith261X_2V) { return(2); } if (val == EPSupplyVRange.Auto) { return(999); } else { return(0); } }
void IIPowerSupply.SetVolt(string strSelection, EPSupplyChannel channel, double volt, double iLimit, EPSupplyVRange vRange) { SmuResources[strSelection].SetVoltage(channel, volt, iLimit, vRange); }
private void VSourceSet(EPSupplyChannel val, double dblVoltage, double dblClampI, EPSupplyVRange range) { try { _myVisaKeithley.IO.WriteString("smu" + val.ToString() + ".source.func = smu" + val.ToString() + ".OUTPUT_DCVOLTS"); if (range != EPSupplyVRange.Auto) { _myVisaKeithley.IO.WriteString("smu" + val.ToString() + ".source.rangev = " + VRange_String(range).ToString()); } else { VSourceAutoRange(val, true); } _myVisaKeithley.IO.WriteString("smu" + val.ToString() + ".source.limiti = " + dblClampI.ToString()); _myVisaKeithley.IO.WriteString("smu" + val.ToString() + ".source.levelv = " + dblVoltage.ToString()); } catch (Exception ex) { throw new Exception("KeithleySMU: VSourceSet -> " + ex.Message); } }
void IIPowerSupply.SetVolt(string strSelection, EPSupplyChannel channel, double volt, double iLimit, EPSupplyVRange vRange) { try { _myVisaKeithley.IO.WriteString("smu" + channel.ToString() + ".source.func = smu" + channel.ToString() + ".OUTPUT_DCVOLTS"); VSourceAutoRange((EPSupplyChannel)channel, true); _myVisaKeithley.IO.WriteString("smu" + channel.ToString() + ".source.limiti = " + iLimit.ToString()); _myVisaKeithley.IO.WriteString("smu" + channel.ToString() + ".source.levelv = " + volt.ToString()); } catch (Exception ex) { throw new Exception("KeithleySMU: iPowerSupply.SetVolt -> " + ex.Message); } }
public float MeasV(string strSelection, IIPowerSupply[] eqPSupply, float nplc, EPSupplyVRange vRange) { float measVal = -999; PSupply_Selection(strSelection, eqPSupply, out _objPs, out _eChannel, out _eModel); SetNplc(strSelection, eqPSupply, nplc); measVal = _objPs.MeasV(strSelection, _eChannel, vRange); return(measVal); }
void IIPowerSupply.SetVolt(string strSelection, EPSupplyChannel channel, double volt, double iLimit, EPSupplyVRange vRange) { if ((int)channel < 8) { if (volt > 0) { Drivevoltage((int)channel, (int)(volt * 1000), 1); } else { Drivevoltage((int)channel, (int)(volt * 1000), 0); } Clampcurrent((int)channel, (int)(iLimit * 1000000000)); } else { AM371_DRIVEVOLTAGE((int)channel, (float)volt); AM371_CLAMPCURRENT((int)channel, (float)iLimit); } }
float IIPowerSupply.MeasV(string strSelection, EPSupplyChannel channel, EPSupplyVRange vRange) { throw new NotImplementedException(); }