Keithley Programmable Electrometer model 6514

This is the basic Python class to …

Using EPICS Lauda thermostats module

Usage of Python class for EPICS Keithley Programmable Electrometer model 6514.

class py4syn.epics.Keithley6514Class.Keithley6514(pvName, mnemonic, timeBased=False)[source]

Python class to help configuration and control the Keithley 6514 Electrometer.

Keithley is an electrical instrument for measuring electric charge or electrical potential difference. This instrument is capable of measuring extremely low currents. E.g.: pico (10e-12), i.e.: 0,000 000 000 001.

For more information, please, refer to: Model 6514 System Electrometer Instruction Manual

Constructor To use this Keithley Class you must pass the PV (Process Variable) prefix.

Note

e.g.: SXS:K6514

Examples

>>> from KeithleyClass import *
>>> name = Keithley('SOL:K6514', 'k1')
canMonitor()[source]

Abstract method to check if the device can or cannot be used as monitor.

Returns:
out : bool
canStopCount()[source]

Abstract method to check if the device can or cannot stop the count and return values.

Returns:
out : bool
getAutoCurrentRange()[source]

Get the status of Auto Current Range (enable/disable). Default: enable.

Returns:
Value: Boolean, i.e.: 0 - False (Off/Disable), 1 - True (On/Enable).

Examples

>>> name.getAutoCurrentRange()
>>> True
getAutoZeroing()[source]

Get the status of Auto Zero (enable/disable). Default: enable.

Returns:
Value: Boolean, i.e.: 0 - False (Off/Disable), 1 - True (On/Enable).

Examples

>>> name.getAutoZeroing()
>>> True
getAverageCount()[source]

Get the number of filter count. Default: 10.

Returns:
Value: Integer, i.e.: 2 to 100.

Examples

>>> name.getAverageCount()
>>> 10.0
getAverageDigitalFilter()[source]

Get the status of Digital Filter (enable/disable). Default: enable.

Returns:
Value: Boolean, i.e.: 0 - False (Off/Disable), 1 - True (On/Enable).

Examples

>>> name.getAverageDigitalFilter()
>>> True
getAverageTControl()[source]

Get the filter control. Default: REP.

Returns:
Value: String, i.e.: REP or MOV.

Examples

>>> name.getAverageTControl()
>>> 'REP'
getCountNumberReading()[source]

Count the number of reading(s).

Returns:
Value: Integer, e.g.: 963.

Examples

>>> name.CountNumberReading()
>>> 161.0
getCurrentRange()[source]

Get the value of range. Default: Auto range.

Returns:
Value: Integer, i.e.:
0 (Undefined ZERO), 1 (Indefined UM), 2 (20 mA), 3 (2 mA), 4 (200 uA), 5 (20 uA), 6 (2 uA), 7 (200 nA), 8 (20 nA), 9 (2 nA), 10 (200 pA), 11 (20 pA).

Examples

>>> name.getCurrentRange()
>>> 11
getIntegrationTime()[source]

Get the number of integration rate. Default: 1.

Returns:
Value: Float, i.e.: 0.01 to 10 (PLCs). Where 1 PLC for 60Hz is 16.67msec (1/60).

Examples

>>> name.getIntegrationTime()
>>> 1.0
getMedianFilter()[source]

Get the status of Median Filter (enable/disable). Default: enable.

Returns:
Value: Boolean, i.e.: 0 - False (Off/Disable), 1 - True (On/Enable).

Examples

>>> name.getMedianFilter()
>>> True
getMedianRank()[source]

Get the value of Median Rank, this number of sample readings are between 1 to 5. Default: 5.

Returns:
Value: Integer, i.e.: 1 to 5.

Examples

>>> name.getMedianRank()
>>> 5.0
getStatusContinuesMode()[source]

Get the status of Continues Mode (enable/disable). Default: enable.

Returns:
Value: Boolean, i.e.: 0 - False (Off/Disable), 1 - True (On/Enable).

Examples

>>> name.getStatusContinuesMode()
>>> True
getTriggerReading()[source]

Trigger and return reading(s).

Returns:
Value: Float, e.g.: -6.0173430000000003e-16.

Examples

>>> name.getTriggerReading()
>>> -1.0221850000000001e-15
getValue(**kwargs)[source]

Get the current value of a countable device.

Parameters:
kwargs : value

Where needed informations can be passed, e.g. select which channel must be read.

Returns:
out : value

Returns the current value of the device. Type of the value depends on device settings.

getZeroCheck()[source]

Get the status of Zero Check (enable/disable). Default: disable.

Returns:
Value: Boolean, i.e.: 0 - False (Off/Disable), 1 - True (On/Enable).

Examples

>>> name.getZeroCheck()
>>> False
getZeroCorrect()[source]

Get the status of Zero Correct (enable/disable). Default: disable.

