Electrometer#

Note

This page is generated by python script generate_cet.py.

Back to table

Commands#

performZeroCalib#

Description: Performs a zero correction in the device. This will correct any internal offsets that might upset accuracy for voltage and current measurements. It’s recommended to perform this zero correction every time the range changes. The steps taken to perform this comes from the datasheet 6517B-901-01 Rev. B / June 2009 under Zero correct. It is as following. 1- Enable Zero check, 2- Set mode, 3- Set range, 4- Enable Zero Correction, 5- Disable Zero check. For unit and range, it uses the last values selected, either via command or from the configuration file. A zero calibration is performed any time the mode or range is set.

EFDB_Topic:

Electrometer_command_performZeroCalib

value#

IDL_Type:

boolean

Units:

unitless

Description: Attribute required by the API, but is unused

setDigitalFilter#

Description: Configures the digital filter in the device. Filtering stabilizes noisy measurements caused by noisy input signals. Be aware that activating any filters will reduce the number of readings per second the device will be able to handle. The Electrometer has two types of filters: Averaging and Median. Note that both filters can be enabled at the same time. If so, each reading will reflect the median for the average readings. In order to enable either of these filters, one must set the activateFilter to ON (1). Any reading taken when a filter is enabled will be the result of the filtering process.

EFDB_Topic:

Electrometer_command_setDigitalFilter

activateFilter#

IDL_Type:

boolean

Units:

unitless

Description: Enables ability to the activate either filter. If this is OFF (set to False), neither of the filters will operate regardless of their settings below.

activateAvgFilter#

IDL_Type:

boolean

Units:

unitless

Description: Activate the average filter inside the electrometer, True for ON and False for OFF. This filter takes the average of the last 10 readings (default) in the moving mode (first-in, first-out stack).

activateMedFilter#

IDL_Type:

boolean

Units:

unitless

Description: The median filter is used to determine the middle-most reading from a group of readings that are arranged according to size. Activate the median filter inside the electrometer, True for ON and False for OFF. The rank (R) of this filter is set at 1, such that the number of samples that it will determine the median of is (2xR) + 1. If there is a sudden change in signal, 2R readings will be needed before establishing the true median value.

setIntegrationTime#

Description: The integration time (measurement speed) of the analog to digital (A/D) converter, the period of time the input signal is measured (also known as aperture). Due to the time it takes to read the buffer and process the data, this is not the rate at which samples are taken. This is generally specified by the Power Line Cycle (PLC), where 1 PLC for 60Hz is 16.67msec. Fast integration=0.01PLC; Medium integration=0.1PLC; Normal (default) integration = 1PLC; High Accuracy integration=10PLC. Here the integration is set in seconds.

EFDB_Topic:

Electrometer_command_setIntegrationTime

intTime#

IDL_Type:

float

Units:

second

Description: Integration time in seconds (166.67e-6 to 200e-3) for each sample. Default is 16.67e-3sec (1PLC).

setMode#

Description: Set unit to measure. The modes are: Current, Voltage, Charge or Resistance. When the mode is changed to Current or Voltage, a zero correction will be performed. When the mode is set to Charge, a zero check will be performed.

EFDB_Topic:

Electrometer_command_setMode

mode#

IDL_Type:

long

Units:

unitless

Description: Set electrometer to use different modes: Current (0), Voltage (1), Charge (2), Resistance (3). The units recorded will be Amps, Volts, Coulombs, and Ohms respectively.

setRange#

Description: Set measurement range, which effects the accuracy of measurements and the max signal that can be measured. The maximum input signal is 105% of the measurement range. It will set the value for the current mode selected. Auto-range will automatically go to the most sensitive (optimized) range to make measurements. It is recommended to use autorange. When the measurement range is changed, a zero correction will be performed.

EFDB_Topic:

Electrometer_command_setRange

setRange#

IDL_Type:

float

Units:

unitless

