Instruments¶
Measurement configurations utilize ExperimentParameters, which are a way of describing dictionary structures using CSV files defined in the rminstr package.
All the configurations for every instrument, along with any other settings, are provided as a list of files to the measurement runner. These are concatenated into a single large dictionary that is used by the runner to run the measurement. These files include things like:
What instruments need to be connected to?
What are the instruments settings at different points in the measurement?
What is the important metadata about the measurement?
What are the instruments doing (i.e what is their role) in the measurement?
The required fields for a given measurement are defined using JSON schema, which are given in the configuration reference.
They follow the general structure of
- A set of general configurations corresponding to the overarching measurement.
Data column, required metadata, etc.
- A set of instrument configurations that specify every controlled instrument in the measurement.
Models, serials, roles, etc.
Instruments can have a type and a role. For example, a Voltmeter is a type of instrument, but doesn’t describe what it’s doing in the measurement. The role describes what it’s doing, which could be a thermopile_monitor or a bias_monitor.
The type of instrument is directly related to the measurement functionality interfaces defined in rminstr . Settings a given instrument can utilize are directly defined by the settings available for different measurement interfaces defined by that package.
Every instrument needs an initial_settings field to define what the instrument should be initialized too. Measurement runners may require additional operational mode fields to define what the instrument settings should be for different modes in the measurement. For example, an RF sweep has a monitor_mode during its initial warm up at every frequency point while the thermopile comes to equilibrium and a fast_off mode that occurs at the end of every frequency point.
For example, the HP HP3458A could be used to as a thermopile_monitor to monitor the voltage of a thermoelectric, or as a bias_monitor to monitor the voltage of a Type IV power meter. Below is an example of an instrument configuration that configures the an HP 3458A to operate as a bias_monitor.
key_0 |
key_1 |
key_2 |
key_3 |
value |
type |
comment |
|---|---|---|---|---|---|---|
instruments |
DVM1 |
model |
HP3458A |
str |
make and model of instrument; used to determine which commands to use |
|
instruments |
DVM1 |
serial |
1186 |
str |
last 4 digits of serial number |
|
instruments |
DVM1 |
GPIB_address |
GPIB0::22::INSTR |
str |
GPIB address |
|
instruments |
DVM1 |
role |
bias_monitor |
str |
an instrument’s role is its specific use in the context of this measurement |
|
instruments |
DVM1 |
output_column |
DVM_volts |
str |
For the bias monitor the output column is DVM_volts |
|
instruments |
DVM1 |
initial_settings |
v_range |
10 |
float |
settings for this instrument in monitor mode |
instruments |
DVM1 |
monitor_mode_settings |
nplc |
100 |
float |
settings for this instrument in monitor mode |
instruments |
DVM1 |
monitor_mode_settings |
num_readings |
1 |
int |
settings for this instrument in monitor mode |
instruments |
DVM1 |
monitor_mode_settings |
timer |
0 |
float |
settings for this instrument in monitor mode |
instruments |
DVM1 |
monitor_mode_settings |
timeout |
5 |
float |
timeout for wait_until_data_available (seconds) |
instruments |
DVM1 |
fast_off_mode_settings |
nplc |
1 |
float |
the state of the instrument for fast_off measurements |
instruments |
DVM1 |
fast_off_mode_settings |
num_readings |
300 |
int |
the state of the instrument for fast_off measurements |
instruments |
DVM1 |
fast_off_mode_settings |
timer |
0.05 |
float |
the state of the instrument for fast_off measurements |
instruments |
DVM1 |
fast_off_mode_settings |
timeout |
100 |
float |
timeout for wait_until_data_available (seconds) |