Returns:
Value: Boolean, i.e.: 0 - False (Off/Disable), 1 - True (On/Enable).

Examples

>>> name.getZeroCorrect()
>>> False
isCounting()[source]

Abstract method to check if the device is counting or not.

Returns:
out : bool
setAutoCurrentRange(autorange)[source]

Set enable/disable for Auto Current Range.

Parameters:
Value: Boolean, i.e.: 0 - False (Off/Disable), 1 - True (On/Enable).
Returns:
One value (1).

Examples

>>> name.setAutoCurrentRange(1)
>>> 1
setAutoZeroing(autozero)[source]

Set enable/disable for Auto Zero.

Parameters:
Value: Boolean, i.e.: 0 - False (Off/Disable), 1 - True (On/Enable).

Examples

>>> name.setAutoZeroing(1)
setAverageCount(avercoun)[source]

Set the number of filter count.

Parameters:
Value: Integer, i.e.: 2 to 100.

Examples

>>> name.setAverageCount(80)
setAverageDigitalFilter(aver)[source]

Set enable/disable for Digital Filter.

Parameters:
Value: Boolean, i.e.: 0 - False (Off/Disable), 1 - True (On/Enable).

Examples

>>> name.setAverageDigitalFilter(1)
setAverageTControl(tcon)[source]

Set the filter control.

Parameters:
Value: String, i.e.: ‘REP’ or ‘MOV’, where REP means ‘Repeat’ and MOV means ‘Moving’.

Examples

>>> name.setAverageTControl('MOV')
setCountTime(time)[source]

Method to set the count time of a Keithley device.

Note

Whenever the median filter is active, changing the count time results in the filter being reset, so the first measurement will take additional time to collect new data for the filter. The extra time is proportional to the median filter rank. After the first measurement, the following measurements will have the correct integration time.

Note

Unlike scalers, the count time is only an approximation. The requested integration time will be split into multiple parts, which includes the analog integration time (varying between approximatelly 10ms to 50ms), the digital integration time (that averages a set of 2 to 100 analog integrations), and other operations unrelated to integration, like auto zero calibration (triples the integration time) and calculation times. When calling this method, the digital average filter will be activated if it’s not already and the filter type will be set to repeat.

See also: setIntegrationTime(), setAverageCount()

Parameters:
time : value

The target count time to be set. The allowed time range is 100ms to 15s (limited by software).

Returns:
out : None
setCurrentRange(curange)[source]

Set the range.

Parameters:
Value: Integer, i.e.:
0 (Undefined ZERO), 1 (Indefined UM), 2 (20 mA), 3 (2 mA), 4 (200 uA), 5 (20 uA), 6 (2 uA), 7 (200 nA), 8 (20 nA), 9 (2 nA), 10 (200 pA), 11 (20 pA).

Examples

>>> name.setCurrentRange(5)
setIntegrationTime(nplc)[source]

Set the number of integration rate.

Parameters:
Value: Float, i.e.: 0.01 to 10 (PLCs). Where 1 PLC for 60Hz is 16.67msec (1/60).

Examples

>>> name.setIntegrationTime(0.01)
setMedianFilter(med)[source]

Set enable/disable for Median Filter.

Parameters:
Value: Boolean, i.e.: 0 - False (Off/Disable), 1 - True (On/Enable).

Examples

>>> name.setMedianFilter(1)
setMedianRank(medrank)[source]

Set the number of sample readings used for the median calculation.

Parameters:
Value: Integer, i.e.: 1 to 5.

Examples

>>> name.setMedianRank(3)
setPresetValue(channel, val)[source]

Abstract method to set the preset count of a countable target device.

Parameters:
channel : int

The monitor channel number

val : int

The preset value

Returns:
out : None
setStatusContinuesMode(cmode)[source]

Set enable/disable to continues mode. Let this enable if you want a continuing measuring.

Parameters:
Value: Boolean, i.e.: 0 - False (Off/Disable), 1 - True (On/Enable).

Examples

>>> name.setStatusContinuesMode(0)
setZeroCheck(check)[source]

Set enable/disable for Zero Check.

Parameters:
Value: Boolean, i.e.: 0 - False (Off/Disable), 1 - True (On/Enable).
Returns:
One value (1).

Examples

>>> name.setZeroCheck(1)
>>> 1
setZeroCorrect(cor)[source]

Set enable/disable for Zero Correct.

Parameters:
Value: Boolean, i.e.: 0 - False (Off/Disable), 1 - True (On/Enable).
Returns:
One value (1).

Examples

>>> name.setZeroCorrect(1)
>>> 1
startCount()[source]

Abstract method trigger a count in a counter

stopCount()[source]

Abstract method stop a count in a counter

wait()[source]

Abstract method to wait for a count to finish.

Returns:
out : bool