Fixes in omny documentation plus added show all for all relevant omny components

This commit is contained in:
Holler Mirko
2025-01-08 11:46:49 +01:00
parent b2095f8d7b
commit 8f55b6dbcb
2 changed files with 55 additions and 34 deletions

View File

@@ -111,7 +111,7 @@ omny_samples:
readOnly: false
readoutPriority: baseline
# ############################################################
# ##################### OMNY samples #########################
# ##################### OMNY vacuum ##########################
# ############################################################
# omny_vcs:
# description: OMNYVCS
@@ -124,26 +124,26 @@ omny_samples:
# ############################################################
# ##################### OMNY dewar ###########################
# ############################################################
# omny_dewar:
# description: OMNY Dewar Information
# deviceClass: csaxs_bec.devices.omny.omny_dewar.OMNYDewar
# deviceConfig: {}
# enabled: true
# onFailure: buffer
# readOnly: false
# readoutPriority: baseline
omny_dewar:
description: OMNY Dewar Information
deviceClass: csaxs_bec.devices.omny.omny_dewar.OMNYDewar
deviceConfig: {}
enabled: true
onFailure: buffer
readOnly: false
readoutPriority: baseline
# ############################################################
# ##################### OMNY temperatures ####################
# ############################################################
# omny_temperatures:
# description: OMNY Temperatures and pressures
# deviceClass: csaxs_bec.devices.omny.omny_temperatures.OMNYTemperatures
# deviceConfig: {}
# enabled: true
# onFailure: buffer
# readOnly: false
# readoutPriority: baseline
omny_temperatures:
description: OMNY Temperatures and pressures
deviceClass: csaxs_bec.devices.omny.omny_temperatures.OMNYTemperatures
deviceConfig: {}
enabled: true
onFailure: buffer
readOnly: false
readoutPriority: baseline
############################################################
##################### OMNY Galil motors ####################

View File

