A brief guide to how QEDmeas works (adapted from SMP's notes from 2003). Please update and add images etc.
The idea of QEDmeas is to use the power of LabView to make data taking simple.
We had two choice:
- Make a user-friendly program that only 1 person knows how to change. This leads to unfortunate situations like: I didn't measure X because the measurement program can't do it.
- Make a slightly less user friendly program that can be extended by almost anyone witha few days of LabView experience.
We chose #2.
The structure of QEDmeas is that it contains modular procedures (vi's) to sweep certain variables (field, gate bias, temperature etc) and plot/store the data. These call lower level prcedures that send/receive data from measurement instruments. A QEDmeas program is made by defining which instruments you want to read (the data columns) and then calling a series of sweep procedures to do the actual experiment.
Structure of the Program
The main experiment file.
The can be called whatever you want, but should be stored in the same folder as your data
, so that you can check what you programmed the experiment to do (and reuse it later if needed). I This is the list of jobs that you want to do: sweep the field while recording data; change a voltage; wait for a while; sweep the field back etc etc. The "QEDmeas.vi" file must start with a call to "initialise.vi" and end with a call to "finish off.vi". Between these two come calls to the sweep files and equipment I/O files.
"Measure-Data-Columns.vi". This file, which lives in the main QEDmeas folder, should call your
procedure which defines the data columns you want measured. Your "measure-data-columns" file should be stored in the same directory as your data.
These allow the magnetic field, voltages, temperature, reference frequency, time (i.e., waiting), etc to be swept and data recorded. They are stored in the "Control" directory with names which start with "Sweep".
Equipment I/O files
These read individual data points from an instrument (usually needed by "Measure-Data-Columns.vi"), or give it an instruction (e.g. set a voltage on a DAC to a specific value, needed by the sweep files). Generally the sweep files are a loop of calls to the I/O files which increments the sweep variable (field, voltage etc.) in small steps. These vi's are stored in the "Instrument Data IO" directory.
Other files (graphing, initialise, finish, etc).
These run the graphing, save the data points, and do other "house keeping" jobs. Leave them alone unless you know what you're doing.
Running a dummy experiment
(These notes are need example vi's to be created and stored in an examples folder - to be done)
- We need to create a "test-data-column.vi" that takes in x, and creates 2 y columns: sin (x/10) and cos(x/10). This should be stored in your data directory.
- Go to the main QED meas directory. Change "Measure-Data-Columns.vi" to point to "test-data-column.vi"
- We also need a dummy QEDdemo.vi which does 3 things: Calls initialise.vi, calls wait.vi for 120s, and then calls fiinish.vi.
- Run QEDdemo.vi. Give your data columns name like "X", "sin(x/10)", and "cos(x/10)". Enter some text to be saved with the data in the text box. Experiment with the two controls in the top left of the initialisation page which specify these.
- Hit go and decide on a filename and location to save data to.
- The run will take 2 minutes.
- Examine the 4 outputs from the run (see next section).
- Graphical output. The front panel of each sweep vi shows the data as it is collected. Various display options can be found just below the graph origin. This data cannot be saved from the graph (it is saved separately as the data files). QEDmeas cannot be used as to browse old data. The graph is just there so you can check the data as it is collected.
- Data files. Arranged as white space separated columns. The sweep variable is in the first column. The other column names are specified on the initialisation page. There is an option on the initialisation page to append the datafilename and sweep number to the column name. This can be convenient when analysing data using IGOR but you should keep the total length < 31 characters (so pick fairly short column and file names).
Is this up-to-date?
- Status data file. Everytime QEDmeas is run it produces a status data file. This is in three sections. The first lists the names of the columns with their scale factors (the scale factors can be useful for converting Amps to nano-Amps and so forth but you can leave them all at 1 if you prefer). The second is optional (use the checkbox on the initialisation page to select this option) and gives infomation about the state of the lockins at the start of the experiment. Interrogation of the lockins takes a few minutes at the start of each experiment. The third section of the status data file holds infomation about the sweeps: what variable is being swept, its start and end values, the step size, and the time interval between data points.
- Emails. QEDmeas used to be able to, optionally, send you an email when the run has finished. You can build more email features into your runs by incorporating "email.vi" into your program between the "initialise.vi" and the "finish off.vi". Specify the email address on the initialisation page.
Does this still work?
Writing your own experiment
Every experiment must begin with "initialise.vi" and end with "finish off.vi".
It is a very good idea
to intersperse short (10secs to 1 minute) time sweeps (sweeptime.vi)
between various parts of your experimnet to allow things to settle down after sudden changes (e.g. allowing things to settle after a change in gate bias etc).