Package jisa.devices.smu
Class KeithleySCPI
- java.lang.Object
-
- jisa.visa.VISADevice
-
- jisa.devices.smu.KeithleySCPI
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classKeithleySCPI.Source-
Nested classes/interfaces inherited from interface jisa.devices.interfaces.Instrument
Instrument.AutoQuantity<S>, Instrument.OptionalQuantity<S>, Instrument.Parameter<S>, Instrument.Setter<S>, Instrument.TableQuantity
-
Nested classes/interfaces inherited from interface jisa.devices.interfaces.SMU
SMU.OffMode
-
-
Field Summary
Fields Modifier and Type Field Description protected static java.lang.StringC_MEASURE_CURRENTprotected static java.lang.StringC_MEASURE_RESISTANCEprotected static java.lang.StringC_MEASURE_VOLTAGEprotected static java.lang.StringC_QUERY_AVG_COUNTprotected static java.lang.StringC_QUERY_AVG_MODEprotected static java.lang.StringC_QUERY_AVG_STATEprotected static java.lang.StringC_QUERY_LFRprotected static java.lang.StringC_QUERY_LIMITprotected static java.lang.StringC_QUERY_MEAS_AUTO_RANGEprotected static java.lang.StringC_QUERY_MEAS_RANGEprotected static java.lang.StringC_QUERY_MEAS_RANGE_MAXprotected static java.lang.StringC_QUERY_MEAS_RANGE_MINprotected static java.lang.StringC_QUERY_NPLCprotected static java.lang.StringC_QUERY_OFF_STATEprotected static java.lang.StringC_QUERY_OUTPUT_STATEprotected static java.lang.StringC_QUERY_PROBE_MODEprotected static java.lang.StringC_QUERY_SOURCE_FUNCTIONprotected static java.lang.StringC_QUERY_SOURCE_VALUE_MAXprotected static java.lang.StringC_QUERY_SOURCE_VALUE_MINprotected static java.lang.StringC_QUERY_SRC_AUTO_RANGEprotected static java.lang.StringC_QUERY_SRC_RANGEprotected static java.lang.StringC_QUERY_SRC_RANGE_MAXprotected static java.lang.StringC_QUERY_SRC_RANGE_MINprotected static java.lang.StringC_QUERY_TERMINALSprotected static java.lang.StringC_SET_AVG_COUNTprotected static java.lang.StringC_SET_AVG_MODEprotected static java.lang.StringC_SET_AVG_STATEprotected static java.lang.StringC_SET_LIMITprotected static java.lang.StringC_SET_MEAS_AUTO_RANGEprotected static java.lang.StringC_SET_MEAS_RANGEprotected static java.lang.StringC_SET_NPLCprotected static java.lang.StringC_SET_OFF_STATEprotected static java.lang.StringC_SET_OUTPUT_STATEprotected static java.lang.StringC_SET_PROBE_MODEprotected static java.lang.StringC_SET_SOURCE_FUNCTIONprotected static java.lang.StringC_SET_SOURCE_VALUEprotected static java.lang.StringC_SET_SRC_AUTO_RANGEprotected static java.lang.StringC_SET_SRC_RANGEprotected static java.lang.StringC_SET_TERMINALSprotected doubleiLimitprotected doubleLINE_FREQUENCYprotected static java.lang.StringOFF_GUARDprotected static java.lang.StringOFF_HIGH_Zprotected static java.lang.StringOFF_NORMALprotected static java.lang.StringOFF_ZEROprotected static java.lang.StringOUTPUT_OFFprotected static java.lang.StringOUTPUT_ONprotected static java.lang.StringTERMS_FRONTprotected static java.lang.StringTERMS_REARprotected doublevLimit-
Fields inherited from class jisa.visa.VISADevice
C_IDN, CR_TERMINATOR, CRLF_TERMINATOR, DEFAULT_EOI, DEFAULT_EOS, DEFAULT_TIMEOUT, EOS_RETURN, LF_TERMINATOR
-
-
Constructor Summary
Constructors Constructor Description KeithleySCPI(Address address)KeithleySCPI(Address address, java.lang.Class<? extends Driver> prefDriver)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voiddisableAveraging()intgetAverageCount()Returns the number of measurements used for averaging by the SMU.AModegetAverageMode()Returns the averaging mode of the SMU.doublegetCurrent()Returns the current either being injected or measured by the SMU.doublegetCurrentLimit()Returns the limit for currents output when sourcing voltage (compliance value).doublegetCurrentRange()Returns the range of allowed values for currents being sourced or measured by the SMU.doublegetIntegrationTime()Returns the integration time used for each individual measurement.KeithleySCPI.SourcegetMeasureMode()doublegetMeasureRange()Returns the range of allowed values for the quantity being measured by the SMU.doublegetMeasureValue()Returns the value of whichever parameter is set as measure currentlySMU.OffModegetOffMode()Returns the mode used by the SMU channel when turned off.doublegetOutputLimit()Returns the limit for the measured quantity (compliance value).SourcegetSource()Returns the current source mode of the SMU (VOLTAGE OR CURRENT)KeithleySCPI.SourcegetSourceMode()doublegetSourceRange()Returns the range of allowed values for the quantity being sourced by the SMU.doublegetSourceValue()Returns the value of whichever parameter is set as source currentlyTerminalsgetTerminals()Returns the type of the set of terminals currently being used on the SMU.doublegetVoltage()Returns the voltage either being applied or measured by the SMU.doublegetVoltageLimit()Returns the limit on voltages output when sourcing current (compliance value).doublegetVoltageRange()Returns the range of allowed values for voltages being sourced or measured by the SMU.booleanisAutoRangingCurrent()Returns whether the SMU is currently determining its current range automatically.booleanisAutoRangingMeasure()Returns whether the SMU is currently determining its measure range automatically.booleanisAutoRangingSource()Returns whether the SMU is set to automatically determine the source range to use.booleanisAutoRangingVoltage()Returns whether the SMU is automatically determining the range to use for voltages.booleanisFourProbeEnabled()Returns whether the device is currently configured to use all four probes.booleanisOn()Checks whether the output of the SMU is currently enabledvoidmario()protected doublemeasureCurrent()protected doublemeasureVoltage()doublepulseVoltage(double pulseVoltage, double offTime, double measureDelay)Pulses the voltage output of the SMU, returning the measured current value after a set amount of time before returning voltage to base.voidsetAverageCount(int count)Sets how many measurements the SMU should average over.voidsetAverageMode(AMode mode)Sets the averaging mode of the SMU.voidsetCurrent(double current)Sets the current value to be applied by the SMU (switching to current source mode if not already)voidsetCurrentLimit(double limit)Sets the limit for currents output when sourcing voltage (compliance value).voidsetCurrentRange(double value)Sets the range of allowed values for currents being sourced or measured by the SMU.voidsetFourProbeEnabled(boolean fourProbe)Sets whether the SMU should apply source using FORCE probes and measure using separate SENSE probes or whether is should do both with the FORCE probes.voidsetIntegrationTime(double time)Sets the integration time for each individual measurement, or closest over-estimate possible.voidsetMeasureRange(double value)Sets the range of allowed values for the quantity being measured by the SMU.voidsetOutputLimit(double limit)Sets the limit for the measured quantity (ie compliance value).voidsetOutputState(boolean on)voidsetSource(KeithleySCPI.Source mode)voidsetSource(Source source)Sets the source mode of the SMU (VOLTAGE or CURRENT)voidsetSourceRange(double value)Sets the range of allowed values for the quantity being sourced by the SMU.voidsetSourceValue(double value)Sets the value for whichever parameter is currently being sourcedvoidsetSourceValue(KeithleySCPI.Source type, double value)voidsetTerminals(Terminals terminals)Sets which set of terminals should be used on the SMU.voidsetVoltage(double voltage)Sets the voltage value to be applied by the SMU (switching to voltage source mode if not already)voidsetVoltageLimit(double limit)Sets the limit for voltages output when sourcing current (compliance value).voidsetVoltageRange(double value)Sets the range of allowed values for voltages being sourced or measured by the SMU.voidturnOff()Turns the output of the SMU offvoidturnOn()Turns the output of the SMU onvoiduseAutoCurrentRange()Tells the SMU to automatically determine the range to use for current values.voiduseAutoMeasureRange()Tells the SMU to automatically determine the range to use for the measured quantity.voiduseAutoSourceRange()Sets the SMU to automatically determine the source range to use.voiduseAutoVoltageRange()Tells the SMU to automatically determine the range it uses for voltages.voidyouDidIt()-
Methods inherited from class jisa.visa.VISADevice
addAutoRemove, checkLimit, checkLimit, clearBuffers, close, getAddress, getConnection, getIDN, getName, manuallyClearReadBuffer, query, queryDouble, queryInt, read, read, readBytes, readDouble, readInt, setIOLimit, setReadBufferSize, setReadTerminator, setReadTerminator, setRetryCount, setTimeout, setWriteTerminator, write, writeBytes
-
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface jisa.devices.interfaces.IMeter
waitForStableCurrent
-
Methods inherited from interface jisa.devices.interfaces.Instrument
close, getAddress, getConfigurationParameters, getIDN, getLockObject, getName, setTimeout
-
Methods inherited from interface jisa.devices.interfaces.IVSource
getSetCurrent, getSetVoltage
-
Methods inherited from interface jisa.devices.interfaces.SMU
asAmmeter, asVoltmeter, getConfigurationParameters, getCurrent, getIVPoint, getTerminalType, getVoltage, isLineFilterEnabled, setAveraging, setLimits, setLineFilterEnabled, setOffMode, setOn, setRanges, useAutoRanges
-
Methods inherited from interface jisa.devices.interfaces.VMeter
waitForStableVoltage
-
-
-
-
Field Detail
-
C_MEASURE_VOLTAGE
protected static final java.lang.String C_MEASURE_VOLTAGE
- See Also:
- Constant Field Values
-
C_MEASURE_CURRENT
protected static final java.lang.String C_MEASURE_CURRENT
- See Also:
- Constant Field Values
-
C_MEASURE_RESISTANCE
protected static final java.lang.String C_MEASURE_RESISTANCE
- See Also:
- Constant Field Values
-
C_SET_SOURCE_FUNCTION
protected static final java.lang.String C_SET_SOURCE_FUNCTION
- See Also:
- Constant Field Values
-
C_SET_OUTPUT_STATE
protected static final java.lang.String C_SET_OUTPUT_STATE
- See Also:
- Constant Field Values
-
C_QUERY_SOURCE_FUNCTION
protected static final java.lang.String C_QUERY_SOURCE_FUNCTION
- See Also:
- Constant Field Values
-
C_QUERY_OUTPUT_STATE
protected static final java.lang.String C_QUERY_OUTPUT_STATE
- See Also:
- Constant Field Values
-
C_SET_SOURCE_VALUE
protected static final java.lang.String C_SET_SOURCE_VALUE
- See Also:
- Constant Field Values
-
C_QUERY_SOURCE_VALUE_MIN
protected static final java.lang.String C_QUERY_SOURCE_VALUE_MIN
- See Also:
- Constant Field Values
-
C_QUERY_SOURCE_VALUE_MAX
protected static final java.lang.String C_QUERY_SOURCE_VALUE_MAX
- See Also:
- Constant Field Values
-
C_SET_TERMINALS
protected static final java.lang.String C_SET_TERMINALS
- See Also:
- Constant Field Values
-
C_QUERY_TERMINALS
protected static final java.lang.String C_QUERY_TERMINALS
- See Also:
- Constant Field Values
-
C_SET_PROBE_MODE
protected static final java.lang.String C_SET_PROBE_MODE
- See Also:
- Constant Field Values
-
C_QUERY_PROBE_MODE
protected static final java.lang.String C_QUERY_PROBE_MODE
- See Also:
- Constant Field Values
-
C_SET_AVG_COUNT
protected static final java.lang.String C_SET_AVG_COUNT
- See Also:
- Constant Field Values
-
C_QUERY_AVG_COUNT
protected static final java.lang.String C_QUERY_AVG_COUNT
- See Also:
- Constant Field Values
-
C_SET_AVG_MODE
protected static final java.lang.String C_SET_AVG_MODE
- See Also:
- Constant Field Values
-
C_QUERY_AVG_MODE
protected static final java.lang.String C_QUERY_AVG_MODE
- See Also:
- Constant Field Values
-
C_SET_AVG_STATE
protected static final java.lang.String C_SET_AVG_STATE
- See Also:
- Constant Field Values
-
C_QUERY_AVG_STATE
protected static final java.lang.String C_QUERY_AVG_STATE
- See Also:
- Constant Field Values
-
C_SET_SRC_RANGE
protected static final java.lang.String C_SET_SRC_RANGE
- See Also:
- Constant Field Values
-
C_QUERY_SRC_RANGE
protected static final java.lang.String C_QUERY_SRC_RANGE
- See Also:
- Constant Field Values
-
C_QUERY_SRC_RANGE_MIN
protected static final java.lang.String C_QUERY_SRC_RANGE_MIN
- See Also:
- Constant Field Values
-
C_QUERY_SRC_RANGE_MAX
protected static final java.lang.String C_QUERY_SRC_RANGE_MAX
- See Also:
- Constant Field Values
-
C_SET_SRC_AUTO_RANGE
protected static final java.lang.String C_SET_SRC_AUTO_RANGE
- See Also:
- Constant Field Values
-
C_QUERY_SRC_AUTO_RANGE
protected static final java.lang.String C_QUERY_SRC_AUTO_RANGE
- See Also:
- Constant Field Values
-
C_SET_MEAS_RANGE
protected static final java.lang.String C_SET_MEAS_RANGE
- See Also:
- Constant Field Values
-
C_QUERY_MEAS_RANGE
protected static final java.lang.String C_QUERY_MEAS_RANGE
- See Also:
- Constant Field Values
-
C_QUERY_MEAS_RANGE_MIN
protected static final java.lang.String C_QUERY_MEAS_RANGE_MIN
- See Also:
- Constant Field Values
-
C_QUERY_MEAS_RANGE_MAX
protected static final java.lang.String C_QUERY_MEAS_RANGE_MAX
- See Also:
- Constant Field Values
-
C_SET_MEAS_AUTO_RANGE
protected static final java.lang.String C_SET_MEAS_AUTO_RANGE
- See Also:
- Constant Field Values
-
C_QUERY_MEAS_AUTO_RANGE
protected static final java.lang.String C_QUERY_MEAS_AUTO_RANGE
- See Also:
- Constant Field Values
-
C_SET_NPLC
protected static final java.lang.String C_SET_NPLC
- See Also:
- Constant Field Values
-
C_QUERY_NPLC
protected static final java.lang.String C_QUERY_NPLC
- See Also:
- Constant Field Values
-
C_SET_OFF_STATE
protected static final java.lang.String C_SET_OFF_STATE
- See Also:
- Constant Field Values
-
C_QUERY_OFF_STATE
protected static final java.lang.String C_QUERY_OFF_STATE
- See Also:
- Constant Field Values
-
C_SET_LIMIT
protected static final java.lang.String C_SET_LIMIT
- See Also:
- Constant Field Values
-
C_QUERY_LIMIT
protected static final java.lang.String C_QUERY_LIMIT
- See Also:
- Constant Field Values
-
C_QUERY_LFR
protected static final java.lang.String C_QUERY_LFR
- See Also:
- Constant Field Values
-
OFF_NORMAL
protected static final java.lang.String OFF_NORMAL
- See Also:
- Constant Field Values
-
OFF_ZERO
protected static final java.lang.String OFF_ZERO
- See Also:
- Constant Field Values
-
OFF_HIGH_Z
protected static final java.lang.String OFF_HIGH_Z
- See Also:
- Constant Field Values
-
OFF_GUARD
protected static final java.lang.String OFF_GUARD
- See Also:
- Constant Field Values
-
OUTPUT_ON
protected static final java.lang.String OUTPUT_ON
- See Also:
- Constant Field Values
-
OUTPUT_OFF
protected static final java.lang.String OUTPUT_OFF
- See Also:
- Constant Field Values
-
TERMS_FRONT
protected static final java.lang.String TERMS_FRONT
- See Also:
- Constant Field Values
-
TERMS_REAR
protected static final java.lang.String TERMS_REAR
- See Also:
- Constant Field Values
-
LINE_FREQUENCY
protected final double LINE_FREQUENCY
-
vLimit
protected double vLimit
-
iLimit
protected double iLimit
-
-
Constructor Detail
-
KeithleySCPI
public KeithleySCPI(Address address, java.lang.Class<? extends Driver> prefDriver) throws java.io.IOException, DeviceException
- Throws:
java.io.IOExceptionDeviceException
-
KeithleySCPI
public KeithleySCPI(Address address) throws java.io.IOException, DeviceException
- Throws:
java.io.IOExceptionDeviceException
-
-
Method Detail
-
setFourProbeEnabled
public void setFourProbeEnabled(boolean fourProbe) throws java.io.IOExceptionDescription copied from interface:SMUSets whether the SMU should apply source using FORCE probes and measure using separate SENSE probes or whether is should do both with the FORCE probes.- Specified by:
setFourProbeEnabledin interfaceSMU- Parameters:
fourProbe- Should it use all four probes?- Throws:
java.io.IOException- Upon communications error
-
isFourProbeEnabled
public boolean isFourProbeEnabled() throws java.io.IOExceptionDescription copied from interface:SMUReturns whether the device is currently configured to use all four probes.- Specified by:
isFourProbeEnabledin interfaceSMU- Returns:
- Are all probes to be used?
- Throws:
java.io.IOException- Upon communications error
-
getAverageMode
public AMode getAverageMode()
Description copied from interface:SMUReturns the averaging mode of the SMU.- Specified by:
getAverageModein interfaceIMeter- Specified by:
getAverageModein interfaceSMU- Specified by:
getAverageModein interfaceVMeter- Returns:
- Mode being used
-
setAverageMode
public void setAverageMode(AMode mode) throws java.io.IOException, DeviceException
Description copied from interface:SMUSets the averaging mode of the SMU.- Specified by:
setAverageModein interfaceIMeter- Specified by:
setAverageModein interfaceSMU- Specified by:
setAverageModein interfaceVMeter- Parameters:
mode- Mode to use- Throws:
java.io.IOException- Upon communications errorDeviceException- Upon incompatibility with device
-
getAverageCount
public int getAverageCount()
Description copied from interface:SMUReturns the number of measurements used for averaging by the SMU.- Specified by:
getAverageCountin interfaceIMeter- Specified by:
getAverageCountin interfaceSMU- Specified by:
getAverageCountin interfaceVMeter- Returns:
- Number of measurements
-
setAverageCount
public void setAverageCount(int count) throws java.io.IOException, DeviceExceptionDescription copied from interface:SMUSets how many measurements the SMU should average over.- Specified by:
setAverageCountin interfaceIMeter- Specified by:
setAverageCountin interfaceSMU- Specified by:
setAverageCountin interfaceVMeter- Parameters:
count- Number of measurements- Throws:
java.io.IOException- Upon communications errorDeviceException- Upon incompatibility with device
-
getSourceRange
public double getSourceRange() throws java.io.IOExceptionDescription copied from interface:SMUReturns the range of allowed values for the quantity being sourced by the SMU. A value of n indicates a range of -n to +n.- Specified by:
getSourceRangein interfaceSMU- Returns:
- Range value, in Volts or Amps
- Throws:
java.io.IOException- Upon communications error
-
setSourceRange
public void setSourceRange(double value) throws java.io.IOException, DeviceExceptionDescription copied from interface:SMUSets the range of allowed values for the quantity being sourced by the SMU. A value of n indicates a range of -n to +n.- Specified by:
setSourceRangein interfaceSMU- Parameters:
value- Range value, in Volts or Amps- Throws:
java.io.IOException- Upon communications errorDeviceException- Upon incompatibility with device
-
useAutoSourceRange
public void useAutoSourceRange() throws java.io.IOExceptionDescription copied from interface:SMUSets the SMU to automatically determine the source range to use.- Specified by:
useAutoSourceRangein interfaceSMU- Throws:
java.io.IOException- Upon communications error
-
isAutoRangingSource
public boolean isAutoRangingSource() throws java.io.IOExceptionDescription copied from interface:SMUReturns whether the SMU is set to automatically determine the source range to use.- Specified by:
isAutoRangingSourcein interfaceSMU- Returns:
- Automatic?
- Throws:
java.io.IOException- Upon communications error
-
getMeasureRange
public double getMeasureRange() throws java.io.IOExceptionDescription copied from interface:SMUReturns the range of allowed values for the quantity being measured by the SMU.- Specified by:
getMeasureRangein interfaceSMU- Returns:
- Range value, in Volts or Amps
- Throws:
java.io.IOException- Upon communications error
-
setMeasureRange
public void setMeasureRange(double value) throws java.io.IOException, DeviceExceptionDescription copied from interface:SMUSets the range of allowed values for the quantity being measured by the SMU.- Specified by:
setMeasureRangein interfaceSMU- Parameters:
value- Range value, in Volts or Amps- Throws:
java.io.IOException- Upon communications errorDeviceException- Upon incompatibility with device
-
useAutoMeasureRange
public void useAutoMeasureRange() throws java.io.IOExceptionDescription copied from interface:SMUTells the SMU to automatically determine the range to use for the measured quantity.- Specified by:
useAutoMeasureRangein interfaceSMU- Throws:
java.io.IOException- Upon communications error
-
isAutoRangingMeasure
public boolean isAutoRangingMeasure() throws java.io.IOExceptionDescription copied from interface:SMUReturns whether the SMU is currently determining its measure range automatically.- Specified by:
isAutoRangingMeasurein interfaceSMU- Returns:
- Is it automatic?
- Throws:
java.io.IOException- Upon communications error
-
getVoltageRange
public double getVoltageRange() throws java.io.IOExceptionDescription copied from interface:SMUReturns the range of allowed values for voltages being sourced or measured by the SMU. A value of n indicates a range of -n to +n.- Specified by:
getVoltageRangein interfaceSMU- Specified by:
getVoltageRangein interfaceVMeter- Returns:
- Range value, in Volts
- Throws:
java.io.IOException- Upon communications error
-
setVoltageRange
public void setVoltageRange(double value) throws java.io.IOException, DeviceExceptionDescription copied from interface:SMUSets the range of allowed values for voltages being sourced or measured by the SMU. A value of n indicates a range of -n to +n.- Specified by:
setVoltageRangein interfaceSMU- Specified by:
setVoltageRangein interfaceVMeter- Parameters:
value- Range value, in Volts- Throws:
java.io.IOException- Upon communications errorDeviceException- Upon incompatibility with device
-
useAutoVoltageRange
public void useAutoVoltageRange() throws java.io.IOExceptionDescription copied from interface:SMUTells the SMU to automatically determine the range it uses for voltages.- Specified by:
useAutoVoltageRangein interfaceSMU- Specified by:
useAutoVoltageRangein interfaceVMeter- Throws:
java.io.IOException- Upon communications error
-
isAutoRangingVoltage
public boolean isAutoRangingVoltage() throws java.io.IOExceptionDescription copied from interface:SMUReturns whether the SMU is automatically determining the range to use for voltages.- Specified by:
isAutoRangingVoltagein interfaceSMU- Specified by:
isAutoRangingVoltagein interfaceVMeter- Returns:
- Is it automatic?
- Throws:
java.io.IOException- Upon communications error
-
getCurrentRange
public double getCurrentRange() throws java.io.IOExceptionDescription copied from interface:SMUReturns the range of allowed values for currents being sourced or measured by the SMU.- Specified by:
getCurrentRangein interfaceIMeter- Specified by:
getCurrentRangein interfaceSMU- Returns:
- Range value, inAmps
- Throws:
java.io.IOException- Upon communications error
-
setCurrentRange
public void setCurrentRange(double value) throws java.io.IOException, DeviceExceptionDescription copied from interface:SMUSets the range of allowed values for currents being sourced or measured by the SMU.- Specified by:
setCurrentRangein interfaceIMeter- Specified by:
setCurrentRangein interfaceSMU- Parameters:
value- Range value, in Amps- Throws:
java.io.IOException- Upon communications errorDeviceException- Upon incompatibility with device
-
useAutoCurrentRange
public void useAutoCurrentRange() throws java.io.IOExceptionDescription copied from interface:SMUTells the SMU to automatically determine the range to use for current values.- Specified by:
useAutoCurrentRangein interfaceIMeter- Specified by:
useAutoCurrentRangein interfaceSMU- Throws:
java.io.IOException- Upon communications error
-
isAutoRangingCurrent
public boolean isAutoRangingCurrent() throws java.io.IOExceptionDescription copied from interface:SMUReturns whether the SMU is currently determining its current range automatically.- Specified by:
isAutoRangingCurrentin interfaceIMeter- Specified by:
isAutoRangingCurrentin interfaceSMU- Returns:
- Is it automatic?
- Throws:
java.io.IOException- Upon communications error
-
getVoltageLimit
public double getVoltageLimit() throws java.io.IOExceptionDescription copied from interface:SMUReturns the limit on voltages output when sourcing current (compliance value).- Specified by:
getVoltageLimitin interfaceSMU- Returns:
- The limit, in Volts
- Throws:
java.io.IOException- Upon communications error
-
setVoltageLimit
public void setVoltageLimit(double limit) throws java.io.IOException, DeviceExceptionDescription copied from interface:SMUSets the limit for voltages output when sourcing current (compliance value).- Specified by:
setVoltageLimitin interfaceSMU- Parameters:
limit- The limit, in Volts- Throws:
java.io.IOException- Upon communications errorDeviceException- Upon incompatibility with device
-
getCurrentLimit
public double getCurrentLimit() throws java.io.IOExceptionDescription copied from interface:SMUReturns the limit for currents output when sourcing voltage (compliance value).- Specified by:
getCurrentLimitin interfaceSMU- Returns:
- The limit, in Amps
- Throws:
java.io.IOException- Upon communications error
-
setCurrentLimit
public void setCurrentLimit(double limit) throws java.io.IOException, DeviceExceptionDescription copied from interface:SMUSets the limit for currents output when sourcing voltage (compliance value).- Specified by:
setCurrentLimitin interfaceSMU- Parameters:
limit- The limit, in Amps- Throws:
java.io.IOException- Upon communications errorDeviceException- Upon incompatibility with device
-
getOutputLimit
public double getOutputLimit() throws java.io.IOExceptionDescription copied from interface:SMUReturns the limit for the measured quantity (compliance value).- Specified by:
getOutputLimitin interfaceSMU- Returns:
- The limit, in Volts or Amps
- Throws:
java.io.IOException- Upon communications error
-
setOutputLimit
public void setOutputLimit(double limit) throws java.io.IOException, DeviceExceptionDescription copied from interface:SMUSets the limit for the measured quantity (ie compliance value).- Specified by:
setOutputLimitin interfaceSMU- Parameters:
limit- The limit to use, in Volts or Amps- Throws:
java.io.IOException- Upon communications errorDeviceException- Upon incompatibility with device
-
getIntegrationTime
public double getIntegrationTime() throws java.io.IOExceptionDescription copied from interface:SMUReturns the integration time used for each individual measurement.- Specified by:
getIntegrationTimein interfaceIMeter- Specified by:
getIntegrationTimein interfaceSMU- Specified by:
getIntegrationTimein interfaceVMeter- Returns:
- Integration time, in seconds
- Throws:
java.io.IOException- Upon communications error
-
setIntegrationTime
public void setIntegrationTime(double time) throws java.io.IOExceptionDescription copied from interface:SMUSets the integration time for each individual measurement, or closest over-estimate possible.- Specified by:
setIntegrationTimein interfaceIMeter- Specified by:
setIntegrationTimein interfaceSMU- Specified by:
setIntegrationTimein interfaceVMeter- Parameters:
time- Integration time, in seconds- Throws:
java.io.IOException- Upon communications error
-
measureVoltage
protected double measureVoltage() throws java.io.IOException, DeviceException- Throws:
java.io.IOExceptionDeviceException
-
measureCurrent
protected double measureCurrent() throws java.io.IOException, DeviceException- Throws:
java.io.IOExceptionDeviceException
-
disableAveraging
protected void disableAveraging() throws java.io.IOException- Throws:
java.io.IOException
-
getVoltage
public double getVoltage() throws DeviceException, java.io.IOExceptionDescription copied from interface:SMUReturns the voltage either being applied or measured by the SMU.- Specified by:
getVoltagein interfaceSMU- Specified by:
getVoltagein interfaceVMeter- Specified by:
getVoltagein interfaceVSource- Returns:
- Voltage value
- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
setVoltage
public void setVoltage(double voltage) throws java.io.IOException, DeviceExceptionDescription copied from interface:SMUSets the voltage value to be applied by the SMU (switching to voltage source mode if not already)- Specified by:
setVoltagein interfaceSMU- Specified by:
setVoltagein interfaceVSource- Parameters:
voltage- Value to set- Throws:
java.io.IOException- Upon communications errorDeviceException- Upon incompatibility with device
-
pulseVoltage
public double pulseVoltage(double pulseVoltage, double offTime, double measureDelay) throws java.io.IOException, DeviceExceptionDescription copied from interface:SMUPulses the voltage output of the SMU, returning the measured current value after a set amount of time before returning voltage to base. By default controlled and timed by computer but should be overridden in SMUs that support internal timing mechanisms.1. Turn off voltage output 2. Wait for offTime seconds 3. V set to puleVoltage 4. Wait for measureDelay seconds 5. I measured 6. V set to baseVoltage 7. Turn off voltage output 8. Return previously measured current value
- Specified by:
pulseVoltagein interfaceSMU- Parameters:
pulseVoltage- Voltage to pulseoffTime- Time to wait at base voltage before pulsemeasureDelay- Time to wait at pulse voltage before current measurement- Returns:
- Current measurement taken during pulse
- Throws:
java.io.IOException- Upon communications errorDeviceException- Upon incompatibility with device
-
getCurrent
public double getCurrent() throws java.io.IOException, DeviceExceptionDescription copied from interface:SMUReturns the current either being injected or measured by the SMU.- Specified by:
getCurrentin interfaceIMeter- Specified by:
getCurrentin interfaceISource- Specified by:
getCurrentin interfaceSMU- Returns:
- Current value
- Throws:
java.io.IOException- Upon communications errorDeviceException- Upon incompatibility with device
-
setCurrent
public void setCurrent(double current) throws java.io.IOException, DeviceExceptionDescription copied from interface:SMUSets the current value to be applied by the SMU (switching to current source mode if not already)- Specified by:
setCurrentin interfaceISource- Specified by:
setCurrentin interfaceSMU- Parameters:
current- Value to set- Throws:
java.io.IOException- Upon communications errorDeviceException- Upon incompatibility with device
-
turnOn
public void turnOn() throws java.io.IOExceptionDescription copied from interface:SMUTurns the output of the SMU on- Specified by:
turnOnin interfaceIMeter- Specified by:
turnOnin interfaceISource- Specified by:
turnOnin interfaceSMU- Specified by:
turnOnin interfaceSwitch- Specified by:
turnOnin interfaceVMeter- Specified by:
turnOnin interfaceVSource- Throws:
java.io.IOException- Upon communications error
-
turnOff
public void turnOff() throws java.io.IOExceptionDescription copied from interface:SMUTurns the output of the SMU off- Specified by:
turnOffin interfaceIMeter- Specified by:
turnOffin interfaceISource- Specified by:
turnOffin interfaceSMU- Specified by:
turnOffin interfaceSwitch- Specified by:
turnOffin interfaceVMeter- Specified by:
turnOffin interfaceVSource- Throws:
java.io.IOException- Upon communications error
-
setOutputState
public void setOutputState(boolean on) throws java.io.IOException- Throws:
java.io.IOException
-
getSource
public Source getSource() throws java.io.IOException
Description copied from interface:SMUReturns the current source mode of the SMU (VOLTAGE OR CURRENT)
-
setSource
public void setSource(KeithleySCPI.Source mode) throws java.io.IOException, DeviceException
- Throws:
java.io.IOExceptionDeviceException
-
setSource
public void setSource(Source source) throws java.io.IOException, DeviceException
Description copied from interface:SMUSets the source mode of the SMU (VOLTAGE or CURRENT)- Specified by:
setSourcein interfaceSMU- Parameters:
source- Source mode to set- Throws:
java.io.IOException- Upon communications errorDeviceException- Upon incompatibility with device
-
getSourceMode
public KeithleySCPI.Source getSourceMode() throws java.io.IOException
- Throws:
java.io.IOException
-
getMeasureMode
public KeithleySCPI.Source getMeasureMode() throws java.io.IOException
- Throws:
java.io.IOException
-
isOn
public boolean isOn() throws java.io.IOExceptionDescription copied from interface:SMUChecks whether the output of the SMU is currently enabled- Specified by:
isOnin interfaceIMeter- Specified by:
isOnin interfaceISource- Specified by:
isOnin interfaceSMU- Specified by:
isOnin interfaceSwitch- Specified by:
isOnin interfaceVMeter- Specified by:
isOnin interfaceVSource- Returns:
- Is the output on?
- Throws:
java.io.IOException- Upon communications error
-
setSourceValue
public void setSourceValue(double value) throws java.io.IOException, DeviceExceptionDescription copied from interface:SMUSets the value for whichever parameter is currently being sourced- Specified by:
setSourceValuein interfaceSMU- Parameters:
value- The level to set- Throws:
java.io.IOException- Upon communications errorDeviceException- Upon incompatibility with device
-
getSourceValue
public double getSourceValue() throws DeviceException, java.io.IOExceptionDescription copied from interface:SMUReturns the value of whichever parameter is set as source currently- Specified by:
getSourceValuein interfaceSMU- Returns:
- Value of source
- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
getMeasureValue
public double getMeasureValue() throws DeviceException, java.io.IOExceptionDescription copied from interface:SMUReturns the value of whichever parameter is set as measure currently- Specified by:
getMeasureValuein interfaceSMU- Returns:
- Value of measure
- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
setSourceValue
public void setSourceValue(KeithleySCPI.Source type, double value) throws java.io.IOException, DeviceException
- Throws:
java.io.IOExceptionDeviceException
-
youDidIt
public void youDidIt() throws java.io.IOException- Throws:
java.io.IOException
-
mario
public void mario() throws java.io.IOException- Throws:
java.io.IOException
-
getTerminals
public Terminals getTerminals() throws java.io.IOException
Description copied from interface:SMUReturns the type of the set of terminals currently being used on the SMU.- Specified by:
getTerminalsin interfaceSMU- Specified by:
getTerminalsin interfaceVMeter- Returns:
- The type of terminals being used
- Throws:
java.io.IOException- Upon communications error
-
setTerminals
public void setTerminals(Terminals terminals) throws java.io.IOException, DeviceException
Description copied from interface:SMUSets which set of terminals should be used on the SMU.- Specified by:
setTerminalsin interfaceSMU- Specified by:
setTerminalsin interfaceVMeter- Parameters:
terminals- Which type of terminals to use- Throws:
java.io.IOException- Upon communications errorDeviceException- Upon incompatibility with device
-
getOffMode
public SMU.OffMode getOffMode() throws java.io.IOException, DeviceException
Description copied from interface:SMUReturns the mode used by the SMU channel when turned off.- Specified by:
getOffModein interfaceSMU- Returns:
- Mode being used
- Throws:
java.io.IOException- Upon communications errorDeviceException- Upon incompatibility with device
-
-