Description: -1 for automatic range. Volts range from 0 to 210 Volts, Current range from 0 to 21e-3 Amps, Resistance from 0 to 100e18 Ohms, Charge from 0 to +2.1e-6 Coulombs.

setVoltageSource#

Description: The voltage source sends an output to the electrometer which can be written to the buffer.

EFDB_Topic:

Electrometer_command_setVoltageSource

status#

IDL_Type:

boolean

Units:

unitless

Description: Toggle the voltage source.

level#

IDL_Type:

long

Units:

V

Description: The voltage amplititude.

range#

IDL_Type:

long

Units:

V

Description: The voltage value to use along the range set by the voltage limit.

voltage_limit#

IDL_Type:

long

Units:

V

Description: Set the voltage limit that can be used.

startScan#

Description: Start storing readings inside the electrometer buffer. This command will change detailedState from NotReadingState to ManualReadingState and continues storing data into the buffer. The data will be published to the LFA when stopScan command is received or a timeout occurs (300 seconds).

EFDB_Topic:

Electrometer_command_startScan

value#

IDL_Type:

boolean

Units:

unitless

Description: Attribute required by the API, but is unused

startScanDt#

Description: Start storing readings inside the electrometer buffer for a fixed time given by scanDuration. This command will change detailedState from NotReadingState to SetDurationReadingState. It will stop storing data into the buffer and publish the LFA event when the duration has completed. If no scanDuration is given, the command will fault.

EFDB_Topic:

Electrometer_command_startScanDt

scanDuration#

IDL_Type:

float

Units:

second

Description: Time in seconds from the start of the reading until the reading stops.

stopScan#

Description: Command to stop a current reading process. When it finishes stopping the process, it will read the data from the buffer and will publish the LFA event.

EFDB_Topic:

Electrometer_command_stopScan

value#

IDL_Type:

boolean

Units:

unitless

Description: Attribute required by the API, but is unused.

disable#

Description: Transition from state Enabled to Disabled.

EFDB_Topic:

SALGeneric_command_disable

Category:

csc

enable#

Description: Transition from state Disabled to Enabled.

EFDB_Topic:

SALGeneric_command_enable

Category:

csc

exitControl#

Description: Transition from state Standby to Offline. Most CSCs will quit, but CSCs that support the enterControl command will keep running.

EFDB_Topic:

SALGeneric_command_exitControl

Category:

csc

setAuthList#

Description: Specify who can command this CSC.

EFDB_Topic:

SALGeneric_command_setAuthList

Category:

csc

authorizedUsers#

IDL_Type:

string

Units:

unitless

Description: Comma seperated list of authorized users currently allowed to command this CSC,

in the form user@host. If the first character is +/- then the specified users are added/removed. Duplicates are silently ignored. The CSC’s own user@host is silently ignored, because it is always authorized. For removal, CSCs that are not in the list are silently ignored. Whitespace is allowed after the optional initial +/- and after each comma.

nonAuthorizedCSCs#

IDL_Type:

string

Units:

unitless

Description: Comma seperated list of CSC’s not currently allowed to command this CSC,

in the form name[:index]. An index of 0 is stripped (name:0 becomes name). If the first character is +/- then the specified CSCs are added/removed. Duplicates are silently ignored. For removal, CSCs that are not in the list are silently ignored. Whitespace is allowed after the optional initial +/- and after each comma.

setLogLevel#

Description: Set the logging level.

EFDB_Topic:

SALGeneric_command_setLogLevel

Category:

csc

level#

IDL_Type:

int

Units:

unitless

Description: Logging level, as a Python logging level: error=40, warning=30, info=20, debug=10.

subsystem#

IDL_Type:

string

Units:

unitless

Description: If this CSC itself has sub-ordinate components, they may be listed here. An empty string means the setting applies to all such sub-ordinate components, or just to this CSC itself.

standby#

Description: Transition from state Offline/Available, Disabled or Fault to Standby.

EFDB_Topic:

