You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -30,7 +23,6 @@ A key architectural feature is the use of isolated process execution for each me
30
23
PICA is designed with a clear separation between the user interface (frontend) and the instrument control logic (backend). This modular approach makes the system easy to maintain, extend, and debug.
@@ -41,7 +33,6 @@ PICA is designed with a clear separation between the user interface (frontend) a
41
33
The core design philosophy of PICA is the separation of concerns, implemented through a distinct **Frontend-Backend** architecture for each measurement module.
42
34
43
35
-**Frontend:** Each measurement has a dedicated GUI script (e.g., `IV_K2400_Frontend_v5.py`) built with `Tkinter` and the `CustomTkinter` library. It is responsible for all user interaction, parameter input, and data visualization (live plotting). It runs in the main process.
44
-
-**Frontend:** Each measurement has a dedicated GUI script (e.g., `IV_K2400_Frontend_v5.py`) built with Python's standard `Tkinter` library. It is responsible for all user interaction, parameter input, and data visualization (live plotting). It runs in the main process.
45
36
-**Backend:** The instrument control logic is encapsulated in a separate class (e.g., `Keithley2400_Backend`). This class handles all `PyVISA` communication, instrument configuration, and data acquisition commands.
46
37
-**Process Isolation:** When a measurement is started, the frontend launches its corresponding backend logic in a separate, isolated process using Python's `multiprocessing` library. This is the key to PICA's stability: a crash or error in one measurement script will not affect the main launcher or any other running experiments.
47
38
-**Communication:** The frontend and backend communicate via `multiprocessing.Queue` for thread-safe data exchange. The backend performs a measurement and places the data into a queue, which the frontend then reads to update plots and save to a file.
@@ -79,162 +70,71 @@ The core design philosophy of PICA is the separation of concerns, implemented th
79
70
80
71
The core of PICA is built with a stack of robust and widely-used Python libraries.
Here is a meticulously verified summary of the key measurement specifications for the instruments used in the PICA project. All values have been cross-referenced with the provided instrument manuals to ensure accuracy.
175
121
PICA supports a range of common laboratory instruments. For a detailed summary of their measurement specifications, please see the Instrument Specifications Guide.
176
122
177
-
#### Keithley 6221 Current Source + 2182A Nanovoltmeter System (Low Resistance)
178
-
**Primary Use:** High-precision, low-resistance I-V and R-T measurements via **Delta Mode**.
|**Diode (DT-670)**|**1.4 K**|**500 K**|**< 0.1 mK**| At cryogenic temperatures |
227
-
|**Platinum RTD**|**14 K**|**873 K**|**< 1 mK**| At cryogenic temperatures |
228
-
229
-
## Getting Started
230
-
231
132
### Prerequisites
232
133
233
134
1.**Python:** Python 3.9 or newer is recommended.
234
135
2.**NI-VISA Driver:** You must install the [National Instruments VISA Driver](https://www.ni.com/en/support/downloads/drivers/download.ni-visa.html) for your operating system. This is required for Python's `pyvisa` library to communicate with the instruments.
The modular architecture makes it straightforward to add support for new instruments or measurement types. Here is a simplified example of the required structure.
275
174
276
-
#### 1. Create a Backend Class
277
175
1. **Create a Backend Class:** Encapsulate all direct instrument communication (`PyVISA` commands) in a dedicated class.
278
176
2. **Create a Frontend GUI:** Build a `Tkinter` GUI to gather user parameters and display live data. This GUI will instantiate and control the backend.
279
177
3. **Integrate with the Launcher:** Add a button and the script path to `PICA_v6.py` to make your new module accessible from the main dashboard.
280
178
281
-
The backend class handles all direct communication with the instrument.
0 commit comments