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... |
Important SPEC commands available at ID2 (deprecated):
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 |
| fsshow | 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> <time> | to align | sample (closes big valve) Note: to continue taking CCD images answer 'yes' or use bvop |
Use of detectors
| detnewfile | to set | directory and filename for image saving | |||||||||||||||
| detexpinfo | to set | header information for NEXT exposure | |||||||||||||||
| detactive | to set | detector active/inactive | |||||||||||||||
| ccdbin <binning1> <binning2> | to set | binning of CCD camera | |||||||||||||||
| cm <camera> | to set | the online image correction parameters click here for more details |
|||||||||||||||
| dettfg | to pause | before a detector acquisition | |||||||||||||||
| onze | to open | the image display (if it was lost) | |||||||||||||||
| newplot | to open | the newplot display (if it was lost) | |||||||||||||||
| detexpose <exptime> <save(0/1)> <ndark> <"title"> | to take | a single image | |||||||||||||||
| dettrans <motor> <from> <to> <steps> <time> <sleep><"title"> <ndark> <save(0/1)> | to scan | on a sample motor and take images at each scan step
(saving after each step) |
|||||||||||||||
| detframes <frames> <exptime> <clock> <"title"> <ndark> <save(0/1)> | to take | multiple frames with lower time resolution (> 2.5s, depending on binning - saving after each frame) Note: use application EXPTIME to change exposure time or abort: exptimeset <exptime> exptimeset -1 (to abort ccdframes safely) |
|||||||||||||||
| detmulti <frames> <deadtime0> <deadtime1> <exptime> <save(0/1)> <ndark> <"title"> | to take | multiple images (saving after the last frame) deadtime0 before first exposure deadtime1 between exposures depending on binnig:
|
|||||||||||||||
| detkin <frames1> <frames2> <frames3> <deadtime0> <deadtime1> <deadtime2> <deadtime3> <exptime> <save(0/1)> <ndark> <"title"> | to take | multiple images in three time groups > (saving after the last frame): frames1-3 number of frames in groups deadtime0 before first exposure deadtime1-3 between the frames of each group (see ccdmulti for minimum times) |
|||||||||||||||
| ldo | to list | all detector position files | |||||||||||||||
| ddo <det-file> | to import | detector position file | |||||||||||||||
| att <number of attenuators> | to insert / extract | Al attenuators (attenuation factor about 15 per foil) att 0 to remove - not recommended for SAXS exposures |
|||||||||||||||
| use ATT application | to insert | more attenuators | |||||||||||||||
| open() | to show | used log files | |||||||||||||||
| disablemotormenu | to enable / disable | motors | |||||||||||||||
| disablecountermenu | to enable / disable | counters |
Control of sample environments:
Mettler heating stage:
| metabort | to reset | |
| metget | to read | temperature |
| metgoT <temperature> | to go to | temperature |
| metrate <rate> | to set | heating/cooling rate |
| metset <temperature> | to set | temperature (use metstart) |
| metstart | to start | temperature change |
| mettime <time> | to set | isothermal time |
Linkam heating stage:
| hotstageget | to get | temperature |
| hotstageset <temperature> | to set | temperature |
| hotstagegetrate | to get | heating/cooling rate |
| hotstagesetrate <rate> | to set | heating/cooling rate |
| hotstagestart | to start | heating/cooling |
| hotstagehold | to hold | current temperature |
| hotstagestop | to stop | heating/cooling |
Huber baths:
| hubbathsetup | to initialize | serial communication (after switching on) |
| hubbathget | to read | temperature |
| hubbathset <temperature> | to set | temperature |
| hubbathcheck <temperature> | to poll | temperature set by hubset |
PID temperature controller:
| ltcsetup | to initialize | |
| ltcpow <value> | to set | maximum heater power (5 or 50) |
| ltcget | to read | temperature |
| ltcset <temperature> | to set | temperature |
| ltctemp <temperature> [<offset>] | to set | temperature for controller and Huber bath (typically 3 deg lower, as defined by <offset>) |
| ltccheck <temperature> | to poll | temperature set by ltcset, ltctemp |
LFI temperature controller (Peltier controlled stages):
| lfisetup | to initialize | |
| lfi20set <temperature [5C, 65C]> | to set | lfi temperature with huber bath at 20C |
| lfi40set <temperature [15C, 80C]> | to set | lfi temperature with huber bath at 40C |
| lfi60set <temperature [30C, 95C]> | to set | lfi temperature with huber bath at 60C |
| lfiget | to read | temperature |
| lfigetset | to read | target temperature |
| lfigetlimits | to read | temperature limits |
| lfisetlimhigh / lfisetlimlow <temperature> | to set | upper / lower temperature limit |
| lfigetpid | to read | PID settings |
| lfisetp / lfiseti / lfisetd | to adjust | PID settings |



