This repository is devoted to small programs that might be useful during measurements with several instruments. I have written these programs in order be able to control more parameters of the instruments without having to rewrite parts of the LabVIEW interfaces that we use.
In order to run the programs one must have python installed (either version 2.7.x or version 3). The python module PyVISA must be installed as well ( pip install -U pyvisa
). Also, NI-VISA must be installed on the computer. Follow the manual of PyVISA to install it: https://pyvisa.readthedocs.io/en/stable/getting_nivisa.html#getting-nivisa
Program to control the Oxford IPS 120-10 Magnet Controller
- Unlock magnet after startup
- Change magnet state (go to zero, go to setpoint, hold)
- Set values for setpoint and sweep rate
- Read magnet values periodically (every 5 sec)
Program to control the Oxford ITC503 Temperature Controller
- Read values periodically (every 5 sec)
- Control gas flow manually
Program to control the QuTech IVVI rack DAC module
- Read values of all DACs
- Set values of a specific DAC
- Set all DACs to zero
Notes:
- The program requires the pySerial module to be installed. Furthermore, the user should change the number of the COM port in line 7 of the (current version of the) code. The script assumes 16 DACs to be installed in the IVVI rack.
- Since periodic readings could interfere with measurement scripts, the IVVI DACs controller does not have a 5 seconds refresh rate (such as the other scripts). If desirable, one can easily add this by using another GUI script as template.
Below is a screenshot of the GUI:
Program to control the LakeShore 332 Temperature Controller
- Read temperature values periodically (every 5 sec)
- Control temperature with PID loop
Below is a screenshot of the Lake GUI:
Program to control the SR830 Lock-In Amplifier
- Read settings
- Read data values manually
Script that acquires waveform data from a Tektronix Oscilloscope (tested with TektronixTDS2022B). Options:
- p plot data
- m also acquire data from 'measure' menu
- s filename save data (and plot if combined with -p) to file(s)
This script requires numpy and matplotlib to be installed as well.
Example figure (obtained with -p -m -s "500 Hz Sine"
as options):
Script that reads, converts and plots data, taken from a file that was saved by a Tektronix Oscilloscope to a USB flash drive. The script can be imported as module as well. Options:
<None> reads data and saves a copy of the data without header
-r same as <None>
-r False reads data, does not save data
-p <Boolean> plots data; boolean determines if the plot should be saved or not
-p <Text> plots and saves data, with <Text> being the title of the plot
This script requires matplotlib to be installed as well.