ID02 Users Guide
Important BLISS commands available at ID2:
SAXS/WAXS (EH2):
Shutter commands
| sc() | to close | the safety beam shutter |
| so() | to open | the safety beam shutter |
| fson() | to activate | fast beam shutter for scanning and counting |
| fsoff() | to disable | fast beam shutter for scanning and counting |
| fsstate() | to show | triggering of fast shutter |
| bvcl() | to close | the big valve |
| bvop() | to open | the big valve |
Movement commands
| wut() | to see | motor user values |
| umv(<motor>, <position>) | to move | a motor to the desired absolute position |
| umvr(<motor>, <step>) | to move | a motor to a relative position |
| samplescan(<motor>, <from>, <to>, <steps>, <exptime>); samplescan6(<motor>, <from>, <to>, <steps>, <exptime>) | to align | sample (closes big valve) Note: to continue taking images answer 'yes' or use bvop() samplescan6 uses pin6 (if available) |
Use of detectors
| newproposal(<proposal_number>) | to start | new experiment | |||||||||||||||
| newcollection(<prefix>) | to set | prefix of filename | |||||||||||||||
| newdataset() | to set | new subdirectory and start counting images from 1 | |||||||||||||||
| endproposal() | to finish | experiment (data will be written to archive) | |||||||||||||||
| detexpinfo() | to set | header information for following exposure | |||||||||||||||
| detactive(<list of detectors>) | to set | detectors active | |||||||||||||||
| flint() | to open | the image/scan display (if it was lost) | |||||||||||||||
| pymca() | to open | the PyMca display (if it was lost) | |||||||||||||||
| detexpose(<exptime>, <save(0/1)>, <"title">, [<HWTrigger=...>, <N_darks=...>]) | to take | a single image; to wait for trigger before exposure, HWTrigger can be : "DI1", "DI2" or "enter" |
|||||||||||||||
| dettrans(<motor>, <start>, <stop>, <intervals>, <exptime>, <sleep_time>, <save(0/1)>, <"title">, [<N_darks=...>]) | to scan | on a sample motor and take images at each scan step use dettrans_rel for relative scans |
|||||||||||||||
| detframes(<nframes>, <clock>, <exptime>, <save(0/1)>, <"title">, [N_darks=...])> | to take | multiple frames with lower time resolution (>1s) | |||||||||||||||
| detmulti(<nframes>, <deadtime0>, <deadtime>, <exptime>, <save(0/1)>, <"title">,[<HWTrigger=...>, <N_darks=...>]) | to take | multiple images (saving after the last frame) deadtime0 before first exposure deadtime between exposures depending on binnig for ccd cameras:
|
|||||||||||||||
| detkin(<deadtime0>, <array_of_nframes_times>, <exptime>, <save(0/1>, <"title">, [<HWTrigger=...>, <N_darks=...>]) | to take | multiple images in multiple time groups with changing deadtimes, but same exptime: deadtime0 before first exposure; array_of_nframes_times: [(N1, dead1),(N2,dead2),...,(Nn, deadn)] |
|||||||||||||||
| detmvdc(<nframes>, <deadtime0>, <deadtime>, <factor>, <exptime>, <save(0/1)>, <"title">, [<HWTrigger=...>,<N_darks>=...]) | to take | multiple images with increasing deadtime, but same exptime: deadtime0 before first exposure; deadtime increasing by factor**image_nr (verify timing with detmcal(<nframes>, <deadtime0>, <deadtime>, <factor>, <exptime>) |
|||||||||||||||
| ldo() | to list | all detector position files | |||||||||||||||
| ddo(<det-file>) | to restore | detector position file |
Control of sample environments:
Mettler heating stage:
| mettler.reset() | to reset | |
| mettler.on() | to start | temperature control |
| mettler.off() | to stop | temperature control |
| mettler.temperature | to read | temperature (only if temperature control started) |
| mettler.setpoint = <temperature> | to set | temperature |
| mettler.setramp(<start_T>, <target_T>, <ramprate>, <autostart (True/False)>) | to program (and start) | heating ramp |
| mettler.startRamp() | to start | heating ramp |
Linkam heating stage:
| linkam.on() | to start | temperature control |
| linkam.off() | to stop | temperature control |
| linkam.temperature | to get | temperature |
| linkam.setpoint = <temperature> | to set | target temperature |
| linkam.ramprate = <rate> | to set | heating/cooling rate |
| linkam.set_hold_on | to hold | current temperature |
Huber baths:
| hubbath1.on() | to start | temperature control (exists also: hubbath2) |
| hubbath1.off() | to stop | temperature control |
| hubbath1.temperature | to get | temperature |
| hubbath1.setpoint = <temperature> | to set | target temperature |
TEC temperature controller:
| tec1.on() | to start | temperature control (exists also: tec2) |
| tec1.off() | to stop | temperature control |
| tec1.temperature | to get | temperature |
| tec1.setpoint = <temperature> | to set | target temperature |
| tec1.temperature1Offset = <value> | to set | temperature offset |
| tec1.startProfile([<holdTempAtEnd (True/False)>] ) | to start | heating ramp |
| tec1.startProfile() | to stop | heating ramp |
| tec1.setupProfile(profile) | to program | heating ramp with profile: Sequence of [(ramp_time1, soak_time1, Target T1), (ramp_time2, soak_time2, Target T2), ..., ramp_time8, soak_time8, Target T8]. If less than 8 segments are defined, they are filled with last constant temperature. |
| tec1.profile | to get | programmed heating ramp |
LFI temperature controller (Peltier controlled stages):
| lfi1.on() | to start | temperature control |
| lfi1.off() | to stop | temperature control |
| lfi1.temperature | to get | temperature |
| lfi1.setpoint = <temperature> | to set | target temperature |
| lfi1.startRamp(<target_T>, <ramprate>) | to ramp | to target temperature at ramprate |
| lfi1.startProfile(<profile>) | to start | heating ramp with profile: Sequence of tuple of (time, temperature). Exemple: [(time1,T1),(time2,T2),....,(timen,Tn)]. T0 should not be included. |
| lfi1.wait_ramp() | to wait | for the end of the ramp |
Sample Changer:
| to be done... |