SALGeneric_command_standby

Category:

csc

start#

Description: Transition from state Standby to Disable, in a specified configuration.

EFDB_Topic:

SALGeneric_command_start

Category:

csc

configurationOverride#

IDL_Type:

string

Units:

unitless

Description:

Configuration override in the form [{name}][:{version}]. For salobj-based CSCs: name is a filename with “.yaml” suffix and version is a git hash; for example:

  • “foo.yaml” specifies just a file. Two or three config files are loaded: “_init.yaml”, “_{site}.yaml” (if present), and “foo.yaml”.

  • “:37bf936” specifies just a git hash. One or two config files are loaded from the specified git commit: “_init.yaml” and “_{site}.yaml” (if present.

  • “bar.yaml:HEAD~2” specifies both a file and a git hash. Two or three config files are read from the specified git commit: “_init.yaml”, “_{site}.yaml” (if present), and “bar.yaml”.

Enumerations#

DetailedState:
  • DisabledState

  • EnabledState

  • FaultState

  • OfflineState

  • StandbyState

  • NotReadingState

  • ConfiguringState

  • ManualReadingState

  • ReadingBufferState

  • SetDurationReadingState

UnitToRead:
  • Current

  • Charge

Events#

detailedState#

EFDB_Topic:

Electrometer_logevent_detailedState

detailedState#

IDL_Type:

long

Units:

unitless

Description: An enumeration indicating the Electrometer detailed state. See the DetailedStateValue enumeration defined on top of this document.

deviceErrorCode#

Description: None

EFDB_Topic:

Electrometer_logevent_deviceErrorCode

errorCode#

IDL_Type:

long

Units:

unitless

Description: The error code being published. This code is the same as the one that the Electrometer publishes

errorReport#

IDL_Type:

string

Units:

unitless

Description: Handle a few sentences of higher-level information describing the error.

digitalFilterChange#

Description: Current state of the digital filter setup. The Electrometer has two types of filters: Averaging and Median. Note that both filters can be enabled at the same time. In order to enable either of these filters, one must set the activateFilter to ON (True).

EFDB_Topic:

Electrometer_logevent_digitalFilterChange

activateFilter#

IDL_Type:

boolean

Units:

unitless

Description: If this is OFF, none of the filters will operate. False for not active and True for active

activateMedianFilter#

IDL_Type:

boolean

Units:

unitless

Description: Activate the median filter inside the electrometer: True for active and False for not active. Will use the Default value of Rank (R) = 1, such that the number of samples that it will determine the median of is (2xR) + 1.

activateAverageFilter#

IDL_Type:

boolean

Units:

unitless

Description: Activate the average filter inside the electrometer: True for active and False for not active. Will use the Default value inside the device (last 10 readings) to do the average calculation.

integrationTime#

Description: The integration time (measurement speed) of the analog to digital (A/D) converter, the period of time the input signal is measured (also known as aperture). This will directly affect reading rates. Default is 16.67ms.

EFDB_Topic:

Electrometer_logevent_integrationTime

intTime#

IDL_Type:

float

Units:

second

Description: Integration rate in seconds (166.67e-6 to 200e-3)

intensity#

Description: Intensity of light measured with the photo-diode in the unit previously configured.

EFDB_Topic:

Electrometer_logevent_intensity

intensity#

IDL_Type:

double

Units:

unitless

Description: Measure read by the device

unit#

IDL_Type:

string

Units:

unitless

Description: Unit used

timestamp#

IDL_Type:

double

Units:

second

Description: Timestamp when the measurement was taken

logicTimerEnd#

Description: The logic timer has ended.

EFDB_Topic:

Electrometer_logevent_logicTimerEnd

timestamp#

IDL_Type:

long

Units:

second

Description: The TAI time that the logic timer ended.

logicTimerStart#

Description: The logic timer which manages the timing of the TunableLaser triggering a burst has started.

EFDB_Topic:

Electrometer_logevent_logicTimerStart

timestamp#

IDL_Type:

long

Units:

second

Description: The TAI time that the logic timer triggered.

measureRange#

Description: Measurement range for the mode selected. This impacts the accuracy and max signal that can be measured (105% of the range). Auto-range is set at -1, will automatically go to the most sensitive range. Note that when in auto-range the true range used is not always published. Volts range from 0 to 210V, Current range from 0 to 21e-3Amps, Resistance from 0 to 100e18, Charge from 0 to +2.1e-6

EFDB_Topic:

Electrometer_logevent_measureRange

rangeValue#

IDL_Type:

double

Units:

unitless

Description: The range for the intensity for measure selected.

measureType#

Description: Current mode selected to read from the photodiode. Options are Current, Charge, Voltage and Resistance.

EFDB_Topic:

Electrometer_logevent_measureType

mode#

IDL_Type:

long

Units:

unitless

Description: mode: 0- Current, 1- Charge, 2- Voltage, 3- Resistance

settingsAppliedReadSets#

Description: Initial configuration of the electrometer, this has been set in the current configuration file in use

EFDB_Topic:

Electrometer_logevent_settingsAppliedReadSets

filterActive#

IDL_Type:

boolean

Units:

unitless

Description: Digital Filter configuration. If this is OFF, none of the filters will operate

avgFilterActive#

IDL_Type:

boolean

Units:

unitless

Description: Average digital filter status inside the electrometer, it uses the Default value inside the device (last 10 readings) to do the average calculation, True for ON and False for OFF

inputRange#

IDL_Type:

double

Units:

unitless

Description: Ranges use to read values from the photodiode using the current Mode. -1 for automatic range. Volts range from 0 to 210V, Current range from 0 to 21e-3Amps, Resistance from 0 to 100e18, Charge from 0 to +2.1e-6

integrationTime#

IDL_Type:

double

Units:

second

Description: Integration rate, this will directly affect reading rates but reading rates are not going to be the same as integration rates

medianFilterActive#

IDL_Type:

boolean

Units:

unitless

Description: The median filter is used to determine the middle-most reading from a group of readings that are arranged according to size. Activate the median filter inside the electrometer, true for ON and False for OFF

mode#

IDL_Type:

long

Units:

unitless

Description: Mode used in the configuration file, 0-Current, 1-Charge, 2-Voltage, 3-Resistance

settingsAppliedSerConf#

Description: Serial configuration for the Electrometer port. This configuration needs to be the same as the one set in the Electrometer device. For proper configuration please read the reference manual 6517B-901-01 Rev. B / June 2009 section Selecting interface parameters

EFDB_Topic:

Electrometer_logevent_settingsAppliedSerConf

visaResource#

IDL_Type:

string

Units:

unitless

Description: Visa resource or port

baudRate#

IDL_Type:

long

Units:

unitless

Description: Baud rate as a number. Allowed values are: 2400, 4800, 9600, 14400, 19200, 38400, 57600, 115200

parity#

IDL_Type:

long

Units:

unitless

Description: Parity checking. PARITY_NONE=0, PARITY_EVEN=1, PARITY_ODD=2, PARITY_MARK=3, PARITY_SPACE=4

dataBits#

IDL_Type:

long

Units:

unitless

Description: Number of data bits. Possible values: 5, 6, 7, 8

stopBits#

IDL_Type:

long

Units:

unitless

Description: Number of stop bits. Possible values: 1, 2

timeout#

IDL_Type:

float

Units:

unitless

Description: time out in seconds

termChar#

IDL_Type:

string

Units:

unitless

Description: termination char, endl for end line

xonxoff#

IDL_Type:

boolean

Units:

unitless

Description: Software flow control.

dsrdtr#

IDL_Type:

boolean

Units:

unitless

Description: hardware (DSR/DTR) flow control

bytesToRead#

IDL_Type:

long

Units:

unitless

Description: The maximum amount of bytes to read

voltageSourceChanged#

Description: The voltage source sends an output to the electrometer which can be written to the buffer.

EFDB_Topic:

Electrometer_logevent_voltageSourceChanged

status#

IDL_Type:

boolean

Units:

unitless

Description: Is the voltage source enabled (true) or not (false)?

level#

IDL_Type:

long

Units:

V

Description: The voltage amplititude.

range#

IDL_Type:

long

Units:

V

Description: The voltage value to use along the range set by the voltage limit.

voltage_limit#

IDL_Type:

long

Units:

V

Description: Set the voltage limit that can be used.

authList#

Description: Who can command this CSC.

EFDB_Topic:

SALGeneric_logevent_authList

Category:

csc

authorizedUsers#

IDL_Type:

string

Units:

unitless

Description: Comma seperated list of authorized users currently allowed to command this CSC.

nonAuthorizedCSCs#

IDL_Type:

string

Units:

unitless

Description: Comma seperated list of CSC’s not currently allowed to command this CSC.

configurationApplied#

Description: Information about this CSC’s current configuration overrides.

EFDB_Topic:

SALGeneric_logevent_configurationApplied

Category:

configurable

configurations#

IDL_Type:

string

Units:

unitless

Description: A comma-separated list of configurations applied. If configuration comes from a clone of a git repo, or similar directory, then it will be a list of file names, without the file extension. Ignore whitespace after commas.

version#

IDL_Type:

string

Units:

unitless

Description: Version of the configuration source. For a clone of a git repo it will be a git hash.

url#

IDL_Type:

string

Units:

unitless

Description: URL of the configuration source. For a clone of a git repo this will be a file URL. For a database it will be a standard database URL. This should always match the same-named field in configurationsAvailable.

schemaVersion#

IDL_Type:

string

Units:

unitless

Description: Version of config schema used by this CSC. For a configuration git repo, this is the name of a folder in the config package, and is typically something like “v1”. This should always match the same-named field in configurationsAvailable.

otherInfo#

IDL_Type:

string

Units:

unitless

Description: A comma-separated list of event topics (without the logevent prefix) used to publish the entire set of configuration parameters loaded by this CSC, and any other pertinent information. Ignore whitespace after commas.

configurationsAvailable#

Description: Available configuration overrides for this CSC.

EFDB_Topic:

SALGeneric_logevent_configurationsAvailable

Category:

configurable

overrides#

IDL_Type:

string

Units:

unitless

Description: Available overrides as a comma-separated list. Each entry is a possible value of the configurationOverride field of the start command. Ignore whitespace after commas.

version#

IDL_Type:

string

Units:

unitless

Description: Version of the configuration source. For a clone of a git repo it will be a git hash.

url#

IDL_Type:

string

Units:

unitless

Description: URL of the configuration source. For a clone of a git repo this will be a file URL. For a database it will be a standard database URL.

schemaVersion#

IDL_Type:

string

Units:

unitless

Description: Version of config schema used by this CSC. For a configuration git repo, this is the name of a folder in the config package, and is typically something like “v1”.

errorCode#

Description: Output when this CSC goes into the Fault state as an explanation of the problem.

EFDB_Topic:

SALGeneric_logevent_errorCode

Category:

csc

errorCode#

IDL_Type:

long

Units:

unitless

Description: A numeric error code.

errorReport#

IDL_Type:

string

Units:

unitless

Description: An string providing detailed information about the error.

traceback#

IDL_Type:

string

Units:

unitless

Description: An optional stack trace of the error condition.

heartbeat#

Description: Event output at regular intervals (typcally once per second) to show that the SAL component is alive.

EFDB_Topic:

SALGeneric_logevent_heartbeat

Category:

mandatory

heartbeat#

IDL_Type:

boolean

Units:

unitless

Description: Deprecated field that you should ignore.

largeFileObjectAvailable#

Description: A new large file object is available.

EFDB_Topic:

SALGeneric_logevent_largeFileObjectAvailable

url#

IDL_Type:

string

IDL_Size:

256

Units:

unitless

Description: A Uniform Resource Locator which links to a Large File Object either for ingest into the EFD Large File Annex, or to announce the successful copy of same to the EFD Large File Annex.Protocols are those supported by the cURL library.

generator#

IDL_Type:

string

IDL_Size:

256

Units:

unitless

Description: Name of the package which generated the file being announced.

version#

IDL_Type:

float

Units:

unitless

Description: A dotted x.y version number denoting the file format revision.

byteSize#

IDL_Type:

long

Units:

unitless

Description: Size of file in bytes.

checkSum#

IDL_Type:

string

IDL_Size:

256

Units:

unitless

Description: Hexadecimal character string holding the checksum of the file.

mimeType#

IDL_Type:

string

IDL_Size:

256

Units:

unitless

Description: Mime Type code for the file.

id#

IDL_Type:

string

IDL_Size:

256

Units:

unitless

Description: A generic identifier field.

logLevel#

Description: Current logging level.

EFDB_Topic:

SALGeneric_logevent_logLevel

Category:

mandatory

level#

IDL_Type:

int

Units:

unitless

Description: Current logging level, a Python logging level: error=40, warning=30, info=20, debug=10.

subsystem#

IDL_Type:

string

Units:

unitless

Description: If this CSC itself has sub-ordinate components, they may be listed here. An empty string means the setting applies to all such sub-ordinate components, or just to this CSC itself.

logMessage#

Description: A log message.

EFDB_Topic:

SALGeneric_logevent_logMessage

Category:

mandatory

name#

IDL_Type:

string

Units:

unitless

Description: Log name.

level#

IDL_Type:

int

Units:

unitless

Description: Message level, a Python logging level: error=40, warning=30, info=20, debug=10.

message#

IDL_Type:

string

Units:

unitless

Description: Log message.

traceback#

IDL_Type:

string

Units:

unitless

Description: Exception traceback; “” if not an exception.

filePath#

IDL_Type:

string

Units:

unitless

Description: Path to source file.

functionName#

IDL_Type:

string

Units:

unitless

Description: Function or method name.

lineNumber#

IDL_Type:

long

Units:

unitless

Description: Line number in the file specified by filePath.

process#

IDL_Type:

long

Units:

unitless

Description: Process ID.

timestamp#

IDL_Type:

double

Units:

second

Description: The time at which the condition being reported was observed (TAI unix seconds). 0 if unspecified.

simulationMode#

Description: Current simulation mode.

EFDB_Topic:

SALGeneric_logevent_simulationMode

Category:

csc

mode#

IDL_Type:

int

Units:

unitless

Description: Current simulation mode; 0 for normal operation (no simulation); other supported values are specific to each CSC.

softwareVersions#

Description: Current versions of software in use by CSC.

EFDB_Topic:

SALGeneric_logevent_softwareVersions

Category:

mandatory

salVersion#

IDL_Type:

string

IDL_Size:

256

Units:

unitless

Description: This is the current version of SAL generation.

xmlVersion#

IDL_Type:

string

IDL_Size:

256

Units:

unitless

Description: This is the current version of CSC XML.

openSpliceVersion#

IDL_Type:

string

IDL_Size:

256

Units:

unitless

Description: This is the current version of OpenSplice.

cscVersion#

IDL_Type:

string

IDL_Size:

256

Units:

unitless

Description: The software version of this CSC.

subsystemVersions#

IDL_Type:

string

Units:

unitless

Description: A comma delimited list of key=value pairs relating subsystem name (key) to its version number (value). This may be left blank if there are no subsystems within this CSC.

summaryState#

Description: Current summary state of this CSC.

EFDB_Topic:

SALGeneric_logevent_summaryState

Category:

csc

summaryState#

IDL_Type:

long

Units:

unitless

Description: High level state machine state identifier.