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:

 
  Waxs FReLoN
1 x 1 binning: 0.38 0.56
2 x 2 binning: 0.14 0.32
4 x 4 binning: 0.045 0.18
8 x 8 binning: 0.022 0.12
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:

 
  Saxs/Waxs FReLoN
1 x 1 binning: 0.38 0.56
2 x 2 binning: 0.14 0.32
4 x 4 binning: 0.045 0.18
8 x 8 binning: 0.022 0.12
     
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