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. Use the UnitToRead enum to send the correct value for each.

EFDB_Topic:

Electrometer_command_setMode

mode

IDL_Type:

long

Units:

unitless

Description: Set electrometer to use different modes: Current (‘CURR’), Voltage (‘VOLT’), Charge (‘CHAR’), Resistance (‘RES’). 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

groupId

IDL_Type:

string

Units:

unitless

Description: Optional group ID for the electrometer reading.

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.

groupId

IDL_Type:

string

Units:

unitless

Description: Optional group ID for the electrometer reading.

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

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

  • Voltage

  • Resistance

Events

detailedState

Description: The substate.

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: The error code returned by the device.

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: ‘CURR’- Current, ‘CHAR’- Charge, ‘VOLT’- Voltage, ‘RES’- 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:

string

Units:

unitless

Description: Mode used in the configuration file, CURR, CHAR, VOLT, RES

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.

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.