@@ -35,7 +35,7 @@ _To bypass the fine alignment skip steps_.
1. `omny.tomo_parameters()` adjust the ptychographic scan parameters for performing an alignment scan. Typically FOVX = FOVX(Xrayeye)+20 mu, shell step = beamsize/2.5, number of projections and tomo mode are ignored in the alignment scans.
1. `omny.optics_in()` move the Fresnel zone plate and order sorting aperture into position for ptychographic measurements.
1. `omny.oeye_out` move the X-ray eye out of the beam path.
1. `omny.oeye_out()` move the X-ray eye out of the beam path.
1. `omny.tomo_alignment_scan()` perform the alignment scan. When the first scan is running, switch to a matlab session and run `SPEC_ptycho_align` again. Click left and right. The third click can define the height of the scan, but is not needed and ignored by default. The widest horizontal field of view will be printed at the end of the matlab session.
1. `omny.read_alignment_offset()` Load alignment parameters calculated in matlab.
@@ -132,6 +132,31 @@ Advanced commands ... in case something goes wrong
When closing a shuttle of the shield, the gripper will be moved to the parking position prior closing.
### Status of OMNY
OMNY is a cryo setup. To see the status of the insrument, following commands can be used:
#### Cameras
During operation the BEC GUI will show the relevant cameras or progress information. To manually switch view TAB completion on `omny.omnygui_` will show all options to control the GUI. Most useful
- `omny.omnygui_show_omnycam_parking()`
- `omny.omnygui_show_omnycam_samplestage()`
- `omny.omnygui_show_progress()`
#### Vacuum status
The status of the vacuum system of OMNY can be displayed by `omny.vcs_show_all()`.
`omny.vcs_valves_in_measurement_position()` will report if all valves are in the correct position for X-ray beam to enter and propagate to the detector.
#### Temperatures
The status of all temperature measurements can be displayed by `omny.temperatures_show_all()`
#### Dewar
The status of the dewar and nitrogen flow can be displayed by `omny.dewar_show_all()`
## How to setup OMNY (software)
This part of the manual describes the software structure in more detail.
@@ -164,9 +189,6 @@ The stages of OMNY are referenced in respect to their endswitches and reference
Show the status of all galil controllers (all stepper motor and rotation stage)
`dev.osamx.controller.galil_show_all()`
For the smaract stages (shield and CS stages)
`dev.oshield.controller.show_all()`
In case referencing of the OMNY stages is required, run
`omny.omny_init_stages(autoconfirm, autoretry)`
@@ -182,7 +204,7 @@ If the realtime system is restarted, BEC will lose communication. To restart:
`omny.rt_on()`
To show the signal of the interferometers:
omny.show_signal_strength_interferometer()
`omny.show_signal_strength_interferometer()`
Typical values with proper alignment, sample stage at the measurement position and laser tracker running are
| Channel | Name | Value |
|---------|-----------|----------|
@@ -191,7 +213,6 @@ Typical values with proper alignment, sample stage at the measurement position a
| 3 | OSA FZP X | 4000 |
| 4 | ST OSA X | 9000 |
| 5 | Angle | 2500 |
|---------|-----------|----------|
#### Laser tracker commands
@@ -202,20 +223,20 @@ The horizontal interferometer is built according to the [tracking interferometer
- `omny.laser_tracker_on()`
- `omny.laser_tracker_off()`
When the PSD signal of the tracker (PSD not signalstrength!) is too low, enabling the laser tracker will not be successful. One can use `omny.omny_interferometer_tweak_otrack()` to manually tweak the coarse stages of the tracker. Once signal is reached the tracker can be enabled. This should only be required during commissioning of OMNY.
When the PSD signal of the tracker (PSD not signalstrength!) is too low, enabling the laser tracker will not be successful. One can use `omny.interferometer_tweak_otrack()` to manually tweak the coarse stages of the tracker. Once signal is reached the tracker can be enabled. This should only be required during commissioning of OMNY.
#### Interferometer alignment
Several mirrors in OMNY are motorized. Aligning the interferometer can thus be done via software. To enter alignment mode use
`omny.interferometer_tweaking()`.
`omny.interferometer_tweaking()`
Select the channel by using number keys __1 to 7__ and the __arrow keys__ to tweak.
The tweaking mode can be exited by pressing __q to quit__.
Some mirrors are regularly automatically aligned, such as the horizontal mirror of the OSA. This automatic alignment can also be manually executed by `omny.omny_interferometer_align_tracking()`.
Some mirrors are regularly automatically aligned, such as the horizontal mirror of the OSA. This automatic alignment can also be manually executed by `omny.omny_interferometer_align_tracking()`
#### Interferometer feedback commands
The closed loop control of the Piezo stages can be controlled by
- `omny.feedback_enable_with_reset()`.
- `omny.feedback_enable_with_reset()`
_There is also an enable without reset, which is used during tomography scans, when using coarse stages to increase the scan range. It should not be required to use manually._
- `omny.feedback_disable()`
- `omny.feedback_status()`
@@ -234,18 +255,18 @@ dev.oosax.update_user_parameter({"near_field_in":value})
The __global variable omny.near_field__ controls whether near- or far-field settings are used. To switch `omny.near-field=False` or `omny.near-field=True`.
`ofzp_info()` shows info about the available FZPs at the current energy of the beamline. Optional parameter energy in keV to get values at a different energy.
`omny.ofzp_info()` shows info about the available FZPs at the current energy of the beamline. Optional parameter energy in keV to get values at a different energy.
Example: `omny.ofzp_info(6.2)`
__Laser feedback will be disabled and thus fine alignment lost if commands are used that move optics stages!__
Following functions exist to move the optics in and out, with self-explaining naming.
- `optics_in()`
- `ofzp_in()`
- `ofzp_out()`
- `oosa_in()`
- `oosa_out()`
- `oosa_move_out_of_shield()`
- `omny.optics_in()`
- `omny.ofzp_in()`
- `omny.ofzp_out()`
- `omny.oosa_in()`
- `omny.oosa_out()`
- `omny.oosa_move_out_of_shield()`
#### OMNY Fermat scan