Instrument Control Lib
Framework to control Oscilloscopes, SMUs, Function Generators and DC Powersupplies via Ethernet.
|
This class implements the basic functionality of Keithley 2600 series SMU's. More...
#include <KEI2600.h>
Public Member Functions | |
KEI2600 (std::string ipAddress, int timeoutInMs, PIL::Logging *logger, SEND_METHOD mode=DIRECT_SEND) | |
Constructor initializes the ip address and timeout. Disables the logger. More... | |
KEI2600 (std::string ipAddress, int timeoutInMs, SEND_METHOD mode) | |
Constructor initializes the ip address and timeout. Disables the logger. More... | |
virtual | ~KEI2600 ()=default |
PIL_ERROR_CODE | measure (UNIT unit, SMU_CHANNEL channel, double *value, bool checkErrorBuffer) override |
This function measures a certain unit on a specific channel. This function can be used to measure voltage, current, power or resistance. It calls smuX.meausreUNIT(). More... | |
double | measurePy (UNIT unit, SMU_CHANNEL channel, bool checkErrorBuffer) |
Measurement method identical to KEI2600::measure, but in this method, the value is directly returned to support the python wrapper. More... | |
PIL_ERROR_CODE | turnOn (SMU_CHANNEL channel, bool checkErrorBuffer) override |
Turns on a specific channel of the KEI2600-SMU. More... | |
PIL_ERROR_CODE | turnOff (SMU_CHANNEL channel, bool checkErrorBuffer) override |
Turns off a specific channel of the KEI2600-SMU. More... | |
PIL_ERROR_CODE | setLevel (UNIT unit, SMU_CHANNEL channel, double level, bool checkErrorBuffer) override |
Sets the level of a certain channel and of a certain unit. It can set the voltage or current on Channel A or Channel B. More... | |
PIL_ERROR_CODE | setLimit (UNIT unit, SMU_CHANNEL channel, double limit, bool checkErrorBuffer) override |
Sets the limit of a certain channel of a certain unit. Allowed are power voltage and current. Passing resistance results in a INVALID_ARGUMENTS error code. More... | |
PIL_ERROR_CODE | enableMeasureAutoRange (UNIT unit, SMU_CHANNEL channel, bool checkErrorBuffer) |
Sets the SMU in auto-range mode for a certain unit, e.g. voltage or current. More... | |
PIL_ERROR_CODE | disableMeasureAutoRange (UNIT unit, SMU_CHANNEL channel, bool checkErrorBuffer) |
Sets the SMU in fixed range measurement mode for a certain unit, e.g. voltage or current. More... | |
PIL_ERROR_CODE | enableSourceAutoRange (UNIT unit, SMU_CHANNEL channel, bool checkErrorBuffer) |
Enables source auto-range mode. The SMU immediately changes range to the range most appropriate for the value being sourced if that range is different than the present SMU range. More... | |
PIL_ERROR_CODE | disableSourceAutoRange (UNIT unit, SMU_CHANNEL channel, bool checkErrorBuffer) |
Disables source auto-range mode. More... | |
PIL_ERROR_CODE | enableMeasureAnalogFilter (SMU_CHANNEL channel, bool checkErrorBuffer) |
Enables the analog filter mode for a certain channel. This engages an approximately 1 Hz analog filter across the current range elements. The analog filter is only active when using the 1 nA and 100 pA measurement ranges. More... | |
PIL_ERROR_CODE | disableMeasureAnalogFilter (SMU_CHANNEL channel, bool checkErrorBuffer) |
Disables the analog filter mode of a certain channel. More... | |
PIL_ERROR_CODE | setMeasureRange (UNIT unit, SMU_CHANNEL channel, double range, bool checkErrorBuffer) |
Sets the measure range (positive full-scale value of the measurement range of that SMU). Explicitly setting a measure range disables measure auto-ranging for that function. More... | |
PIL_ERROR_CODE | setSourceRange (UNIT unit, SMU_CHANNEL channel, double range, bool checkErrorBuffer) |
Assigning a value to this attribute sets the SMU to a fixed range large enough to source the assigned value. The instrument selects the best range for sourcing a value of rangeValue. More... | |
PIL_ERROR_CODE | setSenseMode (SMU_CHANNEL channel, SMU_SENSE senseArg, bool checkErrorBuffer) |
Sets the sense mode of a specific channel. LOCAL, REMOTE or CALA is supported. When selecting LOCAL, source-measure operations are performed using a 2-wire local sense connection. If REMOTE is selected, 4-wire remote sense connections are used. CALA is the calibration sense mode. More... | |
PIL_ERROR_CODE | setMeasurePLC (SMU_CHANNEL channel, double value, bool checkErrorBuffer) |
Sets the integration apeture for measurements. More... | |
PIL_ERROR_CODE | setMeasureLowRange (UNIT unit, SMU_CHANNEL channel, double value, bool checkErrorBuffer) |
Sets the lowest measurement range that is used when the instrument is autoranging. More... | |
PIL_ERROR_CODE | setMeasureAutoZero (SMU_CHANNEL channel, AUTOZERO autoZero, bool checkErrorBuffer) |
Enables or disableds automatic updates to the internal reference measurements (autozero) of the instrument. More... | |
PIL_ERROR_CODE | setMeasureCount (SMU_CHANNEL channel, int nrOfMeasurements, bool checkErrorBuffer) |
Sets the number of measurements made when a measurement is requested. More... | |
PIL_ERROR_CODE | setSourceFunction (SMU_CHANNEL channel, SRC_FUNC srcFunc, bool checkErrorBuffer) |
Set the source function which can bei either voltage or current. More... | |
PIL_ERROR_CODE | setSourceOffMode (SMU_CHANNEL channel, SRC_OFF_MODE srcOffMode, bool checkErrorBuffer) |
Sets the source output-off mode. More... | |
PIL_ERROR_CODE | setSourceSettling (SMU_CHANNEL channel, SRC_SETTLING srcSettling, bool checkErrorBuffer) |
Set the source settling mode. (See SRC_SETTLING enum for more information) More... | |
PIL_ERROR_CODE | enableSourceSink (SMU_CHANNEL channel, bool checkErrorBuffer) |
Turns on the source sink mode. This reduces the source limit inaccuracy that occurs when operating in quadrants II and IV. More... | |
PIL_ERROR_CODE | disableSourceSink (SMU_CHANNEL channel, bool checkErrorBuffer) |
Turns off the source sink mode. More... | |
PIL_ERROR_CODE | displayMeasureFunction (SMU_CHANNEL channel, SMU_DISPLAY displayMeasureFunc, bool checkErrorBuffer) |
Specify the type of measurement currently displayed. More... | |
PIL_ERROR_CODE | enableBeep (bool checkErrorBuffer=true) |
Enable beeper on the SMU. This command is mandatory to play beeping sounds afterwards. More... | |
PIL_ERROR_CODE | disableBeep (bool checkErrorBuffer) |
Disable beeper on the SMU. This command is mandatory to play beeping sounds afterwards. More... | |
PIL_ERROR_CODE | beep (float timeInSeconds, int frequency, bool checkErrorBuffer) |
Send a beeping sound with a specific duration and frequency to the SMU. More... | |
std::string | getLastError () |
Return last error in error-queue. More... | |
PIL_ERROR_CODE | clearErrorBuffer () |
Clear the error buffer. More... | |
PIL_ERROR_CODE | getErrorBufferStatus () |
Request amount of elements in error queue. If queue is empty return PIL_NO_ERROR otherwise return PIL_ITEM_IN_ERROR_QUEUE. More... | |
PIL_ERROR_CODE | performLinearVoltageSweep (SMU_CHANNEL channel, double startVoltage, double stopVoltage, int increaseRate, double current, bool checkErrorBuffer) |
Perform a linear voltage sweep on the SMU. Increases the voltage at the given rate until the stop voltage is arrived. More... | |
PIL_ERROR_CODE | sendScript (const std::string &scriptName, const std::string &script, bool checkErrorBuffer) |
Sends the given script to the SMU. The scripts does not get executed. More... | |
PIL_ERROR_CODE | sendVectorScript (const std::string &scriptName, const std::vector< std::string > &script, bool checkErrorBuffer) |
Sends the given script to the SMU. The scripts does not get executed. More... | |
PIL_ERROR_CODE | executeScript (const std::string &scriptName, bool checkErrorBuffer) |
Executes the script with the given name on the smu. More... | |
PIL_ERROR_CODE | sendAndExecuteScript (const std::string &scriptName, const std::string &script, bool checkErrorBuffer) |
Sends and executes the given script. More... | |
PIL_ERROR_CODE | sendAndExecuteVectorScript (const std::string &scriptName, const std::vector< std::string > &script, bool checkErrorBuffer) |
Sends and executes the given script. More... | |
PIL_ERROR_CODE | executeBufferedScript (bool checkErrorBuffer) |
Executes the buffered script. More... | |
PIL_ERROR_CODE | readBuffer (const std::string &bufferName, std::vector< double > *result, bool checkErrorBuffer) |
Reads the complete buffer with the given name. More... | |
std::vector< double > | readBufferPy (const std::string &bufferName, bool checkErrorBuffer) |
Reads the complete buffer with the given name. Instead of returning the received error code, a vector containing all values is returned. This method is used in the python wrapper. More... | |
PIL_ERROR_CODE | getBufferSize (const std::string &bufferName, int *value, bool checkErrorBuffer) |
Retrieves the size of the buffer with the given name. More... | |
PIL_ERROR_CODE | clearBuffer (const std::string &bufferName, bool checkErrorBuffer) |
Clears the buffer with the given name. More... | |
void | clearBufferedScript () |
Public Member Functions inherited from SMU | |
SMU (std::string ipAddress, int timeoutInMs, SEND_METHOD mode=DIRECT_SEND) | |
SMU (std::string ipAddress, int timeoutInMs, PIL::Logging *logger, SEND_METHOD mode=DIRECT_SEND) | |
Public Member Functions inherited from Device | |
Device (std::string ipAddress, int timeoutInMs, SEND_METHOD mode=DIRECT_SEND, bool throwException=true) | |
Constructor for the Device without passing a logging object. More... | |
Device (std::string ipAddress, int timeoutInMs, PIL::Logging *logger, SEND_METHOD mode=DIRECT_SEND, bool throwException=true) | |
Constructor of Device generates a socket handle without connecting to it. More... | |
Device (std::string ipAddress, uint16_t srcPort, uint16_t destPort, int timeoutInMs, PIL::Logging *logger, SEND_METHOD mode=DIRECT_SEND, bool throwException=true) | |
Base class containing the base functionality of all devices. And parameters to store the name connection type, etc. More... | |
~Device () | |
PIL_ERROR_CODE | Connect () |
Establish a connection to the device. More... | |
PIL_ERROR_CODE | Disconnect () |
Disconnect from the device. More... | |
bool | isOpen () const |
Checks if the connection to the device is established. More... | |
bool | isBuffered () const |
Checks if the commands sent to the device get buffered. More... | |
std::string | getDeviceIdentifier () |
Gets the name of the currently connected device. More... | |
PIL_ERROR_CODE | Exec (const std::string &command, ExecArgs *args=nullptr, char *result=nullptr, bool br=true, int size=1024) |
execute a (SCPI) command More... | |
PIL_ERROR_CODE | Exec (const std::string &command, ExecArgs *args, std::string *result, bool br) |
PIL_ERROR_CODE | ExecCommands (std::string &commands) |
std::string | ReturnErrorMessage () |
std::string | getBufferedScript () |
Transforms the current buffered script into a string and returns it. More... | |
void | changeSendMode (SEND_METHOD mode) |
Changes the send mode of this device, i.e. whether the commands get buffered or sent directly to the device. More... | |
PIL_ERROR_CODE | delay (double delayTime) |
Stops the execution for the specified amount of time in seconds. If buffering is enabled, the delay is included in the buffered script. Otherwise this thread sleeps for the given time. More... | |
Public Attributes | |
std::string | CHANNEL_A_BUFFER = "A_M_BUFFER" |
std::string | CHANNEL_B_BUFFER = "B_M_BUFFER" |
Additional Inherited Members | |
Public Types inherited from SMU | |
enum | SMU_CHANNEL { CHANNEL_A = 'a' , CHANNEL_B = 'b' } |
Used to select which channel of the SMU should be used to measure or supplied. More... | |
enum | UNIT { VOLTAGE = 0 , CURRENT = 1 , RESISTANCE = 2 , POWER = 3 } |
Unit which should be changed or measured. More... | |
enum | AUTOZERO { OFF , ONCE , AUTO } |
enum | SRC_FUNC { DC_AMPS , DC_VOLTS } |
enum | SRC_OFF_MODE { OUTPUT_NORMAL , OUTPUT_ZERO , OUTPUT_HIGH_Z } |
enum | SRC_SETTLING { SMOOTH , FAST_RANGE , FAST_POLARITY , DIRECT_IRANGE , SMOOTH_100NA , FAST_ALL } |
enum | SMU_DISPLAY { MEASURE_DC_AMPS , MEASURE_DC_VOLTS , MEASURE_OHMS , MEASURE_WATTS } |
enum | SMU_SENSE { LOCAL , REMOTE , CALIBRATION } |
Public Types inherited from Device | |
enum | SEND_METHOD { DIRECT_SEND = 0 , BUFFER_ENABLED = 1 } |
Protected Member Functions inherited from Device | |
PIL_ERROR_CODE | handleErrorsAndLogging (PIL_ERROR_CODE errorCode, bool throwException, PIL::Level logLevel, const std::string &fileName, int line, std::string formatStr,...) |
Handle logging messages, logs it based on the previously passed logging object. If exceptions are enabled throw an exception otherwise return the error code. More... | |
Static Protected Member Functions inherited from Device | |
static bool | errorOccured (PIL_ERROR_CODE errorCode) |
Checks if a error occured given the error code. More... | |
static PIL_ERROR_CODE | postRequest (const std::string &url, std::string &payload) |
Sends a post request to the given url with the given payload. More... | |
static std::string | vectorToStringNL (std::vector< std::string > vector) |
Transforms the given vector into a string. Each vector entry will be a line in the resulting string. More... | |
static std::string | replaceAllSubstrings (std::string str, const std::string &from, const std::string &to) |
Replaces all substrings in the string with the given replacement string. More... | |
static std::vector< std::string > | splitString (const std::string &toSplit, const std::string &delimiter) |
Splits a string by the given delimiter. More... | |
Protected Attributes inherited from Device | |
std::string | m_IPAddr |
PIL_ErrorHandle | m_ErrorHandle |
std::string | m_DeviceName {} |
PIL::Socket * | m_SocketHandle |
PIL::Logging * | m_Logger |
int | m_destPort = 5025 |
int | m_srcPort = 5025 |
bool | m_EnableExceptions |
SEND_METHOD | m_SendMode |
std::vector< std::string > | m_BufferedScript |
This class implements the basic functionality of Keithley 2600 series SMU's.
|
explicit |
Constructor initializes the ip address and timeout. Disables the logger.
ip | IP-address of the KEI2600-SMU. |
timeoutInMS | timeout in milliseconds of the socket. |
logger | Logger-object to generate logging messages during the execution. |
|
explicit |
Constructor initializes the ip address and timeout. Disables the logger.
ip | IP-address of the KEI2600-SMU. |
timeoutInMS | timeout in milliseconds of the socket. |
|
virtualdefault |
PIL_ERROR_CODE KEI2600::beep | ( | float | timeInSeconds, |
int | frequency, | ||
bool | checkErrorBuffer | ||
) |
Send a beeping sound with a specific duration and frequency to the SMU.
timeInSeconds | time in seconds to play the beeping sound. |
frequency | frequency in HZ of the sound to play. |
checkErrorBuffer | if true check the error buffer after execution. |
PIL_ERROR_CODE KEI2600::clearBuffer | ( | const std::string & | bufferName, |
bool | checkErrorBuffer | ||
) |
Clears the buffer with the given name.
bufferName | The name of the buffer. |
checkErrorBuffer | Whether to check the error buffer after executing. |
void KEI2600::clearBufferedScript | ( | ) |
Resets the buffered script to the default. Also resets the number of buffer entries in the measurement buffers.
PIL_ERROR_CODE KEI2600::clearErrorBuffer | ( | ) |
Clear the error buffer.
PIL_ERROR_CODE KEI2600::disableBeep | ( | bool | checkErrorBuffer | ) |
Disable beeper on the SMU. This command is mandatory to play beeping sounds afterwards.
checkErrorBuffer | if true check the error buffer after execution. |
PIL_ERROR_CODE KEI2600::disableMeasureAnalogFilter | ( | SMU_CHANNEL | smuChannel, |
bool | checkErrorBuffer | ||
) |
Disables the analog filter mode of a certain channel.
channel | selected channel either channel A or channel B. |
checkErrorBuffer | if true check the error buffer after execution. |
PIL_ERROR_CODE KEI2600::disableMeasureAutoRange | ( | UNIT | unit, |
SMU_CHANNEL | channel, | ||
bool | checkErrorBuffer | ||
) |
Sets the SMU in fixed range measurement mode for a certain unit, e.g. voltage or current.
unit | allowed are current and voltage. |
channel | selected channel either channel A or channel B. |
checkErrorBuffer | if true check the error buffer after execution. |
PIL_ERROR_CODE KEI2600::disableSourceAutoRange | ( | UNIT | unit, |
SMU_CHANNEL | channel, | ||
bool | checkErrorBuffer | ||
) |
Disables source auto-range mode.
unit | allowed are current and voltage. |
channel | selected channel either channel A or channel B. |
checkErrorBuffer | if true check the error buffer after execution. |
PIL_ERROR_CODE KEI2600::disableSourceSink | ( | SMU_CHANNEL | channel, |
bool | checkErrorBuffer | ||
) |
Turns off the source sink mode.
channel | channel on which this operation should be applied (SMU_CHANNEL_A, SMU_CHANNEL_B) |
checkErrorBuffer | if true check the error buffer after execution. |
PIL_ERROR_CODE KEI2600::displayMeasureFunction | ( | SMU::SMU_CHANNEL | channel, |
SMU_DISPLAY | measureFunc, | ||
bool | checkErrorBuffer | ||
) |
Specify the type of measurement currently displayed.
channel | channel on which this operation should be applied (SMU_CHANNEL_A, SMU_CHANNEL_B) |
measureFunc | show amps, volts, ohms or watts. |
checkErrorBuffer | if true check the error buffer after execution. |
PIL_ERROR_CODE KEI2600::enableBeep | ( | bool | checkErrorBuffer = true | ) |
Enable beeper on the SMU. This command is mandatory to play beeping sounds afterwards.
checkErrorBuffer | if true check the error buffer after execution. |
PIL_ERROR_CODE KEI2600::enableMeasureAnalogFilter | ( | SMU_CHANNEL | channel, |
bool | checkErrorBuffer | ||
) |
Enables the analog filter mode for a certain channel. This engages an approximately 1 Hz analog filter across the current range elements. The analog filter is only active when using the 1 nA and 100 pA measurement ranges.
channel | selected channel either channel A or channel B. |
checkErrorBuffer | if true check the error buffer after execution. |
PIL_ERROR_CODE KEI2600::enableMeasureAutoRange | ( | UNIT | unit, |
SMU_CHANNEL | channel, | ||
bool | checkErrorBuffer | ||
) |
Sets the SMU in auto-range mode for a certain unit, e.g. voltage or current.
unit | allowed are current and voltage. |
channel | selected channel either channel A or channel B. |
checkErrorBuffer | if true check the error buffer after execution. |
PIL_ERROR_CODE KEI2600::enableSourceAutoRange | ( | UNIT | unit, |
SMU_CHANNEL | channel, | ||
bool | checkErrorBuffer | ||
) |
Enables source auto-range mode. The SMU immediately changes range to the range most appropriate for the value being sourced if that range is different than the present SMU range.
unit | allowed are current and voltage. |
channel | selected channel either channel A or channel B. |
checkErrorBuffer | if true check the error buffer after execution. |
PIL_ERROR_CODE KEI2600::enableSourceSink | ( | SMU_CHANNEL | channel, |
bool | checkErrorBuffer | ||
) |
Turns on the source sink mode. This reduces the source limit inaccuracy that occurs when operating in quadrants II and IV.
channel | channel on which this operation should be applied (SMU_CHANNEL_A, SMU_CHANNEL_B) |
checkErrorBuffer | if true check the error buffer after execution. |
PIL_ERROR_CODE KEI2600::executeBufferedScript | ( | bool | checkErrorBuffer | ) |
Executes the buffered script.
checkErrorBuffer | Whether to check the error buffer after executing. |
PIL_ERROR_CODE KEI2600::executeScript | ( | const std::string & | scriptName, |
bool | checkErrorBuffer | ||
) |
Executes the script with the given name on the smu.
checkErrorBuffer | if true error buffer status is requested and evaluated. |
PIL_ERROR_CODE KEI2600::getBufferSize | ( | const std::string & | bufferName, |
int * | value, | ||
bool | checkErrorBuffer | ||
) |
Retrieves the size of the buffer with the given name.
PIL_ERROR_CODE KEI2600::getErrorBufferStatus | ( | ) |
Request amount of elements in error queue. If queue is empty return PIL_NO_ERROR otherwise return PIL_ITEM_IN_ERROR_QUEUE.
std::string KEI2600::getLastError | ( | ) |
Return last error in error-queue.
|
overridevirtual |
This function measures a certain unit on a specific channel. This function can be used to measure voltage, current, power or resistance. It calls smuX.meausreUNIT().
unit | Unit to measure. Allowed are voltage, current, power and resistance. |
channel | Channel to measure (Channel A or Channel B). |
value | The value which is returned by the measurement. |
checkErrorBuffer | if true error buffer status is requested and evaluated. |
Implements SMU.
double KEI2600::measurePy | ( | UNIT | unit, |
SMU_CHANNEL | channel, | ||
bool | checkErrorBuffer | ||
) |
Measurement method identical to KEI2600::measure, but in this method, the value is directly returned to support the python wrapper.
unit | Unit to measure. Allowed are voltage, current, power and resistance. |
channel | Channel to measure (Channel A or Channel B). |
PIL_ERROR_CODE KEI2600::performLinearVoltageSweep | ( | SMU_CHANNEL | channel, |
double | startVoltage, | ||
double | stopVoltage, | ||
int | increaseRate_mVpS, | ||
double | current, | ||
bool | checkErrorBuffer | ||
) |
Perform a linear voltage sweep on the SMU. Increases the voltage at the given rate until the stop voltage is arrived.
checkErrorBuffer | if true error buffer status is requested and evaluated. |
PIL_ERROR_CODE KEI2600::readBuffer | ( | const std::string & | bufferName, |
std::vector< double > * | result, | ||
bool | checkErrorBuffer | ||
) |
Reads the complete buffer with the given name.
bufferName | The name of the buffer. |
result | The vector to write the received values to. |
checkErrorBuffer | Whether to check the error buffer. |
std::vector< double > KEI2600::readBufferPy | ( | const std::string & | bufferName, |
bool | checkErrorBuffer | ||
) |
Reads the complete buffer with the given name. Instead of returning the received error code, a vector containing all values is returned. This method is used in the python wrapper.
bufferName | The name of the buffe.r |
checkErrorBuffer | Whether to check the error buffer. |
PIL_ERROR_CODE KEI2600::sendAndExecuteScript | ( | const std::string & | scriptName, |
const std::string & | script, | ||
bool | checkErrorBuffer | ||
) |
Sends and executes the given script.
checkErrorBuffer | if true error buffer status is requested and evaluated. |
PIL_ERROR_CODE KEI2600::sendAndExecuteVectorScript | ( | const std::string & | scriptName, |
const std::vector< std::string > & | script, | ||
bool | checkErrorBuffer | ||
) |
Sends and executes the given script.
checkErrorBuffer | if true error buffer status is requested and evaluated. |
PIL_ERROR_CODE KEI2600::sendScript | ( | const std::string & | scriptName, |
const std::string & | script, | ||
bool | checkErrorBuffer | ||
) |
Sends the given script to the SMU. The scripts does not get executed.
checkErrorBuffer | if true error buffer status is requested and evaluated. |
PIL_ERROR_CODE KEI2600::sendVectorScript | ( | const std::string & | scriptName, |
const std::vector< std::string > & | script, | ||
bool | checkErrorBuffer | ||
) |
Sends the given script to the SMU. The scripts does not get executed.
checkErrorBuffer | if true error buffer status is requested and evaluated. |
|
overridevirtual |
Sets the level of a certain channel and of a certain unit. It can set the voltage or current on Channel A or Channel B.
unit | unit to set allowed are voltage and current. Passing power or resistance results in a INVALID_ARGUMENTS error code. |
channel | channel to enable. |
level | level to set. Encoded in amps or voltages. |
checkErrorBuffer | if true error buffer status is requested and evaluated. |
Implements SMU.
|
overridevirtual |
Sets the limit of a certain channel of a certain unit. Allowed are power voltage and current. Passing resistance results in a INVALID_ARGUMENTS error code.
unit | unit to set allowed are voltage and current. Passing power or resistance results in a INVALID_ARGUMENTS error code. |
channel | channel to enable. |
limit | limit value in amps, voltage or watts. |
checkErrorBuffer | if true error buffer status is requested and evaluated. |
Implements SMU.
PIL_ERROR_CODE KEI2600::setMeasureAutoZero | ( | SMU_CHANNEL | channel, |
AUTOZERO | autoZero, | ||
bool | checkErrorBuffer | ||
) |
Enables or disableds automatic updates to the internal reference measurements (autozero) of the instrument.
channel | channel on which this operation should be applied (SMU_CHANNEL_A, SMU_CHANNEL_B) |
autoZero | can be set either to OFF, AUTO or ONCE. (See AUTOZERO enum) |
checkErrorBuffer | if true check the error buffer after execution. |
PIL_ERROR_CODE KEI2600::setMeasureCount | ( | SMU_CHANNEL | channel, |
int | nrOfMeasurements, | ||
bool | checkErrorBuffer | ||
) |
Sets the number of measurements made when a measurement is requested.
channel | channel on which this operation should be applied (SMU_CHANNEL_A, SMU_CHANNEL_B) |
nrOfMeasurements | number of measurements made. |
checkErrorBuffer | if true check the error buffer after execution. |
PIL_ERROR_CODE KEI2600::setMeasureLowRange | ( | UNIT | unit, |
SMU_CHANNEL | channel, | ||
double | value, | ||
bool | checkErrorBuffer | ||
) |
Sets the lowest measurement range that is used when the instrument is autoranging.
unit | low range unit to set. Allowed are Current and voltage. |
channel | channel on which this operation should be applied (SMU_CHANNEL_A, SMU_CHANNEL_B) |
value | value to set. |
checkErrorBuffer | if true check the error buffer after execution. |
PIL_ERROR_CODE KEI2600::setMeasurePLC | ( | SMU_CHANNEL | channel, |
double | value, | ||
bool | checkErrorBuffer | ||
) |
Sets the integration apeture for measurements.
channel | channel which should be set |
checkErrorBuffer | if true check the error buffer after execution. |
PIL_ERROR_CODE KEI2600::setMeasureRange | ( | UNIT | unit, |
SMU_CHANNEL | channel, | ||
double | rangeValue, | ||
bool | checkErrorBuffer | ||
) |
Sets the measure range (positive full-scale value of the measurement range of that SMU). Explicitly setting a measure range disables measure auto-ranging for that function.
unit | allowed are current and voltage. |
channel | selected channel either channel A or channel B. |
rangeValue | range value to set. |
checkErrorBuffer | if true check the error buffer after execution. |
PIL_ERROR_CODE KEI2600::setSenseMode | ( | SMU::SMU_CHANNEL | channel, |
SMU::SMU_SENSE | senseArg, | ||
bool | checkErrorBuffer | ||
) |
Sets the sense mode of a specific channel. LOCAL, REMOTE or CALA is supported. When selecting LOCAL, source-measure operations are performed using a 2-wire local sense connection. If REMOTE is selected, 4-wire remote sense connections are used. CALA is the calibration sense mode.
channel | selected channel either channel A or channel B. |
senseArg | mode to set either LOCAL, REMOTE or CALIBRATION. |
checkErrorBuffer | if true check the error buffer after execution. |
PIL_ERROR_CODE KEI2600::setSourceFunction | ( | SMU_CHANNEL | channel, |
SRC_FUNC | srcFunc, | ||
bool | checkErrorBuffer | ||
) |
Set the source function which can bei either voltage or current.
channel | channel on which this operation should be applied (SMU_CHANNEL_A, SMU_CHANNEL_B) |
srcFunc | Voltage or Current function to set. |
checkErrorBuffer | if true check the error buffer after execution. |
PIL_ERROR_CODE KEI2600::setSourceOffMode | ( | SMU_CHANNEL | channel, |
SRC_OFF_MODE | offMode, | ||
bool | checkErrorBuffer | ||
) |
Sets the source output-off mode.
channel | channel on which this operation should be applied (SMU_CHANNEL_A, SMU_CHANNEL_B) |
offMode | can be either a OUTPUT_NORMAL defined by offfunc, ZERO or HIGH_Z. |
checkErrorBuffer | if true check the error buffer after execution. |
PIL_ERROR_CODE KEI2600::setSourceRange | ( | UNIT | unit, |
SMU_CHANNEL | channel, | ||
double | rangeValue, | ||
bool | checkErrorBuffer | ||
) |
Assigning a value to this attribute sets the SMU to a fixed range large enough to source the assigned value. The instrument selects the best range for sourcing a value of rangeValue.
unit | allowed are current and voltage. |
channel | selected channel either channel A or channel B. |
rangeValue | range value to set. |
checkErrorBuffer | if true check the error buffer after execution. |
PIL_ERROR_CODE KEI2600::setSourceSettling | ( | SMU::SMU_CHANNEL | channel, |
SRC_SETTLING | srcSettling, | ||
bool | checkErrorBuffer | ||
) |
Set the source settling mode. (See SRC_SETTLING enum for more information)
channel | channel on which this operation should be applied (SMU_CHANNEL_A, SMU_CHANNEL_B) |
srcSettling | settling mode. (See SRC_SETTLING enum for more information) |
checkErrorBuffer | if true check the error buffer after execution. |
|
overridevirtual |
Turns off a specific channel of the KEI2600-SMU.
channel | channel to enable. |
checkErrorBuffer | if true error buffer status is requested and evaluated. |
Implements SMU.
|
overridevirtual |
Turns on a specific channel of the KEI2600-SMU.
channel | channel to enable. |
checkErrorBuffer | if true error buffer status is requested and evaluated. |
Implements SMU.
std::string KEI2600::CHANNEL_A_BUFFER = "A_M_BUFFER" |
std::string KEI2600::CHANNEL_B_BUFFER = "B_M_BUFFER" |