Data acquisition software for the ultra low temperature ARPES system at the electronic structure research laboratory at Korea Advanced Institute of Science and Technology (KAIST).
-
Make sure that the HV rack switch is turned OFF.
-
Power on the DAQ PC (left) and log in with appropriate credentials.
-
Once the DAQ PC is on, power on the monitoring PC (right) and check if the network drive (D:) is connected.
-
On the monitoring PC, start the following programs from the desktop (order does not matter):
- MG15
- 🥶 Temperature controller
- 😇 Motion controller
- 🎛️ F70H (recommended to be always running): see here
Check if each program is running correctly by looking at value updates.
-
Once the programs are running, double click on
Start Serversin the desktop. In the window that appears, click the threeStart Serverbuttons. -
On the DAQ PC, start
SES.exefrom the desktop. -
In SES, click on
Calibration -> Voltages.... Close the voltage calibration window after making sure that the lens mode is angular and the pass energy is sufficiently low. -
In SES, click on
DA30 -> Control Theta...and close the control theta window that appears. -
Double click on
Start DAQin the desktop. -
Double click on
Optics Controlin the desktop. -
Double click on
Power Meterin the desktop. -
Once all three programs are running, the system is ready for measurements. Before turning ON the HV rack switch for measurements, make sure that the appropriate analyzer slit is selected.
Stopping the software is a reverse process of starting it. Close each program in the reverse order of starting them. Remember to not close the terminal window that appears when starting some programs; they will close automatically when the main window of the program is closed.
The DAQ software serves as a front-end for the SES software. All scans must be
started with the Start button in the DAQ software, not SES. The user will not have
to interact with SES menu items directly.
The slit indicator in the GUI determines the analyzer slit information recorded in the data file. Remember to set the slit indicator to the correct value after changing the analyzer slit.
All attributes are recorded when the scan ends.
SES grabs data attributes such as temperature and pressure from the user extension
library UIExtension_Library.dll (source)
program when a scan ends. The user extension library requests data from the DAQ
software (Python) via a socket connection. If the DAQ program is not running, SES will
not be able to grab the data attributes, and will hang indefinitely upon scan
completion.
If this happens and for some reason the DAQ software cannot be started, the user can remove the user extension library with the following steps:
- Click on
Setup -> User Interfaces...in SES. - Select
UIExtension_Library.dllin the list and clickDelete. - Click
Closeto close the window.
Now, you can run scans from the SES software without the DAQ software running. Note that the data saved this way will not contain temperature, pressure, position, and other attributes that are grabbed from the DAQ software. The experimenter must obtain those from logged data.
The F70H program (🎛️) is used to monitor the helium compressor status and send notifications through slack. The program is started by double clicking on the desktop icon.
Upon starting the program, the user will be prompted to select a COM port. The Helium compressor is connected via a RS-232 serial connection to a USB-to-serial multiport adapter (4 ports), which is connected to a USB isolator and then to the monitoring PC. The COM port numbers are assigned by Windows and is subject to change, but the 4 ports of the multiport adapter are usually assigned to consecutive COM port numbers. In the list of available COM ports, look for 4 consecutive COM port numbers. The largest COM port number is the one assigned to the F70H, and the smallest COM port number is used for the RGA. The two middle ports are unused. If this is ambiguous, power on the RGA and check the COM port number assigned to it through the RGA software. Add 3 to this number to get the COM port number assigned to the F70H.
Once a valid COM port is selected, the program will start. Check the alarm status and make sure all indicators are showing 🟢.
- Python 3.11 or higher
- Additional dependencies for each program are listed in the
pyproject.tomlfile in each subdirectory undersrc
-
Clone the repository and navigate to the root directory.
-
Run:
uv sync --all-extras --dev
-
Install pre-commit hooks by running
uv run pre-commit installin the root directory.
- Builds can be trigerred from the GitHub Actions page.
- When adding or modifying dependencies, use
uvto manage them. Do not modify thepyproject.tomlfiles manually.