⇤ ← Revision 1 as of 2008-02-13 13:18:10
Size: 1735
Comment:
|
Size: 4142
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 2: | Line 2: |
DMC sequence pseudo code: {{{ WAIT 1 ; have a defined start LABEL 0 ; set Label to 0 LOOP P#1 ; main loop measurement LOOP P#2 ; grating loop up WAIT 1 ; sync. for grating MOVE_GRATING_RELATIVE P#3 ; increment grating position LABEL 3 ; first chopper pos. WAIT P#5 ; take P#5 ramps LOOP P#6 ; calibration loop WAIT 1 ; sync. for chopper MOVE_CHOPPER_ABSOLUTE P#7 ; chop to BB1 LABEL 65 ; BB1 WAIT P#9 ; take P#9 ramps WAIT 1 ; sync. for chopper MOVE_CHOPPER_ABSOLUTE P#8 ; chop to BB2 LABEL 129 ; BB2 WAIT P#9 ; take P#9 ramps END_LOOP ; calibration done MOVE_CHOPPER_ABSOLUTE P#11 ; chopper to default END_LOOP ; grating scan up done LOOP P#10 ; grating loop down WAIT 1 ; sync. for grating MOVE_GRATING_RELATIVE P#4 ; decrement grating position LABEL 19 ; first chopper pos. WAIT P#5 ; take P#5 ramps LOOP P#6 ; calibration loop WAIT 1 ; sync. for chopper MOVE_CHOPPER_ABSOLUTE P#7 ; chop to BB1 LABEL 81 ; BB1 WAIT P#9 ; take P#9 ramps WAIT 1 ; sync. for chopper MOVE_CHOPPER_ABSOLUTE P#8 ; chop to BB2 LABEL 145 ; BB2 WAIT P#9 ; take P#9 ramps END_LOOP ; calibration done MOVE_CHOPPER_ABSOLUTE P#11 ; chopper to default END_LOOP ; grating scan down done END_LOOP ; main loop done WAIT 1 ; complete last plateau LABEL 0 ; reset LABEL to 0 }}} |
DMC_grat_scan_nochop
DMC sequence pseudo code:
WAIT 1 ; have a defined start LABEL 0 ; set Label to 0 LOOP P#1 ; main loop measurement LOOP P#2 ; grating loop up WAIT 1 ; sync. for grating MOVE_GRATING_RELATIVE P#3 ; increment grating position LABEL 3 ; first chopper pos. WAIT P#5 ; take P#5 ramps LOOP P#6 ; calibration loop WAIT 1 ; sync. for chopper MOVE_CHOPPER_ABSOLUTE P#7 ; chop to BB1 LABEL 65 ; BB1 WAIT P#9 ; take P#9 ramps WAIT 1 ; sync. for chopper MOVE_CHOPPER_ABSOLUTE P#8 ; chop to BB2 LABEL 129 ; BB2 WAIT P#9 ; take P#9 ramps END_LOOP ; calibration done MOVE_CHOPPER_ABSOLUTE P#11 ; chopper to default END_LOOP ; grating scan up done LOOP P#10 ; grating loop down WAIT 1 ; sync. for grating MOVE_GRATING_RELATIVE P#4 ; decrement grating position LABEL 19 ; first chopper pos. WAIT P#5 ; take P#5 ramps LOOP P#6 ; calibration loop WAIT 1 ; sync. for chopper MOVE_CHOPPER_ABSOLUTE P#7 ; chop to BB1 LABEL 81 ; BB1 WAIT P#9 ; take P#9 ramps WAIT 1 ; sync. for chopper MOVE_CHOPPER_ABSOLUTE P#8 ; chop to BB2 LABEL 145 ; BB2 WAIT P#9 ; take P#9 ramps END_LOOP ; calibration done MOVE_CHOPPER_ABSOLUTE P#11 ; chopper to default END_LOOP ; grating scan down done END_LOOP ; main loop done WAIT 1 ; complete last plateau LABEL 0 ; reset LABEL to 0
The only role of PACS' DMC scripts is the computation of its duration, needed as input variable when starting the associated OBCP.
// Purpose : Compute duration of DMC Sequence 13 : grating scan without // chopping // Description : For all internal details about DMC Seq 13, see PACS-ME-LI-005 // and pseudo code here. Identical to "Grating line scan with // two or three position choping" but with out choping on source. // Meant mostly for ILT to allow for fast execution of // measurements on "absolute" flux sources. // Comments : 1. No single command is executed here, only the duration is // computed here. Hence, not all parameters of the actual DMC // Seq. are relevant here! // Version : 2.0 // History : 1.0 05-Apr-2005 Creation by PR // 2.0 06-Apr-2005 Completed by DAC with pseudo code and // full duration computation. // 2.1 25-apr-2005 DAC Arranged arguments in P#1,#2 order // Renamed DMC_grat_scan_nochop as OBCP //
Input variabke(s):
int[] procedure DMC_grat_scan_nochop { int nb_up_dn = 1; // Seq P#1 Nb of sequences: up down up ... int nb_grat_steps_up = 10; // Seq P#2 Nb of grating up steps int nb_ramps_grat_pos = 2; // Seq P#5 Nb of ramps per grating position int nb_CS1_CS2 = 0; // Seq P#6 Nb of cycles on CS, per grat position int nb_ramps_cs = 2; // Seq P#9 Nb of ramps per plateau on the CS int nb_grat_steps_dn = 10; // Seq P#10 Nb of grating down steps }{